Browse Source

first commit

zx 3 years ago
commit
fdd18fc153
38 changed files with 7835 additions and 0 deletions
  1. 8 0
      .gitignore
  2. 150 0
      pom.xml
  3. 26 0
      src/main/java/com/steerinfo/DilApplicationMain.java
  4. 22 0
      src/main/java/com/steerinfo/dil/config/CorsConfig1.java
  5. 43 0
      src/main/java/com/steerinfo/dil/config/WebSocketConfig.java
  6. 1131 0
      src/main/java/com/steerinfo/dil/controller/OmstruckOrderController.java
  7. 70 0
      src/main/java/com/steerinfo/dil/controller/UtilsController.java
  8. 22 0
      src/main/java/com/steerinfo/dil/feign/AmsFeign.java
  9. 19 0
      src/main/java/com/steerinfo/dil/feign/ColumnDataFeign.java
  10. 32 0
      src/main/java/com/steerinfo/dil/feign/ESFeign.java
  11. 15 0
      src/main/java/com/steerinfo/dil/feign/IMFeign.java
  12. 44 0
      src/main/java/com/steerinfo/dil/feign/TmsTruckFeign.java
  13. 26 0
      src/main/java/com/steerinfo/dil/interceptors/MyLocaleChangeInterceptor.java
  14. 153 0
      src/main/java/com/steerinfo/dil/mapper/OmstruckOrderMapper.java
  15. 26 0
      src/main/java/com/steerinfo/dil/mapper/OmstruckOrderMaterialMapper.java
  16. 247 0
      src/main/java/com/steerinfo/dil/model/AmsSaleOrderMaterial.java
  17. 65 0
      src/main/java/com/steerinfo/dil/model/Message.java
  18. 349 0
      src/main/java/com/steerinfo/dil/model/OmstruckOrder.java
  19. 199 0
      src/main/java/com/steerinfo/dil/model/OmstruckOrderMaterial.java
  20. 23 0
      src/main/java/com/steerinfo/dil/service/IOmstruckOrderMaterialService.java
  21. 139 0
      src/main/java/com/steerinfo/dil/service/IOmstruckOrderService.java
  22. 40 0
      src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderMaterialServiceImpl.java
  23. 949 0
      src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderServiceImpl.java
  24. 70 0
      src/main/java/com/steerinfo/dil/util/BaseRESTfulController.java
  25. 38 0
      src/main/java/com/steerinfo/dil/util/ColumnDataUtil.java
  26. 159 0
      src/main/java/com/steerinfo/dil/util/DataChange.java
  27. 33 0
      src/main/java/com/steerinfo/dil/util/PageListAdd.java
  28. 11 0
      src/main/java/com/steerinfo/dil/util/util.java
  29. 9 0
      src/main/resources/application-dev.yml
  30. 8 0
      src/main/resources/application-prod.yml
  31. 0 0
      src/main/resources/application.yml
  32. 63 0
      src/main/resources/bootstrap.yml
  33. 480 0
      src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMaterialMapper.xml
  34. 479 0
      src/main/resources/com/steerinfo/dil/mapper/AmstruckRailDayplanMapper.xml
  35. 2211 0
      src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderMapper.xml
  36. 392 0
      src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderMaterialMapper.xml
  37. 80 0
      src/main/resources/log4j.properties
  38. 4 0
      src/main/resources/message.properties

+ 8 - 0
.gitignore

@@ -0,0 +1,8 @@
+target/
+*.iml
+.idea/
+rebel.xml
+.rebel.xml.bak
+out/artifacts/
+dil-api.iml
+src/test

+ 150 - 0
pom.xml

@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <groupId>org.example</groupId>
+    <artifactId>dil-api</artifactId>
+    <version>1.0-SNAPSHOT</version>
+
+    <parent>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-starter-parent</artifactId>
+        <version>2.0.7.RELEASE</version>
+    </parent>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.springframework.cloud</groupId>
+                <artifactId>spring-cloud-dependencies</artifactId>
+                <!--Spring Cloud的版本-->
+                <version>Finchley.SR2</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <repositories>
+        <repository>
+            <id>maven-public</id>
+            <name>steerinfo maven-public</name>
+            <url>https://nexus.steerinfo.com/repository/maven-public/</url>
+        </repository>
+    </repositories>
+
+    <distributionManagement>
+        <repository>
+            <id>maven-releases</id>
+            <name>steerinfo nexus-releases</name>
+            <url>http://nexus.steerinfo.com/repository/maven-releases/</url>
+        </repository>
+        <snapshotRepository>
+            <id>maven-snapshots</id>
+            <url>http://nexus.steerinfo.com/repository/maven-snapshots/</url>
+        </snapshotRepository>
+    </distributionManagement>
+
+    <dependencies>
+        <!--websocket-->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-websocket</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+        </dependency>
+
+        <!--mybatisPlus-->
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-boot-starter</artifactId>
+            <version>3.4.2</version>
+        </dependency>
+
+        <!--swagger-->
+        <dependency>
+            <groupId>io.springfox</groupId>
+            <artifactId>springfox-swagger2</artifactId>
+            <version>2.9.2</version>
+        </dependency>
+        <dependency>
+            <groupId>io.springfox</groupId>
+            <artifactId>springfox-swagger-ui</artifactId>
+            <version>2.9.2</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.poi</groupId>
+            <artifactId>poi</artifactId>
+            <version>3.17</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.poi</groupId>
+            <artifactId>poi-ooxml</artifactId>
+            <version>3.17</version>
+        </dependency>
+        <!--steerinfo-->
+        <dependency>
+            <groupId>com.steerinfo</groupId>
+            <artifactId>framework</artifactId>
+            <version>1.0</version>
+        </dependency>
+    </dependencies>
+    <build>
+        <plugins>
+            <!--             自动生成代码文件 -->
+            <plugin>
+                <groupId>com.steerinfo</groupId>
+                <artifactId>generator-maven-plugin</artifactId>
+                <version>3.0</version>
+                <configuration>
+                    <connUrl>jdbc:oracle:thin:@172.16.33.163:1521:ilsdbpri</connUrl>
+                    <user>DIL</user>
+                    <password>Dil123789</password>
+                    <!--包名-->
+                    <targetPackage>com.steerinfo.dil</targetPackage>
+                    <tables>
+                    <param>AMSTRUCK_RAIL_DAYPLAN</param>
+                    </tables>
+                </configuration>
+                <executions>
+                    <execution>
+                        <phase>compile</phase>
+                        <goals>
+                            <goal>steerinfo</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>repackage</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+        <resources>
+            <resource>
+                <directory>src/main/resources</directory>
+                <includes>
+                    <include>**/*.xml</include>
+                </includes>
+            </resource>
+
+            <resource>
+                <directory>src/main/resources</directory>
+            </resource>
+        </resources>
+    </build>
+</project>

+ 26 - 0
src/main/java/com/steerinfo/DilApplicationMain.java

@@ -0,0 +1,26 @@
+package com.steerinfo;
+
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.web.servlet.ServletComponentScan;
+import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+import org.springframework.cloud.openfeign.EnableFeignClients;
+import org.springframework.scheduling.annotation.EnableScheduling;
+
+/**
+ * @Author zhangnan
+ * @Date 2021/4/21 14:32
+ * @Version 1.0
+ */
+@SpringBootApplication
+@ServletComponentScan
+@EnableScheduling
+@MapperScan({"com.steerinfo.dil.mapper"})
+@EnableFeignClients(basePackages = "com.steerinfo.dil.feign")
+@EnableDiscoveryClient
+public class DilApplicationMain {
+    public static void main(String[] args) {
+        SpringApplication.run(DilApplicationMain.class,args);
+    }
+}

+ 22 - 0
src/main/java/com/steerinfo/dil/config/CorsConfig1.java

@@ -0,0 +1,22 @@
+package com.steerinfo.dil.config;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.CorsRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+/**
+ *
+ */
+@Configuration
+public class CorsConfig1 implements WebMvcConfigurer {
+
+    @Override
+    public void addCorsMappings(CorsRegistry registry) {
+        registry.addMapping("/**")
+                .allowedOrigins("*")
+                .allowedMethods("GET","HEAD","POST","PUT","DELETE","OPTIONS")
+                .allowCredentials(true)
+                .maxAge(3600)
+                .allowedHeaders("*");
+    }
+}

+ 43 - 0
src/main/java/com/steerinfo/dil/config/WebSocketConfig.java

@@ -0,0 +1,43 @@
+package com.steerinfo.dil.config;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.messaging.simp.config.ChannelRegistration;
+import org.springframework.messaging.simp.config.MessageBrokerRegistry;
+import org.springframework.web.socket.config.annotation.EnableWebSocketMessageBroker;
+import org.springframework.web.socket.config.annotation.StompEndpointRegistry;
+import org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer;
+
+@Configuration
+@EnableWebSocketMessageBroker
+public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {
+
+    @Override
+    public void registerStompEndpoints(StompEndpointRegistry stompEndpointRegistry) {
+        stompEndpointRegistry
+                .addEndpoint("/webSocket")
+                .setAllowedOrigins("*")
+                .withSockJS(); //使用sockJS
+
+    }
+
+    @Override
+    public void configureMessageBroker(MessageBrokerRegistry registry) {
+        //这里使用的是内存模式,生产环境可以使用rabbitmq或者其他mq。
+        //这里注册两个,主要是目的是将广播和队列分开。
+        //registry.enableStompBrokerRelay().setRelayHost().setRelayPort() 其他方式
+        registry.enableSimpleBroker("/topic");
+        //设置客户端前缀 即@MessageMapping
+        registry.setApplicationDestinationPrefixes("/app");
+        //点对点发送前缀
+        registry.setUserDestinationPrefix("/user");
+    }
+
+    /**
+     * 输入通道参数配置
+     *
+     * @param registration
+     */
+    @Override
+    public void configureClientInboundChannel(ChannelRegistration registration) {
+    }
+}

+ 1131 - 0
src/main/java/com/steerinfo/dil/controller/OmstruckOrderController.java

@@ -0,0 +1,1131 @@
+package com.steerinfo.dil.controller;
+
+import com.steerinfo.dil.feign.ESFeign;
+import com.steerinfo.dil.model.OmstruckOrder;
+import com.steerinfo.dil.service.IOmstruckOrderService;
+import com.steerinfo.dil.util.BaseRESTfulController;
+import com.steerinfo.dil.util.ColumnDataUtil;
+import com.steerinfo.dil.util.DataChange;
+import com.steerinfo.dil.util.PageListAdd;
+
+import com.steerinfo.framework.controller.RESTfulResult;
+import com.steerinfo.framework.service.pagehelper.PageHelper;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.math.BigDecimal;
+import java.util.*;
+
+
+/**
+ * OmstruckOrder RESTful接口:
+ *
+ * @author generator
+ * @version 1.0-SNAPSHORT 2021-10-15 09:37
+ * 类描述
+ * 修订历史:
+ * 日期:2021-10-15
+ * 作者:generator
+ * 参考:
+ * 描述:OmstruckOrder RESTful接口
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ * @see null
+ */
+@RestController
+@RequestMapping("/${api.version}/omstruckorders")
+public class OmstruckOrderController extends BaseRESTfulController {
+
+    @Autowired
+    IOmstruckOrderService omstruckOrderService;
+    @Autowired
+    ColumnDataUtil columnDataUtil;
+    @Autowired
+    ESFeign esFeign;
+
+
+    /**
+     * 展示承运商接收销售公司已接受的销售订单
+     *
+     * @param
+     * @param pageNum
+     * @param pageSize
+     * @param apiId
+     * @return
+     */
+    @ApiOperation(value = "展示承运商接收销售公司已接受的销售订单", notes = "分页查询")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "apiId", value = "168", required = false, dataType = "BigDecimal"),
+
+    })
+    @PostMapping(value = "/getSaleOrderForCarrierList/{carrierId}")
+    public RESTfulResult getSaleOrderForCarrierList(@RequestBody(required = false) Map<String, Object> map,
+                                                    Integer pageNum,
+                                                    Integer pageSize,
+                                                    Integer apiId,
+                                                    @PathVariable("carrierId") Integer carrierId,
+
+                                                    String con
+    ) {
+        int count = 0;
+        //设置承运商
+        if (carrierId != null) {
+            map.put("carrierId", carrierId);
+        }
+        //框计算
+        if (con != null) {
+            if (!"undefined".equals(con)) {
+                String index = "get_sale_order_list";//设置要查询的索引名称
+                return success(esFeign.getConResult(map, index, apiId, pageNum, pageSize, con));//获取查询结果
+            }
+        }
+        //不分页筛选数据
+        List<Map<String, Object>> allSaleOrderForCarrier = null;
+        //如果有条件查询则跳过初始化,和创建索引
+        if (map.size() == count) {
+            //将查询结果存入索引中
+            allSaleOrderForCarrier = omstruckOrderService.selectSaleOrderForCarrier(map);
+            Map<String, Object> map1 = new HashMap<>();
+            //添加索引
+            map1.put("index", "get_sale_order_list");
+            //添加id
+            map1.put("indexId", "saleOrderId");
+            allSaleOrderForCarrier.add(map1);
+            //新建索引
+            esFeign.insertIndex(allSaleOrderForCarrier);
+            //删除
+            allSaleOrderForCarrier.remove(allSaleOrderForCarrier.size() - 1);
+        }
+        if (allSaleOrderForCarrier == null)
+            allSaleOrderForCarrier = omstruckOrderService.selectSaleOrderForCarrier(map);
+        PageHelper.startPage(pageNum, pageSize);
+        //分页数据
+        List<Map<String, Object>> saleOrderForCarrier = omstruckOrderService.selectSaleOrderForCarrier(map);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, allSaleOrderForCarrier, saleOrderForCarrier);
+        return success(pageList);
+    }
+
+    /**
+     * 查询所有已经接收的焦炭发运日计划
+     *
+     * @param map
+     * @param pageNum
+     * @param pageSize
+     * @param apiId
+     * @return
+     */
+    @ApiOperation(value = "查询所有已经接收的焦炭发运日计划", notes = "分页查询")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "apiId", value = "169", required = false, dataType = "BigDecimal"),
+
+    })
+    @PostMapping(value = "/getCokeDayPlanAndRecivedList/{carrierId}")
+    public RESTfulResult getCokeDayPlanAndRecivedList(@RequestBody(required = false) Map<String, Object> map,
+                                                      Integer pageNum,
+                                                      Integer pageSize,
+                                                      Integer apiId,
+                                                      @PathVariable("carrierId") Integer carrierId,
+                                                      String con
+    ) {
+        int count = 0;
+        //设置承运商
+        if (carrierId != null) {
+            map.put("carrierId", carrierId);
+        }
+        //框计算
+        if (con != null) {
+            if (!"undefined".equals(con)) {
+                String index = "get_coke_dayplan_list";//设置要查询的索引名称
+                return success(esFeign.getConResult(map, index, apiId, pageNum, pageSize, con));//获取查询结果
+            }
+        }
+        //不分页筛选数据
+        List<Map<String, Object>> allCokeDayPlanAndRecivedList = null;
+        //如果有条件查询则跳过初始化,和创建索引
+        if (map.size() == count) {
+            //将查询结果存入索引中
+            allCokeDayPlanAndRecivedList = omstruckOrderService.selectSaleOrderForCarrier(map);
+            Map<String, Object> map1 = new HashMap<>();
+            //添加索引
+            map1.put("index", "get_coke_dayplan_list");
+            //添加id
+            map1.put("indexId", "cokeDayPlanId");
+            allCokeDayPlanAndRecivedList.add(map1);
+            //新建索引
+            esFeign.insertIndex(allCokeDayPlanAndRecivedList);
+            //删除
+            allCokeDayPlanAndRecivedList.remove(allCokeDayPlanAndRecivedList.size() - 1);
+        }
+        if (allCokeDayPlanAndRecivedList == null)
+            allCokeDayPlanAndRecivedList = omstruckOrderService.selectCokeDayPlanAndRecived(map);
+        PageHelper.startPage(pageNum, pageSize);
+        //分页数据
+        List<Map<String, Object>> CokeDayPlanAndRecived = omstruckOrderService.selectCokeDayPlanAndRecived(map);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, allCokeDayPlanAndRecivedList, CokeDayPlanAndRecived);
+        return success(pageList);
+    }
+
+    /**
+     * 查询所有已经接收的水渣发运日计划
+     *
+     * @param
+     * @param pageNum
+     * @param pageSize
+     * @param apiId
+     * @return
+     */
+    @ApiOperation(value = "查询所有已经接收的水渣发运日计划", notes = "分页查询")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "apiId", value = "170", required = false, dataType = "BigDecimal"),
+
+    })
+    @PostMapping(value = "/getWaterSlagDayPlanAndRecivedList/{carrierId}")
+    public RESTfulResult getWaterSlagDayPlanAndRecivedList(@RequestBody(required = false) Map<String, Object> map,
+                                                           @PathVariable("carrierId") Integer carrierId,
+                                                           Integer pageNum,
+                                                           Integer pageSize,
+                                                           Integer apiId,
+                                                           String con
+
+
+    ) {
+
+        int count = 0;
+        //设置承运商
+        if (carrierId != null) {
+            map.put("carrierId", carrierId);
+            count++;
+        }
+        //框计算
+        if (con != null) {
+            if (!"undefined".equals(con)) {
+                String index = "get_waterslag_dayplan_list";//设置要查询的索引名称
+                return success(esFeign.getConResult(map, index, apiId, pageNum, pageSize, con));//获取查询结果
+            }
+        }
+        //不分页筛选数据
+        List<Map<String, Object>> allWaterSlagDayPlanAndRecivedList = null;
+        //如果有条件查询则跳过初始化,和创建索引
+        if (map.size() == count) {
+            //将查询结果存入索引中
+            allWaterSlagDayPlanAndRecivedList = omstruckOrderService.selectSaleOrderForCarrier(map);
+            Map<String, Object> map1 = new HashMap<>();
+            //添加索引
+            map1.put("index", "get_waterslag_dayplan_list");
+            //添加id
+            map1.put("indexId", "cokeDayPlanId");
+            allWaterSlagDayPlanAndRecivedList.add(map1);
+            //新建索引
+            esFeign.insertIndex(allWaterSlagDayPlanAndRecivedList);
+            //删除
+            allWaterSlagDayPlanAndRecivedList.remove(allWaterSlagDayPlanAndRecivedList.size() - 1);
+        }
+        if (allWaterSlagDayPlanAndRecivedList == null)
+            allWaterSlagDayPlanAndRecivedList = omstruckOrderService.selectCokeDayPlanAndRecived(map);
+        PageHelper.startPage(pageNum, pageSize);
+        //分页数据
+        List<Map<String, Object>> CokeDayPlanAndRecived = omstruckOrderService.selectCokeDayPlanAndRecived(map);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, allWaterSlagDayPlanAndRecivedList, CokeDayPlanAndRecived);
+        return success(pageList);
+
+    }
+
+    @ApiOperation(value = "查询已经形成订单的销售订单", notes = "分页查询")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "apiId", value = "168", required = false, dataType = "BigDecimal"),
+
+    })
+    @PostMapping(value = "/selectAllOrderForSale/{carrierId}")
+    public RESTfulResult selectAllOrderForSale(@RequestBody(required = false) Map<String, Object> mapValue,
+                                               @PathVariable Integer carrierId,
+                                               Integer apiId,
+                                               Integer pageNum,
+                                               Integer pageSize,
+                                               Integer orderType,
+                                               Integer orderStatus,
+                                               Integer saleOrderMaterialId,
+                                               String con
+
+    ) {
+        int count = 0;
+        //承运商
+        if (carrierId != null) {
+            mapValue.put("carrierId", carrierId);
+            count++;
+        }
+        if (saleOrderMaterialId != null) {
+            mapValue.put("saleOrderMaterialId", saleOrderMaterialId);
+            count++;
+        }
+        if (orderStatus != null) {
+            mapValue.put("orderStatus", orderStatus);
+            count++;
+        }
+        if (orderType != null) {
+            mapValue.put("orderTypee", orderType);
+            count++;
+        }
+        //框计算
+        if (con != null) {
+            if (!"undefined".equals(con)) {
+                String index = "get_all_order_sale";//设置要查询的索引名称
+                return success(esFeign.getConResult(mapValue, index, apiId, pageNum, pageSize, con));//获取查询结果
+            }
+        }
+        //不分页筛选数据
+        List<Map<String, Object>> allSaleOrderList = null;
+        //如果有条件查询则跳过初始化,和创建索引
+        if (mapValue.size() == count) {
+            //将查询结果存入索引中
+            allSaleOrderList = omstruckOrderService.selectAllOrderForSale(mapValue);
+            Map<String, Object> map1 = new HashMap<>();
+            //添加索引
+            map1.put("index", "get_all_order_sale");
+            //添加id
+            map1.put("indexId", "orderSaleId");
+            allSaleOrderList.add(map1);
+            //新建索引
+            esFeign.insertIndex(allSaleOrderList);
+            //删除
+            allSaleOrderList.remove(allSaleOrderList.size() - 1);
+        }
+        if (allSaleOrderList == null)
+            allSaleOrderList = omstruckOrderService.selectAllOrderForSale(mapValue);
+        PageHelper.startPage(pageNum, pageSize);
+        //分页数据
+        List<Map<String, Object>> selectAllOrderForSale = omstruckOrderService.selectAllOrderForSale(mapValue);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, allSaleOrderList, selectAllOrderForSale);
+        return success(pageList);
+
+    }
+
+    @ApiOperation(value = "司机接收、拒绝接单")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "运输订单主键id加同意/拒绝状态码", required = false, dataType = "Map"),
+    })
+    @PostMapping("/driverReceiveOrRefuse")
+    public RESTfulResult driverReceiveOrRefuse(@RequestBody Map<String, Object> map) {
+        int i = omstruckOrderService.driverReceiveOrRefuse(map);
+        return success(i);
+    }
+
+    @ApiOperation(value = "司机APP端调用接口查询数据 4 已下发 5 已接收")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "orderStatus/capacityNumber/orderType", required = false, dataType = "Map"),
+    })
+    @PostMapping("/sendMesToDriver1")
+    public RESTfulResult sendMesToDriver1(@RequestBody Map<String, Object> map) {
+        List<Map<String, Object>> mesToDriver = omstruckOrderService.sendMesToDriver(map);
+        return success(mesToDriver);
+    }
+
+    @ApiOperation(value = "通过运输订单ID查询实绩地点和时间")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "orderId", value = "运输订单Id", required = false, dataType = "Integer"),
+    })
+    @PostMapping("/selectPlaceAndTime/{orderId}")
+    public RESTfulResult selectPlaceAndTime(@PathVariable("orderId") Integer orderId) {
+        List<Map<String, Object>> placeAndTime = omstruckOrderService.selectPlaceAndTime(new BigDecimal(orderId));
+        return success(placeAndTime);
+    }
+
+    @ApiOperation(value = "查询已下发未接受的销售订单信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "orderType", value = "运单类型", required = false, dataType = "Integer"),
+    })
+    @PostMapping("/getOrderUnReceive/{orderType}")
+    public RESTfulResult getOrderUnReceive(@PathVariable("orderType") Integer orderType) {
+        List<Map<String, Object>> orderMapList = omstruckOrderService.getOrderUnReceive(new BigDecimal(orderType));
+        return success(orderMapList);
+    }
+
+    @ApiOperation(value = "查询已下发已接受的销售订单信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "orderType", value = "运单类型", required = false, dataType = "Integer"),
+    })
+    @PostMapping("/getOrderReceived/{orderType}")
+    public RESTfulResult getOrderReceived(@PathVariable("orderType") Integer orderType) {
+        List<Map<String, Object>> orderMapList = omstruckOrderService.getOrderReceived(new BigDecimal(orderType));
+        return success(orderMapList);
+    }
+
+    @ApiOperation(value = "查询所有运输订单")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId(86)", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "status", value = "状态码", required = false, dataType = "Integer"),
+    })
+    @PostMapping("/getAllTruckOrder")
+    public RESTfulResult getAllTruckOrder(@RequestBody(required = false) Map<String, Object> mapValue,
+                                          Integer apiId,
+                                          Integer pageNum,
+                                          Integer pageSize,
+                                          Integer orderStatus,
+                                          Integer planId,
+                                          Integer orderType,
+                                          Integer fuelOrder, String con) {
+        int count = 0;
+        if (orderStatus != null) {
+            mapValue.put("orderStatus", orderStatus);
+            count++;
+        }
+        if (planId != null) {
+            mapValue.put("planId", planId);
+            count++;
+        }
+        if (orderType != null) {
+            mapValue.put("orderType", orderType);
+            count++;
+        }
+        if (fuelOrder != null) {
+            mapValue.put("fuelOrder", fuelOrder);
+            count++;
+        }
+        //框计算
+        if (con != null) {
+            if (!"undefined".equals(con)) {
+                String index = "get_truck_order_list";//设置要查询的索引名称
+                return success(esFeign.getConResult(mapValue, index, apiId, pageNum, pageSize, con));//获取查询结果
+            }
+        }
+        //不分页筛选数据
+        List<Map<String, Object>> allTruckOrder = null;
+        //如果有条件查询则跳过初始化,和创建索引
+        if (mapValue.size() == count) {
+            //将查询结果存入索引中
+            allTruckOrder = omstruckOrderService.getAllTruckOrder(mapValue);
+            DataChange.changeDateToDayDate(allTruckOrder, "planTruckTime", "planIncomingTime", "orderEntryTime");
+            Map<String, Object> map = new HashMap<>();
+            //添加索引
+            map.put("index", "get_truck_order_list");
+            //添加id
+            map.put("indexId", "truckOrderId");
+            allTruckOrder.add(map);
+            //新建索引
+            esFeign.insertIndex(allTruckOrder);
+            //删除
+            allTruckOrder.remove(allTruckOrder.size() - 1);
+        }
+        if (allTruckOrder == null)
+            allTruckOrder = omstruckOrderService.getAllTruckOrder(mapValue);
+        PageHelper.startPage(pageNum, pageSize);
+        //分页数据
+        List<Map<String, Object>> truckOrder = omstruckOrderService.getAllTruckOrder(mapValue);
+        DataChange.changeDateToDayDate(truckOrder, "planTruckTime", "planIncomingTime", "orderEntryTime");
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, allTruckOrder, truckOrder);
+        return success(pageList);
+    }
+
+    @ApiOperation(value = "不适用表头返回数据")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "运输计划实绩对象", required = false, dataType = "Map"),
+    })
+    @PostMapping("/getAllTruckOrderReturnListMap")
+    public RESTfulResult getAllTruckOrderReturnListMap(
+            Integer orderStatus,
+            Integer planId,
+            Integer orderType) {
+        Map<String, Object> map = new HashMap<>();
+        if (orderStatus != null) {
+            map.put("orderStatus", orderStatus);
+        }
+        if (planId != null) {
+            map.put("planId", planId);
+        }
+        if (orderType != null) {
+            map.put("orderType", orderType);
+        }
+        List<Map<String, Object>> truckOrder = omstruckOrderService.getAllTruckOrder(map);
+        return success(truckOrder);
+    }
+
+    @ApiOperation(value = "查询所有空闲的运力信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId(85)", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping("/getAllCapacity")
+    public RESTfulResult getAllCapacity(@RequestBody(required = false) Map<String, Object> mapValue,
+                                        Integer apiId,
+                                        Integer pageNum,
+                                        Integer pageSize,
+                                        Integer carrierId
+    ) {
+        if (mapValue == null) {
+            mapValue = new HashMap<>();
+        }
+        if (carrierId != null) {
+            mapValue.put("carrierId", carrierId);
+        }
+        mapValue.put("capacityTypeId", 1);
+        mapValue.put("capacityStatus", 0);
+        //不分页筛选数据
+        List<Map<String, Object>> allCapacity = omstruckOrderService.getAllCapacity(mapValue);
+        PageHelper.startPage(pageNum, pageSize);
+        //分页数据
+        List<Map<String, Object>> capacity = omstruckOrderService.getAllCapacity(mapValue);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, allCapacity, capacity);
+        return success(pageList);
+    }
+
+    @ApiOperation(value = "分解运输计划后 新增订单  或者直接新增订单 ")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "运输计划实绩对象", required = false, dataType = "Map"),
+            @ApiImplicitParam(name = "orderType", value = "运输订单类型:1表示销售订单,3表示运输订单", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "saleOrderId", value = "销售订单", required = false, dataType = "Integer"),
+    })
+    @PostMapping("/addPurOrder")
+    public RESTfulResult addPurOrder(@RequestBody(required = false) Map<String, Object> mapValue) {
+        int i = omstruckOrderService.addPurOrder(mapValue);
+        return success(i);
+    }
+
+    @ApiOperation(value = "修改分派计划")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "planId", value = "运输计划Id", required = false, dataType = "Integer"),
+    })
+    @PostMapping("/updateOrder")
+    public RESTfulResult updateOrder(@RequestBody Map<String, Object> map) {
+        int i = omstruckOrderService.updateOrder(map);
+        return success(i);
+    }
+
+    @ApiOperation(value = "派单")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "planId", value = "运输计划Id", required = false, dataType = "Integer"),
+    })
+    @PostMapping("/dispatchOrder")
+    public RESTfulResult dispatchOrder(@RequestBody(required = false) Map<String, Object> map) {
+        int i = omstruckOrderService.dispatchOrder(map);
+        return success(i);
+    }
+
+
+    @ApiOperation(value = "销售物流,查询所有已经形成订单的焦炭发运计划", notes = "分页查询")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "apiId", value = "169", required = false, dataType = "BigDecimal"),
+
+    })
+    @PostMapping(value = "/getCokeRailDayPlanForGenOrder/{carrierId}")
+    public RESTfulResult getCokeRailDayPlanForGenOrder(@RequestBody(required = false) Map<String, Object> map,
+                                                       @PathVariable("carrierId") Integer carrierId,
+                                                       Integer pageNum,
+                                                       Integer pageSize,
+                                                       Integer apiId,
+                                                       Integer dayPlanId,
+                                                       Integer orderType,
+                                                       Integer orderStatus,
+                                                       String con
+
+
+    ) {
+
+        int count = 0;
+
+        if (carrierId != null) {
+            map.put("carrierId", carrierId);
+            count++;
+        }
+        if (orderStatus != null) {
+            map.put("orderStatus", orderStatus);
+            count++;
+        }
+        if (dayPlanId != null) {
+            map.put("dayPlanId", dayPlanId);
+            count++;
+        }
+        if (orderType != null) {
+            map.put("orderTypeId", orderType);
+            count++;
+        }
+        //框计算
+        if (con != null) {
+            if (!"undefined".equals(con)) {
+                String index = "get_coke_dayplan_order";//设置要查询的索引名称
+                return success(esFeign.getConResult(map, index, apiId, pageNum, pageSize, con));//获取查询结果
+            }
+        }
+        //不分页筛选数据
+        List<Map<String, Object>> allCokeRailPlanOrderListForOrder = null;
+        //如果有条件查询则跳过初始化,和创建索引
+        if (map.size() == count) {
+            //将查询结果存入索引中
+            allCokeRailPlanOrderListForOrder = omstruckOrderService.selectCokeRailPlanForOrder(map);
+            Map<String, Object> map1 = new HashMap<>();
+            //添加索引
+            map1.put("index", "get_coke_dayplan_order");
+            //添加id
+            map1.put("indexId", "cokeDayPlanOrderId");
+            allCokeRailPlanOrderListForOrder.add(map1);
+            //新建索引
+            esFeign.insertIndex(allCokeRailPlanOrderListForOrder);
+            //删除
+            allCokeRailPlanOrderListForOrder.remove(allCokeRailPlanOrderListForOrder.size() - 1);
+        }
+        if (allCokeRailPlanOrderListForOrder == null)
+            allCokeRailPlanOrderListForOrder = omstruckOrderService.selectCokeRailPlanForOrder(map);
+        PageHelper.startPage(pageNum, pageSize);
+        //分页数据
+        List<Map<String, Object>> CokeDayPlanAndRecived = omstruckOrderService.selectCokeRailPlanForOrder(map);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, allCokeRailPlanOrderListForOrder, CokeDayPlanAndRecived);
+        return success(pageList);
+
+    }
+
+
+    @ApiOperation(value = "销售物流。查询所有已经形成订单的水渣发运计划", notes = "分页查询")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "apiId", value = "170", required = false, dataType = "BigDecimal"),
+
+    })
+    @PostMapping(value = "/getWaterslagDayPlanForGenOrder/{carrierId}")
+    public RESTfulResult getWaterslagDayPlanForGenOrder(@RequestBody(required = false) Map<String, Object> map,
+                                                        @PathVariable("carrierId") Integer carrierId,
+                                                        Integer pageNum,
+                                                        Integer pageSize,
+                                                        Integer apiId,
+                                                        Integer dayPlanId,
+                                                        Integer orderType,
+                                                        Integer orderStatus,
+                                                        String con
+
+
+    ) {
+
+        int count = 0;
+        //设置承运商
+        if (carrierId != null) {
+            map.put("carrierId", carrierId);
+            count++;
+        }
+        if (dayPlanId != null) {
+            map.put("dayPlanId", dayPlanId);
+            count++;
+        }
+        if (orderStatus != null) {
+            map.put("orderStatus", orderStatus);
+            count++;
+        }
+        if (orderType != null) {
+            map.put("orderType", orderType);
+            count++;
+        }
+        //框计算
+        if (con != null) {
+            if (!"undefined".equals(con)) {
+                String index = "get_water_slagplan_order";//设置要查询的索引名称
+                return success(esFeign.getConResult(map, index, apiId, pageNum, pageSize, con));//获取查询结果
+            }
+        }
+        //不分页筛选数据
+        List<Map<String, Object>> allCokeRailPlanOrderListForOrder = null;
+        //如果有条件查询则跳过初始化,和创建索引
+        if (map.size() == count) {
+            //将查询结果存入索引中
+            allCokeRailPlanOrderListForOrder = omstruckOrderService.selectWaterSlagForOrder(map);
+            Map<String, Object> map1 = new HashMap<>();
+            //添加索引
+            map1.put("index", "get_water_slagplan_order");
+            //添加id
+            map1.put("indexId", "getwaterSlagId");
+            allCokeRailPlanOrderListForOrder.add(map1);
+            //新建索引
+            esFeign.insertIndex(allCokeRailPlanOrderListForOrder);
+            //删除
+            allCokeRailPlanOrderListForOrder.remove(allCokeRailPlanOrderListForOrder.size() - 1);
+        }
+        if (allCokeRailPlanOrderListForOrder == null)
+            allCokeRailPlanOrderListForOrder = omstruckOrderService.selectWaterSlagForOrder(map);
+        PageHelper.startPage(pageNum, pageSize);
+        //分页数据
+        List<Map<String, Object>> CokeDayPlanAndRecived = omstruckOrderService.selectWaterSlagForOrder(map);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, allCokeRailPlanOrderListForOrder, CokeDayPlanAndRecived);
+        return success(pageList);
+
+    }
+
+    @ApiOperation(value = "销售司机派单")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "planId", value = "运输计划Id", required = false, dataType = "Integer"),
+    })
+    @PostMapping("/dispatchOrderForSale")
+    public RESTfulResult dispatchOrderForSale(@RequestBody(required = false) Map<String, Object> map) {
+        int i = omstruckOrderService.dispatchOrderForSale(map);
+        return success(i);
+    }
+
+    @ApiOperation(value = "逻辑删除运单")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "planId", value = "运输计划Id", required = false, dataType = "Integer"),
+    })
+    @PostMapping("/deleteOrder")
+    public RESTfulResult deleteOrder(@RequestBody(required = false) Map<String, Object> map,
+                                     Integer planId) {
+        if (planId != null) {
+            map.put("planId", planId);
+        }
+        Object orderMaterialWeight = map.get("orderMaterialWeight");
+        if (orderMaterialWeight != null) {
+            if (orderMaterialWeight instanceof Integer) {
+                map.put("orderMaterialWeight", -((Integer) orderMaterialWeight));
+            } else if (orderMaterialWeight instanceof Double) {
+                map.put("orderMaterialWeight", -((Double) orderMaterialWeight));
+            }
+            //模拟前端传来新重量 复用
+            map.put("weight", 0);
+        }
+        int i = omstruckOrderService.deleteOrder(map);
+        return success(i);
+    }
+
+    @ApiOperation(value = "司机接收、拒绝接单")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "planId", value = "运输计划Id", required = false, dataType = "Integer"),
+    })
+    @PostMapping("/driverReceiveOrRefuse/{orderId}")
+    public RESTfulResult driverReceiveOrRefuse(@PathVariable("orderId") Integer orderId, Integer orderReceiveStatus) {
+        Map<String, Object> map = new HashMap<>();
+        map.put("orderId", orderId);
+        map.put("orderReceiveStatus", orderReceiveStatus);
+        int i = omstruckOrderService.driverReceiveOrRefuse(map);
+        return success(i);
+    }
+
+    @ApiOperation(value = "司机接单信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId(117)", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping("/getReceiveRefuseOrder/{orderReceiveStatus}")
+    public RESTfulResult getReceiveRefuseOrder(@RequestBody(required = false) Map<String, Object> mapValue,
+                                               Integer apiId,
+                                               Integer pageNum,
+                                               Integer pageSize,
+                                               @PathVariable Integer orderReceiveStatus,
+                                               Integer orderType,
+                                               Integer orderStatus,
+                                               String con
+    ) {
+        int count = 0;
+        if (orderType != null) {
+            mapValue.put("orderTypee", orderType);
+            count++;
+        }
+        if (orderReceiveStatus != null) {
+            mapValue.put("orderReceiveStatus", orderReceiveStatus);
+            count++;
+        }
+        if (orderStatus != null) {
+            mapValue.put("orderStatus", orderStatus);
+            count++;
+        }
+        //框计算
+        if (con != null) {
+            if (!"undefined".equals(con)) {
+                String index = "get_receiverefuse_list";//设置要查询的索引名称
+                return success(esFeign.getConResult(mapValue, index, apiId, pageNum, pageSize, con));//获取查询结果
+            }
+        }
+        //不分页筛选数据
+        List<Map<String, Object>> allOrder = null;
+        //如果有条件查询则跳过初始化,和创建索引
+        if (mapValue.size() == count) {
+            //将查询结果存入索引中
+            allOrder = omstruckOrderService.getReceiveRefuseOrder(mapValue);
+            Map<String, Object> map = new HashMap<>();
+            //添加索引
+            map.put("index", "get_receiverefuse_list");
+            //添加id
+            map.put("indexId", "orderReceiveId");
+            allOrder.add(map);
+            //新建索引
+            esFeign.insertIndex(allOrder);
+            //删除
+            allOrder.remove(allOrder.size() - 1);
+        }
+        if (allOrder == null)
+            allOrder = omstruckOrderService.getReceiveRefuseOrder(mapValue);
+        PageHelper.startPage(pageNum, pageSize);
+        //分页数据
+        List<Map<String, Object>> order = omstruckOrderService.getReceiveRefuseOrder(mapValue);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, allOrder, order);
+        return success(pageList);
+    }
+
+    //销售物流接收订单,订单类型为已下发,司机接单状态为已下发,未下发。
+    @ApiOperation(value = "pc端展示司机信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId(226)", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping("/getDriverInfoForSale")
+    public RESTfulResult getDriverInfoForSale(@RequestBody(required = false) Map<String, Object> mapValue,
+                                              Integer apiId,
+                                              Integer pageNum,
+                                              Integer pageSize,
+
+                                              Integer orderType,
+                                              Integer orderStatus,
+                                              String con,
+                                              Integer carrierId
+    ) {
+        int count = 0;
+        if (orderType != null) {
+            mapValue.put("orderType", orderType);
+            count++;
+        }
+
+        if (orderStatus != null) {
+            mapValue.put("orderStatus", orderStatus);
+            count++;
+        }
+        if (carrierId != null) {
+            mapValue.put("carrierId", carrierId);
+            count++;
+        }
+        //框计算
+        if (con != null) {
+            if (!"undefined".equals(con)) {
+                String index = "get_driverinfo_for_sale";//设置要查询的索引名称
+                return success(esFeign.getConResult(mapValue, index, apiId, pageNum, pageSize, con));//获取查询结果
+            }
+        }
+        //不分页筛选数据
+        List<Map<String, Object>> DiverInfoForSale = null;
+        //如果有条件查询则跳过初始化,和创建索引
+        if (mapValue.size() == count) {
+            //将查询结果存入索引中
+            DiverInfoForSale = omstruckOrderService.selectTransportOrderForSale(mapValue);
+            Map<String, Object> map = new HashMap<>();
+            //添加索引
+            map.put("index", "get_driverinfo_for_sale");
+            //添加id
+            map.put("indexId", "driverInfoId");
+            DiverInfoForSale.add(map);
+            //新建索引
+            esFeign.insertIndex(DiverInfoForSale);
+            //删除
+            DiverInfoForSale.remove(DiverInfoForSale.size() - 1);
+        }
+        if (DiverInfoForSale == null)
+            DiverInfoForSale = omstruckOrderService.selectTransportOrderForSale(mapValue);
+        PageHelper.startPage(pageNum, pageSize);
+        //分页数据
+        List<Map<String, Object>> diverInfoForSaleorder = omstruckOrderService.selectTransportOrderForSale(mapValue);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, DiverInfoForSale, diverInfoForSaleorder);
+        return success(pageList);
+    }
+
+
+    @ApiOperation(value = "司机APP端调用接口查询数据 4 已下发 5 已接收")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "capacityNumber", value = "运输计划Id", required = false, dataType = "String"),
+    })
+    @PostMapping("/sendMesToDriver2")
+    public RESTfulResult sendMesToDriver2(String capacityNumber, Integer orderStatus) {
+        HashMap<String, Object> map = new HashMap<>();
+        if (orderStatus != null)
+            map.put("orderStatus", orderStatus);
+        if (capacityNumber != null)
+            map.put("capacityNumber", capacityNumber);
+        List<Map<String, Object>> mesToDriver = omstruckOrderService.sendMesToDriver(map);
+        return success(mesToDriver);
+    }
+
+    @ApiOperation(value = "通过车牌获取所有已拒绝的订单")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "capacityNumber", value = "运输计划Id", required = false, dataType = "String"),
+    })
+    @PostMapping("/getRefuseOrderByCapacityNum")
+    public RESTfulResult getReceiveRefuseOrderByCapacityId(String capacityNumber) {
+        HashMap<String, Object> map = new HashMap<>();
+        map.put("capacityNumber", capacityNumber);
+        List<Map<String, Object>> receiveRefuseOrderByCapacityId = omstruckOrderService.getReceiveRefuseOrderByCapacityId(map);
+        return success(receiveRefuseOrderByCapacityId);
+    }
+
+    @ApiOperation(value = "通过运输订单ID查询运单信息 包含各个作业路径")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "capacityNumber", value = "运输计划Id", required = false, dataType = "String"),
+    })
+    @PostMapping("/getOrderMesByOrderNum/{orderId}")
+    public RESTfulResult getOrderMesByOrderNum(@PathVariable("orderId") Integer orderId) {
+        HashMap<String, Object> map = new HashMap<>();
+        map.put("orderId", orderId);
+        List<Map<String, Object>> mesToDriver = omstruckOrderService.getOrderMesByOrderNum(map);
+        return success(mesToDriver);
+    }
+
+
+    @ApiOperation(value = "通过运输订单ID查询运单信息")
+    @PostMapping("/selectOrderByOrderId/{orderId}")
+    public RESTfulResult selectOrderByOrderId(@PathVariable("orderId") Integer orderId) {
+        List<Map<String, Object>> mapList = omstruckOrderService.getOrderByOrderId(new BigDecimal(orderId));
+        return success(mapList);
+    }
+
+    @ApiOperation(value = "查看运输派单")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId(117)", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping("/getTransportDispatch/{orderReceiveStatus}")
+    public RESTfulResult getTransportDispatch(@RequestBody(required = false) Map<String, Object> mapValue,
+                                              Integer apiId,
+                                              Integer pageNum,
+                                              Integer pageSize,
+                                              @PathVariable Integer orderReceiveStatus,
+                                              Integer orderType,
+                                              Integer orderStatus,
+                                              Integer fuelOrder,
+                                              String con
+    ) {
+        int count = 0;
+        if (orderType != null) {
+            mapValue.put("orderTypee", orderType);
+            count++;
+        }
+        if (orderReceiveStatus != null) {
+            mapValue.put("orderReceiveStatus", orderReceiveStatus);
+            count++;
+        }
+        if (orderStatus != null) {
+            mapValue.put("orderStatus", orderStatus);
+            count++;
+        }
+        if (fuelOrder != null) {
+            mapValue.put("fuelOrder", fuelOrder);
+            count++;
+        }
+        //框计算
+        if (con != null) {
+            if (!"undefined".equals(con)) {
+                //设置要查询的索引名称
+                String index = "get_transport_dis_list";
+                //获取查询结果
+                return success(esFeign.getConResult(mapValue, index, apiId, pageNum, pageSize, con));
+            }
+        }
+        //不分页筛选数据
+        List<Map<String, Object>> allOrder = null;
+        //如果有条件查询则跳过初始化,和创建索引
+        if (mapValue.size() == count) {
+            //将查询结果存入索引中
+            allOrder = omstruckOrderService.getTransportDispatch(mapValue);
+            DataChange.changeDateToDayDate(allOrder, "puchaseOrderDeliveryDate");
+            Map<String, Object> map = new HashMap<>();
+            //添加索引
+            map.put("index", "get_transport_dis_list");
+            //添加id
+            map.put("indexId", "transportDisId");
+            allOrder.add(map);
+            //新建索引
+            esFeign.insertIndex(allOrder);
+            //删除
+            allOrder.remove(allOrder.size() - 1);
+        }
+        if (allOrder == null)
+            allOrder = omstruckOrderService.getTransportDispatch(mapValue);
+        PageHelper.startPage(pageNum, pageSize);
+        //分页数据
+        List<Map<String, Object>> order = omstruckOrderService.getTransportDispatch(mapValue);
+        DataChange.changeDateToDayDate(order, "puchaseOrderDeliveryDate");
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, allOrder, order);
+        return success(pageList);
+    }
+
+    @ApiOperation(value = "查询所有空闲的司机排班信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId(186)", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping("/getCapacityForLeisure/{carrierId}")
+    public RESTfulResult getCapacityForLeisure(@RequestBody(required = false) Map<String, Object> mapValue,
+                                               Integer apiId,
+                                               Integer pageNum,
+                                               Integer pageSize,
+                                               @PathVariable Integer carrierId
+
+    ) {
+        if (carrierId != null) {
+            mapValue.put("carrierId", carrierId);
+        }
+        //不分页筛选数据
+        List<Map<String, Object>> allCapacity = omstruckOrderService.selectCapacityAndDriver(mapValue);
+        PageHelper.startPage(pageNum, pageSize);
+        //分页数据
+        List<Map<String, Object>> capacity = omstruckOrderService.selectCapacityAndDriver(mapValue);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, allCapacity, capacity);
+        return success(pageList);
+    }
+
+    //通过物资id查询批次表匹配最新的批次,关联最新的采购订单号
+    @PostMapping("/selectNewOrderId")
+    public RESTfulResult selectNewOrderId(@RequestBody(required = false) Map<String, Object> map) {
+        BigDecimal materialId = new BigDecimal(Integer.parseInt(map.get("materialId").toString()));
+        return success(omstruckOrderService.selectNewOrderId(materialId));
+    }
+
+
+    //展示销售订单信息
+    @ApiOperation(value = "展示销售订单信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId(234)", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping("/selectSteelSaleForCarrier/{carrierId}")
+    public RESTfulResult selectSteelSaleForCarrier(@RequestBody(required = false) Map<String, Object> mapValue,
+                                                   Integer apiId,
+                                                   Integer pageNum,
+                                                   Integer pageSize,
+                                                   @PathVariable Integer carrierId
+
+    ) {
+        if (carrierId != null) {
+            mapValue.put("carrierId", carrierId);
+        }
+        //不分页筛选数据
+        List<Map<String, Object>> steelSaleForCarrier = omstruckOrderService.selectSteelSaleForCarrier(mapValue);
+        PageHelper.startPage(pageNum, pageSize);
+        //分页数据
+        List<Map<String, Object>> steelSaleForCarrier1 = omstruckOrderService.selectSteelSaleForCarrier(mapValue);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, steelSaleForCarrier, steelSaleForCarrier1);
+        return success(pageList);
+    }
+
+    //展示发运计划信息
+    @ApiOperation(value = "展示发运计划信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId(236)", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping("/selectCokeRailPlan/{carrierId}")
+    public RESTfulResult selectCokeRailPlan(@RequestBody(required = false) Map<String, Object> mapValue,
+                                            Integer apiId,
+                                            Integer pageNum,
+                                            Integer pageSize,
+                                            @PathVariable Integer carrierId,
+                                            Integer orderType
+
+    ) {
+        if (carrierId != null) {
+            mapValue.put("carrierId", carrierId);
+        }
+        if (orderType != null) {
+            mapValue.put("orderType", orderType);
+        }
+        //不分页筛选数据
+        List<Map<String, Object>> steelSaleForCarrier = omstruckOrderService.selectCokeRailPlan(mapValue);
+        PageHelper.startPage(pageNum, pageSize);
+        //分页数据
+        List<Map<String, Object>> steelSaleForCarrier1 = omstruckOrderService.selectCokeRailPlan(mapValue);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, steelSaleForCarrier, steelSaleForCarrier1);
+        return success(pageList);
+    }
+
+    //根据发运计划查找信息
+    //通过销售订单id查找信息
+    //展示销售订单信息
+    @ApiOperation(value = " 通过发运计划id查找信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId(238)", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping("/selectInfoByDayPlanId/{dayPlanId}")
+    public RESTfulResult selectInfoByDayPlanId(@RequestBody(required = false) Map<String, Object> mapValue,
+                                               Integer apiId,
+                                               Integer pageNum,
+                                               Integer pageSize,
+                                               @PathVariable Integer dayPlanId,
+                                               Integer orderType
+
+
+    ) {
+        if (dayPlanId != null) {
+            mapValue.put("dayPlanId", dayPlanId);
+        }
+        if (orderType != null) {
+            mapValue.put("orderType", orderType);
+        }
+        //不分页筛选数据
+        List<Map<String, Object>> steelSaleForCarrier = omstruckOrderService.selectInfoByDayPlanId(mapValue);
+        PageHelper.startPage(pageNum, pageSize);
+        //分页数据
+        List<Map<String, Object>> steelSaleForCarrier1 = omstruckOrderService.selectInfoByDayPlanId(mapValue);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, steelSaleForCarrier, steelSaleForCarrier1);
+        return success(pageList);
+    }
+
+    //通过销售订单id查找信息
+    //展示销售订单信息
+    @ApiOperation(value = " 通过销售订单id查找信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId(235)", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping("/selectInfoBySaleOrderId/{saleOrderId}")
+    public RESTfulResult selectInfoBySaleOrderId(@RequestBody(required = false) Map<String, Object> mapValue,
+                                                 Integer apiId,
+                                                 Integer pageNum,
+                                                 Integer pageSize,
+                                                 @PathVariable Integer saleOrderId
+
+
+    ) {
+        mapValue.put("saleOrderId", saleOrderId);
+        //不分页筛选数据
+        List<Map<String, Object>> steelSaleForCarrier = omstruckOrderService.selectInfoBySaleOrderId(saleOrderId);
+        PageHelper.startPage(pageNum, pageSize);
+        //分页数据
+        List<Map<String, Object>> steelSaleForCarrier1 = omstruckOrderService.selectInfoBySaleOrderId(saleOrderId);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, steelSaleForCarrier, steelSaleForCarrier1);
+        return success(pageList);
+
+    }
+
+    @ApiOperation(value = "司机APP端调用接口查询数据 4 已下发 5 已接收")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "orderStatus/capacityNumber/orderType", required = false, dataType = "Map"),
+    })
+    @PostMapping("/sendMesToDriverApp")
+    public RESTfulResult sendMesToDriverApp(@RequestBody Map<String, Object> map) {
+        Map<String, Object> mesToDriverApp = omstruckOrderService.sendMesToDriverApp(map);
+        return success(mesToDriverApp);
+
+    }
+
+}

+ 70 - 0
src/main/java/com/steerinfo/dil/controller/UtilsController.java

@@ -0,0 +1,70 @@
+package com.steerinfo.dil.controller;
+
+import com.steerinfo.dil.feign.IMFeign;
+import com.steerinfo.dil.model.Message;
+import com.steerinfo.dil.model.OmstruckOrder;
+import com.steerinfo.dil.model.OmstruckOrderMaterial;
+import com.steerinfo.dil.service.IOmstruckOrderMaterialService;
+import com.steerinfo.dil.service.IOmstruckOrderService;
+import com.steerinfo.dil.util.BaseRESTfulController;
+import com.steerinfo.framework.controller.RESTfulResult;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ author    :TXF
+ * @ time      :2021/10/27 18:07
+ */
+
+@RestController
+@RequestMapping("/${api.version}/utilscontroller")
+public class UtilsController extends BaseRESTfulController {
+
+    @Autowired
+    IOmstruckOrderService omstruckOrderService;
+
+    @Autowired
+    IOmstruckOrderMaterialService omstruckOrderMaterialService;
+
+    @Autowired
+    IMFeign imFeign;
+
+    @ApiOperation(value = "运输订单新增方法")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "运输订单主键id加同意/拒绝状态码", required = false, dataType = "Map"),
+    })
+    @PostMapping("/insertSelectiveOrder")
+    public RESTfulResult insertSelectiveOrder(@RequestBody(required = false) OmstruckOrder omstruckOrder) {
+        int i = omstruckOrderService.insertSelective(omstruckOrder);
+        return success(i);
+    }
+
+
+    @ApiOperation(value = "运输订单子表新增方法")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "运输订单主键id加同意/拒绝状态码", required = false, dataType = "Map"),
+    })
+    @PostMapping("/insertSelectiveOrderMaterial")
+    public RESTfulResult insertSelectiveOrderMaterial(@RequestBody(required = false) OmstruckOrderMaterial omstruckOrderMaterial) {
+        int i = omstruckOrderMaterialService.insertSelective(omstruckOrderMaterial);
+        return success(i);
+    }
+
+    //这里是websocket的测试方法
+    @RequestMapping("/websocket/sendToUser")
+    @ResponseBody
+    public String sendToUser(@RequestBody List<Message> messages) {
+
+        HashMap<String, Object> map = new HashMap<>();
+        map.put("messages", messages);
+        imFeign.sendToUser(map);
+        return "成功!";
+    }
+}

+ 22 - 0
src/main/java/com/steerinfo/dil/feign/AmsFeign.java

@@ -0,0 +1,22 @@
+package com.steerinfo.dil.feign;
+
+import com.steerinfo.framework.controller.RESTfulResult;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.Map;
+
+/**
+ * @ author    :TXF
+ * @ time      :2021/10/27 14:16
+ */
+
+@FeignClient(value = "dil-ams-api", url = "${openfeign.AmsFeign.url}")
+public interface AmsFeign {
+
+    //更改计划子表重量
+    @PostMapping("api/v1/ams/amstruckpurplanmaterial/updateMaterial")
+    RESTfulResult updateMaterial(@RequestBody(required = false) Map<String, Object> map);
+}

+ 19 - 0
src/main/java/com/steerinfo/dil/feign/ColumnDataFeign.java

@@ -0,0 +1,19 @@
+package com.steerinfo.dil.feign;
+
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author zhangnan
+ * @Date 2021/6/23 9:58
+ * @Version 1.0
+ */
+@FeignClient(value = "DIL-COLUMN-DATA-DEV", url = "${openfeign.ColumnDataFeign.url}")
+public interface ColumnDataFeign {
+    @RequestMapping("getColumnData")
+    List<Map<String, Object>> getColumnData(@RequestParam("apiId") Integer apiId);
+}

+ 32 - 0
src/main/java/com/steerinfo/dil/feign/ESFeign.java

@@ -0,0 +1,32 @@
+package com.steerinfo.dil.feign;
+
+import com.steerinfo.dil.util.PageListAdd;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author zhangnan
+ * @Date 2021/7/27 15:49
+ * @Version 1.0
+ */
+
+
+@FeignClient(value = "DIL-ES-DEV", url = "172.16.33.161:8089/api/v1/es")
+public interface ESFeign {
+    @PostMapping("getConResult")
+    PageListAdd getConResult(@RequestBody(required = false) Map<String, Object> mapValue,
+                             @RequestParam String index,
+                             @RequestParam Integer apiId,
+                             @RequestParam Integer pageNum,
+                             @RequestParam Integer pageSize,
+                             @RequestParam String con);
+
+
+    @PostMapping(value = "insertIndex", consumes = "application/json", produces = "application/json")
+    void insertIndex(@RequestBody List<Map<String, Object>> detailListTotal);
+}

+ 15 - 0
src/main/java/com/steerinfo/dil/feign/IMFeign.java

@@ -0,0 +1,15 @@
+package com.steerinfo.dil.feign;
+
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.util.HashMap;
+
+@FeignClient(value = "DIL-IM-DEV", url = "${openfeign.Im.url}")
+public interface IMFeign {
+    @PostMapping("/websocket/sendToUser")
+    @ResponseBody
+    String sendToUser(@RequestBody HashMap map);
+}

+ 44 - 0
src/main/java/com/steerinfo/dil/feign/TmsTruckFeign.java

@@ -0,0 +1,44 @@
+package com.steerinfo.dil.feign;
+
+import com.steerinfo.framework.controller.RESTfulResult;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.Map;
+
+/**
+ * @ author    :TXF
+ * @ time      :2021/10/27 13:58
+ */
+
+@FeignClient(value = "dil-tms-truck-dev", url = "${openfeign.TmsTruckFeign.url}")
+public interface TmsTruckFeign {
+
+    //添加总实绩 map:订单Id
+    @PostMapping("api/v1/truckTms/tmstrucktotalresults/addTotalResult")
+    RESTfulResult addTotalResult(@RequestBody(required = false) Map<String, Object> map);
+
+    //生成进厂作业实绩: 总实绩Id
+    @PostMapping("api/v1/truckTms/tmstruckenfactoryresults/addEnFactoryResult")
+    RESTfulResult addEnFactoryResult(@RequestBody(required = false) Map<String, Object> mapValue);
+
+    //生成出厂实绩:总实绩ID
+    @PostMapping("api/v1/truckTms/tmstruckleavefactoryresults/addLeaveFactory")
+    RESTfulResult addLeaveFactory(@RequestBody(required = false) Map<String, Object> mapValue);
+
+    //生成计量实绩:总实绩ID、物资Id
+    @PostMapping("api/v1/truckTms/tmstruckweightresults/addWeightResult")
+    RESTfulResult addWeightResult(@RequestBody Map<String, Object> mapValue);
+
+    //生成卸货实绩:总实绩ID
+    @PostMapping("api/v1/truckTms/tmstruckunloadresult/addUnloadResult")
+    RESTfulResult addUnloadResult(@RequestBody(required = false) Map<String, Object> mapValue);
+
+    //生成装车实绩: 运输订单Id、物资Id
+    @PostMapping("api/v1/truckTms/tmstruckloadresults/addLoadResult")
+    RESTfulResult addLoadResult(@RequestBody(required = false) Map<String, Object> map);
+}

+ 26 - 0
src/main/java/com/steerinfo/dil/interceptors/MyLocaleChangeInterceptor.java

@@ -0,0 +1,26 @@
+package com.steerinfo.dil.interceptors;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.support.ReloadableResourceBundleMessageSource;
+import org.springframework.web.servlet.i18n.LocaleChangeInterceptor;
+import org.springframework.web.servlet.i18n.SessionLocaleResolver;
+
+import java.util.Locale;
+
+/**
+ * @Author zhangnan
+ * @Date 2021/4/23 8:19
+ * @Version 1.0
+ */
+
+@Configuration
+public class MyLocaleChangeInterceptor {
+
+    //国际化配置
+    @Bean
+    public LocaleChangeInterceptor localeChangeInterceptor(){
+        return new LocaleChangeInterceptor();
+    }
+
+}

+ 153 - 0
src/main/java/com/steerinfo/dil/mapper/OmstruckOrderMapper.java

@@ -0,0 +1,153 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.OmstruckOrder;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+@Mapper
+public interface OmstruckOrderMapper extends IBaseMapper<OmstruckOrder, BigDecimal> {
+    //根据销售订单id查找销售订单信息
+    List<Map<String, Object>> selectSaleNumberForCarrier(Integer saleOrderId);
+
+    //查询已接收的焦炭发运计划
+    List<Map<String, Object>> selectCokeDayPlanAndRecived(Map<String, Object> map);
+
+    //查询已接收的水渣发运计划
+    List<Map<String, Object>> selectWaterSlagDayPlanAndRecived(Integer carrierId);
+
+    //查询所有运输订单信息 状态:3
+    //查询所有已下发运输订单 状态:4
+    List<Map<String, Object>> getAllTruckOrder(Map<String, Object> map);
+
+    //查询最大主键Id
+    @Select("select seq_omstruck_order.nextval from dual")
+    BigDecimal selectMaxId();
+
+    //通过运输订单Id查询运输订单号
+    String getOrderNumberByOrderId(Integer orderId);
+
+    //查询所有运力信息
+    List<Map<String, Object>> getAllCapacity(Map<String, Object> map);
+
+    //通过运力Id 或 车牌号 修改运输状态
+    int updateCapacityByCarIdOrNum(Map<String, Object> map);
+
+    int updateCapacityById(Map<String, Object> map);
+
+    //通过运输订单ID 或 运输订单号 查询运力Id
+    BigDecimal getCapacityIdByOrderOrNum(Map<String, Object> map);
+
+    //通过ID获取派单时间
+    Date getInsertTimeById(Integer orderId);
+
+    //通过车牌号查询运力id
+    BigDecimal getCapacityIdByCapacityNum(String capacityNumber);
+
+    //司机接单调用接口 通过运力Id匹配  /  通过运单ID查询运单信息 APP
+    //查询所有接单或拒绝接单的订单 PC -- 采购
+    List<Map<String, Object>> getTruckOrderByCapacityNum(Map<String, Object> map);
+
+    //查询所有接单或拒绝接单的订单 PC -- 销售
+    List<Map<String, Object>> getSaleTruckOrderByCapacityNum(Map<String, Object> map);
+
+    //查询司机所有已拒绝过的订单
+    List<Map<String, Object>> getReceiveRefuseOrderByCapacityId(Map<String, Object> map);
+
+    //  通过运输订单号或运输订单ID查询总实绩ID和订单类型
+    Map<String, Object> getResultTotalIdByOrderNumAndId(Map<String, Object> map);
+
+    // 通过运输订单Id查询运输订单子表有几种物资 :物资ID
+    List<Integer> getMaterialIdListByOrderId(Integer orderId);
+
+    // 查询实绩地点和时间
+    List<Map<String, Object>> selectPlaceAndTime(BigDecimal orderId);
+
+    //通过运单号查询运单信息
+    List<Map<String, Object>> getOrderByOrderId(BigDecimal orderId);
+
+    //通过运输订单号查询预设路径的作业点ID  及 总实绩ID
+    Map<String, Object> getPointIdByOrderNum(Map<String, Object> map);
+
+    //运输派单
+    List<Map<String, Object>> getTransportDispatch(Map<String, Object> map);
+
+    //查询已下发未接受的销售订单信息
+    List<Map<String, Object>> getOrderUnReceive(BigDecimal orderType);
+
+    //查询已下发已接受的销售订单信息
+    List<Map<String, Object>> getOrderReceived(BigDecimal orderType);
+
+    //通过销售订单物资ID查找物资理重和物资件数
+    Map<String, Object> selectTheoreticalWeightAndMaterialNumber(Integer saleOrderMaterialId);
+
+    //销售物流:展示已经形成订单的水渣发运计划
+    List<Map<String, Object>> selectWaterSlagForOrder(Map<String, Object> map);
+
+    //销售物流:展示已经形成订单的焦炭发运计划
+    List<Map<String, Object>> selectCokeRailPlanForOrder(Map<String, Object> map);
+
+    //通过车序号表id查找物资id
+    List<Map<String, Object>> selectMaterialIdBysaleOrderMaterialId(Integer saleOrderMaterialId);
+
+    //查找司机排班表信息
+    List<Map<String, Object>> selectCapacityAndDriver(Map<String, Object> map);
+
+    //通过用户id查找用户姓名
+    String selectPersonNameByPersonnelId(Integer personnelId);
+
+    //通过车牌号、承运商匹配最新的运力id
+    BigDecimal selectCapacityId(BigDecimal carrierId, String capacityNumber);
+
+    //通过运输订单ID查询数据 用于websocket推送数据
+    Map<String, Object> pushMesToWebsocket(Map<String, Object> map);
+
+    //通过物资id查询批次表匹配最新的批次,关联最新的采购订单号
+    String selectNewOrderId(BigDecimal materialId);
+
+    //通过采购订单号查找采购订单ID
+    BigDecimal getPurchaseOrderIdByNo(String purchaseOrderNo);
+
+
+    //App
+    //查询主干信息
+    Map<String, Object> getSaleTruckOrderByCapacityId(Map<String, Object> map);
+
+    //查询物资信息
+    List<Map<String, Object>> getSaleTruckOrderByCapacityNumMaterial(Map<String, Object> map);
+
+    //根据发运计划id查找物资id
+    Map<String, Object> selectMaterialIdAndWeightByDayPlanId(Integer dayPlanId);
+
+    //销售模块,查看所有订单
+    List<Map<String, Object>> selectAllOrderForSale(Map<String, Object> map);
+
+    //根据车序号id查找销售订单
+    List<Map<String, Object>> selectSaleBySaleOrderMaterialId(Integer saleOrderMaterialId);
+
+
+    //销售:接收运输订单展示pc端界面
+    List<Map<String, Object>> selectTransportOrderForSale(Map<String, Object> map);
+
+    //销售:根据承运商查找承运商
+    List<Map<String, Object>> selectSaleMaterialIdByCarrierId(Integer carrierId);
+
+    //根据承运商查找销售订单
+    List<Map<String, Object>> selectSteelSaleForCarrier(Map<String, Object> map);
+
+    //根据销售订单id查找信息
+    List<Map<String, Object>> selectInfoBySaleOrderId(Integer saleOrderId);
+
+    //根据承运商查找发运计划
+    List<Map<String, Object>> selectCokeRailPlan(Map<String, Object> map);
+
+    //根据发运计划查找信息
+    List<Map<String, Object>> selectInfoByDayPlanId(Map<String, Object> map);
+
+
+}

+ 26 - 0
src/main/java/com/steerinfo/dil/mapper/OmstruckOrderMaterialMapper.java

@@ -0,0 +1,26 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.OmstruckOrder;
+import com.steerinfo.dil.model.OmstruckOrderMaterial;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+
+import java.math.BigDecimal;
+
+@Mapper
+public interface OmstruckOrderMaterialMapper extends IBaseMapper<OmstruckOrderMaterial, BigDecimal> {
+    //新增运单子表
+    int insertSelective(OmstruckOrderMaterial omstruckOrderMaterial);
+
+    //修改运输订单子表
+    int updateByPrimaryKeySelective(OmstruckOrder omstruckOrder);
+
+    //查询最大主键Id
+    @Select("select seq_omstruck_order_material.nextval from dual")
+    BigDecimal selectMaxId();
+
+    //通过订单Id
+    BigDecimal getOrderMaterialIdByOrderId(BigDecimal orderId);
+
+}

+ 247 - 0
src/main/java/com/steerinfo/dil/model/AmsSaleOrderMaterial.java

@@ -0,0 +1,247 @@
+package com.steerinfo.dil.model;
+
+import com.steerinfo.framework.model.IBasePO;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.math.BigDecimal;
+import java.util.Date;
+
+@ApiModel(value="销售订单和物资的中间表")
+public class AmsSaleOrderMaterial implements IBasePO<BigDecimal> {
+    /**
+     * 主键ID(SALE_ORDER_MATERIAL_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="主键ID",required=true)
+    private BigDecimal saleOrderMaterialId;
+
+    /**
+     * 销售订单ID(SALE_ORDER_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="销售订单ID",required=true)
+    private BigDecimal saleOrderId;
+
+    /**
+     * 车序号(SALE_ORDER_MATERIAL_TRUCK_NO,DECIMAL,38)
+     */
+    @ApiModelProperty(value="车序号",required=false)
+    private BigDecimal saleOrderMaterialTruckNo;
+
+    /**
+     * 收货地址ID(SALE_SHIPPING_ADDRESS_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="收货地址ID",required=false)
+    private BigDecimal saleShippingAddressId;
+
+    /**
+     * 收货日期(SALE_DATE_OF_RECEIPT,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="收货日期",required=false)
+    private Date saleDateOfReceipt;
+
+    /**
+     * 收货方姓名(SALE_ORDER_CONSIGNEE,VARCHAR,20)
+     */
+    @ApiModelProperty(value="收货方姓名",required=false)
+    private String saleOrderConsignee;
+
+    /**
+     * 收货方电话(SALE_ORDER_CONSIGNEE_TEL,VARCHAR,20)
+     */
+    @ApiModelProperty(value="收货方电话",required=false)
+    private String saleOrderConsigneeTel;
+
+    /**
+     * 记录创建人(INSERT_USERNAME,VARCHAR,20)
+     */
+    @ApiModelProperty(value="记录创建人",required=false)
+    private String insertUsername;
+
+    /**
+     * 记录创建时间(INSERT_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="记录创建时间",required=false)
+    private Date insertTime;
+
+    /**
+     * 记录修改人(UPDATE_USERNAME,VARCHAR,20)
+     */
+    @ApiModelProperty(value="记录修改人",required=false)
+    private String updateUsername;
+
+    /**
+     * 记录修改时间(UPDATE_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="记录修改时间",required=false)
+    private Date updateTime;
+
+    /**
+     * 记录创建或修改备注(INSERT_UPDATE_REMARK,VARCHAR,100)
+     */
+    @ApiModelProperty(value="记录创建或修改备注",required=false)
+    private String insertUpdateRemark;
+
+    /**
+     * 是否删除(0:否,1:是)(DELETED,DECIMAL,0)
+     */
+    @ApiModelProperty(value="是否删除(0:否,1:是)",required=false)
+    private Short deleted;
+
+    /**
+     * 是否为历史记录(0:否,1:是)(UPDATED,DECIMAL,0)
+     */
+    @ApiModelProperty(value="是否为历史记录(0:否,1:是)",required=false)
+    private Short updated;
+
+
+
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public BigDecimal getId() {
+        return this.saleOrderMaterialId;
+    }
+
+    @Override
+    public void setId(BigDecimal saleOrderMaterialId) {
+        this.saleOrderMaterialId = saleOrderMaterialId;
+    }
+
+    public BigDecimal getSaleOrderMaterialId() {
+        return saleOrderMaterialId;
+    }
+
+    public void setSaleOrderMaterialId(BigDecimal saleOrderMaterialId) {
+        this.saleOrderMaterialId = saleOrderMaterialId;
+    }
+
+    public BigDecimal getSaleOrderId() {
+        return saleOrderId;
+    }
+
+    public void setSaleOrderId(BigDecimal saleOrderId) {
+        this.saleOrderId = saleOrderId;
+    }
+
+    public BigDecimal getSaleOrderMaterialTruckNo() {
+        return saleOrderMaterialTruckNo;
+    }
+
+    public void setSaleOrderMaterialTruckNo(BigDecimal saleOrderMaterialTruckNo) {
+        this.saleOrderMaterialTruckNo = saleOrderMaterialTruckNo;
+    }
+
+    public BigDecimal getSaleShippingAddressId() {
+        return saleShippingAddressId;
+    }
+
+    public void setSaleShippingAddressId(BigDecimal saleShippingAddressId) {
+        this.saleShippingAddressId = saleShippingAddressId;
+    }
+
+    public Date getSaleDateOfReceipt() {
+        return saleDateOfReceipt;
+    }
+
+    public void setSaleDateOfReceipt(Date saleDateOfReceipt) {
+        this.saleDateOfReceipt = saleDateOfReceipt;
+    }
+
+    public String getSaleOrderConsignee() {
+        return saleOrderConsignee;
+    }
+
+    public void setSaleOrderConsignee(String saleOrderConsignee) {
+        this.saleOrderConsignee = saleOrderConsignee == null ? null : saleOrderConsignee.trim();
+    }
+
+    public String getSaleOrderConsigneeTel() {
+        return saleOrderConsigneeTel;
+    }
+
+    public void setSaleOrderConsigneeTel(String saleOrderConsigneeTel) {
+        this.saleOrderConsigneeTel = saleOrderConsigneeTel == null ? null : saleOrderConsigneeTel.trim();
+    }
+
+    public String getInsertUsername() {
+        return insertUsername;
+    }
+
+    public void setInsertUsername(String insertUsername) {
+        this.insertUsername = insertUsername == null ? null : insertUsername.trim();
+    }
+
+    public Date getInsertTime() {
+        return insertTime;
+    }
+
+    public void setInsertTime(Date insertTime) {
+        this.insertTime = insertTime;
+    }
+
+    public String getUpdateUsername() {
+        return updateUsername;
+    }
+
+    public void setUpdateUsername(String updateUsername) {
+        this.updateUsername = updateUsername == null ? null : updateUsername.trim();
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getInsertUpdateRemark() {
+        return insertUpdateRemark;
+    }
+
+    public void setInsertUpdateRemark(String insertUpdateRemark) {
+        this.insertUpdateRemark = insertUpdateRemark == null ? null : insertUpdateRemark.trim();
+    }
+
+    public Short getDeleted() {
+        return deleted;
+    }
+
+    public void setDeleted(Short deleted) {
+        this.deleted = deleted;
+    }
+
+    public Short getUpdated() {
+        return updated;
+    }
+
+    public void setUpdated(Short updated) {
+        this.updated = updated;
+    }
+
+
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", saleOrderMaterialId=").append(saleOrderMaterialId);
+        sb.append(", saleOrderId=").append(saleOrderId);
+        sb.append(", saleOrderMaterialTruckNo=").append(saleOrderMaterialTruckNo);
+        sb.append(", saleShippingAddressId=").append(saleShippingAddressId);
+        sb.append(", saleDateOfReceipt=").append(saleDateOfReceipt);
+        sb.append(", saleOrderConsignee=").append(saleOrderConsignee);
+        sb.append(", saleOrderConsigneeTel=").append(saleOrderConsigneeTel);
+        sb.append(", insertUsername=").append(insertUsername);
+        sb.append(", insertTime=").append(insertTime);
+        sb.append(", updateUsername=").append(updateUsername);
+        sb.append(", updateTime=").append(updateTime);
+        sb.append(", insertUpdateRemark=").append(insertUpdateRemark);
+        sb.append(", deleted=").append(deleted);
+        sb.append(", updated=").append(updated);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 65 - 0
src/main/java/com/steerinfo/dil/model/Message.java

@@ -0,0 +1,65 @@
+package com.steerinfo.dil.model;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class Message implements Serializable {
+    private Integer messageType;
+    private Object messageContent;
+    private String sendPerson;
+    private String receivePerson;
+    private Date createTime;
+
+    public Message(Integer messageType, Object messageContent, String sendPerson, String receivePerson, Date createTime) {
+        this.messageType = messageType;
+        this.messageContent = messageContent;
+        this.sendPerson = sendPerson;
+        this.receivePerson = receivePerson;
+        this.createTime = createTime;
+    }
+
+    public Message() {
+    }
+
+    public Integer getMessageType() {
+        return messageType;
+    }
+
+    public void setMessageType(Integer messageType) {
+        this.messageType = messageType;
+    }
+
+    public Object getMessageContent() {
+        return messageContent;
+    }
+
+    public void setMessageContent(Object messageContent) {
+        this.messageContent = messageContent;
+    }
+
+    public String getSendPerson() {
+        return sendPerson;
+    }
+
+    public void setSendPerson(String sendPerson) {
+        this.sendPerson = sendPerson;
+    }
+
+    public String getReceivePerson() {
+        return receivePerson;
+    }
+
+    public void setReceivePerson(String receivePerson) {
+        this.receivePerson = receivePerson;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+
+}

+ 349 - 0
src/main/java/com/steerinfo/dil/model/OmstruckOrder.java

@@ -0,0 +1,349 @@
+package com.steerinfo.dil.model;
+
+import com.steerinfo.framework.model.IBasePO;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@ApiModel(value="汽运运输订单")
+public class OmstruckOrder implements IBasePO<BigDecimal> {
+    /**
+     * 运输订单id(ORDER_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="运输订单id",required=true)
+    private BigDecimal orderId;
+
+    /**
+     * 销售订单和物资的中间表ID/发运计划ID/采购订单ID/内转物流计划ID(ORDER_PLAN_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="销售订单和物资的中间表ID/发运计划ID/采购订单ID/内转物流计划ID",required=false)
+    private BigDecimal orderPlanId;
+
+    /**
+     * 运输订单号(WYSDD-年月日-8位数的顺序号)(ORDER_NUMBER,VARCHAR,50)
+     */
+    @ApiModelProperty(value="运输订单号(WYSDD-年月日-8位数的顺序号)",required=false)
+    private String orderNumber;
+
+    /**
+     * 运力ID(CAPACITY_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="运力ID",required=false)
+    private BigDecimal capacityId;
+
+    /**
+     * 订单下发时间(ORDER_ISSUE_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="订单下发时间",required=false)
+    private Date orderIssueTime;
+
+    /**
+     * 司机操作订单行为:0:拒绝;1:接收(ORDER_RECEIVE_STATUS,DECIMAL,38)
+     */
+    @ApiModelProperty(value="司机操作订单行为:0:拒绝;1:接收",required=false)
+    private BigDecimal orderReceiveStatus;
+
+    /**
+     * 司机接收/拒绝订单时间(ORDER_RECEIVE_REFUSE_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="司机接收/拒绝订单时间",required=false)
+    private Date orderReceiveRefuseTime;
+
+    /**
+     * 通信时长=司机接单/拒绝时间-订单下发时间(ORDER_COMMUNICATION_DURATION,DECIMAL,0)
+     */
+    @ApiModelProperty(value="通信时长=司机接单/拒绝时间-订单下发时间",required=false)
+    private BigDecimal orderCommunicationDuration;
+
+    /**
+     * 运单状态 :0:待运输,1:执行中,2:已结束,3:未下发,4:已下发,5:已接收,6:未接收,7:逻辑删除(ORDER_STATUS,DECIMAL,38)
+     */
+    @ApiModelProperty(value="运单状态 :0:待运输,1:执行中,2:已结束,3:未下发,4:已下发,5:已接收,6:未接收,7:逻辑删除",required=false)
+    private BigDecimal orderStatus;
+
+    /**
+     * 记录创建人(INSERT_USERNAME,VARCHAR,20)
+     */
+    @ApiModelProperty(value="记录创建人",required=false)
+    private String insertUsername;
+
+    /**
+     * 记录创建时间(INSERT_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="记录创建时间",required=false)
+    private Date insertTime;
+
+    /**
+     * 记录修改人(UPDATE_USERNAME,VARCHAR,20)
+     */
+    @ApiModelProperty(value="记录修改人",required=false)
+    private String updateUsername;
+
+    /**
+     * 记录修改时间(UPDATE_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="记录修改时间",required=false)
+    private Date updateTime;
+
+    /**
+     * 记录创建或修改备注(INSERT_UPDATE_REMARK,VARCHAR,100)
+     */
+    @ApiModelProperty(value="记录创建或修改备注",required=false)
+    private String insertUpdateRemark;
+
+    /**
+     * 逻辑删除(DELETED,DECIMAL,0)
+     */
+    @ApiModelProperty(value="逻辑删除",required=false)
+    private BigDecimal deleted;
+
+    /**
+     * 订单类型(1:销售订单;2:焦炭发运计划;3:水渣发运计划;4:内转到异地库;5:采购辅料订单;6:采购老区燃料订单;7:采购新区燃料订单;8:采购进口矿(万州-厂内);9:采购内转(达州-厂内);10:采购内转(老区-厂内); 11:厂内内转)(ORDER_TYPE,DECIMAL,0)
+     */
+    @ApiModelProperty(value="订单类型(1:销售订单;2:焦炭发运计划;3:水渣发运计划;4:内转到异地库;5:采购辅料订单;6:采购老区燃料订单;7:采购新区燃料订单;8:采购进口矿(万州-厂内);9:采购内转(达州-厂内);10:采购内转(老区-厂内); 11:厂内内转)",required=false)
+    private BigDecimal orderType;
+
+    /**
+     * 路段顺序号:(1:进厂 ; 2:计毛;3:卸货;4:计皮;5:出厂;6:装货)(ORDER_LINE_SEQUENCE,DECIMAL,38)
+     */
+    @ApiModelProperty(value="路段顺序号:(1:进厂 ; 2:计毛;3:卸货;4:计皮;5:出厂;6:装货)",required=false)
+    private BigDecimal orderLineSequence;
+
+    /**
+     * 运输路线ID(LINE_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="运输路线ID",required=false)
+    private BigDecimal lineId;
+
+    /**
+     * 预计进厂时间(ORDER_ENTRY_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="预计进厂时间",required=false)
+    private Date orderEntryTime;
+
+    /**
+     * 司机排班id(DRIVER_CAPACITY_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="司机排班id",required=false)
+    private BigDecimal driverCapacityId;
+
+    /**
+     * 卸货点ID(UNLOAD_POINT_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="卸货点ID",required=false)
+    private BigDecimal unloadPointId;
+
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public BigDecimal getId() {
+        return this.orderId;
+    }
+
+    @Override
+    public void setId(BigDecimal orderId) {
+        this.orderId = orderId;
+    }
+
+    public BigDecimal getOrderId() {
+        return orderId;
+    }
+
+    public void setOrderId(BigDecimal orderId) {
+        this.orderId = orderId;
+    }
+
+    public BigDecimal getOrderPlanId() {
+        return orderPlanId;
+    }
+
+    public void setOrderPlanId(BigDecimal orderPlanId) {
+        this.orderPlanId = orderPlanId;
+    }
+
+    public String getOrderNumber() {
+        return orderNumber;
+    }
+
+    public void setOrderNumber(String orderNumber) {
+        this.orderNumber = orderNumber == null ? null : orderNumber.trim();
+    }
+
+    public BigDecimal getCapacityId() {
+        return capacityId;
+    }
+
+    public void setCapacityId(BigDecimal capacityId) {
+        this.capacityId = capacityId;
+    }
+
+    public Date getOrderIssueTime() {
+        return orderIssueTime;
+    }
+
+    public void setOrderIssueTime(Date orderIssueTime) {
+        this.orderIssueTime = orderIssueTime;
+    }
+
+    public BigDecimal getOrderReceiveStatus() {
+        return orderReceiveStatus;
+    }
+
+    public void setOrderReceiveStatus(BigDecimal orderReceiveStatus) {
+        this.orderReceiveStatus = orderReceiveStatus;
+    }
+
+    public Date getOrderReceiveRefuseTime() {
+        return orderReceiveRefuseTime;
+    }
+
+    public void setOrderReceiveRefuseTime(Date orderReceiveRefuseTime) {
+        this.orderReceiveRefuseTime = orderReceiveRefuseTime;
+    }
+
+    public BigDecimal getOrderCommunicationDuration() {
+        return orderCommunicationDuration;
+    }
+
+    public void setOrderCommunicationDuration(BigDecimal orderCommunicationDuration) {
+        this.orderCommunicationDuration = orderCommunicationDuration;
+    }
+
+    public BigDecimal getOrderStatus() {
+        return orderStatus;
+    }
+
+    public void setOrderStatus(BigDecimal orderStatus) {
+        this.orderStatus = orderStatus;
+    }
+
+    public String getInsertUsername() {
+        return insertUsername;
+    }
+
+    public void setInsertUsername(String insertUsername) {
+        this.insertUsername = insertUsername == null ? null : insertUsername.trim();
+    }
+
+    public Date getInsertTime() {
+        return insertTime;
+    }
+
+    public void setInsertTime(Date insertTime) {
+        this.insertTime = insertTime;
+    }
+
+    public String getUpdateUsername() {
+        return updateUsername;
+    }
+
+    public void setUpdateUsername(String updateUsername) {
+        this.updateUsername = updateUsername == null ? null : updateUsername.trim();
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getInsertUpdateRemark() {
+        return insertUpdateRemark;
+    }
+
+    public void setInsertUpdateRemark(String insertUpdateRemark) {
+        this.insertUpdateRemark = insertUpdateRemark == null ? null : insertUpdateRemark.trim();
+    }
+
+    public BigDecimal getDeleted() {
+        return deleted;
+    }
+
+    public void setDeleted(BigDecimal deleted) {
+        this.deleted = deleted;
+    }
+
+    public BigDecimal getOrderType() {
+        return orderType;
+    }
+
+    public void setOrderType(BigDecimal orderType) {
+        this.orderType = orderType;
+    }
+
+    public BigDecimal getOrderLineSequence() {
+        return orderLineSequence;
+    }
+
+    public void setOrderLineSequence(BigDecimal orderLineSequence) {
+        this.orderLineSequence = orderLineSequence;
+    }
+
+    public BigDecimal getLineId() {
+        return lineId;
+    }
+
+    public void setLineId(BigDecimal lineId) {
+        this.lineId = lineId;
+    }
+
+    public Date getOrderEntryTime() {
+        return orderEntryTime;
+    }
+
+    public void setOrderEntryTime(Date orderEntryTime) {
+        this.orderEntryTime = orderEntryTime;
+    }
+
+    public BigDecimal getDriverCapacityId() {
+        return driverCapacityId;
+    }
+
+    public void setDriverCapacityId(BigDecimal driverCapacityId) {
+        this.driverCapacityId = driverCapacityId;
+    }
+
+    public BigDecimal getUnloadPointId() {
+        return unloadPointId;
+    }
+
+    public void setUnloadPointId(BigDecimal unloadPointId) {
+        this.unloadPointId = unloadPointId;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", orderId=").append(orderId);
+        sb.append(", orderPlanId=").append(orderPlanId);
+        sb.append(", orderNumber=").append(orderNumber);
+        sb.append(", capacityId=").append(capacityId);
+        sb.append(", orderIssueTime=").append(orderIssueTime);
+        sb.append(", orderReceiveStatus=").append(orderReceiveStatus);
+        sb.append(", orderReceiveRefuseTime=").append(orderReceiveRefuseTime);
+        sb.append(", orderCommunicationDuration=").append(orderCommunicationDuration);
+        sb.append(", orderStatus=").append(orderStatus);
+        sb.append(", insertUsername=").append(insertUsername);
+        sb.append(", insertTime=").append(insertTime);
+        sb.append(", updateUsername=").append(updateUsername);
+        sb.append(", updateTime=").append(updateTime);
+        sb.append(", insertUpdateRemark=").append(insertUpdateRemark);
+        sb.append(", deleted=").append(deleted);
+        sb.append(", orderType=").append(orderType);
+        sb.append(", orderLineSequence=").append(orderLineSequence);
+        sb.append(", lineId=").append(lineId);
+        sb.append(", orderEntryTime=").append(orderEntryTime);
+        sb.append(", driverCapacityId=").append(driverCapacityId);
+        sb.append(", unloadPointId=").append(unloadPointId);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 199 - 0
src/main/java/com/steerinfo/dil/model/OmstruckOrderMaterial.java

@@ -0,0 +1,199 @@
+package com.steerinfo.dil.model;
+
+import com.steerinfo.framework.model.IBasePO;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@ApiModel(value="运输订单物资中间表")
+public class OmstruckOrderMaterial implements IBasePO<BigDecimal> {
+    /**
+     * 主键ID(ORDER_MATERIAL_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="主键ID",required=true)
+    private BigDecimal orderMaterialId;
+
+    /**
+     * 订单id(ORDER_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="订单id",required=false)
+    private BigDecimal orderId;
+
+    /**
+     * 钢材物资ID(MATERIAL_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="钢材物资ID",required=false)
+    private BigDecimal materialId;
+
+    /**
+     * 物资件数(ORDER_MATERIAL_NUMBER,DECIMAL,38)
+     */
+    @ApiModelProperty(value="物资件数",required=false)
+    private BigDecimal orderMaterialNumber;
+
+    /**
+     * 物资重量(ORDER_MATERIAL_WEIGHT,DECIMAL,0)
+     */
+    @ApiModelProperty(value="物资重量",required=false)
+    private BigDecimal orderMaterialWeight;
+
+    /**
+     * 记录创建人(INSERT_USERNAME,VARCHAR,20)
+     */
+    @ApiModelProperty(value="记录创建人",required=false)
+    private String insertUsername;
+
+    /**
+     * 记录创建时间(INSERT_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="记录创建时间",required=false)
+    private Date insertTime;
+
+    /**
+     * 记录修改人(UPDATE_USERNAME,VARCHAR,20)
+     */
+    @ApiModelProperty(value="记录修改人",required=false)
+    private String updateUsername;
+
+    /**
+     * 记录修改时间(UPDATE_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="记录修改时间",required=false)
+    private Date updateTime;
+
+    /**
+     * 记录创建或修改备注(INSERT_UPDATE_REMARK,VARCHAR,100)
+     */
+    @ApiModelProperty(value="记录创建或修改备注",required=false)
+    private String insertUpdateRemark;
+
+    /**
+     * 物资指向:0:物资主表(原料用);1:物资子表(钢材用)(MATERIAL_DIRECTION,DECIMAL,0)
+     */
+    @ApiModelProperty(value="物资指向:0:物资主表(原料用);1:物资子表(钢材用)",required=false)
+    private BigDecimal materialDirection;
+
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public BigDecimal getId() {
+        return this.orderMaterialId;
+    }
+
+    @Override
+    public void setId(BigDecimal orderMaterialId) {
+        this.orderMaterialId = orderMaterialId;
+    }
+
+    public BigDecimal getOrderMaterialId() {
+        return orderMaterialId;
+    }
+
+    public void setOrderMaterialId(BigDecimal orderMaterialId) {
+        this.orderMaterialId = orderMaterialId;
+    }
+
+    public BigDecimal getOrderId() {
+        return orderId;
+    }
+
+    public void setOrderId(BigDecimal orderId) {
+        this.orderId = orderId;
+    }
+
+    public BigDecimal getMaterialId() {
+        return materialId;
+    }
+
+    public void setMaterialId(BigDecimal materialId) {
+        this.materialId = materialId;
+    }
+
+    public BigDecimal getOrderMaterialNumber() {
+        return orderMaterialNumber;
+    }
+
+    public void setOrderMaterialNumber(BigDecimal orderMaterialNumber) {
+        this.orderMaterialNumber = orderMaterialNumber;
+    }
+
+    public BigDecimal getOrderMaterialWeight() {
+        return orderMaterialWeight;
+    }
+
+    public void setOrderMaterialWeight(BigDecimal orderMaterialWeight) {
+        this.orderMaterialWeight = orderMaterialWeight;
+    }
+
+    public String getInsertUsername() {
+        return insertUsername;
+    }
+
+    public void setInsertUsername(String insertUsername) {
+        this.insertUsername = insertUsername == null ? null : insertUsername.trim();
+    }
+
+    public Date getInsertTime() {
+        return insertTime;
+    }
+
+    public void setInsertTime(Date insertTime) {
+        this.insertTime = insertTime;
+    }
+
+    public String getUpdateUsername() {
+        return updateUsername;
+    }
+
+    public void setUpdateUsername(String updateUsername) {
+        this.updateUsername = updateUsername == null ? null : updateUsername.trim();
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getInsertUpdateRemark() {
+        return insertUpdateRemark;
+    }
+
+    public void setInsertUpdateRemark(String insertUpdateRemark) {
+        this.insertUpdateRemark = insertUpdateRemark == null ? null : insertUpdateRemark.trim();
+    }
+
+    public BigDecimal getMaterialDirection() {
+        return materialDirection;
+    }
+
+    public void setMaterialDirection(BigDecimal materialDirection) {
+        this.materialDirection = materialDirection;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", orderMaterialId=").append(orderMaterialId);
+        sb.append(", orderId=").append(orderId);
+        sb.append(", materialId=").append(materialId);
+        sb.append(", orderMaterialNumber=").append(orderMaterialNumber);
+        sb.append(", orderMaterialWeight=").append(orderMaterialWeight);
+        sb.append(", insertUsername=").append(insertUsername);
+        sb.append(", insertTime=").append(insertTime);
+        sb.append(", updateUsername=").append(updateUsername);
+        sb.append(", updateTime=").append(updateTime);
+        sb.append(", insertUpdateRemark=").append(insertUpdateRemark);
+        sb.append(", materialDirection=").append(materialDirection);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 23 - 0
src/main/java/com/steerinfo/dil/service/IOmstruckOrderMaterialService.java

@@ -0,0 +1,23 @@
+package com.steerinfo.dil.service;
+
+import com.steerinfo.dil.model.OmstruckOrderMaterial;
+
+/**
+ * OmstruckOrderMaterial服务接口:
+ *
+ * @author generator
+ * @version 1.0-SNAPSHORT 2021-09-03 04:55
+ * 类描述
+ * 修订历史:
+ * 日期:2021-09-03
+ * 作者:generator
+ * 参考:
+ * 描述:OmstruckOrderMaterial服务接口
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ * @see null
+ */
+public interface IOmstruckOrderMaterialService {
+
+    //用于远程调用新增订单子表
+    int insertSelective(OmstruckOrderMaterial omstruckOrderMaterial);
+}

+ 139 - 0
src/main/java/com/steerinfo/dil/service/IOmstruckOrderService.java

@@ -0,0 +1,139 @@
+package com.steerinfo.dil.service;
+
+import com.steerinfo.dil.model.OmstruckOrder;
+import com.steerinfo.framework.service.IBaseService;
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * OmstruckOrder服务接口:
+ *
+ * @author generator
+ * @version 1.0-SNAPSHORT 2021-10-15 09:37
+ * 类描述
+ * 修订历史:
+ * 日期:2021-10-15
+ * 作者:generator
+ * 参考:
+ * 描述:OmstruckOrder服务接口
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ * @see null
+ */
+public interface IOmstruckOrderService {
+
+    //用于远程调用新增运输订单
+    int insertSelective(OmstruckOrder omstruckOrder);
+
+    //承运商接收销售公司已审核的销售订单
+    List<Map<String, Object>> selectSaleOrderForCarrier(Map<String, Object> map);
+
+    //查询已接收的焦炭发运计划
+    List<Map<String, Object>> selectCokeDayPlanAndRecived(Map<String, Object> map);
+
+    //查询已接收的水渣发运计划
+    List<Map<String, Object>> selectWaterSlagDayPlanAndRecived(Integer carrierId);
+
+    //查询已下发未接受的销售订单信息
+    List<Map<String, Object>> getOrderUnReceive(BigDecimal orderType);
+
+    //查询已下发已接受的销售订单信息
+    List<Map<String, Object>> getOrderReceived(BigDecimal orderType);
+
+    //查询所有运输订单信息 状态:3
+    //查询所有已经下发的运输订单 用于查询司机车牌 websocket  状态:4
+    List<Map<String, Object>> getAllTruckOrder(Map<String, Object> map);
+
+    //新增运输订单
+    int addPurOrder(Map<String, Object> map);
+
+    //查询所有运力信息
+    List<Map<String, Object>> getAllCapacity(Map<String, Object> map);
+
+    //修改运输订单 和 运输订单子表
+    int updateOrder(Map<String, Object> map);
+
+    //分派运单给司机
+    int dispatchOrder(Map<String, Object> map);
+
+    //下发订单给司机
+    int dispatchOrderForSale(Map<String, Object> map);
+
+    //销售物流:展示已经形成订单的水渣发运计划
+    List<Map<String, Object>> selectWaterSlagForOrder(Map<String, Object> map);
+
+    //销售物流:展示已经形成订单的焦炭发运计划
+    List<Map<String, Object>> selectCokeRailPlanForOrder(Map<String, Object> map);
+
+    //逻辑删除未下发运单
+    int deleteOrder(Map<String, Object> map);
+
+    //司机接单\拒绝
+    int driverReceiveOrRefuse(Map<String, Object> map);
+
+    //查询所有接单或拒绝接单的订单
+    List<Map<String, Object>> getReceiveRefuseOrder(Map<String, Object> map);
+
+    //司机接单调用接口推送数据 接收车牌号
+    List<Map<String, Object>> sendMesToDriver(Map<String, Object> map);
+
+    //通过运单号查询所有信息
+    List<Map<String, Object>> getOrderMesByOrderNum(Map<String, Object> map);
+
+    //查询司机所有已拒绝过的订单
+    List<Map<String, Object>> getReceiveRefuseOrderByCapacityId(Map<String, Object> map);
+
+    // 查询实绩地点和时间
+    List<Map<String, Object>> selectPlaceAndTime(BigDecimal orderId);
+
+    //通过运单Id获取运单相关信息
+    List<Map<String, Object>> getOrderByOrderId(BigDecimal orderId);
+
+    //运输派单
+    List<Map<String, Object>> getTransportDispatch(Map<String, Object> map);
+
+
+    //查找司机排班表信息
+    List<Map<String, Object>> selectCapacityAndDriver(Map<String, Object> map);
+
+    BigDecimal selectCapacityId(BigDecimal carrierId, String capacityNumber);
+
+    //新增运输订单
+    int insert(OmstruckOrder omstruckOrder);
+
+    //通过物资id查询批次表匹配最新的批次,关联最新的采购订单号
+    String selectNewOrderId(BigDecimal materialId);
+
+
+    //查询司机接单信息
+    Map<String, Object> sendMesToDriverApp(Map<String, Object> map);
+
+
+    //销售分派钢材运输订单
+    int dispatchSteelOrder(Map<String, Object> map);
+
+
+    //下发销售订单
+    int IssueSteelOrder(Map<String, Object> map);
+
+
+    //销售模块,查看所有订单
+    List<Map<String, Object>> selectAllOrderForSale(Map<String, Object> map);
+
+    //销售:接收运输订单展示pc端界面
+    List<Map<String, Object>> selectTransportOrderForSale(Map<String, Object> map);
+
+    //根据承运商查找销售订单
+    List<Map<String, Object>> selectSteelSaleForCarrier(Map<String, Object> map);
+
+    //根据销售订单id查找信息
+    List<Map<String, Object>> selectInfoBySaleOrderId(Integer saleOrderId);
+
+    //根据承运商查找发运计划
+    List<Map<String, Object>> selectCokeRailPlan(Map<String, Object> map);
+
+    //根据发运计划查找物资
+    List<Map<String, Object>> selectInfoByDayPlanId(Map<String, Object> map);
+
+}

+ 40 - 0
src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderMaterialServiceImpl.java

@@ -0,0 +1,40 @@
+package com.steerinfo.dil.service.impl;
+
+import com.steerinfo.dil.mapper.OmstruckOrderMaterialMapper;
+import com.steerinfo.dil.model.OmstruckOrderMaterial;
+import com.steerinfo.dil.service.IOmstruckOrderMaterialService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * OmstruckOrderMaterial服务实现:
+ *
+ * @author TXF
+ * @version 1.0-SNAPSHORT 2021-09-03 04:55
+ * 类描述
+ * 修订历史:
+ * 日期:2021-09-03
+ * 作者:generator
+ * 参考:
+ * 描述:OmstruckOrderMaterial服务实现
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ * @see null
+ */
+@Service(value = "omstruckOrderMaterialService")
+public class OmstruckOrderMaterialServiceImpl implements IOmstruckOrderMaterialService {
+
+    @Autowired
+    private OmstruckOrderMaterialMapper omstruckOrderMaterialMapper;
+
+    /**
+     * 远程调用订单子表新增
+     *
+     * @param omstruckOrderMaterial
+     * @return
+     */
+    @Override
+    public int insertSelective(OmstruckOrderMaterial omstruckOrderMaterial) {
+        omstruckOrderMaterialMapper.insertSelective(omstruckOrderMaterial);
+        return 0;
+    }
+}

+ 949 - 0
src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderServiceImpl.java

@@ -0,0 +1,949 @@
+package com.steerinfo.dil.service.impl;
+
+import com.steerinfo.dil.feign.AmsFeign;
+import com.steerinfo.dil.feign.IMFeign;
+import com.steerinfo.dil.feign.TmsTruckFeign;
+import com.steerinfo.dil.mapper.OmstruckOrderMapper;
+import com.steerinfo.dil.mapper.OmstruckOrderMaterialMapper;
+import com.steerinfo.dil.model.AmsSaleOrderMaterial;
+import com.steerinfo.dil.model.OmstruckOrder;
+import com.steerinfo.dil.model.OmstruckOrderMaterial;
+import com.steerinfo.dil.service.IOmstruckOrderService;
+import com.steerinfo.dil.util.DataChange;
+import javafx.scene.paint.Material;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.math.BigDecimal;
+import java.util.*;
+
+/**
+ * OmstruckOrder服务实现:
+ *
+ * @author generator
+ * @version 1.0-SNAPSHORT 2021-10-15 09:37
+ * 类描述
+ * 修订历史:
+ * 日期:2021-10-15
+ * 作者:generator
+ * 参考:
+ * 描述:OmstruckOrder服务实现
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ * @see null
+ */
+@Service(value = "omstruckOrderService")
+public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
+
+    @Autowired
+    private OmstruckOrderMapper omstruckOrderMapper;
+
+
+    @Autowired
+    private OmstruckOrderMaterialMapper omstruckOrderMaterialMapper;
+
+    @Autowired
+    private AmsFeign amsFeign;
+
+    @Autowired
+    private TmsTruckFeign tmsTruckFeign;
+
+    @Autowired
+    private IMFeign imFeign;
+
+
+    /**
+     * 用于远程调用运输订单新增
+     *
+     * @param omstruckOrder
+     * @return
+     */
+    @Override
+    public int insertSelective(OmstruckOrder omstruckOrder) {
+        return omstruckOrderMapper.insertSelective(omstruckOrder);
+    }
+
+    /**
+     * 查询所有运输订单
+     * 获取已下发的运输订单 用于websocket
+     *
+     * @param map
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> getAllTruckOrder(Map<String, Object> map) {
+        return omstruckOrderMapper.getAllTruckOrder(map);
+    }
+
+    /**
+     * 新增运输订单
+     *
+     * @param map
+     * @return
+     */
+    @Override
+    @Transactional
+    public int addPurOrder(Map<String, Object> map) {
+        BigDecimal orderType = DataChange.dataToBigDecimal(map.get("orderType"));
+        int i = 0;
+        switch (orderType.intValue()) {
+            case 1:
+                i = dispatchSteelOrder(map);//新增销售订单
+                break;
+            case 2:
+                i = dispatchSteelOrder(map);//新增水渣发运计划订单
+                break;
+            case 3:
+                i = dispatchSteelOrder(map);//新增焦炭发运计划订单
+                break;
+            case 4:
+                break;
+            case 5:
+            case 6:
+            case 7:
+            case 8:
+                i = addCGPurOrder(map); //新增采购运输订单
+                break;
+            case 9:
+                break;
+            case 10:
+                break;
+            case 11:
+
+        }
+        return i;
+    }
+
+
+    /**
+     * 新增采购运输订单订单
+     *
+     * @param map
+     * @return
+     */
+    @Transactional
+    public int addCGPurOrder(Map<String, Object> map) {
+        //生成运输订单号和主键
+        OmstruckOrder omstruckOrder = generateOmsTruckOrder(map);
+        //设置线路  遗留问题
+        omstruckOrder.setLineId(new BigDecimal(1));
+        Object orderEntryTime = map.get("orderEntryTime");
+        if (orderEntryTime != null) {
+            omstruckOrder.setOrderEntryTime(new Date((long) orderEntryTime)); //新增预计进厂时间
+        }
+        if (map.get("orderMaterialWeight") != null) {
+            amsFeign.updateMaterial(map); //更改运输计划子表 增加已分配重量 减少未分配重量  feign调用ams
+        }
+        //新增运输订单
+        omstruckOrderMapper.insertSelective(omstruckOrder);
+        //更新运力状态为待运输:2
+//        map.put("capacityStatus", 2);
+//        omstruckOrderMapper.updateCapacityByCarIdOrNum(map);
+        //新增运输订单子表
+        addOrderMaterial(map, omstruckOrder.getOrderId());
+        //新增实绩总表关联订单 feign 调用truckTms
+        map.put("orderId", omstruckOrder.getOrderId());
+        tmsTruckFeign.addTotalResult(map);
+        return 1;
+    }
+
+    /**
+     * 生成运输订单实体类
+     */
+    public OmstruckOrder generateOmsTruckOrder(Map<String, Object> map) {
+        BigDecimal orderType = DataChange.dataToBigDecimal(map.get("orderType"));
+        OmstruckOrder omstruckOrder = new OmstruckOrder();
+        //生成订单主键Id
+        BigDecimal maxId = omstruckOrderMapper.selectMaxId();
+        omstruckOrder.setOrderId(maxId);
+        //生成运输订单号
+        int id = maxId.intValue();
+        String orderNumber = DataChange.generateEightDigitsNumber("WYSDD", id);
+        omstruckOrder.setOrderNumber(orderNumber);
+        //运单状态 刚分配默认为未下发
+        omstruckOrder.setOrderStatus(new BigDecimal(3));
+        switch (orderType.intValue()) {
+            case 1:
+                omstruckOrder.setOrderPlanId(DataChange.dataToBigDecimal(map.get("saleOrderMaterialId")));
+                break;
+            case 2:
+                omstruckOrder.setOrderPlanId(DataChange.dataToBigDecimal(map.get("dayPlanId")));
+                break;
+            case 3:
+                omstruckOrder.setOrderPlanId(DataChange.dataToBigDecimal(map.get("dayPlanId")));
+                break;
+            case 4:
+                break;
+            case 5:
+            case 6:
+            case 7:
+            case 8:
+                if (map.get("purchaseOrderId") != null)
+                    omstruckOrder.setOrderPlanId(DataChange.dataToBigDecimal(map.get("purchaseOrderId")));
+                if (map.get("purchaseOrderNo") != null) {
+                    //通过采购订单号查找采购订单ID
+                    BigDecimal purchaseOrderId = omstruckOrderMapper.getPurchaseOrderIdByNo((String) map.get("purchaseOrderNo"));
+                    omstruckOrder.setOrderPlanId(purchaseOrderId);
+                }
+                if (map.get("unloadPointId") != null) // 添加卸货点
+                    omstruckOrder.setUnloadPointId(DataChange.dataToBigDecimal(map.get("unloadPointId")));
+                break;
+            case 9:
+                break;
+            case 10:
+                break;
+            case 11:
+        }
+        //添加订单类型
+        omstruckOrder.setOrderType(orderType);
+        //添加运力Id
+        BigDecimal driverCapacityId = DataChange.dataToBigDecimal(map.get("driverCapacityId"));
+        omstruckOrder.setDriverCapacityId(driverCapacityId);
+        omstruckOrder.setInsertUsername("admin");
+        omstruckOrder.setInsertTime(new Date());
+        return omstruckOrder;
+    }
+
+    /**
+     * 新增订单子表
+     *
+     * @param map
+     * @param
+     */
+    public void addOrderMaterial(Map<String, Object> map, BigDecimal orderId) {
+        BigDecimal orderType = DataChange.dataToBigDecimal(map.get("orderType"));
+        OmstruckOrderMaterial omstruckOrderMaterial = new OmstruckOrderMaterial();
+        switch (orderType.intValue()) {
+            case 1:
+                //获得销售物资id
+                //生成子表主键
+                omstruckOrderMaterial.setOrderMaterialId(omstruckOrderMaterialMapper.selectMaxId());
+                Integer saleOrderMaterialId = (Integer) map.get("saleOrderMaterialId");
+                //通过车序号id查找物资件数和物资重量
+                Map<String, Object> map1 = omstruckOrderMapper.selectTheoreticalWeightAndMaterialNumber(saleOrderMaterialId);
+                BigDecimal materialNumber = (BigDecimal) map1.get("materialNumber");
+                BigDecimal weight = (BigDecimal) map1.get("weight");
+                //设置物资理重和物资件数
+                omstruckOrderMaterial.setOrderMaterialWeight(DataChange.dataToBigDecimal(weight));
+                omstruckOrderMaterial.setOrderMaterialNumber(DataChange.dataToBigDecimal(materialNumber));
+                //通过销售订单车序号id查找物资id
+                List<Map<String, Object>> materialList = omstruckOrderMapper.selectMaterialIdBysaleOrderMaterialId(saleOrderMaterialId);
+                for (int i = 0; i < materialList.size(); i++) {
+                    Map<String, Object> map2 = materialList.get(i);
+                    BigDecimal materialId = (BigDecimal) map2.get("materialId");
+                    omstruckOrderMaterial.setMaterialId(materialId);
+                }
+                //执行新增
+                omstruckOrderMaterialMapper.insertSelective(omstruckOrderMaterial);
+                break;
+            case 2:
+                //获取发运计划id
+                //生成子表主键
+                omstruckOrderMaterial.setOrderMaterialId(omstruckOrderMaterialMapper.selectMaxId());
+                Integer dayPlanId = (Integer) map.get("dayPlanId");
+                //设置订单id
+                omstruckOrderMaterial.setOrderId(orderId);
+                //根据发运计划id查找物资id和物资重量
+                map = omstruckOrderMapper.selectMaterialIdAndWeightByDayPlanId(dayPlanId);
+                BigDecimal materialId = (BigDecimal) map.get("materialId");
+                BigDecimal materialWeight = (BigDecimal) map.get("materialWeight");
+                //设置物资id
+                omstruckOrderMaterial.setMaterialId(DataChange.dataToBigDecimal(materialId));
+                //设置物资重量
+                omstruckOrderMaterial.setOrderMaterialWeight(DataChange.dataToBigDecimal(materialWeight));
+                omstruckOrderMaterialMapper.insertSelective(omstruckOrderMaterial);
+                break;
+            case 3:
+                //获取发运计划id
+                //生成子表主键
+                omstruckOrderMaterial.setOrderMaterialId(omstruckOrderMaterialMapper.selectMaxId());
+                Integer dayPlanId1 = (Integer) map.get("dayPlanId");
+                //设置订单id
+                omstruckOrderMaterial.setOrderId(orderId);
+                //根据发运计划id查找物资id和物资重量
+                map = omstruckOrderMapper.selectMaterialIdAndWeightByDayPlanId(dayPlanId1);
+                BigDecimal materialId1 = (BigDecimal) map.get("materialId");
+                BigDecimal materialWeight1 = (BigDecimal) map.get("materialWeight");
+                //设置物资id
+                omstruckOrderMaterial.setMaterialId(DataChange.dataToBigDecimal(materialId1));
+                //设置物资重量
+                omstruckOrderMaterial.setOrderMaterialWeight(DataChange.dataToBigDecimal(materialWeight1));
+                omstruckOrderMaterialMapper.insertSelective(omstruckOrderMaterial);
+                break;
+            case 4:
+                break;
+            case 5:
+            case 6:
+            case 7:
+            case 8:
+                //生成子表主键
+                omstruckOrderMaterial.setOrderMaterialId(omstruckOrderMaterialMapper.selectMaxId());
+                omstruckOrderMaterial.setMaterialId(DataChange.dataToBigDecimal(map.get("materialId")));
+                omstruckOrderMaterial.setOrderId(orderId);
+                Object orderMaterialWeight = map.get("orderMaterialWeight"); // 采购辅料没有物资重量
+                if (orderMaterialWeight != null) {
+                    omstruckOrderMaterial.setOrderMaterialWeight(DataChange.dataToBigDecimal(orderMaterialWeight));
+                }
+                omstruckOrderMaterial.setInsertUsername("admin");
+                omstruckOrderMaterial.setInsertTime(new Date());
+                omstruckOrderMaterialMapper.insertSelective(omstruckOrderMaterial);
+                break;
+            case 9:
+                break;
+            case 10:
+                break;
+            case 11:
+        }
+    }
+
+
+    /**
+     * 修改运输订单 和订单子表
+     *
+     * @param map
+     * @return
+     */
+    @Override
+    @Transactional
+    public int updateOrder(Map<String, Object> map) {
+        //修改运输订单运力ID
+        OmstruckOrder omstruckOrder = new OmstruckOrder();
+        BigDecimal orderId = DataChange.dataToBigDecimal(map.get("orderId"));
+        omstruckOrder.setOrderId(orderId);
+        if (map.get("unloadPointId") != null) {
+            omstruckOrder.setUnloadPointId(DataChange.dataToBigDecimal(map.get("unloadPointId")));
+        }
+        if (map.get("capacityId") != null) {
+            omstruckOrder.setCapacityId(DataChange.dataToBigDecimal(map.get("capacityId")));
+        }
+        if (map.get("orderEntryTime") != null) {
+            omstruckOrder.setOrderEntryTime(new Date((long) map.get("orderEntryTime")));
+            omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
+        }
+        Integer orderType = (Integer) map.get("orderType");
+        switch (orderType) {
+            case 1:
+                break;
+            case 2:
+                break;
+            case 3:
+                break;
+            case 4:
+                break;
+            case 5:
+            case 6:
+            case 7:
+            case 8:
+                //修改运输订单子表物资重量
+                OmstruckOrderMaterial omstruckOrderMaterial = new OmstruckOrderMaterial();
+                //添加子表主键 通过订单ID查询出子表主键
+                BigDecimal orderMaterialId = omstruckOrderMaterialMapper.getOrderMaterialIdByOrderId(DataChange.dataToBigDecimal(map.get("orderId")));
+                omstruckOrderMaterial.setOrderMaterialId(orderMaterialId);
+                if (map.get("orderMaterialWeight") != null) {
+                    omstruckOrderMaterial.setOrderMaterialWeight(DataChange.dataToBigDecimal(map.get("orderMaterialWeight")));
+                    //修改运输计划子表 已分配未分配重量
+                    amsFeign.updateMaterial(map);
+                }
+                if (map.get("materialId") != null) {
+                    omstruckOrderMaterial.setMaterialId(DataChange.dataToBigDecimal(map.get("materialId")));
+                }
+                omstruckOrderMaterialMapper.updateByPrimaryKeySelective(omstruckOrderMaterial);
+                break;
+            case 9:
+                break;
+            case 10:
+                break;
+            case 11:
+        }
+        return 1;
+    }
+
+    /**
+     * 逻辑删除未下发订单
+     *
+     * @param map
+     * @return
+     */
+    @Override
+    @Transactional
+    public int deleteOrder(Map<String, Object> map) {
+        OmstruckOrder omstruckOrder = new OmstruckOrder();
+        omstruckOrder.setOrderId(DataChange.dataToBigDecimal(map.get("orderId")));
+        //设置状态为逻辑删除:7
+        omstruckOrder.setOrderStatus(new BigDecimal(7));
+        int i = omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
+        //若是传来物资重量则修改已分配未分配重量
+        if (map.get("orderMaterialWeight") != null) {
+            amsFeign.updateMaterial(map); //feign调用
+        }
+//        //通过车牌号修改运输状态为空闲中 0
+//        String capacityNumber = (String) map.get("capacityNumber");
+//        HashMap<String, Object> changeStatusMap = new HashMap<>();
+//        changeStatusMap.put("capacityNumber", capacityNumber);
+//        changeStatusMap.put("capacityStatus", 0);
+//        int i1 = omstruckOrderMapper.updateCapacityByCarIdOrNum(changeStatusMap);
+        return i;
+    }
+
+    /**
+     * 运单派发
+     * 运单ID
+     *
+     * @param map
+     * @return
+     */
+    @Override
+    @Transactional
+    public int dispatchOrder(Map<String, Object> map) {
+        OmstruckOrder omstruckOrder = new OmstruckOrder();
+        omstruckOrder.setOrderId(DataChange.dataToBigDecimal(map.get("orderId")));
+        //设置状态为已下发:4
+        //生成订单下发时间 修改订单表
+        //添加卸货点ID
+        if (map.get("unloadPointId") != null) {
+            omstruckOrder.setUnloadPointId(DataChange.dataToBigDecimal(map.get("unloadPointId")));
+        }
+        omstruckOrder.setOrderIssueTime(new Date());
+        omstruckOrder.setOrderStatus(new BigDecimal(4));
+        pushMesToWebsocket(map); //下发 推送数据给 websocket
+        return omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
+    }
+
+    /**
+     * 发送消息到 websocket 推送消息
+     * orderId  订单Id  (unloadPointId)卸货点Id
+     *
+     * @return
+     */
+    public void pushMesToWebsocket(Map<String, Object> map) {
+        Map<String, Object> mesMap = omstruckOrderMapper.pushMesToWebsocket(map);
+        HashMap<String, Object> sendMap = new HashMap<>();
+        sendMap.put("messageType", 2);
+        sendMap.put("receivePerson", mesMap.get("capacityNumber"));
+        sendMap.put("sendPerson", "system");
+        sendMap.put("messageContent", mesMap);
+        //调用websocket接口推送
+        String s = imFeign.sendToUser(sendMap);
+        System.out.println(s);
+    }
+
+    /**
+     * 销售物流,下发订单
+     *
+     * @param map
+     * @return
+     */
+    @Override
+    public int dispatchOrderForSale(Map<String, Object> map) {
+        OmstruckOrder omstruckOrder = new OmstruckOrder();
+        Integer orderId = (Integer) map.get("orderId");
+        Integer orderType = (Integer) map.get("orderType");
+        omstruckOrder.setOrderId(DataChange.dataToBigDecimal(orderId));
+        if (orderType == 2 || orderType == 3) {
+            Integer loadId = (Integer) map.get("LoadId");
+            if (loadId != null) {
+                //根据运输订单id查找装车实绩id
+                omstruckOrder.setUnloadPointId(DataChange.dataToBigDecimal(loadId));
+
+            }
+        }
+        //设置下发状态
+        omstruckOrder.setOrderIssueTime(new Date());
+        omstruckOrder.setOrderStatus(new BigDecimal(4));
+//        pushMesToWebsocket(map); //下发 推送数据给 websocket
+        return omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
+    }
+
+    @Override
+    public List<Map<String, Object>> selectWaterSlagForOrder(Map<String, Object> map) {
+        return omstruckOrderMapper.selectWaterSlagForOrder(map);
+    }
+
+    @Override
+    public List<Map<String, Object>> selectCokeRailPlanForOrder(Map<String, Object> map) {
+        return omstruckOrderMapper.selectCokeRailPlanForOrder(map);
+    }
+
+    /**
+     * 司机接单、拒绝 0:拒绝   1:接收
+     * 需要接收参数 主键Id 与 接收拒绝操作码
+     *
+     * @param map
+     * @return
+     */
+    @Override
+    public int driverReceiveOrRefuse(Map<String, Object> map) {
+        OmstruckOrder omstruckOrder = new OmstruckOrder();
+        if ((Integer) map.get("orderReceiveStatus") == 1) {
+            omstruckOrder.setOrderReceiveStatus(new BigDecimal(1));
+            omstruckOrder.setOrderStatus(new BigDecimal(5)); //5 :已接收
+            //添加实绩
+            addSomeResult(DataChange.dataToBigDecimal(map.get("orderId")).intValue());
+        } else { //其他状态都视为 拒绝接单
+            omstruckOrder.setOrderReceiveStatus(new BigDecimal(0));
+            omstruckOrder.setOrderStatus(new BigDecimal(6));
+//            //将司机运力置为空闲 通过运输订单Id 查询运力ID
+//            BigDecimal capacityId = omstruckOrderMapper.getCapacityIdByOrderOrNum(map);
+//            map.put("capacityId", capacityId);
+//            map.put("capacityStatus", 0);
+//            omstruckOrderMapper.updateCapacityByCarIdOrNum(map);
+        }
+        BigDecimal orderId = DataChange.dataToBigDecimal(map.get("orderId"));
+        omstruckOrder.setOrderId(orderId);
+        //生成接收/拒绝时间
+        Date receiveTime = new Date();
+        omstruckOrder.setOrderReceiveRefuseTime(receiveTime);
+        //计算司机从派单到操作时长
+        Date issueTime = omstruckOrderMapper.getInsertTimeById(orderId.intValue());
+        long time = receiveTime.getTime() - issueTime.getTime();
+        long min = time / (1000 * 60);
+        omstruckOrder.setOrderCommunicationDuration(new BigDecimal(min));
+        return omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
+    }
+
+    /**
+     * 司机接收订单自动生成实绩
+     *
+     * @param orderId
+     */
+    public void addSomeResult(Integer orderId) {
+        //通过运输订单ID 总实绩ID
+        Map<String, Object> numMap = new HashMap<>();
+        numMap.put("orderId", orderId);
+        Map<String, Object> map = omstruckOrderMapper.getResultTotalIdByOrderNumAndId(numMap);
+        //通过运输订单ID查询运输订单子表有几种物资 :物资ID
+        List<Integer> materialIdList = omstruckOrderMapper.getMaterialIdListByOrderId(orderId);
+        //生成进厂实绩
+        tmsTruckFeign.addEnFactoryResult(map);
+        //生成出厂实绩
+        tmsTruckFeign.addLeaveFactory(map);
+        BigDecimal orderType = DataChange.dataToBigDecimal(map.get("orderType"));
+        switch (orderType.intValue()) {
+            case 1:
+                //如果有多种物资 就添加多条装车实绩和计量实绩
+                for (Integer materialId : materialIdList) {
+                    map.put("materialId", materialId);
+                    tmsTruckFeign.addWeightResult(map);
+                    tmsTruckFeign.addLoadResult(map);
+                }
+                break;
+            case 2:
+            case 3:
+                map.put("materialId", materialIdList.get(0)); //只会存在一种物资
+                tmsTruckFeign.addWeightResult(map);
+                tmsTruckFeign.addLoadResult(map);
+                break;
+            case 4:
+                break;
+            case 5:
+            case 6:
+            case 7:
+            case 8:
+                map.put("materialId", materialIdList.get(0)); //只会存在一种物资
+                map.put("isdeduct", 1);
+                tmsTruckFeign.addWeightResult(map);
+                tmsTruckFeign.addUnloadResult(map);    //feign调用
+                break;
+            case 9:
+                break;
+            case 10:
+                break;
+            case 11:
+        }
+    }
+
+    //根据承运商获取销售订单
+    @Override
+    public List<Map<String, Object>> selectSaleOrderForCarrier(Map<String, Object> map) {
+        Integer carrierId = (Integer) map.get("carrierId");
+        List<Map<String, Object>> maps = omstruckOrderMapper.selectSaleMaterialIdByCarrierId(carrierId);
+        List<Map<String, Object>> list = null;
+        for (Map<String, Object> map1 : maps) {
+            BigDecimal saleOrderMaterialId = (BigDecimal) map1.get("saleOrderMaterialId");
+            list = omstruckOrderMapper.selectSaleBySaleOrderMaterialId(saleOrderMaterialId.intValue());
+        }
+        return list;
+    }
+
+    /**
+     * 查询已接收的焦炭发运计划
+     *
+     * @param
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> selectCokeDayPlanAndRecived(Map<String, Object> map) {
+        return omstruckOrderMapper.selectCokeDayPlanAndRecived(map);
+    }
+
+    /**
+     * 查询已接收的水渣发运计划
+     *
+     * @param
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> selectWaterSlagDayPlanAndRecived(Integer carrierId) {
+        return omstruckOrderMapper.selectWaterSlagDayPlanAndRecived(carrierId);
+    }
+
+    /**
+     * 司机接单推送数据
+     * 车牌号
+     *
+     * @param
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> sendMesToDriver(Map<String, Object> map) {
+        //通过车牌号匹配运力ID
+        BigDecimal capacityId = omstruckOrderMapper.getCapacityIdByCapacityNum((String) map.get("capacityNumber"));
+        map.put("capacityId", capacityId);
+        if (capacityId == null) {
+            return null;
+        }
+        //通过运力Id匹配 已下发的运输订单
+        List<Map<String, Object>> truckOrderByCapacityNum;
+        if ((Integer) map.get("orderType") == 1 || (Integer) map.get("orderType") == 2) {
+            truckOrderByCapacityNum = omstruckOrderMapper.getSaleTruckOrderByCapacityNum(map);
+        } else {
+            truckOrderByCapacityNum = omstruckOrderMapper.getTruckOrderByCapacityNum(map);
+        }
+        return truckOrderByCapacityNum;
+    }
+
+    /**
+     * 得到作业时间和地点
+     *
+     * @param orderId
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> selectPlaceAndTime(BigDecimal orderId) {
+        List<Map<String, Object>> mapList = omstruckOrderMapper.selectPlaceAndTime(orderId);
+        Map<String, Object> map = mapList.get(0);
+        String entryGatepost = (String) map.get("entryGatepost");
+        Date entryTime = (Date) map.get("entryTime");
+        String entryResult = entryGatepost + "/" + entryTime;
+        String grossCalculate = (String) map.get("grossCalculate");
+        Date grossTime = (Date) map.get("grossTime");
+        String grossResult = grossCalculate + "/" + grossTime;
+        String unloadWarhouse = (String) map.get("unloadWarhouse");
+        Date unloadTime = (Date) map.get("unloadTime");
+        String unloadResult = unloadWarhouse + "/" + unloadTime;
+        String tareCalculate = (String) map.get("tareCalculate");
+        Date tareTime = (Date) map.get("tareTime");
+        String tareResult = tareCalculate + "/" + tareTime;
+        String leaveGatepost = (String) map.get("leaveGatepost");
+        Date outTime = (Date) map.get("outTime");
+        String leaveResult = leaveGatepost + "/" + outTime;
+        String receiptWarhouse = (String) map.get("receiptWarhouse");
+        Date receiptTime = (Date) map.get("receiptTime");
+        String receiptResult = receiptWarhouse + "/" + receiptTime;
+        List<Map<String, Object>> resultList = new ArrayList<>();
+        Map<String, Object> map1 = new HashMap<>();
+        map1.put("title", "进厂门岗/时间");
+        map1.put("desc", entryResult);
+        resultList.add(map1);
+        Map<String, Object> map2 = new HashMap<>();
+        map2.put("title", "毛重衡器/时间");
+        map2.put("desc", grossResult);
+        resultList.add(map2);
+        Map<String, Object> map3 = new HashMap<>();
+        map3.put("title", "卸货地点/时间");
+        map3.put("desc", unloadResult);
+        resultList.add(map3);
+        Map<String, Object> map4 = new HashMap<>();
+        map4.put("title", "皮重衡器/时间");
+        map4.put("desc", tareResult);
+        resultList.add(map4);
+        Map<String, Object> map5 = new HashMap<>();
+        map5.put("title", "出厂门岗/时间");
+        map5.put("desc", leaveResult);
+        resultList.add(map5);
+        if ((Integer) map.get("orderType") == 1) {
+            Map<String, Object> map6 = new HashMap<>();
+            map5.put("title", "异地库/时间");
+            map5.put("desc", receiptResult);
+            resultList.add(map6);
+        }
+        Map<String, Object> map7 = new HashMap<>();
+        BigDecimal orderLineSequence = (BigDecimal) map.get("orderLineSequence");
+        map7.put("orderLineSequence", orderLineSequence);
+        resultList.add(map7);
+        return resultList;
+    }
+
+    /**
+     * 查询已下发未接受的销售订单信息
+     *
+     * @param orderType
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> getOrderUnReceive(BigDecimal orderType) {
+        return omstruckOrderMapper.getOrderUnReceive(orderType);
+    }
+
+    /**
+     * 查询已下发已接受的销售订单信息
+     *
+     * @param orderType
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> getOrderReceived(BigDecimal orderType) {
+        return omstruckOrderMapper.getOrderReceived(orderType);
+    }
+
+    /**
+     * 分派钢材销售订单
+     *
+     * @param map
+     * @return
+     */
+    @Override
+    public int dispatchSteelOrder(Map<String, Object> map) {
+        //新增运单(销售钢材订单)
+        //生成运输订单号和主键以及绑定运力
+        OmstruckOrder omstruckOrder = generateOmsTruckOrder(map);
+        //设置线路  遗留问题,设置为进门门岗
+        omstruckOrder.setLineId(new BigDecimal(1));
+        //新增运输订单
+        omstruckOrderMapper.insertSelective(omstruckOrder);
+        //更新运力状态为待运输:2
+        map.put("capacityStatus", 2);
+        omstruckOrderMapper.updateCapacityById(map);
+        //新增运输订单子表
+        addOrderMaterial(map, omstruckOrder.getOrderId());
+        //新增实绩总表关联订单 feign调用
+        map.put("orderId", omstruckOrder.getOrderId());
+        tmsTruckFeign.addTotalResult(map);
+        return 6;
+    }
+
+
+    //设置销售订单下发状态
+    @Override
+    public int IssueSteelOrder(Map<String, Object> map) {
+        //设置下发状态
+        OmstruckOrder omstruckOrder = new OmstruckOrder();
+        Integer orderId = (Integer) map.get("orderId");
+        omstruckOrder.setOrderId(DataChange.dataToBigDecimal(orderId));
+        omstruckOrder.setOrderIssueTime(new Date());
+        //设置下发状态值:4
+        omstruckOrder.setOrderStatus(new BigDecimal(4));
+        return 2;
+    }
+
+    //销售模块查看所有订单
+    @Override
+    public List<Map<String, Object>> selectAllOrderForSale(Map<String, Object> map) {
+        //map获取承运商
+        Integer carrierId = (Integer) map.get("carrierId");
+        Integer saleOrderMaterialId = (Integer) map.get("saleOrderMaterialId");
+        List<Map<String, Object>> maps = omstruckOrderMapper.selectSaleMaterialIdByCarrierId(carrierId);
+        //根据车序号查找运输订单
+        List<Map<String, Object>> mapList = null;
+        List<Map<String, Object>> maps1 = new ArrayList<>();
+        //判断获取的车序号是否属于承运商
+        for (Map<String, Object> map1 : maps) {
+            BigDecimal compareNum = DataChange.dataToBigDecimal(map1.get("saleOrderMaterialId"));
+            if (compareNum.intValue() == saleOrderMaterialId) {
+                mapList = omstruckOrderMapper.selectAllOrderForSale(map);
+                for (int i = 0; i < mapList.size(); i++) {
+                    Map<String, Object> map2 = mapList.get(i);
+                    if (map2.get("orderId") == null) {
+                        return maps1;
+                    }
+
+                }
+
+                return mapList;
+            }
+        }
+        return maps1;
+
+    }
+
+    @Override
+    public List<Map<String, Object>> selectTransportOrderForSale(Map<String, Object> map) {
+        return omstruckOrderMapper.selectTransportOrderForSale(map);
+    }
+
+    @Override
+    public List<Map<String, Object>> selectSteelSaleForCarrier(Map<String, Object> map) {
+        return omstruckOrderMapper.selectSteelSaleForCarrier(map);
+    }
+
+    //根据销售订单id查找信息
+    @Override
+    public List<Map<String, Object>> selectInfoBySaleOrderId(Integer saleOrderId) {
+        return omstruckOrderMapper.selectInfoBySaleOrderId(saleOrderId);
+    }
+
+    @Override
+    public List<Map<String, Object>> selectCokeRailPlan(Map<String, Object> map) {
+        return omstruckOrderMapper.selectCokeRailPlan(map);
+    }
+
+    @Override
+    public List<Map<String, Object>> selectInfoByDayPlanId(Map<String, Object> map) {
+        return omstruckOrderMapper.selectInfoByDayPlanId(map);
+    }
+
+
+    /**
+     * 查找司机排班表信息
+     *
+     * @param map
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> selectCapacityAndDriver(Map<String, Object> map) {
+        return omstruckOrderMapper.selectCapacityAndDriver(map);
+    }
+
+
+    /**
+     * 查询所有运力信息
+     *
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> getAllCapacity(Map<String, Object> map) {
+        return omstruckOrderMapper.getAllCapacity(map);
+    }
+
+
+    /**
+     * 用于后台展示司机接单未接单数据
+     *
+     * @param map
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> getReceiveRefuseOrder(Map<String, Object> map) {
+        return omstruckOrderMapper.getTruckOrderByCapacityNum(map);
+    }
+
+
+    /**
+     * 通过运输订单号查询运单所有信息 包含作业路径名称
+     *
+     * @param map 传运输订单号
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> getOrderMesByOrderNum(Map<String, Object> map) {
+        return omstruckOrderMapper.getTruckOrderByCapacityNum(map);
+    }
+
+    /**
+     * 查询所有司机已拒绝的订单
+     * 车牌号
+     *
+     * @param map
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> getReceiveRefuseOrderByCapacityId(Map<String, Object> map) {
+        //通过车牌号查询运力Id
+        BigDecimal capacityId = omstruckOrderMapper.getCapacityIdByCapacityNum((String) map.get("capacityNumber"));
+        map.put("capacityId", capacityId);
+        return omstruckOrderMapper.getReceiveRefuseOrderByCapacityId(map);
+    }
+
+
+    /**
+     * 通过运单号查询订单详情
+     * 运输订单号
+     *
+     * @param
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> getOrderByOrderId(BigDecimal orderId) {
+        return omstruckOrderMapper.getOrderByOrderId(orderId);
+    }
+
+    /**
+     * 查看运输派单
+     *
+     * @param map
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> getTransportDispatch(Map<String, Object> map) {
+        return omstruckOrderMapper.getTransportDispatch(map);
+    }
+
+    /**
+     * 用于更新路段顺序号
+     *
+     * @param map orderId
+     * @return
+     */
+    public int updateOrderLineSequence(Map<String, Object> map, Integer lineSequence) {
+        OmstruckOrder omstruckOrder = new OmstruckOrder();
+        omstruckOrder.setOrderId(DataChange.dataToBigDecimal(map.get("orderId")));
+        omstruckOrder.setOrderLineSequence(new BigDecimal(lineSequence));
+        return omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
+    }
+
+    //新增内转运输订单
+    @Override
+    public int insert(OmstruckOrder omstruckOrder) {
+        //生成订单主键Id
+        BigDecimal maxId = omstruckOrderMapper.selectMaxId();
+        omstruckOrder.setOrderId(maxId);
+        //生成运输订单号
+        int id = maxId.intValue();
+        String orderNumber = DataChange.generateEightDigitsNumber("WYSDD", id);
+        omstruckOrder.setOrderNumber(orderNumber);
+        //设置状态为未下发
+        omstruckOrder.setOrderStatus(new BigDecimal(3));
+        //设置运输订单的类型
+        omstruckOrder.setOrderType(new BigDecimal(11));
+        omstruckOrder.setInsertTime(new Date());
+        omstruckOrder.setInsertUsername("admin");
+        return omstruckOrderMapper.insertSelective(omstruckOrder);
+    }
+
+
+    //通过物资id查询批次表匹配最新的批次,关联最新的采购订单号
+    @Override
+    public String selectNewOrderId(BigDecimal materialId) {
+        return omstruckOrderMapper.selectNewOrderId(materialId);
+    }
+
+    //app司机接单查询数据
+    @Override
+    public Map<String, Object> sendMesToDriverApp(Map<String, Object> map) {
+        //通过车牌号匹配运力ID
+        BigDecimal capacityId = omstruckOrderMapper.getCapacityIdByCapacityNum((String) map.get("capacityNumber"));
+        map.put("capacityId", capacityId);
+        if (capacityId == null) {
+            return null;
+        }
+        //通过运力Id匹配 已下发的运输订单
+        Map<String, Object> truckOrderByCapacityNum = new HashMap<>();
+        if ((Integer) map.get("orderType") == 1 || (Integer) map.get("orderType") == 2) {
+            //查询主干信息
+            Map<String, Object> map1 = omstruckOrderMapper.getSaleTruckOrderByCapacityId(map);
+            //查询物资信息
+            List<Map<String, Object>> mapList = omstruckOrderMapper.getSaleTruckOrderByCapacityNumMaterial(map);
+            truckOrderByCapacityNum.put("orderf", map1);
+            truckOrderByCapacityNum.put("materialList", mapList);
+        }
+        return truckOrderByCapacityNum;
+
+    }
+
+
+    @Override
+    public BigDecimal selectCapacityId(BigDecimal carrierId, String capacityNumber) {
+        return omstruckOrderMapper.selectCapacityId(carrierId, capacityNumber);
+    }
+
+}

+ 70 - 0
src/main/java/com/steerinfo/dil/util/BaseRESTfulController.java

@@ -0,0 +1,70 @@
+package com.steerinfo.dil.util;
+
+import com.steerinfo.framework.controller.BaseController;
+import com.steerinfo.framework.controller.RESTfulResult;
+
+/**
+ * @Author zhangnan
+ * @Date 2021/7/8 11:33
+ * @Version 1.0
+ */
+public class BaseRESTfulController extends BaseController {
+    public BaseRESTfulController() {
+    }
+
+    protected RESTfulResult success() {
+        RESTfulResult result = new RESTfulResult();
+        result.setSucceed();
+        result.setMessage(result.getResultMessage());
+        result.setData(true);
+        result.setCode("200");
+        return result;
+    }
+
+    protected RESTfulResult success(Object obj) {
+        RESTfulResult result = new RESTfulResult();
+        result.setSucceed();
+        result.setMessage(result.getResultMessage());
+        result.setData(obj);
+        result.setCode("200");
+        return result;
+    }
+
+    protected RESTfulResult success(Object obj, String msg) {
+        RESTfulResult result = this.success(obj);
+        result.setMessage(msg);
+        result.setCode("200");
+        return result;
+    }
+
+    protected RESTfulResult success(Object obj, String code, String msg) {
+        RESTfulResult result = this.success(obj, msg);
+        result.setCode(code);
+        result.setCode("200");
+        return result;
+    }
+
+    protected RESTfulResult failed() {
+        return this.failed((Object)null);
+    }
+
+    protected RESTfulResult failed(Object obj) {
+        RESTfulResult result = new RESTfulResult("201", (String)null);
+        result.setMessage(result.getResultMessage());
+        result.setData(obj);
+        return result;
+    }
+
+    protected RESTfulResult failed(Object obj, String msg) {
+        RESTfulResult result = new RESTfulResult("201", msg);
+        result.setData(obj);
+        return result;
+    }
+
+    protected RESTfulResult failed(Object obj, String code, String msg) {
+        RESTfulResult result = this.failed(obj, msg);
+        result = new RESTfulResult("201", msg);
+        result.setCode(code);
+        return result;
+    }
+}

+ 38 - 0
src/main/java/com/steerinfo/dil/util/ColumnDataUtil.java

@@ -0,0 +1,38 @@
+package com.steerinfo.dil.util;
+
+import com.steerinfo.dil.feign.ColumnDataFeign;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.*;
+
+@Component
+public class ColumnDataUtil {
+    @Autowired
+    ColumnDataFeign columnDataFeign;
+
+    private Set<Map<String, Object>> setListMap(List<Map<String, Object>> list, String name) {
+        Set<Map<String, Object>> setString = new HashSet<>();
+        for (Map<String, Object> map : list) {//遍历每条数据
+            Map<String, Object> map1 = new HashMap<>();
+            //map.get(name)获取每条数据中对应表头字段的数据
+            map1.put("text", map.get(name));
+            if (map.get(name) != null) {
+                map1.put("value", map.get(name));
+                setString.add(map1);
+            }
+        }
+        return setString;
+    }
+
+    public PageListAdd tableColumnData(Integer apiId, List<Map<String, Object>> list,List<Map<String,Object>> data) {
+        List<Map<String, Object>> columnDataList = columnDataFeign.getColumnData(apiId);
+        for (Map<String, Object> columnData : columnDataList) {
+            //每个表头字段的过滤条件
+            columnData.put("filters", setListMap(list, columnData.get("prop").toString()));
+        }
+        PageListAdd pageList = new PageListAdd(data);
+        pageList.setColumnData(columnDataList);
+        return pageList;
+    }
+}

+ 159 - 0
src/main/java/com/steerinfo/dil/util/DataChange.java

@@ -0,0 +1,159 @@
+package com.steerinfo.dil.util;
+
+import java.math.BigDecimal;
+import java.text.DecimalFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ author    :TXF
+ * @ time      :2021/8/25 11:25
+ */
+
+public class DataChange {
+
+
+    /**
+     * 解析前端传来的日期字符串
+     * @param vueDate
+     * @return
+     */
+    public static Date dataToDate(Object vueDate){
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        Date parseDate = null;
+        if (vueDate != null){
+            try {
+                String date = (String) vueDate;
+                parseDate = sdf.parse(date);
+            } catch (ParseException e) {
+                e.printStackTrace();
+            }
+        }
+        return parseDate;
+    }
+
+    /**
+     * 数据转换成BigDecimal
+     * @param data
+     * @return
+     */
+    public static BigDecimal
+    dataToBigDecimal(Object data){
+        if (data != null){
+            if(data instanceof String){
+                String data1 = (String) data;
+                return new BigDecimal(data1);
+            }
+            if(data instanceof Integer){
+                Integer data2 = (Integer) data;
+                return new BigDecimal(data2);
+            }
+            if(data instanceof Double){
+                Double data3 = (Double) data;
+                return new BigDecimal(data3);
+            }
+            if(data instanceof BigDecimal){
+                return (BigDecimal) data;
+            }
+        }
+        return new BigDecimal(0);
+    }
+
+    /**
+     * 将时间截取到天  为字符串类型 用于前端只显示到天
+     * @param date 传入时间
+     * @return
+     */
+    public static String dateToDayDate(Object date){
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        Date changeDate = null;
+        if(date == null)
+            return null;
+        try{
+             changeDate = (Date) date;
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+        return sdf.format(changeDate);
+    }
+
+    /**
+     * 遍历从数据库中传进来的数据
+     * @param list 从数据库查询出来的list数据列表
+     * @param key map中多个需要转换的date参数
+     */
+    public static void changeDateToDayDate(List<Map<String, Object>> list, String ...key){
+        //遍历List
+        for (Map<String, Object> map : list) {
+            for (String s : key) {
+                //从map中取 date的值 并转换成字符串类型的日期
+                String stringDate = dateToDayDate(map.get(s));
+                map.put(s, stringDate);
+            }
+        }
+    }
+
+    /**
+     * 遍历列表使只显示两位小数
+     * @param list
+     * @param key
+     */
+    public static void dataTo2Number(List<Map<String, Object>> list, String ...key){
+        //遍历List
+        for (Map<String, Object> map : list) {
+            for (String s : key) {
+                //修改数据为带两位小数
+                BigDecimal oldDate = (BigDecimal) map.get(s);
+                DecimalFormat df =  new DecimalFormat("0.00");
+                String resultDeduction = df.format(oldDate.doubleValue());
+                map.put(s, resultDeduction);
+            }
+        }
+    }
+
+    /**
+     * 计算相差时间  日时分秒
+     * @param
+     * @return
+     */
+    public static String calculatedTimeDifference(Date time1, Date time2){
+        long t1 = time1.getTime();
+        long t2 = time2.getTime();
+        if(t1 > t2){
+            long temp = t1;
+            t1 = t2;
+            t2 = temp;
+        }
+        long between = t2 - t1;
+        long day = between / (24 * 60 * 60 * 1000);
+        long hour = (between / (60 * 60 * 1000) - day * 24);
+        long min = ((between / (60 * 1000)) - day * 24 * 60 - hour * 60);
+        long s = (between / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60);
+        return day + "天"+  + hour+ "时" + min + "分"  + s + "秒";
+    }
+
+    /**
+     * 生成带时间的八位数顺序号
+     * @param start 前缀
+     * @param id 顺序号  主键Id
+     * @return
+     */
+    public static String generateEightDigitsNumber(String start, Integer id){
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+        StringBuilder sb = new StringBuilder(start + sdf.format(new Date()));
+        sb.append(
+                id < 10
+                        ? "0000000" + id : id < 100
+                        ? "000000" + id : id < 1000
+                        ? "00000" + id : id < 10000
+                        ? "0000" + id : id < 100000
+                        ? "000" + id : id < 1000000
+                        ? "00" + id : id < 10000000
+                        ? "0" + id : id
+        );
+        return sb.toString();
+    }
+}

+ 33 - 0
src/main/java/com/steerinfo/dil/util/PageListAdd.java

@@ -0,0 +1,33 @@
+package com.steerinfo.dil.util;
+
+import com.steerinfo.framework.service.pagehelper.PageList;
+
+import java.util.List;
+
+/**
+ * @Author zhangnan
+ * @Date 2021/6/7 14:31
+ * @Version 1.0
+ */
+public class PageListAdd<T> extends PageList<T> {
+    public PageListAdd() {
+    }
+
+    public PageListAdd(List<T> list) {
+        super(list, 20);
+    }
+
+    public PageListAdd(List<T> list, int navigatePages) {
+        super(list, navigatePages);
+    }
+
+    private Object columnData;
+
+    public Object getColumnData() {
+        return columnData;
+    }
+
+    public void setColumnData(Object columnData) {
+        this.columnData = columnData;
+    }
+}

+ 11 - 0
src/main/java/com/steerinfo/dil/util/util.java

@@ -0,0 +1,11 @@
+package com.steerinfo.dil.util;
+
+/**
+ * @Author zhangnan
+ * @Date 2021/5/26 8:59
+ * @Version 1.0
+ * 工具类
+ */
+public class util {
+
+}

+ 9 - 0
src/main/resources/application-dev.yml

@@ -0,0 +1,9 @@
+spring:
+  datasource:
+    url: jdbc:oracle:thin:@172.16.33.163:1521:ilsdbpri
+    password: Dil123789
+    username: dil
+    driver-class-name: oracle.jdbc.OracleDriver
+  application:
+    name: DAL-OMS-API-DEV
+

+ 8 - 0
src/main/resources/application-prod.yml

@@ -0,0 +1,8 @@
+spring:
+  datasource:
+    url: jdbc:oracle:thin:@172.16.33.163:1521:ilsdbpri
+    password: Dil123789
+    username: dil
+    driver-class-name: oracle.jdbc.OracleDriver
+  application:
+    name: DAL-OMS-API-PROD

+ 0 - 0
src/main/resources/application.yml


+ 63 - 0
src/main/resources/bootstrap.yml

@@ -0,0 +1,63 @@
+api.version: api/v1/oms
+spring:
+  profiles:
+    include: ${SPRING_PROFILES:dev}
+  jackson:
+    date-format: yyyy-MM-dd HH:mm:ss
+    time-zone: GMT+8
+  #    serialization: {WRITE_DATES_AS_TIMESTAMPS: true}
+  messages:
+    basename: message
+    encoding: UTF-8
+  mvc:
+    static-path-pattern:
+
+#eureka设置
+eureka:
+  client:
+    service-url:
+      defaultZone: http://root:root@${EUREKA_HOST:172.16.33.161}:${EUREKA_PORT:8061}/eureka/
+  instance:
+    prefer-ip-address: true
+    status-page-url: http://${spring.cloud.client.ip-address}:${server.port}/swagger-ui.html#/
+    instance-id: ${spring.cloud.client.ip-address}:${server.port}
+
+genxml:
+  pth: com/a
+cache:
+  level: 2
+redis:
+  host: 10.10.50.28
+  port: 6379
+  pwd: 123456
+  project:
+    prefix: sysmanage
+  pool:
+    maxTotal: 8
+    maxWaitMillis: 1000
+    maxIdle: 8
+  cache:
+    time: 864000000
+  database: 0
+
+#feign设置
+openfeign:
+  ColumnDataFeign:
+    url: ${COLUMNDATAFEIGN_URL:172.16.33.161:8083}
+  TmsTruckFeign:
+    url: ${TMSTRUCKFEIGN_URL:172.16.33.161:8088}
+  AmsFeign:
+    url: ${AMSFEIGN_URL:172.16.33.161:8079}
+  Im:
+    url: ${AMSFEIGN_URL:localhost:8888}
+
+mybatis:
+  type-aliases-package: com.steerinfo.dil.model
+  mapper-locations: classpath:com/steerinfo/dil/mapper/*.xml
+  configuration:
+    #    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+    mapUnderscoreToCamelCase: true
+    call-setters-on-nulls: true
+
+server:
+  port: 8095

+ 480 - 0
src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMaterialMapper.xml

@@ -0,0 +1,480 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.steerinfo.dil.mapper.AmsSaleOrderMaterialMapper">
+  <resultMap id="BaseResultMap" type="com.steerinfo.dil.model.AmsSaleOrderMaterial">
+    <id column="SALE_ORDER_MATERIAL_ID" jdbcType="DECIMAL" property="saleOrderMaterialId" />
+    <result column="SALE_ORDER_ID" jdbcType="DECIMAL" property="saleOrderId" />
+    <result column="SALE_ORDER_MATERIAL_TRUCK_NO" jdbcType="DECIMAL" property="saleOrderMaterialTruckNo" />
+    <result column="SALE_SHIPPING_ADDRESS_ID" jdbcType="DECIMAL" property="saleShippingAddressId" />
+    <result column="SALE_DATE_OF_RECEIPT" jdbcType="TIMESTAMP" property="saleDateOfReceipt" />
+    <result column="SALE_ORDER_CONSIGNEE" jdbcType="VARCHAR" property="saleOrderConsignee" />
+    <result column="SALE_ORDER_CONSIGNEE_TEL" jdbcType="VARCHAR" property="saleOrderConsigneeTel" />
+    <result column="INSERT_USERNAME" jdbcType="VARCHAR" property="insertUsername" />
+    <result column="INSERT_TIME" jdbcType="TIMESTAMP" property="insertTime" />
+    <result column="UPDATE_USERNAME" jdbcType="VARCHAR" property="updateUsername" />
+    <result column="UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime" />
+    <result column="INSERT_UPDATE_REMARK" jdbcType="VARCHAR" property="insertUpdateRemark" />
+    <result column="DELETED" jdbcType="DECIMAL" property="deleted" />
+    <result column="UPDATED" jdbcType="DECIMAL" property="updated" />
+    <result column="DISPATCHED" jdbcType="DECIMAL" property="dispatched" />
+  </resultMap>
+  <sql id="columns">
+    SALE_ORDER_MATERIAL_ID, SALE_ORDER_ID, SALE_ORDER_MATERIAL_TRUCK_NO, SALE_SHIPPING_ADDRESS_ID,
+    SALE_DATE_OF_RECEIPT, SALE_ORDER_CONSIGNEE, SALE_ORDER_CONSIGNEE_TEL, INSERT_USERNAME,
+    INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK, DELETED, UPDATED,
+    DISPATCHED
+  </sql>
+  <sql id="columns_alias">
+    t.SALE_ORDER_MATERIAL_ID, t.SALE_ORDER_ID, t.SALE_ORDER_MATERIAL_TRUCK_NO, t.SALE_SHIPPING_ADDRESS_ID,
+    t.SALE_DATE_OF_RECEIPT, t.SALE_ORDER_CONSIGNEE, t.SALE_ORDER_CONSIGNEE_TEL, t.INSERT_USERNAME,
+    t.INSERT_TIME, t.UPDATE_USERNAME, t.UPDATE_TIME, t.INSERT_UPDATE_REMARK, t.DELETED,
+    t.UPDATED, t.DISPATCHED
+  </sql>
+  <sql id="select">
+    SELECT <include refid="columns" /> FROM AMS_SALE_ORDER_MATERIAL
+  </sql>
+  <sql id="select_alias">
+    SELECT <include refid="columns_alias" /> FROM AMS_SALE_ORDER_MATERIAL t
+  </sql>
+  <sql id="where">
+    <where>
+      <if test="saleOrderMaterialId != null">
+        and SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId}
+      </if>
+      <if test="saleOrderId != null">
+        and SALE_ORDER_ID = #{saleOrderId}
+      </if>
+      <if test="saleOrderMaterialTruckNo != null">
+        and SALE_ORDER_MATERIAL_TRUCK_NO = #{saleOrderMaterialTruckNo}
+      </if>
+      <if test="saleShippingAddressId != null">
+        and SALE_SHIPPING_ADDRESS_ID = #{saleShippingAddressId}
+      </if>
+      <if test="saleDateOfReceipt != null">
+        and TO_CHAR(SALE_DATE_OF_RECEIPT,'yyyy-MM-dd') = #{saleDateOfReceipt}
+      </if>
+      <if test="saleOrderConsignee != null and saleOrderConsignee != ''">
+        and SALE_ORDER_CONSIGNEE = #{saleOrderConsignee}
+      </if>
+      <if test="saleOrderConsigneeTel != null and saleOrderConsigneeTel != ''">
+        and SALE_ORDER_CONSIGNEE_TEL = #{saleOrderConsigneeTel}
+      </if>
+      <if test="insertUsername != null and insertUsername != ''">
+        and INSERT_USERNAME = #{insertUsername}
+      </if>
+      <if test="insertTime != null">
+        and TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = #{insertTime}
+      </if>
+      <if test="updateUsername != null and updateUsername != ''">
+        and UPDATE_USERNAME = #{updateUsername}
+      </if>
+      <if test="updateTime != null">
+        and TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = #{updateTime}
+      </if>
+      <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+        and INSERT_UPDATE_REMARK = #{insertUpdateRemark}
+      </if>
+      <if test="deleted != null">
+        and DELETED = #{deleted}
+      </if>
+      <if test="updated != null">
+        and UPDATED = #{updated}
+      </if>
+      <if test="dispatched != null">
+        and DISPATCHED = #{dispatched}
+      </if>
+    </where>
+  </sql>
+  <sql id="whereLike">
+    <where>
+      <if test="saleOrderMaterialId != null">
+        and SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId}
+      </if>
+      <if test="saleOrderId != null">
+        and SALE_ORDER_ID = #{saleOrderId}
+      </if>
+      <if test="saleOrderMaterialTruckNo != null">
+        and SALE_ORDER_MATERIAL_TRUCK_NO = #{saleOrderMaterialTruckNo}
+      </if>
+      <if test="saleShippingAddressId != null">
+        and SALE_SHIPPING_ADDRESS_ID = #{saleShippingAddressId}
+      </if>
+      <if test="saleDateOfReceipt != null">
+        and TO_CHAR(SALE_DATE_OF_RECEIPT,'yyyy-MM-dd') = #{saleDateOfReceipt}
+      </if>
+      <if test="saleOrderConsignee != null and saleOrderConsignee != ''">
+        and SALE_ORDER_CONSIGNEE LIKE '%${saleOrderConsignee}%'
+      </if>
+      <if test="saleOrderConsigneeTel != null and saleOrderConsigneeTel != ''">
+        and SALE_ORDER_CONSIGNEE_TEL LIKE '%${saleOrderConsigneeTel}%'
+      </if>
+      <if test="insertUsername != null and insertUsername != ''">
+        and INSERT_USERNAME LIKE '%${insertUsername}%'
+      </if>
+      <if test="insertTime != null">
+        and TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = #{insertTime}
+      </if>
+      <if test="updateUsername != null and updateUsername != ''">
+        and UPDATE_USERNAME LIKE '%${updateUsername}%'
+      </if>
+      <if test="updateTime != null">
+        and TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = #{updateTime}
+      </if>
+      <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+        and INSERT_UPDATE_REMARK LIKE '%${insertUpdateRemark}%'
+      </if>
+      <if test="deleted != null">
+        and DELETED = #{deleted}
+      </if>
+      <if test="updated != null">
+        and UPDATED = #{updated}
+      </if>
+      <if test="dispatched != null">
+        and DISPATCHED = #{dispatched}
+      </if>
+    </where>
+  </sql>
+  <delete id="deleteByPrimaryKey" parameterType="java.math.BigDecimal">
+    delete from AMS_SALE_ORDER_MATERIAL
+    where SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId,jdbcType=DECIMAL}
+  </delete>
+  <delete id="deleteBySelectiveElement" parameterType="java.util.HashMap">
+    delete from AMS_SALE_ORDER_MATERIAL
+    where 1!=1
+    <if test="saleOrderId != null">
+      or SALE_ORDER_ID = #{saleOrderId}
+    </if>
+    <if test="saleOrderMaterialTruckNo != null">
+      or SALE_ORDER_MATERIAL_TRUCK_NO = #{saleOrderMaterialTruckNo}
+    </if>
+    <if test="saleShippingAddressId != null">
+      or SALE_SHIPPING_ADDRESS_ID = #{saleShippingAddressId}
+    </if>
+    <if test="saleDateOfReceipt != null">
+      or TO_CHAR(SALE_DATE_OF_RECEIPT,'yyyy-MM-dd') = '#{saleDateOfReceipt}'
+    </if>
+    <if test="saleOrderConsignee != null and saleOrderConsignee != ''">
+      or SALE_ORDER_CONSIGNEE = #{saleOrderConsignee}
+    </if>
+    <if test="saleOrderConsigneeTel != null and saleOrderConsigneeTel != ''">
+      or SALE_ORDER_CONSIGNEE_TEL = #{saleOrderConsigneeTel}
+    </if>
+    <if test="insertUsername != null and insertUsername != ''">
+      or INSERT_USERNAME = #{insertUsername}
+    </if>
+    <if test="insertTime != null">
+      or TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = '#{insertTime}'
+    </if>
+    <if test="updateUsername != null and updateUsername != ''">
+      or UPDATE_USERNAME = #{updateUsername}
+    </if>
+    <if test="updateTime != null">
+      or TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = '#{updateTime}'
+    </if>
+    <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+      or INSERT_UPDATE_REMARK = #{insertUpdateRemark}
+    </if>
+    <if test="deleted != null">
+      or DELETED = #{deleted}
+    </if>
+    <if test="updated != null">
+      or UPDATED = #{updated}
+    </if>
+    <if test="dispatched != null">
+      or DISPATCHED = #{dispatched}
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.steerinfo.dil.model.AmsSaleOrderMaterial">
+    insert into AMS_SALE_ORDER_MATERIAL (SALE_ORDER_MATERIAL_ID, SALE_ORDER_ID,
+                                         SALE_ORDER_MATERIAL_TRUCK_NO, SALE_SHIPPING_ADDRESS_ID,
+                                         SALE_DATE_OF_RECEIPT, SALE_ORDER_CONSIGNEE,
+                                         SALE_ORDER_CONSIGNEE_TEL, INSERT_USERNAME,
+                                         INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME,
+                                         INSERT_UPDATE_REMARK, DELETED, UPDATED,
+                                         DISPATCHED)
+    values (#{saleOrderMaterialId,jdbcType=DECIMAL}, #{saleOrderId,jdbcType=DECIMAL},
+            #{saleOrderMaterialTruckNo,jdbcType=DECIMAL}, #{saleShippingAddressId,jdbcType=DECIMAL},
+            #{saleDateOfReceipt,jdbcType=TIMESTAMP}, #{saleOrderConsignee,jdbcType=VARCHAR},
+            #{saleOrderConsigneeTel,jdbcType=VARCHAR}, #{insertUsername,jdbcType=VARCHAR},
+            #{insertTime,jdbcType=TIMESTAMP}, #{updateUsername,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP},
+            #{insertUpdateRemark,jdbcType=VARCHAR}, #{deleted,jdbcType=DECIMAL}, #{updated,jdbcType=DECIMAL},
+            #{dispatched,jdbcType=DECIMAL})
+  </insert>
+  <insert id="insertSelective" parameterType="com.steerinfo.dil.model.AmsSaleOrderMaterial">
+    insert into AMS_SALE_ORDER_MATERIAL
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="saleOrderMaterialId != null">
+        SALE_ORDER_MATERIAL_ID,
+      </if>
+      <if test="saleOrderId != null">
+        SALE_ORDER_ID,
+      </if>
+      <if test="saleOrderMaterialTruckNo != null">
+        SALE_ORDER_MATERIAL_TRUCK_NO,
+      </if>
+      <if test="saleShippingAddressId != null">
+        SALE_SHIPPING_ADDRESS_ID,
+      </if>
+      <if test="saleDateOfReceipt != null">
+        SALE_DATE_OF_RECEIPT,
+      </if>
+      <if test="saleOrderConsignee != null">
+        SALE_ORDER_CONSIGNEE,
+      </if>
+      <if test="saleOrderConsigneeTel != null">
+        SALE_ORDER_CONSIGNEE_TEL,
+      </if>
+      <if test="insertUsername != null">
+        INSERT_USERNAME,
+      </if>
+      <if test="insertTime != null">
+        INSERT_TIME,
+      </if>
+      <if test="updateUsername != null">
+        UPDATE_USERNAME,
+      </if>
+      <if test="updateTime != null">
+        UPDATE_TIME,
+      </if>
+      <if test="insertUpdateRemark != null">
+        INSERT_UPDATE_REMARK,
+      </if>
+      <if test="deleted != null">
+        DELETED,
+      </if>
+      <if test="updated != null">
+        UPDATED,
+      </if>
+      <if test="dispatched != null">
+        DISPATCHED,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="saleOrderMaterialId != null">
+        #{saleOrderMaterialId,jdbcType=DECIMAL},
+      </if>
+      <if test="saleOrderId != null">
+        #{saleOrderId,jdbcType=DECIMAL},
+      </if>
+      <if test="saleOrderMaterialTruckNo != null">
+        #{saleOrderMaterialTruckNo,jdbcType=DECIMAL},
+      </if>
+      <if test="saleShippingAddressId != null">
+        #{saleShippingAddressId,jdbcType=DECIMAL},
+      </if>
+      <if test="saleDateOfReceipt != null">
+        #{saleDateOfReceipt,jdbcType=TIMESTAMP},
+      </if>
+      <if test="saleOrderConsignee != null">
+        #{saleOrderConsignee,jdbcType=VARCHAR},
+      </if>
+      <if test="saleOrderConsigneeTel != null">
+        #{saleOrderConsigneeTel,jdbcType=VARCHAR},
+      </if>
+      <if test="insertUsername != null">
+        #{insertUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="insertTime != null">
+        #{insertTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updateUsername != null">
+        #{updateUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="updateTime != null">
+        #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="insertUpdateRemark != null">
+        #{insertUpdateRemark,jdbcType=VARCHAR},
+      </if>
+      <if test="deleted != null">
+        #{deleted,jdbcType=DECIMAL},
+      </if>
+      <if test="updated != null">
+        #{updated,jdbcType=DECIMAL},
+      </if>
+      <if test="dispatched != null">
+        #{dispatched,jdbcType=DECIMAL},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.AmsSaleOrderMaterial">
+    update AMS_SALE_ORDER_MATERIAL
+    set SALE_ORDER_ID = #{saleOrderId,jdbcType=DECIMAL},
+        SALE_ORDER_MATERIAL_TRUCK_NO = #{saleOrderMaterialTruckNo,jdbcType=DECIMAL},
+        SALE_SHIPPING_ADDRESS_ID = #{saleShippingAddressId,jdbcType=DECIMAL},
+        SALE_DATE_OF_RECEIPT = #{saleDateOfReceipt,jdbcType=TIMESTAMP},
+        SALE_ORDER_CONSIGNEE = #{saleOrderConsignee,jdbcType=VARCHAR},
+        SALE_ORDER_CONSIGNEE_TEL = #{saleOrderConsigneeTel,jdbcType=VARCHAR},
+        INSERT_USERNAME = #{insertUsername,jdbcType=VARCHAR},
+        INSERT_TIME = #{insertTime,jdbcType=TIMESTAMP},
+        UPDATE_USERNAME = #{updateUsername,jdbcType=VARCHAR},
+        UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
+        INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR},
+        DELETED = #{deleted,jdbcType=DECIMAL},
+        UPDATED = #{updated,jdbcType=DECIMAL},
+        DISPATCHED = #{dispatched,jdbcType=DECIMAL}
+    where SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId,jdbcType=DECIMAL}
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.AmsSaleOrderMaterial">
+    update AMS_SALE_ORDER_MATERIAL
+    <set>
+      <if test="saleOrderId != null">
+        SALE_ORDER_ID = #{saleOrderId,jdbcType=DECIMAL},
+      </if>
+      <if test="saleOrderMaterialTruckNo != null">
+        SALE_ORDER_MATERIAL_TRUCK_NO = #{saleOrderMaterialTruckNo,jdbcType=DECIMAL},
+      </if>
+      <if test="saleShippingAddressId != null">
+        SALE_SHIPPING_ADDRESS_ID = #{saleShippingAddressId,jdbcType=DECIMAL},
+      </if>
+      <if test="saleDateOfReceipt != null">
+        SALE_DATE_OF_RECEIPT = #{saleDateOfReceipt,jdbcType=TIMESTAMP},
+      </if>
+      <if test="saleOrderConsignee != null">
+        SALE_ORDER_CONSIGNEE = #{saleOrderConsignee,jdbcType=VARCHAR},
+      </if>
+      <if test="saleOrderConsigneeTel != null">
+        SALE_ORDER_CONSIGNEE_TEL = #{saleOrderConsigneeTel,jdbcType=VARCHAR},
+      </if>
+      <if test="insertUsername != null">
+        INSERT_USERNAME = #{insertUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="insertTime != null">
+        INSERT_TIME = #{insertTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updateUsername != null">
+        UPDATE_USERNAME = #{updateUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="updateTime != null">
+        UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="insertUpdateRemark != null">
+        INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR},
+      </if>
+      <if test="deleted != null">
+        DELETED = #{deleted,jdbcType=DECIMAL},
+      </if>
+      <if test="updated != null">
+        UPDATED = #{updated,jdbcType=DECIMAL},
+      </if>
+      <if test="dispatched != null">
+        DISPATCHED = #{dispatched,jdbcType=DECIMAL},
+      </if>
+    </set>
+    where SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId,jdbcType=DECIMAL}
+  </update>
+  <select id="selectByPrimaryKey" parameterType="java.math.BigDecimal" resultMap="BaseResultMap">
+    <include refid="select" />
+    where SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId,jdbcType=DECIMAL}
+  </select>
+  <select id="selectByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
+    <include refid="select" />
+    <include refid="where" />
+  </select>
+  <select id="selectLikeByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
+    <include refid="select" />
+    <include refid="whereLike" />
+  </select>
+  <insert id="batchInsert" parameterType="java.util.List">
+    insert into AMS_SALE_ORDER_MATERIAL
+    (SALE_ORDER_MATERIAL_ID,
+    SALE_ORDER_ID, SALE_ORDER_MATERIAL_TRUCK_NO,
+    SALE_SHIPPING_ADDRESS_ID, SALE_DATE_OF_RECEIPT,
+    SALE_ORDER_CONSIGNEE, SALE_ORDER_CONSIGNEE_TEL,
+    INSERT_USERNAME, INSERT_TIME,
+    UPDATE_USERNAME, UPDATE_TIME,
+    INSERT_UPDATE_REMARK, DELETED,
+    UPDATED, DISPATCHED)
+    ( <foreach collection="list" item="item" separator="union all">
+    select
+    #{item.saleOrderMaterialId,jdbcType=DECIMAL},
+    #{item.saleOrderId,jdbcType=DECIMAL}, #{item.saleOrderMaterialTruckNo,jdbcType=DECIMAL},
+    #{item.saleShippingAddressId,jdbcType=DECIMAL}, #{item.saleDateOfReceipt,jdbcType=TIMESTAMP},
+    #{item.saleOrderConsignee,jdbcType=VARCHAR}, #{item.saleOrderConsigneeTel,jdbcType=VARCHAR},
+    #{item.insertUsername,jdbcType=VARCHAR}, #{item.insertTime,jdbcType=TIMESTAMP},
+    #{item.updateUsername,jdbcType=VARCHAR}, #{item.updateTime,jdbcType=TIMESTAMP},
+    #{item.insertUpdateRemark,jdbcType=VARCHAR}, #{item.deleted,jdbcType=DECIMAL},
+    #{item.updated,jdbcType=DECIMAL}, #{item.dispatched,jdbcType=DECIMAL} from dual
+  </foreach> )
+  </insert>
+  <update id="batchUpdate" parameterType="java.util.List">
+    update AMS_SALE_ORDER_MATERIAL
+    set
+    SALE_ORDER_MATERIAL_ID=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
+      when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.saleOrderMaterialId,jdbcType=DECIMAL}
+    </foreach>
+    ,SALE_ORDER_ID=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
+      when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.saleOrderId,jdbcType=DECIMAL}
+    </foreach>
+    ,SALE_ORDER_MATERIAL_TRUCK_NO=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
+      when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.saleOrderMaterialTruckNo,jdbcType=DECIMAL}
+    </foreach>
+    ,SALE_SHIPPING_ADDRESS_ID=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
+      when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.saleShippingAddressId,jdbcType=DECIMAL}
+    </foreach>
+    ,SALE_DATE_OF_RECEIPT=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
+      when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.saleDateOfReceipt,jdbcType=TIMESTAMP}
+    </foreach>
+    ,SALE_ORDER_CONSIGNEE=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
+      when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.saleOrderConsignee,jdbcType=VARCHAR}
+    </foreach>
+    ,SALE_ORDER_CONSIGNEE_TEL=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
+      when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.saleOrderConsigneeTel,jdbcType=VARCHAR}
+    </foreach>
+    ,INSERT_USERNAME=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
+      when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.insertUsername,jdbcType=VARCHAR}
+    </foreach>
+    ,INSERT_TIME=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
+      when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.insertTime,jdbcType=TIMESTAMP}
+    </foreach>
+    ,UPDATE_USERNAME=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
+      when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.updateUsername,jdbcType=VARCHAR}
+    </foreach>
+    ,UPDATE_TIME=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
+      when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.updateTime,jdbcType=TIMESTAMP}
+    </foreach>
+    ,INSERT_UPDATE_REMARK=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
+      when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.insertUpdateRemark,jdbcType=VARCHAR}
+    </foreach>
+    ,DELETED=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
+      when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.deleted,jdbcType=DECIMAL}
+    </foreach>
+    ,UPDATED=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
+      when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.updated,jdbcType=DECIMAL}
+    </foreach>
+    ,DISPATCHED=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
+      when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.dispatched,jdbcType=DECIMAL}
+    </foreach>
+    where SALE_ORDER_MATERIAL_ID in
+    <foreach close=")" collection="list" index="index" item="item" open="(" separator=",">
+      #{item.saleOrderMaterialId,jdbcType=DECIMAL}
+    </foreach>
+  </update>
+  <delete id="batchDelete" parameterType="java.util.List">
+    delete from AMS_SALE_ORDER_MATERIAL
+    where SALE_ORDER_MATERIAL_ID in
+    <foreach close=")" collection="list" item="id" open="(" separator=",">
+      #{id}
+    </foreach>
+  </delete>
+
+
+  <!-- 友情提示!!!-->
+  <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
+
+</mapper>

+ 479 - 0
src/main/resources/com/steerinfo/dil/mapper/AmstruckRailDayplanMapper.xml

@@ -0,0 +1,479 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.steerinfo.dil.mapper.AmstruckRailDayplanMapper">
+  <resultMap id="BaseResultMap" type="com.steerinfo.dil.model.AmstruckRailDayplan">
+    <id column="DAYPLAN_ID" jdbcType="DECIMAL" property="dayplanId" />
+    <result column="DAYPLAN_NO" jdbcType="VARCHAR" property="dayplanNo" />
+    <result column="DAYPLAN_TRUCK_NUMBER" jdbcType="DECIMAL" property="dayplanTruckNumber" />
+    <result column="SHIPMENT_UNIT_ID" jdbcType="DECIMAL" property="shipmentUnitId" />
+    <result column="DAYPLAN_DELIVERY_PLACE" jdbcType="VARCHAR" property="dayplanDeliveryPlace" />
+    <result column="DAYPLAN_RECEIVE_UNIT" jdbcType="VARCHAR" property="dayplanReceiveUnit" />
+    <result column="DAYPLAN_DELIVERY_DATE" jdbcType="TIMESTAMP" property="dayplanDeliveryDate" />
+    <result column="MATERIAL_ID" jdbcType="DECIMAL" property="materialId" />
+    <result column="DAYPLAN_MATERIAL_WEIGHT" jdbcType="DECIMAL" property="dayplanMaterialWeight" />
+    <result column="DAYPLAN_RECEIVE_STATUS" jdbcType="DECIMAL" property="dayplanReceiveStatus" />
+    <result column="INSERT_USERNAME" jdbcType="VARCHAR" property="insertUsername" />
+    <result column="INSERT_TIME" jdbcType="TIMESTAMP" property="insertTime" />
+    <result column="UPDATE_USERNAME" jdbcType="VARCHAR" property="updateUsername" />
+    <result column="UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime" />
+    <result column="INSERT_UPDATE_REMARK" jdbcType="VARCHAR" property="insertUpdateRemark" />
+  </resultMap>
+  <sql id="columns">
+    DAYPLAN_ID, DAYPLAN_NO, DAYPLAN_TRUCK_NUMBER, SHIPMENT_UNIT_ID, DAYPLAN_DELIVERY_PLACE, 
+    DAYPLAN_RECEIVE_UNIT, DAYPLAN_DELIVERY_DATE, MATERIAL_ID, DAYPLAN_MATERIAL_WEIGHT, 
+    DAYPLAN_RECEIVE_STATUS, INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, 
+    INSERT_UPDATE_REMARK
+  </sql>
+  <sql id="columns_alias">
+    t.DAYPLAN_ID, t.DAYPLAN_NO, t.DAYPLAN_TRUCK_NUMBER, t.SHIPMENT_UNIT_ID, t.DAYPLAN_DELIVERY_PLACE, 
+    t.DAYPLAN_RECEIVE_UNIT, t.DAYPLAN_DELIVERY_DATE, t.MATERIAL_ID, t.DAYPLAN_MATERIAL_WEIGHT, 
+    t.DAYPLAN_RECEIVE_STATUS, t.INSERT_USERNAME, t.INSERT_TIME, t.UPDATE_USERNAME, t.UPDATE_TIME, 
+    t.INSERT_UPDATE_REMARK
+  </sql>
+  <sql id="select">
+    SELECT <include refid="columns" /> FROM AMSTRUCK_RAIL_DAYPLAN
+  </sql>
+  <sql id="select_alias">
+    SELECT <include refid="columns_alias" /> FROM AMSTRUCK_RAIL_DAYPLAN t
+  </sql>
+  <sql id="where">
+    <where> 
+      <if test="dayplanId != null">
+        and DAYPLAN_ID = #{dayplanId}
+      </if>
+      <if test="dayplanNo != null and dayplanNo != ''">
+        and DAYPLAN_NO = #{dayplanNo}
+      </if>
+      <if test="dayplanTruckNumber != null">
+        and DAYPLAN_TRUCK_NUMBER = #{dayplanTruckNumber}
+      </if>
+      <if test="shipmentUnitId != null">
+        and SHIPMENT_UNIT_ID = #{shipmentUnitId}
+      </if>
+      <if test="dayplanDeliveryPlace != null and dayplanDeliveryPlace != ''">
+        and DAYPLAN_DELIVERY_PLACE = #{dayplanDeliveryPlace}
+      </if>
+      <if test="dayplanReceiveUnit != null and dayplanReceiveUnit != ''">
+        and DAYPLAN_RECEIVE_UNIT = #{dayplanReceiveUnit}
+      </if>
+      <if test="dayplanDeliveryDate != null">
+        and TO_CHAR(DAYPLAN_DELIVERY_DATE,'yyyy-MM-dd') = #{dayplanDeliveryDate}
+      </if>
+      <if test="materialId != null">
+        and MATERIAL_ID = #{materialId}
+      </if>
+      <if test="dayplanMaterialWeight != null">
+        and DAYPLAN_MATERIAL_WEIGHT = #{dayplanMaterialWeight}
+      </if>
+      <if test="dayplanReceiveStatus != null">
+        and DAYPLAN_RECEIVE_STATUS = #{dayplanReceiveStatus}
+      </if>
+      <if test="insertUsername != null and insertUsername != ''">
+        and INSERT_USERNAME = #{insertUsername}
+      </if>
+      <if test="insertTime != null">
+        and TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = #{insertTime}
+      </if>
+      <if test="updateUsername != null and updateUsername != ''">
+        and UPDATE_USERNAME = #{updateUsername}
+      </if>
+      <if test="updateTime != null">
+        and TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = #{updateTime}
+      </if>
+      <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+        and INSERT_UPDATE_REMARK = #{insertUpdateRemark}
+      </if>
+    </where>
+  </sql>
+  <sql id="whereLike">
+    <where> 
+      <if test="dayplanId != null">
+        and DAYPLAN_ID = #{dayplanId}
+      </if>
+      <if test="dayplanNo != null and dayplanNo != ''">
+        and DAYPLAN_NO LIKE '%${dayplanNo}%'
+      </if>
+      <if test="dayplanTruckNumber != null">
+        and DAYPLAN_TRUCK_NUMBER = #{dayplanTruckNumber}
+      </if>
+      <if test="shipmentUnitId != null">
+        and SHIPMENT_UNIT_ID = #{shipmentUnitId}
+      </if>
+      <if test="dayplanDeliveryPlace != null and dayplanDeliveryPlace != ''">
+        and DAYPLAN_DELIVERY_PLACE LIKE '%${dayplanDeliveryPlace}%'
+      </if>
+      <if test="dayplanReceiveUnit != null and dayplanReceiveUnit != ''">
+        and DAYPLAN_RECEIVE_UNIT LIKE '%${dayplanReceiveUnit}%'
+      </if>
+      <if test="dayplanDeliveryDate != null">
+        and TO_CHAR(DAYPLAN_DELIVERY_DATE,'yyyy-MM-dd') = #{dayplanDeliveryDate}
+      </if>
+      <if test="materialId != null">
+        and MATERIAL_ID = #{materialId}
+      </if>
+      <if test="dayplanMaterialWeight != null">
+        and DAYPLAN_MATERIAL_WEIGHT = #{dayplanMaterialWeight}
+      </if>
+      <if test="dayplanReceiveStatus != null">
+        and DAYPLAN_RECEIVE_STATUS = #{dayplanReceiveStatus}
+      </if>
+      <if test="insertUsername != null and insertUsername != ''">
+        and INSERT_USERNAME LIKE '%${insertUsername}%'
+      </if>
+      <if test="insertTime != null">
+        and TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = #{insertTime}
+      </if>
+      <if test="updateUsername != null and updateUsername != ''">
+        and UPDATE_USERNAME LIKE '%${updateUsername}%'
+      </if>
+      <if test="updateTime != null">
+        and TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = #{updateTime}
+      </if>
+      <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+        and INSERT_UPDATE_REMARK LIKE '%${insertUpdateRemark}%'
+      </if>
+    </where>
+  </sql>
+  <delete id="deleteByPrimaryKey" parameterType="java.math.BigDecimal">
+    delete from AMSTRUCK_RAIL_DAYPLAN
+    where DAYPLAN_ID = #{dayplanId,jdbcType=DECIMAL}
+  </delete>
+  <delete id="deleteBySelectiveElement" parameterType="java.util.HashMap">
+    delete from AMSTRUCK_RAIL_DAYPLAN
+    where 1!=1 
+      <if test="dayplanNo != null and dayplanNo != ''">
+        or DAYPLAN_NO = #{dayplanNo}
+      </if>
+      <if test="dayplanTruckNumber != null">
+        or DAYPLAN_TRUCK_NUMBER = #{dayplanTruckNumber}
+      </if>
+      <if test="shipmentUnitId != null">
+        or SHIPMENT_UNIT_ID = #{shipmentUnitId}
+      </if>
+      <if test="dayplanDeliveryPlace != null and dayplanDeliveryPlace != ''">
+        or DAYPLAN_DELIVERY_PLACE = #{dayplanDeliveryPlace}
+      </if>
+      <if test="dayplanReceiveUnit != null and dayplanReceiveUnit != ''">
+        or DAYPLAN_RECEIVE_UNIT = #{dayplanReceiveUnit}
+      </if>
+      <if test="dayplanDeliveryDate != null">
+        or TO_CHAR(DAYPLAN_DELIVERY_DATE,'yyyy-MM-dd') = '#{dayplanDeliveryDate}'
+      </if>
+      <if test="materialId != null">
+        or MATERIAL_ID = #{materialId}
+      </if>
+      <if test="dayplanMaterialWeight != null">
+        or DAYPLAN_MATERIAL_WEIGHT = #{dayplanMaterialWeight}
+      </if>
+      <if test="dayplanReceiveStatus != null">
+        or DAYPLAN_RECEIVE_STATUS = #{dayplanReceiveStatus}
+      </if>
+      <if test="insertUsername != null and insertUsername != ''">
+        or INSERT_USERNAME = #{insertUsername}
+      </if>
+      <if test="insertTime != null">
+        or TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = '#{insertTime}'
+      </if>
+      <if test="updateUsername != null and updateUsername != ''">
+        or UPDATE_USERNAME = #{updateUsername}
+      </if>
+      <if test="updateTime != null">
+        or TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = '#{updateTime}'
+      </if>
+      <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+        or INSERT_UPDATE_REMARK = #{insertUpdateRemark}
+      </if>
+  </delete>
+  <insert id="insert" parameterType="com.steerinfo.dil.model.AmstruckRailDayplan">
+    insert into AMSTRUCK_RAIL_DAYPLAN (DAYPLAN_ID, DAYPLAN_NO, DAYPLAN_TRUCK_NUMBER, 
+      SHIPMENT_UNIT_ID, DAYPLAN_DELIVERY_PLACE, DAYPLAN_RECEIVE_UNIT, 
+      DAYPLAN_DELIVERY_DATE, MATERIAL_ID, DAYPLAN_MATERIAL_WEIGHT, 
+      DAYPLAN_RECEIVE_STATUS, INSERT_USERNAME, INSERT_TIME, 
+      UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK
+      )
+    values (#{dayplanId,jdbcType=DECIMAL}, #{dayplanNo,jdbcType=VARCHAR}, #{dayplanTruckNumber,jdbcType=DECIMAL}, 
+      #{shipmentUnitId,jdbcType=DECIMAL}, #{dayplanDeliveryPlace,jdbcType=VARCHAR}, #{dayplanReceiveUnit,jdbcType=VARCHAR}, 
+      #{dayplanDeliveryDate,jdbcType=TIMESTAMP}, #{materialId,jdbcType=DECIMAL}, #{dayplanMaterialWeight,jdbcType=DECIMAL}, 
+      #{dayplanReceiveStatus,jdbcType=DECIMAL}, #{insertUsername,jdbcType=VARCHAR}, #{insertTime,jdbcType=TIMESTAMP}, 
+      #{updateUsername,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}, #{insertUpdateRemark,jdbcType=VARCHAR}
+      )
+  </insert>
+  <insert id="insertSelective" parameterType="com.steerinfo.dil.model.AmstruckRailDayplan">
+    insert into AMSTRUCK_RAIL_DAYPLAN
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="dayplanId != null">
+        DAYPLAN_ID,
+      </if>
+      <if test="dayplanNo != null">
+        DAYPLAN_NO,
+      </if>
+      <if test="dayplanTruckNumber != null">
+        DAYPLAN_TRUCK_NUMBER,
+      </if>
+      <if test="shipmentUnitId != null">
+        SHIPMENT_UNIT_ID,
+      </if>
+      <if test="dayplanDeliveryPlace != null">
+        DAYPLAN_DELIVERY_PLACE,
+      </if>
+      <if test="dayplanReceiveUnit != null">
+        DAYPLAN_RECEIVE_UNIT,
+      </if>
+      <if test="dayplanDeliveryDate != null">
+        DAYPLAN_DELIVERY_DATE,
+      </if>
+      <if test="materialId != null">
+        MATERIAL_ID,
+      </if>
+      <if test="dayplanMaterialWeight != null">
+        DAYPLAN_MATERIAL_WEIGHT,
+      </if>
+      <if test="dayplanReceiveStatus != null">
+        DAYPLAN_RECEIVE_STATUS,
+      </if>
+      <if test="insertUsername != null">
+        INSERT_USERNAME,
+      </if>
+      <if test="insertTime != null">
+        INSERT_TIME,
+      </if>
+      <if test="updateUsername != null">
+        UPDATE_USERNAME,
+      </if>
+      <if test="updateTime != null">
+        UPDATE_TIME,
+      </if>
+      <if test="insertUpdateRemark != null">
+        INSERT_UPDATE_REMARK,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="dayplanId != null">
+        #{dayplanId,jdbcType=DECIMAL},
+      </if>
+      <if test="dayplanNo != null">
+        #{dayplanNo,jdbcType=VARCHAR},
+      </if>
+      <if test="dayplanTruckNumber != null">
+        #{dayplanTruckNumber,jdbcType=DECIMAL},
+      </if>
+      <if test="shipmentUnitId != null">
+        #{shipmentUnitId,jdbcType=DECIMAL},
+      </if>
+      <if test="dayplanDeliveryPlace != null">
+        #{dayplanDeliveryPlace,jdbcType=VARCHAR},
+      </if>
+      <if test="dayplanReceiveUnit != null">
+        #{dayplanReceiveUnit,jdbcType=VARCHAR},
+      </if>
+      <if test="dayplanDeliveryDate != null">
+        #{dayplanDeliveryDate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="materialId != null">
+        #{materialId,jdbcType=DECIMAL},
+      </if>
+      <if test="dayplanMaterialWeight != null">
+        #{dayplanMaterialWeight,jdbcType=DECIMAL},
+      </if>
+      <if test="dayplanReceiveStatus != null">
+        #{dayplanReceiveStatus,jdbcType=DECIMAL},
+      </if>
+      <if test="insertUsername != null">
+        #{insertUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="insertTime != null">
+        #{insertTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updateUsername != null">
+        #{updateUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="updateTime != null">
+        #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="insertUpdateRemark != null">
+        #{insertUpdateRemark,jdbcType=VARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.AmstruckRailDayplan">
+    update AMSTRUCK_RAIL_DAYPLAN
+    set DAYPLAN_NO = #{dayplanNo,jdbcType=VARCHAR},
+      DAYPLAN_TRUCK_NUMBER = #{dayplanTruckNumber,jdbcType=DECIMAL},
+      SHIPMENT_UNIT_ID = #{shipmentUnitId,jdbcType=DECIMAL},
+      DAYPLAN_DELIVERY_PLACE = #{dayplanDeliveryPlace,jdbcType=VARCHAR},
+      DAYPLAN_RECEIVE_UNIT = #{dayplanReceiveUnit,jdbcType=VARCHAR},
+      DAYPLAN_DELIVERY_DATE = #{dayplanDeliveryDate,jdbcType=TIMESTAMP},
+      MATERIAL_ID = #{materialId,jdbcType=DECIMAL},
+      DAYPLAN_MATERIAL_WEIGHT = #{dayplanMaterialWeight,jdbcType=DECIMAL},
+      DAYPLAN_RECEIVE_STATUS = #{dayplanReceiveStatus,jdbcType=DECIMAL},
+      INSERT_USERNAME = #{insertUsername,jdbcType=VARCHAR},
+      INSERT_TIME = #{insertTime,jdbcType=TIMESTAMP},
+      UPDATE_USERNAME = #{updateUsername,jdbcType=VARCHAR},
+      UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
+      INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR}
+    where DAYPLAN_ID = #{dayplanId,jdbcType=DECIMAL}
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.AmstruckRailDayplan">
+    update AMSTRUCK_RAIL_DAYPLAN
+    <set>
+      <if test="dayplanNo != null">
+        DAYPLAN_NO = #{dayplanNo,jdbcType=VARCHAR},
+      </if>
+      <if test="dayplanTruckNumber != null">
+        DAYPLAN_TRUCK_NUMBER = #{dayplanTruckNumber,jdbcType=DECIMAL},
+      </if>
+      <if test="shipmentUnitId != null">
+        SHIPMENT_UNIT_ID = #{shipmentUnitId,jdbcType=DECIMAL},
+      </if>
+      <if test="dayplanDeliveryPlace != null">
+        DAYPLAN_DELIVERY_PLACE = #{dayplanDeliveryPlace,jdbcType=VARCHAR},
+      </if>
+      <if test="dayplanReceiveUnit != null">
+        DAYPLAN_RECEIVE_UNIT = #{dayplanReceiveUnit,jdbcType=VARCHAR},
+      </if>
+      <if test="dayplanDeliveryDate != null">
+        DAYPLAN_DELIVERY_DATE = #{dayplanDeliveryDate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="materialId != null">
+        MATERIAL_ID = #{materialId,jdbcType=DECIMAL},
+      </if>
+      <if test="dayplanMaterialWeight != null">
+        DAYPLAN_MATERIAL_WEIGHT = #{dayplanMaterialWeight,jdbcType=DECIMAL},
+      </if>
+      <if test="dayplanReceiveStatus != null">
+        DAYPLAN_RECEIVE_STATUS = #{dayplanReceiveStatus,jdbcType=DECIMAL},
+      </if>
+      <if test="insertUsername != null">
+        INSERT_USERNAME = #{insertUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="insertTime != null">
+        INSERT_TIME = #{insertTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updateUsername != null">
+        UPDATE_USERNAME = #{updateUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="updateTime != null">
+        UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="insertUpdateRemark != null">
+        INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR},
+      </if>
+    </set>
+    where DAYPLAN_ID = #{dayplanId,jdbcType=DECIMAL}
+  </update>
+  <select id="selectByPrimaryKey" parameterType="java.math.BigDecimal" resultMap="BaseResultMap">
+    <include refid="select" />
+    where DAYPLAN_ID = #{dayplanId,jdbcType=DECIMAL}
+  </select>
+  <select id="selectByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
+    <include refid="select" />
+    <include refid="where" />
+  </select>
+  <select id="selectLikeByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
+    <include refid="select" />
+    <include refid="whereLike" />
+  </select>
+  <insert id="batchInsert" parameterType="java.util.List">
+    insert into AMSTRUCK_RAIL_DAYPLAN 
+      (DAYPLAN_ID, 
+      DAYPLAN_NO, DAYPLAN_TRUCK_NUMBER, 
+      SHIPMENT_UNIT_ID, DAYPLAN_DELIVERY_PLACE, 
+      DAYPLAN_RECEIVE_UNIT, DAYPLAN_DELIVERY_DATE, 
+      MATERIAL_ID, DAYPLAN_MATERIAL_WEIGHT, 
+      DAYPLAN_RECEIVE_STATUS, INSERT_USERNAME, 
+      INSERT_TIME, UPDATE_USERNAME, 
+      UPDATE_TIME, INSERT_UPDATE_REMARK
+      )
+    ( <foreach collection="list" item="item" separator="union all"> 
+   select  
+      #{item.dayplanId,jdbcType=DECIMAL}, 
+      #{item.dayplanNo,jdbcType=VARCHAR}, #{item.dayplanTruckNumber,jdbcType=DECIMAL}, 
+      #{item.shipmentUnitId,jdbcType=DECIMAL}, #{item.dayplanDeliveryPlace,jdbcType=VARCHAR}, 
+      #{item.dayplanReceiveUnit,jdbcType=VARCHAR}, #{item.dayplanDeliveryDate,jdbcType=TIMESTAMP}, 
+      #{item.materialId,jdbcType=DECIMAL}, #{item.dayplanMaterialWeight,jdbcType=DECIMAL}, 
+      #{item.dayplanReceiveStatus,jdbcType=DECIMAL}, #{item.insertUsername,jdbcType=VARCHAR}, 
+      #{item.insertTime,jdbcType=TIMESTAMP}, #{item.updateUsername,jdbcType=VARCHAR}, 
+      #{item.updateTime,jdbcType=TIMESTAMP}, #{item.insertUpdateRemark,jdbcType=VARCHAR}
+       from dual  
+   </foreach> )
+  </insert>
+  <update id="batchUpdate" parameterType="java.util.List">
+     update AMSTRUCK_RAIL_DAYPLAN
+     set
+       DAYPLAN_ID=
+       <foreach close="end" collection="list" index="index" item="item" open="case DAYPLAN_ID" separator=" ">
+          when #{item.dayplanId,jdbcType=DECIMAL} then #{item.dayplanId,jdbcType=DECIMAL}
+       </foreach>
+       ,DAYPLAN_NO=
+       <foreach close="end" collection="list" index="index" item="item" open="case DAYPLAN_ID" separator=" ">
+          when #{item.dayplanId,jdbcType=DECIMAL} then #{item.dayplanNo,jdbcType=VARCHAR}
+       </foreach>
+       ,DAYPLAN_TRUCK_NUMBER=
+       <foreach close="end" collection="list" index="index" item="item" open="case DAYPLAN_ID" separator=" ">
+          when #{item.dayplanId,jdbcType=DECIMAL} then #{item.dayplanTruckNumber,jdbcType=DECIMAL}
+       </foreach>
+       ,SHIPMENT_UNIT_ID=
+       <foreach close="end" collection="list" index="index" item="item" open="case DAYPLAN_ID" separator=" ">
+          when #{item.dayplanId,jdbcType=DECIMAL} then #{item.shipmentUnitId,jdbcType=DECIMAL}
+       </foreach>
+       ,DAYPLAN_DELIVERY_PLACE=
+       <foreach close="end" collection="list" index="index" item="item" open="case DAYPLAN_ID" separator=" ">
+          when #{item.dayplanId,jdbcType=DECIMAL} then #{item.dayplanDeliveryPlace,jdbcType=VARCHAR}
+       </foreach>
+       ,DAYPLAN_RECEIVE_UNIT=
+       <foreach close="end" collection="list" index="index" item="item" open="case DAYPLAN_ID" separator=" ">
+          when #{item.dayplanId,jdbcType=DECIMAL} then #{item.dayplanReceiveUnit,jdbcType=VARCHAR}
+       </foreach>
+       ,DAYPLAN_DELIVERY_DATE=
+       <foreach close="end" collection="list" index="index" item="item" open="case DAYPLAN_ID" separator=" ">
+          when #{item.dayplanId,jdbcType=DECIMAL} then #{item.dayplanDeliveryDate,jdbcType=TIMESTAMP}
+       </foreach>
+       ,MATERIAL_ID=
+       <foreach close="end" collection="list" index="index" item="item" open="case DAYPLAN_ID" separator=" ">
+          when #{item.dayplanId,jdbcType=DECIMAL} then #{item.materialId,jdbcType=DECIMAL}
+       </foreach>
+       ,DAYPLAN_MATERIAL_WEIGHT=
+       <foreach close="end" collection="list" index="index" item="item" open="case DAYPLAN_ID" separator=" ">
+          when #{item.dayplanId,jdbcType=DECIMAL} then #{item.dayplanMaterialWeight,jdbcType=DECIMAL}
+       </foreach>
+       ,DAYPLAN_RECEIVE_STATUS=
+       <foreach close="end" collection="list" index="index" item="item" open="case DAYPLAN_ID" separator=" ">
+          when #{item.dayplanId,jdbcType=DECIMAL} then #{item.dayplanReceiveStatus,jdbcType=DECIMAL}
+       </foreach>
+       ,INSERT_USERNAME=
+       <foreach close="end" collection="list" index="index" item="item" open="case DAYPLAN_ID" separator=" ">
+          when #{item.dayplanId,jdbcType=DECIMAL} then #{item.insertUsername,jdbcType=VARCHAR}
+       </foreach>
+       ,INSERT_TIME=
+       <foreach close="end" collection="list" index="index" item="item" open="case DAYPLAN_ID" separator=" ">
+          when #{item.dayplanId,jdbcType=DECIMAL} then #{item.insertTime,jdbcType=TIMESTAMP}
+       </foreach>
+       ,UPDATE_USERNAME=
+       <foreach close="end" collection="list" index="index" item="item" open="case DAYPLAN_ID" separator=" ">
+          when #{item.dayplanId,jdbcType=DECIMAL} then #{item.updateUsername,jdbcType=VARCHAR}
+       </foreach>
+       ,UPDATE_TIME=
+       <foreach close="end" collection="list" index="index" item="item" open="case DAYPLAN_ID" separator=" ">
+          when #{item.dayplanId,jdbcType=DECIMAL} then #{item.updateTime,jdbcType=TIMESTAMP}
+       </foreach>
+       ,INSERT_UPDATE_REMARK=
+       <foreach close="end" collection="list" index="index" item="item" open="case DAYPLAN_ID" separator=" ">
+          when #{item.dayplanId,jdbcType=DECIMAL} then #{item.insertUpdateRemark,jdbcType=VARCHAR}
+       </foreach>
+     where DAYPLAN_ID in 
+     <foreach close=")" collection="list" index="index" item="item" open="(" separator=",">
+    #{item.dayplanId,jdbcType=DECIMAL}
+     </foreach> 
+  </update>
+  <delete id="batchDelete" parameterType="java.util.List">
+    delete from AMSTRUCK_RAIL_DAYPLAN
+    where DAYPLAN_ID in 
+    <foreach close=")" collection="list" item="id" open="(" separator=",">
+      #{id}
+    </foreach>
+  </delete>
+  <!-- 友情提示!!!-->
+  <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
+
+  
+</mapper>

+ 2211 - 0
src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderMapper.xml

@@ -0,0 +1,2211 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.steerinfo.dil.mapper.OmstruckOrderMapper">
+    <resultMap id="BaseResultMap" type="com.steerinfo.dil.model.OmstruckOrder">
+        <id column="ORDER_ID" jdbcType="DECIMAL" property="orderId"/>
+        <result column="ORDER_PLAN_ID" jdbcType="DECIMAL" property="orderPlanId"/>
+        <result column="ORDER_NUMBER" jdbcType="VARCHAR" property="orderNumber"/>
+        <result column="CAPACITY_ID" jdbcType="DECIMAL" property="capacityId"/>
+        <result column="ORDER_ISSUE_TIME" jdbcType="TIMESTAMP" property="orderIssueTime"/>
+        <result column="ORDER_RECEIVE_STATUS" jdbcType="DECIMAL" property="orderReceiveStatus"/>
+        <result column="ORDER_RECEIVE_REFUSE_TIME" jdbcType="TIMESTAMP" property="orderReceiveRefuseTime"/>
+        <result column="ORDER_COMMUNICATION_DURATION" jdbcType="DECIMAL" property="orderCommunicationDuration"/>
+        <result column="ORDER_STATUS" jdbcType="DECIMAL" property="orderStatus"/>
+        <result column="INSERT_USERNAME" jdbcType="VARCHAR" property="insertUsername"/>
+        <result column="INSERT_TIME" jdbcType="TIMESTAMP" property="insertTime"/>
+        <result column="UPDATE_USERNAME" jdbcType="VARCHAR" property="updateUsername"/>
+        <result column="UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime"/>
+        <result column="INSERT_UPDATE_REMARK" jdbcType="VARCHAR" property="insertUpdateRemark"/>
+        <result column="DELETED" jdbcType="DECIMAL" property="deleted"/>
+        <result column="ORDER_TYPE" jdbcType="DECIMAL" property="orderType"/>
+        <result column="ORDER_LINE_SEQUENCE" jdbcType="DECIMAL" property="orderLineSequence"/>
+        <result column="LINE_ID" jdbcType="DECIMAL" property="lineId"/>
+        <result column="ORDER_ENTRY_TIME" jdbcType="TIMESTAMP" property="orderEntryTime"/>
+        <result column="DRIVER_CAPACITY_ID" jdbcType="DECIMAL" property="driverCapacityId"/>
+        <result column="UNLOAD_POINT_ID" jdbcType="DECIMAL" property="unloadPointId"/>
+    </resultMap>
+    <sql id="columns">
+        ORDER_ID, ORDER_PLAN_ID, ORDER_NUMBER, CAPACITY_ID, ORDER_ISSUE_TIME, ORDER_RECEIVE_STATUS,
+    ORDER_RECEIVE_REFUSE_TIME, ORDER_COMMUNICATION_DURATION, ORDER_STATUS, INSERT_USERNAME,
+    INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK, DELETED, ORDER_TYPE,
+    ORDER_LINE_SEQUENCE, LINE_ID, ORDER_ENTRY_TIME, DRIVER_CAPACITY_ID, UNLOAD_POINT_ID
+    </sql>
+    <sql id="columns_alias">
+        t.ORDER_ID, t.ORDER_PLAN_ID, t.ORDER_NUMBER, t.CAPACITY_ID, t.ORDER_ISSUE_TIME, t.ORDER_RECEIVE_STATUS,
+    t.ORDER_RECEIVE_REFUSE_TIME, t.ORDER_COMMUNICATION_DURATION, t.ORDER_STATUS, t.INSERT_USERNAME,
+    t.INSERT_TIME, t.UPDATE_USERNAME, t.UPDATE_TIME, t.INSERT_UPDATE_REMARK, t.DELETED,
+    t.ORDER_TYPE, t.ORDER_LINE_SEQUENCE, t.LINE_ID, t.ORDER_ENTRY_TIME, t.DRIVER_CAPACITY_ID,
+    t.UNLOAD_POINT_ID
+    </sql>
+    <sql id="select">
+        SELECT
+        <include refid="columns"/>
+        FROM OMSTRUCK_ORDER
+    </sql>
+    <sql id="select_alias">
+        SELECT
+        <include refid="columns_alias"/>
+        FROM OMSTRUCK_ORDER t
+    </sql>
+    <sql id="where">
+        <where>
+            <if test="orderId != null">
+                and ORDER_ID = #{orderId}
+            </if>
+            <if test="orderPlanId != null">
+                and ORDER_PLAN_ID = #{orderPlanId}
+            </if>
+            <if test="orderNumber != null and orderNumber != ''">
+                and ORDER_NUMBER = #{orderNumber}
+            </if>
+            <if test="capacityId != null">
+                and CAPACITY_ID = #{capacityId}
+            </if>
+            <if test="orderIssueTime != null">
+                and TO_CHAR(ORDER_ISSUE_TIME,'yyyy-MM-dd') = #{orderIssueTime}
+            </if>
+            <if test="orderReceiveStatus != null">
+                and ORDER_RECEIVE_STATUS = #{orderReceiveStatus}
+            </if>
+            <if test="orderReceiveRefuseTime != null">
+                and TO_CHAR(ORDER_RECEIVE_REFUSE_TIME,'yyyy-MM-dd') = #{orderReceiveRefuseTime}
+            </if>
+            <if test="orderCommunicationDuration != null">
+                and ORDER_COMMUNICATION_DURATION = #{orderCommunicationDuration}
+            </if>
+            <if test="orderStatus != null">
+                and ORDER_STATUS = #{orderStatus}
+            </if>
+            <if test="insertUsername != null and insertUsername != ''">
+                and INSERT_USERNAME = #{insertUsername}
+            </if>
+            <if test="insertTime != null">
+                and TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = #{insertTime}
+            </if>
+            <if test="updateUsername != null and updateUsername != ''">
+                and UPDATE_USERNAME = #{updateUsername}
+            </if>
+            <if test="updateTime != null">
+                and TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = #{updateTime}
+            </if>
+            <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+                and INSERT_UPDATE_REMARK = #{insertUpdateRemark}
+            </if>
+            <if test="deleted != null">
+                and DELETED = #{deleted}
+            </if>
+            <if test="orderType != null">
+                and ORDER_TYPE = #{orderType}
+            </if>
+            <if test="orderLineSequence != null">
+                and ORDER_LINE_SEQUENCE = #{orderLineSequence}
+            </if>
+            <if test="lineId != null">
+                and LINE_ID = #{lineId}
+            </if>
+            <if test="orderEntryTime != null">
+                and TO_CHAR(ORDER_ENTRY_TIME,'yyyy-MM-dd') = #{orderEntryTime}
+            </if>
+            <if test="driverCapacityId != null">
+                and DRIVER_CAPACITY_ID = #{driverCapacityId}
+            </if>
+            <if test="unloadPointId != null">
+                and UNLOAD_POINT_ID = #{unloadPointId}
+            </if>
+        </where>
+    </sql>
+    <sql id="whereLike">
+        <where>
+            <if test="orderId != null">
+                and ORDER_ID = #{orderId}
+            </if>
+            <if test="orderPlanId != null">
+                and ORDER_PLAN_ID = #{orderPlanId}
+            </if>
+            <if test="orderNumber != null and orderNumber != ''">
+                and ORDER_NUMBER LIKE '%${orderNumber}%'
+            </if>
+            <if test="capacityId != null">
+                and CAPACITY_ID = #{capacityId}
+            </if>
+            <if test="orderIssueTime != null">
+                and TO_CHAR(ORDER_ISSUE_TIME,'yyyy-MM-dd') = #{orderIssueTime}
+            </if>
+            <if test="orderReceiveStatus != null">
+                and ORDER_RECEIVE_STATUS = #{orderReceiveStatus}
+            </if>
+            <if test="orderReceiveRefuseTime != null">
+                and TO_CHAR(ORDER_RECEIVE_REFUSE_TIME,'yyyy-MM-dd') = #{orderReceiveRefuseTime}
+            </if>
+            <if test="orderCommunicationDuration != null">
+                and ORDER_COMMUNICATION_DURATION = #{orderCommunicationDuration}
+            </if>
+            <if test="orderStatus != null">
+                and ORDER_STATUS = #{orderStatus}
+            </if>
+            <if test="insertUsername != null and insertUsername != ''">
+                and INSERT_USERNAME LIKE '%${insertUsername}%'
+            </if>
+            <if test="insertTime != null">
+                and TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = #{insertTime}
+            </if>
+            <if test="updateUsername != null and updateUsername != ''">
+                and UPDATE_USERNAME LIKE '%${updateUsername}%'
+            </if>
+            <if test="updateTime != null">
+                and TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = #{updateTime}
+            </if>
+            <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+                and INSERT_UPDATE_REMARK LIKE '%${insertUpdateRemark}%'
+            </if>
+            <if test="deleted != null">
+                and DELETED = #{deleted}
+            </if>
+            <if test="orderType != null">
+                and ORDER_TYPE = #{orderType}
+            </if>
+            <if test="orderLineSequence != null">
+                and ORDER_LINE_SEQUENCE = #{orderLineSequence}
+            </if>
+            <if test="lineId != null">
+                and LINE_ID = #{lineId}
+            </if>
+            <if test="orderEntryTime != null">
+                and TO_CHAR(ORDER_ENTRY_TIME,'yyyy-MM-dd') = #{orderEntryTime}
+            </if>
+            <if test="driverCapacityId != null">
+                and DRIVER_CAPACITY_ID = #{driverCapacityId}
+            </if>
+            <if test="unloadPointId != null">
+                and UNLOAD_POINT_ID = #{unloadPointId}
+            </if>
+        </where>
+    </sql>
+    <delete id="deleteByPrimaryKey" parameterType="java.math.BigDecimal">
+        delete
+        from OMSTRUCK_ORDER
+        where ORDER_ID = #{orderId,jdbcType=DECIMAL}
+    </delete>
+    <delete id="deleteBySelectiveElement" parameterType="java.util.HashMap">
+        delete from OMSTRUCK_ORDER
+        where 1!=1
+        <if test="orderPlanId != null">
+            or ORDER_PLAN_ID = #{orderPlanId}
+        </if>
+        <if test="orderNumber != null and orderNumber != ''">
+            or ORDER_NUMBER = #{orderNumber}
+        </if>
+        <if test="capacityId != null">
+            or CAPACITY_ID = #{capacityId}
+        </if>
+        <if test="orderIssueTime != null">
+            or TO_CHAR(ORDER_ISSUE_TIME,'yyyy-MM-dd') = '#{orderIssueTime}'
+        </if>
+        <if test="orderReceiveStatus != null">
+            or ORDER_RECEIVE_STATUS = #{orderReceiveStatus}
+        </if>
+        <if test="orderReceiveRefuseTime != null">
+            or TO_CHAR(ORDER_RECEIVE_REFUSE_TIME,'yyyy-MM-dd') = '#{orderReceiveRefuseTime}'
+        </if>
+        <if test="orderCommunicationDuration != null">
+            or ORDER_COMMUNICATION_DURATION = #{orderCommunicationDuration}
+        </if>
+        <if test="orderStatus != null">
+            or ORDER_STATUS = #{orderStatus}
+        </if>
+        <if test="insertUsername != null and insertUsername != ''">
+            or INSERT_USERNAME = #{insertUsername}
+        </if>
+        <if test="insertTime != null">
+            or TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = '#{insertTime}'
+        </if>
+        <if test="updateUsername != null and updateUsername != ''">
+            or UPDATE_USERNAME = #{updateUsername}
+        </if>
+        <if test="updateTime != null">
+            or TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = '#{updateTime}'
+        </if>
+        <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+            or INSERT_UPDATE_REMARK = #{insertUpdateRemark}
+        </if>
+        <if test="deleted != null">
+            or DELETED = #{deleted}
+        </if>
+        <if test="orderType != null">
+            or ORDER_TYPE = #{orderType}
+        </if>
+        <if test="orderLineSequence != null">
+            or ORDER_LINE_SEQUENCE = #{orderLineSequence}
+        </if>
+        <if test="lineId != null">
+            or LINE_ID = #{lineId}
+        </if>
+        <if test="orderEntryTime != null">
+            or TO_CHAR(ORDER_ENTRY_TIME,'yyyy-MM-dd') = '#{orderEntryTime}'
+        </if>
+        <if test="driverCapacityId != null">
+            or DRIVER_CAPACITY_ID = #{driverCapacityId}
+        </if>
+        <if test="unloadPointId != null">
+            or UNLOAD_POINT_ID = #{unloadPointId}
+        </if>
+    </delete>
+    <insert id="insert" parameterType="com.steerinfo.dil.model.OmstruckOrder">
+        insert into OMSTRUCK_ORDER (ORDER_ID, ORDER_PLAN_ID, ORDER_NUMBER,
+                                    CAPACITY_ID, ORDER_ISSUE_TIME, ORDER_RECEIVE_STATUS,
+                                    ORDER_RECEIVE_REFUSE_TIME, ORDER_COMMUNICATION_DURATION,
+                                    ORDER_STATUS, INSERT_USERNAME, INSERT_TIME,
+                                    UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK,
+                                    DELETED, ORDER_TYPE, ORDER_LINE_SEQUENCE,
+                                    LINE_ID, ORDER_ENTRY_TIME, DRIVER_CAPACITY_ID,
+                                    UNLOAD_POINT_ID)
+        values (#{orderId,jdbcType=DECIMAL}, #{orderPlanId,jdbcType=DECIMAL}, #{orderNumber,jdbcType=VARCHAR},
+                #{capacityId,jdbcType=DECIMAL}, #{orderIssueTime,jdbcType=TIMESTAMP},
+                #{orderReceiveStatus,jdbcType=DECIMAL},
+                #{orderReceiveRefuseTime,jdbcType=TIMESTAMP}, #{orderCommunicationDuration,jdbcType=DECIMAL},
+                #{orderStatus,jdbcType=DECIMAL}, #{insertUsername,jdbcType=VARCHAR}, #{insertTime,jdbcType=TIMESTAMP},
+                #{updateUsername,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP},
+                #{insertUpdateRemark,jdbcType=VARCHAR},
+                #{deleted,jdbcType=DECIMAL}, #{orderType,jdbcType=DECIMAL}, #{orderLineSequence,jdbcType=DECIMAL},
+                #{lineId,jdbcType=DECIMAL}, #{orderEntryTime,jdbcType=TIMESTAMP}, #{driverCapacityId,jdbcType=DECIMAL},
+                #{unloadPointId,jdbcType=DECIMAL})
+    </insert>
+    <insert id="insertSelective" parameterType="com.steerinfo.dil.model.OmstruckOrder">
+        insert into OMSTRUCK_ORDER
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="orderId != null">
+                ORDER_ID,
+            </if>
+            <if test="orderPlanId != null">
+                ORDER_PLAN_ID,
+            </if>
+            <if test="orderNumber != null">
+                ORDER_NUMBER,
+            </if>
+            <if test="capacityId != null">
+                CAPACITY_ID,
+            </if>
+            <if test="orderIssueTime != null">
+                ORDER_ISSUE_TIME,
+            </if>
+            <if test="orderReceiveStatus != null">
+                ORDER_RECEIVE_STATUS,
+            </if>
+            <if test="orderReceiveRefuseTime != null">
+                ORDER_RECEIVE_REFUSE_TIME,
+            </if>
+            <if test="orderCommunicationDuration != null">
+                ORDER_COMMUNICATION_DURATION,
+            </if>
+            <if test="orderStatus != null">
+                ORDER_STATUS,
+            </if>
+            <if test="insertUsername != null">
+                INSERT_USERNAME,
+            </if>
+            <if test="insertTime != null">
+                INSERT_TIME,
+            </if>
+            <if test="updateUsername != null">
+                UPDATE_USERNAME,
+            </if>
+            <if test="updateTime != null">
+                UPDATE_TIME,
+            </if>
+            <if test="insertUpdateRemark != null">
+                INSERT_UPDATE_REMARK,
+            </if>
+            <if test="deleted != null">
+                DELETED,
+            </if>
+            <if test="orderType != null">
+                ORDER_TYPE,
+            </if>
+            <if test="orderLineSequence != null">
+                ORDER_LINE_SEQUENCE,
+            </if>
+            <if test="lineId != null">
+                LINE_ID,
+            </if>
+            <if test="orderEntryTime != null">
+                ORDER_ENTRY_TIME,
+            </if>
+            <if test="driverCapacityId != null">
+                DRIVER_CAPACITY_ID,
+            </if>
+            <if test="unloadPointId != null">
+                UNLOAD_POINT_ID,
+            </if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="orderId != null">
+                #{orderId,jdbcType=DECIMAL},
+            </if>
+            <if test="orderPlanId != null">
+                #{orderPlanId,jdbcType=DECIMAL},
+            </if>
+            <if test="orderNumber != null">
+                #{orderNumber,jdbcType=VARCHAR},
+            </if>
+            <if test="capacityId != null">
+                #{capacityId,jdbcType=DECIMAL},
+            </if>
+            <if test="orderIssueTime != null">
+                #{orderIssueTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="orderReceiveStatus != null">
+                #{orderReceiveStatus,jdbcType=DECIMAL},
+            </if>
+            <if test="orderReceiveRefuseTime != null">
+                #{orderReceiveRefuseTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="orderCommunicationDuration != null">
+                #{orderCommunicationDuration,jdbcType=DECIMAL},
+            </if>
+            <if test="orderStatus != null">
+                #{orderStatus,jdbcType=DECIMAL},
+            </if>
+            <if test="insertUsername != null">
+                #{insertUsername,jdbcType=VARCHAR},
+            </if>
+            <if test="insertTime != null">
+                #{insertTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="updateUsername != null">
+                #{updateUsername,jdbcType=VARCHAR},
+            </if>
+            <if test="updateTime != null">
+                #{updateTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="insertUpdateRemark != null">
+                #{insertUpdateRemark,jdbcType=VARCHAR},
+            </if>
+            <if test="deleted != null">
+                #{deleted,jdbcType=DECIMAL},
+            </if>
+            <if test="orderType != null">
+                #{orderType,jdbcType=DECIMAL},
+            </if>
+            <if test="orderLineSequence != null">
+                #{orderLineSequence,jdbcType=DECIMAL},
+            </if>
+            <if test="lineId != null">
+                #{lineId,jdbcType=DECIMAL},
+            </if>
+            <if test="orderEntryTime != null">
+                #{orderEntryTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="driverCapacityId != null">
+                #{driverCapacityId,jdbcType=DECIMAL},
+            </if>
+            <if test="unloadPointId != null">
+                #{unloadPointId,jdbcType=DECIMAL},
+            </if>
+        </trim>
+    </insert>
+    <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.OmstruckOrder">
+        update OMSTRUCK_ORDER
+        set ORDER_PLAN_ID                = #{orderPlanId,jdbcType=DECIMAL},
+            ORDER_NUMBER                 = #{orderNumber,jdbcType=VARCHAR},
+            CAPACITY_ID                  = #{capacityId,jdbcType=DECIMAL},
+            ORDER_ISSUE_TIME             = #{orderIssueTime,jdbcType=TIMESTAMP},
+            ORDER_RECEIVE_STATUS         = #{orderReceiveStatus,jdbcType=DECIMAL},
+            ORDER_RECEIVE_REFUSE_TIME    = #{orderReceiveRefuseTime,jdbcType=TIMESTAMP},
+            ORDER_COMMUNICATION_DURATION = #{orderCommunicationDuration,jdbcType=DECIMAL},
+            ORDER_STATUS                 = #{orderStatus,jdbcType=DECIMAL},
+            INSERT_USERNAME              = #{insertUsername,jdbcType=VARCHAR},
+            INSERT_TIME                  = #{insertTime,jdbcType=TIMESTAMP},
+            UPDATE_USERNAME              = #{updateUsername,jdbcType=VARCHAR},
+            UPDATE_TIME                  = #{updateTime,jdbcType=TIMESTAMP},
+            INSERT_UPDATE_REMARK         = #{insertUpdateRemark,jdbcType=VARCHAR},
+            DELETED                      = #{deleted,jdbcType=DECIMAL},
+            ORDER_TYPE                   = #{orderType,jdbcType=DECIMAL},
+            ORDER_LINE_SEQUENCE          = #{orderLineSequence,jdbcType=DECIMAL},
+            LINE_ID                      = #{lineId,jdbcType=DECIMAL},
+            ORDER_ENTRY_TIME             = #{orderEntryTime,jdbcType=TIMESTAMP},
+            DRIVER_CAPACITY_ID           = #{driverCapacityId,jdbcType=DECIMAL},
+            UNLOAD_POINT_ID              = #{unloadPointId,jdbcType=DECIMAL}
+        where ORDER_ID = #{orderId,jdbcType=DECIMAL}
+    </update>
+    <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.OmstruckOrder">
+        update OMSTRUCK_ORDER
+        <set>
+            <if test="orderPlanId != null">
+                ORDER_PLAN_ID = #{orderPlanId,jdbcType=DECIMAL},
+            </if>
+            <if test="orderNumber != null">
+                ORDER_NUMBER = #{orderNumber,jdbcType=VARCHAR},
+            </if>
+            <if test="capacityId != null">
+                CAPACITY_ID = #{capacityId,jdbcType=DECIMAL},
+            </if>
+            <if test="orderIssueTime != null">
+                ORDER_ISSUE_TIME = #{orderIssueTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="orderReceiveStatus != null">
+                ORDER_RECEIVE_STATUS = #{orderReceiveStatus,jdbcType=DECIMAL},
+            </if>
+            <if test="orderReceiveRefuseTime != null">
+                ORDER_RECEIVE_REFUSE_TIME = #{orderReceiveRefuseTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="orderCommunicationDuration != null">
+                ORDER_COMMUNICATION_DURATION = #{orderCommunicationDuration,jdbcType=DECIMAL},
+            </if>
+            <if test="orderStatus != null">
+                ORDER_STATUS = #{orderStatus,jdbcType=DECIMAL},
+            </if>
+            <if test="insertUsername != null">
+                INSERT_USERNAME = #{insertUsername,jdbcType=VARCHAR},
+            </if>
+            <if test="insertTime != null">
+                INSERT_TIME = #{insertTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="updateUsername != null">
+                UPDATE_USERNAME = #{updateUsername,jdbcType=VARCHAR},
+            </if>
+            <if test="updateTime != null">
+                UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="insertUpdateRemark != null">
+                INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR},
+            </if>
+            <if test="deleted != null">
+                DELETED = #{deleted,jdbcType=DECIMAL},
+            </if>
+            <if test="orderType != null">
+                ORDER_TYPE = #{orderType,jdbcType=DECIMAL},
+            </if>
+            <if test="orderLineSequence != null">
+                ORDER_LINE_SEQUENCE = #{orderLineSequence,jdbcType=DECIMAL},
+            </if>
+            <if test="lineId != null">
+                LINE_ID = #{lineId,jdbcType=DECIMAL},
+            </if>
+            <if test="orderEntryTime != null">
+                ORDER_ENTRY_TIME = #{orderEntryTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="driverCapacityId != null">
+                DRIVER_CAPACITY_ID = #{driverCapacityId,jdbcType=DECIMAL},
+            </if>
+            <if test="unloadPointId != null">
+                UNLOAD_POINT_ID = #{unloadPointId,jdbcType=DECIMAL},
+            </if>
+        </set>
+        where ORDER_ID = #{orderId,jdbcType=DECIMAL}
+    </update>
+    <select id="selectByPrimaryKey" parameterType="java.math.BigDecimal" resultMap="BaseResultMap">
+        <include refid="select"/>
+        where ORDER_ID = #{orderId,jdbcType=DECIMAL}
+    </select>
+    <select id="selectByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
+        <include refid="select"/>
+        <include refid="where"/>
+    </select>
+    <select id="selectLikeByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
+        <include refid="select"/>
+        <include refid="whereLike"/>
+    </select>
+    <insert id="batchInsert" parameterType="java.util.List">
+        insert into OMSTRUCK_ORDER
+        (ORDER_ID,
+        ORDER_PLAN_ID, ORDER_NUMBER, CAPACITY_ID,
+        ORDER_ISSUE_TIME, ORDER_RECEIVE_STATUS,
+        ORDER_RECEIVE_REFUSE_TIME, ORDER_COMMUNICATION_DURATION,
+        ORDER_STATUS, INSERT_USERNAME,
+        INSERT_TIME, UPDATE_USERNAME,
+        UPDATE_TIME, INSERT_UPDATE_REMARK,
+        DELETED, ORDER_TYPE, ORDER_LINE_SEQUENCE,
+        LINE_ID, ORDER_ENTRY_TIME, DRIVER_CAPACITY_ID,
+        UNLOAD_POINT_ID)
+        ( <foreach collection="list" item="item" separator="union all">
+        select
+        #{item.orderId,jdbcType=DECIMAL},
+        #{item.orderPlanId,jdbcType=DECIMAL}, #{item.orderNumber,jdbcType=VARCHAR}, #{item.capacityId,jdbcType=DECIMAL},
+        #{item.orderIssueTime,jdbcType=TIMESTAMP}, #{item.orderReceiveStatus,jdbcType=DECIMAL},
+        #{item.orderReceiveRefuseTime,jdbcType=TIMESTAMP}, #{item.orderCommunicationDuration,jdbcType=DECIMAL},
+        #{item.orderStatus,jdbcType=DECIMAL}, #{item.insertUsername,jdbcType=VARCHAR},
+        #{item.insertTime,jdbcType=TIMESTAMP}, #{item.updateUsername,jdbcType=VARCHAR},
+        #{item.updateTime,jdbcType=TIMESTAMP}, #{item.insertUpdateRemark,jdbcType=VARCHAR},
+        #{item.deleted,jdbcType=DECIMAL}, #{item.orderType,jdbcType=DECIMAL},
+        #{item.orderLineSequence,jdbcType=DECIMAL},
+        #{item.lineId,jdbcType=DECIMAL}, #{item.orderEntryTime,jdbcType=TIMESTAMP},
+        #{item.driverCapacityId,jdbcType=DECIMAL},
+        #{item.unloadPointId,jdbcType=DECIMAL} from dual
+    </foreach> )
+    </insert>
+    <update id="batchUpdate" parameterType="java.util.List">
+        update OMSTRUCK_ORDER
+        set
+        ORDER_ID=
+        <foreach collection="list" item="item" index="index" separator=" " open="case ORDER_ID" close="end">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.orderId,jdbcType=DECIMAL}
+        </foreach>
+        ,ORDER_PLAN_ID=
+        <foreach collection="list" item="item" index="index" separator=" " open="case ORDER_ID" close="end">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.orderPlanId,jdbcType=DECIMAL}
+        </foreach>
+        ,ORDER_NUMBER=
+        <foreach collection="list" item="item" index="index" separator=" " open="case ORDER_ID" close="end">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.orderNumber,jdbcType=VARCHAR}
+        </foreach>
+        ,CAPACITY_ID=
+        <foreach collection="list" item="item" index="index" separator=" " open="case ORDER_ID" close="end">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.capacityId,jdbcType=DECIMAL}
+        </foreach>
+        ,ORDER_ISSUE_TIME=
+        <foreach collection="list" item="item" index="index" separator=" " open="case ORDER_ID" close="end">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.orderIssueTime,jdbcType=TIMESTAMP}
+        </foreach>
+        ,ORDER_RECEIVE_STATUS=
+        <foreach collection="list" item="item" index="index" separator=" " open="case ORDER_ID" close="end">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.orderReceiveStatus,jdbcType=DECIMAL}
+        </foreach>
+        ,ORDER_RECEIVE_REFUSE_TIME=
+        <foreach collection="list" item="item" index="index" separator=" " open="case ORDER_ID" close="end">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.orderReceiveRefuseTime,jdbcType=TIMESTAMP}
+        </foreach>
+        ,ORDER_COMMUNICATION_DURATION=
+        <foreach collection="list" item="item" index="index" separator=" " open="case ORDER_ID" close="end">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.orderCommunicationDuration,jdbcType=DECIMAL}
+        </foreach>
+        ,ORDER_STATUS=
+        <foreach collection="list" item="item" index="index" separator=" " open="case ORDER_ID" close="end">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.orderStatus,jdbcType=DECIMAL}
+        </foreach>
+        ,INSERT_USERNAME=
+        <foreach collection="list" item="item" index="index" separator=" " open="case ORDER_ID" close="end">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.insertUsername,jdbcType=VARCHAR}
+        </foreach>
+        ,INSERT_TIME=
+        <foreach collection="list" item="item" index="index" separator=" " open="case ORDER_ID" close="end">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.insertTime,jdbcType=TIMESTAMP}
+        </foreach>
+        ,UPDATE_USERNAME=
+        <foreach collection="list" item="item" index="index" separator=" " open="case ORDER_ID" close="end">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.updateUsername,jdbcType=VARCHAR}
+        </foreach>
+        ,UPDATE_TIME=
+        <foreach collection="list" item="item" index="index" separator=" " open="case ORDER_ID" close="end">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.updateTime,jdbcType=TIMESTAMP}
+        </foreach>
+        ,INSERT_UPDATE_REMARK=
+        <foreach collection="list" item="item" index="index" separator=" " open="case ORDER_ID" close="end">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.insertUpdateRemark,jdbcType=VARCHAR}
+        </foreach>
+        ,DELETED=
+        <foreach collection="list" item="item" index="index" separator=" " open="case ORDER_ID" close="end">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.deleted,jdbcType=DECIMAL}
+        </foreach>
+        ,ORDER_TYPE=
+        <foreach collection="list" item="item" index="index" separator=" " open="case ORDER_ID" close="end">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.orderType,jdbcType=DECIMAL}
+        </foreach>
+        ,ORDER_LINE_SEQUENCE=
+        <foreach collection="list" item="item" index="index" separator=" " open="case ORDER_ID" close="end">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.orderLineSequence,jdbcType=DECIMAL}
+        </foreach>
+        ,LINE_ID=
+        <foreach collection="list" item="item" index="index" separator=" " open="case ORDER_ID" close="end">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.lineId,jdbcType=DECIMAL}
+        </foreach>
+        ,ORDER_ENTRY_TIME=
+        <foreach collection="list" item="item" index="index" separator=" " open="case ORDER_ID" close="end">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.orderEntryTime,jdbcType=TIMESTAMP}
+        </foreach>
+        ,DRIVER_CAPACITY_ID=
+        <foreach collection="list" item="item" index="index" separator=" " open="case ORDER_ID" close="end">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.driverCapacityId,jdbcType=DECIMAL}
+        </foreach>
+        ,UNLOAD_POINT_ID=
+        <foreach collection="list" item="item" index="index" separator=" " open="case ORDER_ID" close="end">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.unloadPointId,jdbcType=DECIMAL}
+        </foreach>
+        where ORDER_ID in
+        <foreach collection="list" index="index" item="item" separator="," open="(" close=")">
+            #{item.orderId,jdbcType=DECIMAL}
+        </foreach>
+    </update>
+    <delete id="batchDelete" parameterType="java.util.List">
+        delete from OMSTRUCK_ORDER
+        where ORDER_ID in
+        <foreach collection="list" item="id" open="(" close=")" separator=",">
+            #{id}
+        </foreach>
+    </delete>
+    <!-- 友情提示!!!-->
+    <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
+    <!--  根据插入时间排序  -->
+    <sql id="orderBy">
+        <if test="orderField != null and orderField != ''">
+            order by "${orderField}"
+            <if test="orderType != null and orderType != ''">
+                ${orderType}
+            </if>
+        </if>
+    </sql>
+
+    <!--  查询运输订单 -->
+    <select id="getAllTruckOrder" parameterType="java.util.Map" resultType="java.util.LinkedHashMap">
+        select
+        *
+        from
+        (
+        select
+        OO.ORDER_ID "orderId",
+        APO.PURCHASE_ORDER_ID "purchaseOrderId",
+        AP.PLAN_ID "planId",
+        APO.PURCHASE_ORDER_NO "purchaseOrderNo",
+        RM.MATERIAL_NAME "materialName",
+        AP.PLAN_NO "planNo",
+        RC.CAPACITY_NUMBER "capacityNumber",
+        RC.CAPACITY_ID "capacityId",
+        RCD.DRIVER_NAME "driverName",
+        OOM.ORDER_MATERIAL_WEIGHT "orderMaterialWeight",
+        AP.PLAN_TRUCK_TIME "planTruckTime",
+        AP.PLAN_INCOMING_TIME "planIncomingTime",
+        OO.INSERT_USERNAME "insertUsername",
+        OO.INSERT_TIME "insertTime",
+        OO.ORDER_NUMBER "orderNumber",
+        RW.WAREHOUSE_NAME "warehouseName", --卸货点
+        OO.ORDER_ENTRY_TIME "orderEntryTime", --进厂时间
+        RS.SUPPLIER_NAME "supplierName", --发货单位
+        RCSE.CONSIGNEE_COMPANY_NAME "consigneeCompanyName" --收货单位
+
+        from OMSTRUCK_ORDER OO
+        left join AMS_PURCHASE_ORDER APO
+        on OO.ORDER_PLAN_ID = APO.PURCHASE_ORDER_ID
+        left join AMSTRUCK_PURPLAN AP
+        on AP.BATCH_ID = APO.BATCH_ID and AP.PLAN_STATUS != 3
+        left join RMS_DRIVER_CAPACITY RDC
+        on RDC.DRIVER_CAPACITY_ID = OO.DRIVER_CAPACITY_ID
+        left join RMS_CAPACITY RC
+        on RC.CAPACITY_ID = RDC.CAPACITY_ID
+        left join RMS_CAR_DRIVER RCD
+        on RCD.DRIVER_ID = RDC.DRIVER_ID
+        left join OMSTRUCK_ORDER_MATERIAL OOM
+        on OOM.ORDER_ID = OO.ORDER_ID
+        left join RMS_MATERIAL RM
+        on RM.MATERIAL_ID = OOM.MATERIAL_ID
+        left join RMS_WAREHOUSE RW
+        on OO.UNLOAD_POINT_ID = RW.WAREHOUSE_ID
+        left join RMS_SUPPLIER RS
+        on RS.SUPPLIER_ID = APO.SUPPLIER_UNIT_ID
+        left join RMS_CONSIGNEE RCSE
+        on APO.RECEIVE_UNIT_ID = RCSE.CONSIGNEE_ID
+        <where>
+            <choose>
+                <when test="orderStatus != 8">
+                    and OO.ORDER_STATUS = #{orderStatus}
+                </when>
+                <otherwise>
+                    and OO.ORDER_STATUS in (1, 2, 4, 5, 6)
+                </otherwise>
+            </choose>
+            <if test="planId != null ">
+                and AP.PLAN_ID = #{planId}
+            </if>
+            <if test="orderType != null">
+                and OO.ORDER_TYPE = #{orderType}
+            </if>
+            <if test="fuelOrder != null">
+                and OO.ORDER_TYPE in (6, 7)
+            </if>
+        </where>
+        )
+        <where>
+            <if test="materialName != null">
+                <foreach collection="materialName" item="item" open="(" separator="or" close=")">
+                    "materialName" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="orderMaterialWeight != null">
+                and
+                <foreach collection="orderMaterialWeight" item="item" open="(" separator="or" close=")">
+                    "orderMaterialWeight" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="planNo != null">
+                and
+                <foreach collection="planNo" item="item" open="(" separator="or" close=")">
+                    "planNo" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="capacityNumber != null">
+                and
+                <foreach collection="capacityNumber" item="item" open="(" separator="or" close=")">
+                    "capacityNumber" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="driverName != null">
+                and
+                <foreach collection="driverName" item="item" open="(" separator="or" close=")">
+                    "driverName" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="planTruckTime != null">
+                and
+                <foreach collection="planTruckTime" item="item" open="(" separator="or" close=")">
+                    "planTruckTime" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="planIncomingTime != null">
+                and
+                <foreach collection="planIncomingTime" item="item" open="(" separator="or" close=")">
+                    "planIncomingTime" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="insertUsername != null">
+                and
+                <foreach collection="insertUsername" item="item" open="(" separator="or" close=")">
+                    "insertUsername" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="insertTime != null">
+                and
+                <foreach collection="insertTime" item="item" open="(" separator="or" close=")">
+                    "insertTime" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="warehouseName != null">
+                and
+                <foreach collection="warehouseName" item="item" open="(" separator="or" close=")">
+                    "warehouseName" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="orderNumber != null">
+                and
+                <foreach collection="orderNumber" item="item" open="(" separator="or" close=")">
+                    "orderNumber" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="orderEntryTime != null">
+                and
+                <foreach collection="orderEntryTime" item="item" open="(" separator="or" close=")">
+                    "orderEntryTime" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="supplierName != null">
+                and
+                <foreach collection="supplierName" item="item" open="(" separator="or" close=")">
+                    "supplierName" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="consigneeCompanyName != null">
+                and
+                <foreach collection="consigneeCompanyName" item="item" open="(" separator="or" close=")">
+                    "consigneeCompanyName" like '%${item}%'
+                </foreach>
+            </if>
+        </where>
+        <include refid="orderBy">
+        </include>
+        <if test="orderField == null  ">
+            order by "insertTime" desc
+        </if>
+    </select>
+
+    <!--  通过运输订单Id查询运输订单号 -->
+    <select id="getOrderNumberByOrderId" parameterType="int" resultType="string">
+        select OO.ORDER_NUMBER "orderNumber"
+        from OMSTRUCK_ORDER OO
+        where OO.ORDER_ID = #{orderId}
+    </select>
+
+    <!--  获取所有的运力信息 -->
+    <select id="getAllCapacity" parameterType="java.util.Map" resultType="java.util.LinkedHashMap">
+        select
+        *
+        from
+        (
+        select
+        RDC.DRIVER_CAPACITY_ID "driverCapacityId",
+        RC.CAPACITY_NUMBER "capacityNumber",
+        RCD.DRIVER_NAME "driverName",
+        RC.CAPACITY_VIP "capacityVip",
+        RCA.CARRIER_NAME "carrierName",
+        RCT.CAPACITY_TYPE_NAME "capacityTypeName",
+        RC.CAPACITY_BLACKLIST "capacityBlacklist",
+        RDC.INSERT_TIME "insertTime"
+        from RMS_DRIVER_CAPACITY RDC
+        left join RMS_CAPACITY RC
+        on RC.CAPACITY_ID = RDC.CAPACITY_ID
+        left join RMS_CARRIER RCA
+        on RC.CARRIER_ID = RCA.CARRIER_ID
+        left join RMS_CAR_DRIVER RCD
+        on RCD.DRIVER_ID = RDC.DRIVER_ID
+        left join RMS_CAPACITY_TYPE RCT
+        on RCT.CAPACITY_TYPE_ID = RC.CAPACITY_TYPE_ID
+        <where>
+            <if test="capacityTypeId != null">
+                RC.CAPACITY_TYPE_ID = #{capacityTypeId}
+            </if>
+            <if test="capacityStatus != null">
+                and RC.CAPACITY_STATUS = #{capacityStatus}
+            </if>
+            <if test="carrierId != null">
+                and RC.CARRIER_ID = #{carrierId}
+            </if>
+        </where>
+        )
+        <where>
+            <if test="capacityTypeName != null">
+                <foreach collection="capacityTypeName" item="item" open="(" separator="or" close=")">
+                    "capacityTypeName" like '%${item}%'
+                </foreach>
+            </if>
+
+            <if test="capacityNumber != null">
+                and
+                <foreach collection="capacityNumber" item="item" open="(" separator="or" close=")">
+                    "capacityNumber" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="driverName != null">
+                and
+                <foreach collection="driverName" item="item" open="(" separator="or" close=")">
+                    "driverName" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="capacityVip != null">
+                and
+                <foreach collection="capacityVip" item="item" open="(" separator="or" close=")">
+                    "capacityVip" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="carrierName != null">
+                and
+                <foreach collection="carrierName" item="item" open="(" separator="or" close=")">
+                    "carrierName" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="capacityBlacklist != null">
+                and
+                <foreach collection="capacityBlacklist" item="item" open="(" separator="or" close=")">
+                    "capacityBlacklist" like '%${item}%'
+                </foreach>
+            </if>
+        </where>
+        <include refid="orderBy">
+        </include>
+        <if test="orderField == null  ">
+            order by "insertTime" desc
+        </if>
+    </select>
+
+    <!--  通过Id查询派发时间 -->
+    <select id="getInsertTimeById" parameterType="int" resultType="java.util.Date">
+        select ORDER_ISSUE_TIME
+        from OMSTRUCK_ORDER
+        where ORDER_ID = #{orderId}
+    </select>
+
+    <!--  通过车牌号匹配运力Id -->
+    <select id="getCapacityIdByCapacityNum" parameterType="string" resultType="java.math.BigDecimal">
+        select CAPACITY_ID
+        from RMS_CAPACITY
+        where CAPACITY_NUMBER = #{capacityNumber}
+    </select>
+
+    <!--  通过运输订单ID 或运输订单号 查询 运力ID  -->
+    <select id="getCapacityIdByOrderOrNum" parameterType="java.util.Map" resultType="java.math.BigDecimal">
+        select CAPACITY_ID
+        from OMSTRUCK_ORDER
+        <where>
+            <if test="orderId != null">
+                ORDER_ID = #{orderId}
+            </if>
+            <if test="orderNumber != null">
+                and ORDER_NUMBER = #{orderNumber}
+            </if>
+        </where>
+
+    </select>
+
+    <!--  通过运力ID 或车牌号 修改 运力状态  -->
+    <update id="updateCapacityByCarIdOrNum" parameterType="java.util.Map">
+        update RMS_CAPACITY RC
+        set RC.CAPACITY_STATUS = #{capacityStatus}
+        where
+        <if test="capacityId != null">
+            RC.CAPACITY_ID = #{capacityId}
+        </if>
+        <if test="capacityNumber != null">
+            RC.CAPACITY_NUMBER = #{capacityNumber}
+        </if>
+    </update>
+
+
+    <!-- 销售物流,通过运力id修改运力状态 -->
+    <update id="updateCapacityById" parameterType="java.util.Map">
+        update RMS_CAPACITY RC
+        set RC.CAPACITY_STATUS = #{capacityStatus}
+        where
+        <if test="driverCapacityId != null">
+            RC.CAPACITY_ID = #{driverCapacityId}
+        </if>
+        <if test="capacityNumber != null">
+            RC.CAPACITY_NUMBER = #{capacityNumber}
+        </if>
+    </update>
+
+
+    <!-- 通过运力ID 查询采购司机接单数据  、通过运单号查询所有运单信息-->
+    <select id="getTruckOrderByCapacityNum" parameterType="java.util.Map" resultType="java.util.Map">
+        select *
+        from (
+        select OO.ORDER_NUMBER "orderNumber",
+        OOM.ORDER_MATERIAL_WEIGHT "orderMaterialWeight",
+        OO.ORDER_RECEIVE_REFUSE_TIME "orderReceiveRefuseTime",
+        RW.WAREHOUSE_NAME "warehouseName",
+        RM.MATERIAL_NAME "materialName",
+        RC.CAPACITY_NUMBER "capacityNumber",
+        RW2.WAREHOUSE_NAME "warehouseName2"
+        from OMSTRUCK_ORDER OO
+        left join RMS_DRIVER_CAPACITY RDC on OO.DRIVER_CAPACITY_ID = RDC.DRIVER_CAPACITY_ID
+        left join RMS_CAPACITY RC on RC.CAPACITY_ID = RDC.CAPACITY_ID
+        left join OMSTRUCK_ORDER_MATERIAL OOM on OOM.ORDER_ID = OO.ORDER_ID
+        left join RMS_MATERIAL RM on RM.MATERIAL_ID = OOM.MATERIAL_ID
+        left join RMS_WAREHOUSE RW on RW.WAREHOUSE_ID = OO.UNLOAD_POINT_ID
+        left join TMSTRUCK_TOTAL_RESULT TTR on TTR.ORDER_ID = OO.ORDER_ID
+        left join TMSTRUCK_LOAD_RESULT TLR on TLR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+        left join RMS_WAREHOUSE RW2 on RW2.WAREHOUSE_ID = TLR.LOADING_ID
+        where OO.ORDER_RECEIVE_STATUS = #{orderReceiveStatus}
+        and OO.ORDER_TYPE = #{orderTypee}
+        )
+        <where>
+            <if test="orderNumber != null">
+                <foreach collection="orderNumber" item="item" open="(" separator="or" close=")">
+                    "orderNumber" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="orderMaterialWeight != null">
+                and
+                <foreach collection="orderMaterialWeight" item="item" open="(" separator="or" close=")">
+                    "orderMaterialWeight" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="orderReceiveRefuseTime != null">
+                and
+                <foreach collection="orderReceiveRefuseTime" item="item" open="(" separator="or" close=")">
+                    "orderReceiveRefuseTime" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="warehouseName != null">
+                and
+                <foreach collection="warehouseName" item="item" open="(" separator="or" close=")">
+                    "warehouseName" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="capacityNumber != null">
+                and
+                <foreach collection="capacityNumber" item="item" open="(" separator="or" close=")">
+                    "capacityNumber" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="warehouseName2 != null">
+                and
+                <foreach collection="warehouseName2" item="item" open="(" separator="or" close=")">
+                    "warehouseName2" like '%${item}%'
+                </foreach>
+            </if>
+        </where>
+        <include refid="orderBy">
+        </include>
+        <if test="orderField == null  ">
+            order by "orderReceiveRefuseTime" desc
+        </if>
+    </select>
+
+    <!-- 通过运力ID 查询销售司机接单数据  、通过运单号查询所有运单信息-->
+    <select id="getSaleTruckOrderByCapacityNum" parameterType="java.util.Map" resultType="java.util.Map">
+        select
+        distinct *
+        from(
+        select
+        OO.INSERT_TIME "insertTime",
+        OO.ORDER_ID "orderId",
+        OO.ORDER_NUMBER "orderNumber",
+        RC.CAPACITY_NUMBER "carNumber",
+        ASO.SALE_NUMBER "saleNumber",
+        RM.MATERIAL_NAME "materialName",
+        OOM.ORDER_MATERIAL_WEIGHT "orderMaterialWeight",
+        RS.SHIPPER_NAME "shipperName",
+        RCO.CONSIGNEE_COMPANY_NAME "consigneeCompanyName",
+        RRA.ADDRESS_DELIVERY_ADDRESS "addressDeliveryAddress",
+        ASOM.SALE_DATE_OF_RECEIPT "saleDateOfReceipt"
+        from OMSTRUCK_ORDER OO
+        left join AMS_SALE_ORDER_MATERIAL ASOM
+        on ASOM.SALE_ORDER_MATERIAL_ID = OO.ORDER_PLAN_ID
+        left join AMS_SALE_ORDER ASO
+        on ASO.SALE_ORDER_ID = ASOM.SALE_ORDER_ID
+        left join RMS_SHIPPER RS
+        on RS.SHIPPER_ID = ASO.SHIPPER_ID
+        left join RMS_CONSIGNEE RCO
+        on RCO.CONSIGNEE_ID = ASO.RECEIVE_ID
+        left join RMS_RECEIVE_ADDRESS RRA
+        on RRA.ADDRESS_ID = ASOM.SALE_SHIPPING_ADDRESS_ID
+        left join RMS_CAPACITY RC --车牌号
+        on RC.CAPACITY_ID = OO.CAPACITY_ID
+        left join OMSTRUCK_ORDER_MATERIAL OOM --物资重量
+        on OOM.ORDER_ID = OO.ORDER_ID
+        left join RMS_MATERIAL RM --物资名称
+        on RM.MATERIAL_ID = OOM.MATERIAL_ID
+
+        <where>
+            <if test="capacityId != null">
+                and OO.CAPACITY_ID = #{capacityId}
+            </if>
+            <if test="orderStatus != null">
+                and OO.ORDER_STATUS = #{orderStatus}
+            </if>
+            <if test="orderId != null">
+                and OO.ORDER_ID = #{orderId}
+            </if>
+            <if test="orderType != null">
+                and OO.ORDER_TYPE = #{orderType}
+            </if>
+            <if test="orderReceiveStatus != null">
+                and OO.ORDER_RECEIVE_STATUS = #{orderReceiveStatus}
+            </if>
+        </where>
+        )
+        <where>
+            <if test="orderNumber != null">
+                <foreach collection="orderNumber" item="item" open="(" separator="or" close=")">
+                    "orderNumber" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="carNumber != null">
+                <foreach collection="carNumber" item="item" open="(" separator="or" close=")">
+                    "carNumber" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="saleNumber != null">
+                <foreach collection="saleNumber" item="item" open="(" separator="or" close=")">
+                    "saleNumber" like '%${item}%'
+                </foreach>
+            </if>
+
+            <if test="materialName != null">
+                and
+                <foreach collection="materialName" item="item" open="(" separator="or" close=")">
+                    "materialName" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="orderMaterialWeight != null">
+                and
+                <foreach collection="orderMaterialWeight" item="item" open="(" separator="or" close=")">
+                    "orderMaterialWeight" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="shipperName != null">
+                and
+                <foreach collection="shipperName" item="item" open="(" separator="or" close=")">
+                    "shipperName" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="consigneeCompanyName != null">
+                and
+                <foreach collection="consigneeCompanyName" item="item" open="(" separator="or" close=")">
+                    "consigneeCompanyName" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="addressDeliveryAddress != null">
+                and
+                <foreach collection="addressDeliveryAddress" item="item" open="(" separator="or" close=")">
+                    "addressDeliveryAddress" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="saleDateOfReceipt != null">
+                and
+                <foreach collection="saleDateOfReceipt" item="item" open="(" separator="or" close=")">
+                    "saleDateOfReceipt" like '%${item}%'
+                </foreach>
+            </if>
+        </where>
+        <include refid="orderBy">
+        </include>
+        <if test="orderField == null  ">
+            order by "insertTime" desc
+        </if>
+    </select>
+
+    <!-- 查询五个作业点名称sql片段 -->
+    <sql id="columnSql">
+        RG1.GATEPOST_NAME "gatepostName1",
+     RG2.GATEPOST_NAME "gatepostName2",
+     RTC1.TRUCK_CALCULATE_NUMBER "truckCalculateNumber",
+     RW.WAREHOUSE_NAME    "warehouseName",
+     RTC2.TRUCK_CALCULATE_NUMBER "truckCalculateNum",
+    </sql>
+
+    <sql id="placeSql">
+        left join RMS_GATEPOST RG1 --进厂门岗
+    on RG1.GATEPOST_ID = RL.LINE_START_NODE_ID
+    left join RMS_GATEPOST RG2 --出厂门岗
+    on RG2.GATEPOST_ID = RL.LINE_END_NODE_ID
+
+    left join RMS_LINE_SEGEMNT RLS1
+    on RL.LINE_ID = RLS1.LINE_ID and RLS1.SEGMENT_END_NODE_TYPE = 1
+    left join RMS_TRUCK_CALCULATE RTC1 -- 计毛汽车衡
+    on RLS1.SEGMENT_END_NODE_ID = RTC1.TRUCK_CALCULATE_ID
+
+    left join RMS_LINE_SEGEMNT RLS2
+    on RL.LINE_ID = RLS2.LINE_ID and RLS2.SEGMENT_END_NODE_TYPE = 3
+    left join RMS_WAREHOUSE RW -- 卸货仓库
+    on RW.WAREHOUSE_ID = RLS2.SEGMENT_END_NODE_ID
+
+    left join RMS_LINE_SEGEMNT RLS3
+    on RL.LINE_ID = RLS3.LINE_ID and RLS3.SEGMENT_END_NODE_TYPE = 2
+    left join RMS_TRUCK_CALCULATE RTC2 -- 计皮汽车衡
+    on RLS3.SEGMENT_END_NODE_ID = RTC2.TRUCK_CALCULATE_ID
+    </sql>
+    <!--  通过运力ID 查询司机所有已拒绝已接收的订单 -->
+    <select id="getReceiveRefuseOrderByCapacityId" parameterType="java.util.Map" resultType="java.util.Map">
+        select OO.ORDER_ID     "orderId",
+               OO.ORDER_NUMBER "orderNumber"
+        from OMSTRUCK_ORDER OO
+        where CAPACITY_ID = #{capacityId}
+          and ORDER_RECEIVE_STATUS = 0
+
+    </select>
+
+    <!-- 查询实绩流程 -->
+    <select id="selectPlaceAndTime" parameterType="DECIMAL" resultType="java.util.Map">
+        SELECT ERG.GATEPOST_NAME            as "entryGatepost",
+               TER.RESULT_ENTRY_GATE_TIME   as "entryTime",
+               GRTC.TRUCK_CALCULATE_NUMBER  as "grossCalculate",
+               TWR.RESULT_GROSS_WEIGHT_TIME as "grossTime",
+               RW.WAREHOUSE_NAME            as "unloadWarhouse",
+               TUR.RESULT_START_TIME        as "unloadTime",
+               TRTC.TRUCK_CALCULATE_NUMBER  as "tareCalculate",
+               TWR.RESULT_TARE_WEIGHT_TIME  as "tareTime",
+               LRG.GATEPOST_NAME            as "leaveGatepost",
+               TLFR.RESULT_OUT_GATE_TIME    as "outTime",
+               RWR.WAREHOUSE_NAME           as "receiptWarhouse",
+               TRR.INSERT_TIME              as "receiptTime",
+               OO.ORDER_LINE_SEQUENCE       as "orderLineSequence",
+               OO.ORDER_TYPE                as "orderType"
+        FROM OMSTRUCK_ORDER OO
+                 LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR
+                           ON TTR.ORDER_ID = OO.ORDER_ID
+                 LEFT JOIN TMSTRUCK_ENFACTORY_RESULT TER
+                           ON TTR.RESULT_TOTAL_ID = TER.RESULT_TOTAL_ID
+                 LEFT JOIN RMS_GATEPOST ERG --进厂门岗
+                           ON ERG.GATEPOST_ID = TER.GATEPOST_ID
+                 LEFT JOIN TMSTRUCK_WEIGHT_RESULT TWR
+                           ON TTR.RESULT_TOTAL_ID = TWR.RESULT_TOTAL_ID
+                 LEFT JOIN RMS_TRUCK_CALCULATE GRTC --毛重汽车衡
+                           ON TWR.RESULT_GROSS_PLACE_ID = GRTC.TRUCK_CALCULATE_ID
+                 LEFT JOIN RMS_TRUCK_CALCULATE TRTC --皮重汽车衡
+                           ON TWR.RESULT_TARE_PLACE_ID = TRTC.TRUCK_CALCULATE_ID
+                 LEFT JOIN TMSTRUCK_UNLOAD_RESULT TUR
+                           ON TTR.RESULT_TOTAL_ID = TUR.RESULT_TOTAL_ID
+                 LEFT JOIN RMS_WAREHOUSE RW --卸货点
+                           ON RW.WAREHOUSE_ID = TUR.RESULT_UNLOAD_PLACE_ID
+                 LEFT JOIN TMSTRUCK_LEAVE_FACTORY_RESULT TLFR
+                           ON TTR.RESULT_TOTAL_ID = TLFR.RESULT_TOTAL_ID
+                 LEFT JOIN RMS_GATEPOST LRG --出厂门岗
+                           ON LRG.GATEPOST_ID = TLFR.GATEPOST_ID
+                 LEFT JOIN TMSTRUCK_RECEIPT_RESULT TRR
+                           ON TRR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+                 LEFT JOIN RMS_WAREHOUSE RWR --异地库
+                           ON TRR.WAREHOUSE_ID = RWR.WAREHOUSE_ID
+        WHERE OO.ORDER_ID = #{orderId}
+    </select>
+
+    <!--  通过运输订单ID查询运输订单相关信息 -->
+    <select id="getOrderByOrderId" parameterType="java.math.BigDecimal" resultType="java.util.Map">
+        SELECT APO.PURCHASE_ORDER_NO "purchaseOrderNo",
+               RC.CAPACITY_NUMBER    "capacityNumber",
+               RM.MATERIAL_ID        "materialId",
+               OO.ORDER_ENTRY_TIME   "orderEntryTime",
+               OO.ORDER_TYPE         "orderType",
+               OO.UNLOAD_POINT_ID    "unloadPointId"
+        FROM OMSTRUCK_ORDER OO
+                 left join RMS_DRIVER_CAPACITY RDC
+                           on RDC.DRIVER_CAPACITY_ID = OO.DRIVER_CAPACITY_ID
+                 LEFT JOIN RMS_CAPACITY RC
+                           ON RDC.CAPACITY_ID = RC.CAPACITY_ID
+                 left join AMS_PURCHASE_ORDER APO
+                           on APO.PURCHASE_ORDER_ID = OO.ORDER_PLAN_ID
+                 left join OMSTRUCK_ORDER_MATERIAL OOM
+                           on OOM.ORDER_ID = OO.ORDER_ID
+                 left join RMS_MATERIAL RM
+                           on RM.MATERIAL_ID = OOM.MATERIAL_ID
+        WHERE OO.ORDER_ID = #{orderId}
+    </select>
+
+    <!--  通过运输订单号查询各路段预设作业点 以及总实绩ID -->
+    <select id="getPointIdByOrderNum" parameterType="java.util.Map" resultType="java.util.Map">
+        select
+        RL.LINE_START_NODE_ID "lineStartNodeId",
+        RL.LINE_END_NODE_ID "lineEndNodeId",
+        RLS1.SEGMENT_END_NODE_ID "truckCalculateIdMao",
+        RLS2.SEGMENT_END_NODE_ID "truckCalculateIdPi",
+        RLS3.SEGMENT_END_NODE_ID "resultUnloadPlaceId",
+        TTR.RESULT_TOTAL_ID "resultTotalId",
+        OO.ORDER_TYPE "orderType"
+
+        from OMSTRUCK_ORDER OO
+        left join RMS_LINE RL
+        on RL.LINE_ID = OO.LINE_ID
+        left join TMSTRUCK_TOTAL_RESULT TTR
+        on TTR.ORDER_ID = OO.ORDER_ID
+        left join RMS_LINE_SEGEMNT RLS1 --查询计毛汽车衡
+        on RL.LINE_ID = RLS1.LINE_ID and RLS1.SEGMENT_END_NODE_TYPE = 1
+        left join RMS_LINE_SEGEMNT RLS2 --查询计皮汽车衡
+        on RL.LINE_ID = RLS2.LINE_ID and RLS2.SEGMENT_END_NODE_TYPE = 2
+        left join RMS_LINE_SEGEMNT RLS3 --查询卸货点
+        on RL.LINE_ID = RLS3.LINE_ID and RLS3.SEGMENT_END_NODE_TYPE = 3
+
+        <where>
+            <if test="orderNumber != null">
+                OO.ORDER_NUMBER = #{orderNumber}
+            </if>
+            <if test="orderId != null">
+                and OO.ORDER_ID = #{orderId}
+            </if>
+        </where>
+
+    </select>
+
+    <!--  查询运输派单信息  -->
+    <select id="getTransportDispatch" parameterType="java.util.Map" resultType="java.util.LinkedHashMap">
+        select
+        *
+        from(
+        select
+        APO.PURCHASE_ORDER_NO "purchaseOrderNo",
+        RS.SUPPLIER_NAME "supplierName",
+        RCON.CONSIGNEE_COMPANY_NAME "consigneeCompanyName",
+        RW.WAREHOUSE_NAME "warehouseName",
+        RCON.CONSIGNEE_CONTACT_NAME "consigneeContactName",
+        RCON.CONSIGNEE_CONTACT_TEL "consigneeContactTel",
+        APO.PUCHASE_ORDER_DELIVERY_DATE "puchaseOrderDeliveryDate",
+        RM.MATERIAL_NAME "materialName",
+        OOM.ORDER_MATERIAL_WEIGHT "orderMaterialWeight",
+        OO.ORDER_ISSUE_TIME "orderIssueTime",
+        OO.ORDER_RECEIVE_REFUSE_TIME "orderReceiveRefuseTime",
+        RC.CAPACITY_NUMBER "capacityNumber",
+        RCD.DRIVER_NAME "driverName"
+
+        from OMSTRUCK_ORDER OO
+        left join AMS_PURCHASE_ORDER APO
+        on APO.PURCHASE_ORDER_ID = OO.ORDER_PLAN_ID
+        left join OMSTRUCK_ORDER_MATERIAL OOM
+        on OOM.ORDER_ID = OO.ORDER_ID
+        left join RMS_MATERIAL RM
+        on RM.MATERIAL_ID = OOM.MATERIAL_ID
+        left join RMS_SUPPLIER RS
+        on RS.SUPPLIER_ID = APO.SUPPLIER_UNIT_ID
+        left join RMS_CONSIGNEE RCON
+        on RCON.CONSIGNEE_ID = APO.RECEIVE_UNIT_ID
+        left join RMS_WAREHOUSE RW
+        on RW.WAREHOUSE_ID = OO.UNLOAD_POINT_ID
+        left join RMS_DRIVER_CAPACITY RDC
+        on RDC.DRIVER_CAPACITY_ID = OO.DRIVER_CAPACITY_ID
+        left join RMS_CAPACITY RC
+        on RC.CAPACITY_ID = RDC.CAPACITY_ID
+        left join RMS_CAR_DRIVER RCD
+        on RCD.DRIVER_ID = RDC.DRIVER_ID
+        <where>
+            <if test="orderStatus != null">
+                OO.ORDER_STATUS = #{orderStatus}
+            </if>
+            <if test="orderTypee != null">
+                and OO.ORDER_TYPE = #{orderTypee}
+            </if>
+            <if test="orderReceiveStatus != null">
+                and OO.ORDER_RECEIVE_STATUS = #{orderReceiveStatus}
+            </if>
+            <if test="fuelOrder != null">
+                and OO.ORDER_TYPE in (6, 7)
+            </if>
+        </where>
+        )
+        <where>
+            <if test="purchaseOrderNo != null">
+                <foreach collection="purchaseOrderNo" item="item" open="(" separator="or" close=")">
+                    "purchaseOrderNo" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="supplierName != null">
+                and
+                <foreach collection="supplierName" item="item" open="(" separator="or" close=")">
+                    "supplierName" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="consigneeCompanyName != null">
+                and
+                <foreach collection="consigneeCompanyName" item="item" open="(" separator="or" close=")">
+                    "consigneeCompanyName" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="warehouseName != null">
+                and
+                <foreach collection="warehouseName" item="item" open="(" separator="or" close=")">
+                    "warehouseName" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="consigneeContactName != null">
+                and
+                <foreach collection="consigneeContactName" item="item" open="(" separator="or" close=")">
+                    "consigneeContactName" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="consigneeContactTel != null">
+                and
+                <foreach collection="consigneeContactTel" item="item" open="(" separator="or" close=")">
+                    "consigneeContactTel" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="puchaseOrderDeliveryDate != null">
+                and
+                <foreach collection="puchaseOrderDeliveryDate" item="item" open="(" separator="or" close=")">
+                    "puchaseOrderDeliveryDate" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="materialName != null">
+                and
+                <foreach collection="materialName" item="item" open="(" separator="or" close=")">
+                    "materialName" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="orderMaterialWeight != null">
+                and
+                <foreach collection="orderMaterialWeight" item="item" open="(" separator="or" close=")">
+                    "orderMaterialWeight" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="orderReceiveRefuseTime != null">
+                and
+                <foreach collection="orderReceiveRefuseTime" item="item" open="(" separator="or" close=")">
+                    "orderReceiveRefuseTime" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="orderIssueTime != null">
+                and
+                <foreach collection="orderIssueTime" item="item" open="(" separator="or" close=")">
+                    "orderIssueTime" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="capacityNumber != null">
+                and
+                <foreach collection="capacityNumber" item="item" open="(" separator="or" close=")">
+                    "capacityNumber" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="driverName != null">
+                and
+                <foreach collection="driverName" item="item" open="(" separator="or" close=")">
+                    "driverName" like '%${item}%'
+                </foreach>
+            </if>
+        </where>
+        <include refid="orderBy">
+        </include>
+        <if test="orderField == null  ">
+            order by "orderReceiveRefuseTime" desc
+        </if>
+    </select>
+
+    <!-- 查询已下发已接受的销售订单信息 -->
+    <select id="getOrderReceived" parameterType="DECIMAL" resultType="java.util.Map">
+        SELECT aso.SALE_NUMBER    as "saleNumber",
+               oo.ORDER_NUMBER    as "orderNumber",
+               oo.INSERT_USERNAME as "insertUsername",
+               rc.CAPACITY_NUMBER as "capacityNumber"
+        FROM OMSTRUCK_ORDER oo
+                 LEFT JOIN AMS_SALE_ORDER_MATERIAL asom
+                           ON asom.SALE_ORDER_MATERIAL_ID = oo.ORDER_PLAN_ID
+                 LEFT JOIN AMS_SALE_ORDER aso
+                           ON aso.SALE_ORDER_ID = asom.SALE_ORDER_ID
+                 LEFT JOIN RMS_CAPACITY rc
+                           ON rc.CAPACITY_ID = oo.CAPACITY_ID
+        WHERE oo.ORDER_ISSUE_TIME IS NOT NULL
+          AND oo.ORDER_RECEIVE_STATUS = 1
+          AND oo.ORDER_TYPE = #{orderType}
+    </select>
+
+    <!--查询司机排班信息-->
+    <select id="selectCapacityAndDriver" resultType="java.util.Map" parameterType="java.util.Map">
+        SELECT
+        RDC.CAPACITY_ID "capacityId",
+        RDC.DRIVER_CAPACITY_ID "driverCapacityId",
+        RC.CAPACITY_NUMBER "number",
+        RCT.CAPACITY_TYPE_NAME "capacityTypeName",
+        RCD.DRIVER_NAME "name"
+
+        FROM
+        RMS_DRIVER_CAPACITY RDC
+        LEFT JOIN RMS_CAPACITY RC ON RDC.CAPACITY_ID = RC.CAPACITY_ID
+        LEFT JOIN RMS_CAPACITY_TYPE RCT ON RCT.CAPACITY_TYPE_ID = RC.CAPACITY_TYPE_ID
+        LEFT JOIN RMS_CAR_DRIVER RCD ON RCD.DRIVER_ID = RDC.DRIVER_ID
+        WHERE
+        RC.CAPACITY_STATUS =0 and RC.CARRIER_ID=#{carrierId}
+        <where>
+            <if test="capacityId != null">
+                <foreach collection="capacityId" item="item" open="(" separator="or" close=")">
+                    "capacityId" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="number != null">
+                <foreach collection="number" item="item" open="(" separator="or" close=")">
+                    "number" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="capacityTypeName != null">
+                <foreach collection="capacityTypeName" item="item" open="(" separator="or" close=")">
+                    "capacityTypeName" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="name != null">
+                <foreach collection="name" item="item" open="(" separator="or" close=")">
+                    "name" like '%${item}%'
+                </foreach>
+            </if>
+        </where>
+
+    </select>
+
+    <!--根据id查找用户名    -->
+    <select id="selectPersonNameByPersonnelId" resultType="java.lang.String" parameterType="java.lang.Integer">
+        select RP.PERSONNEL_NAME "personnelName"
+        from RMS_PERSONNEL RP
+        where RP.PERSONNEL_ID = #{personnelId}
+    </select>
+    <!--  通过车牌号、承运商匹配最新的运力id-->
+    <select id="selectCapacityId" parameterType="java.util.Map" resultType="java.math.BigDecimal">
+        select t.CAPACITY_ID
+        from RMS_CAPACITY t
+        where t.CAPACITY_ID = #{capacityId}
+          and t.CAPACITY_NUMBER = #{capacityNumber}
+    </select>
+    <!-- 通过运输订单号或运输订单ID查询总实绩ID和订单类型 -->
+    <select id="getResultTotalIdByOrderNumAndId" parameterType="java.util.Map" resultType="java.util.Map">
+        select
+        TTR.RESULT_TOTAL_ID "resultTotalId",
+        OO.ORDER_TYPE "orderType"
+        from OMSTRUCK_ORDER OO
+        left join TMSTRUCK_TOTAL_RESULT TTR
+        on TTR.ORDER_ID = OO.ORDER_ID
+        <where>
+            <if test="orderId != null">
+                OO.ORDER_ID= #{orderId}
+            </if>
+            <if test="orderNumber != null">
+                and OO.ORDER_NUMBER = #{orderNumber}
+            </if>
+        </where>
+    </select>
+
+    <!--通过运输订单ID查询数据 用于websocket推送数据  如果订单实绩中有卸货点  没有卸货点通过传入的卸货点进行查询-->
+    <select id="pushMesToWebsocket" parameterType="java.util.Map" resultType="java.util.Map">
+        select OO.ORDER_NUMBER           "orderNumber",
+               OOM.ORDER_MATERIAL_WEIGHT "orderMaterialWeight",
+               RM.MATERIAL_NAME          "materialName",
+               RC.CAPACITY_NUMBER        "capacityNumber"
+        from OMSTRUCK_ORDER OO
+                 left join RMS_DRIVER_CAPACITY RDC
+                           on OO.DRIVER_CAPACITY_ID = RDC.DRIVER_CAPACITY_ID
+                 left join RMS_CAPACITY RC
+                           on RC.CAPACITY_ID = RDC.CAPACITY_ID
+                 left join OMSTRUCK_ORDER_MATERIAL OOM
+                           on OOM.ORDER_ID = OO.ORDER_ID
+                 left join RMS_MATERIAL RM
+                           on RM.MATERIAL_ID = OOM.MATERIAL_ID
+                 left join RMS_WAREHOUSE RW
+                           on RW.WAREHOUSE_ID = OO.UNLOAD_POINT_ID
+        where OO.ORDER_ID = #{orderId}
+    </select>
+
+
+    <!--  //通过物资id查询批次表匹配最新的批次,关联最新的采购订单号 -->
+    <select id="selectNewOrderId" parameterType="java.math.BigDecimal" resultType="string">
+        select *
+        from (select apo.PURCHASE_ORDER_NO
+              from DIL_BATCH db
+                       join AMS_PURCHASE_ORDER apo on apo.BATCH_ID = db.BATCH_ID
+              where db.MATERIAL_ID = #{materialId}
+              order by db.INSERT_TIME desc)
+        where rownum = 1
+    </select>
+
+    <!--通过运输订单Id查询运输订单子表有几种物资 :物资ID-->
+    <select id="getMaterialIdListByOrderId" parameterType="int" resultType="java.lang.Integer">
+        select OOM.MATERIAL_ID
+        from OMSTRUCK_ORDER OO
+                 left join OMSTRUCK_ORDER_MATERIAL OOM
+                           on OOM.ORDER_ID = OO.ORDER_ID
+    </select>
+
+    <!-- 通过采购订单号查找采购订单ID -->
+    <select id="getPurchaseOrderIdByNo" parameterType="string" resultType="java.math.BigDecimal">
+        select APO.PURCHASE_ORDER_ID
+        from AMS_PURCHASE_ORDER APO
+        where APO.PURCHASE_ORDER_NO = #{purchaseOrderNo}
+    </select>
+    <select id="getSaleTruckOrderByCapacityId" resultType="java.util.Map">
+        select oo.ORDER_ID                                "orderId",
+               oo.order_number                            "orderNumber",
+               rc.capacity_number                         "capacityNumber",
+               aso.sale_number                            "saleOrderNumber",
+               rs.shipper_name                            "shipperUnit",
+               rce.consignee_company_name                 "receiveUnit",
+               to_char(oo.order_issue_time, 'yyyy-mm-dd') "shipperDate",
+               rca.address_delivery_address               "receiveAddress",
+               asom.sale_date_of_receipt                  "receiveDate"
+        from omstruck_order oo
+                 left join rms_driver_capacity rdc
+                           on rdc.driver_capacity_id = oo.driver_capacity_id
+                 left join rms_capacity rc
+                           on rc.capacity_id = rdc.capacity_id
+                 left join omstruck_order_material oom
+                           on oom.order_id = oo.order_id
+                 left join ams_sale_order_material asom
+                           on asom.sale_order_material_id = oo.order_plan_id
+                 left join ams_sale_order aso
+                           on aso.sale_order_id = asom.sale_order_id
+                 left join rms_shipper rs
+                           on rs.shipper_id = aso.shipper_id
+                 left join rms_consignee rce
+                           on rce.consignee_id = aso.receive_id
+                 left join rms_receive_address rca
+                           on rca.address_id = asom.sale_shipping_address_id
+        where rdc.capacity_id = #{capacityId}
+          and oo.order_status = #{orderStatus}
+          and oo.order_type = #{orderType}
+    </select>
+    <select id="getSaleTruckOrderByCapacityNumMaterial" resultType="java.util.Map">
+        select rm.material_name          "materialName",
+               oom.order_material_weight "materialWeight"
+        from omstruck_order oo
+                 left join rms_driver_capacity rdc
+                           on rdc.driver_capacity_id = oo.driver_capacity_id
+                 left join rms_capacity rc
+                           on rc.capacity_id = rdc.capacity_id
+                 left join omstruck_order_material oom
+                           on oom.order_id = oo.order_id
+                 left join rms_material rm
+                           on rm.material_id = oom.material_id
+        where rdc.capacity_id = #{capacityId}
+          and oo.order_status = #{orderStatus}
+          and oo.order_type = #{orderType}
+
+    </select>
+    <!-- 通过车序号查找物资id -->
+    <select id="selectMaterialIdBysaleOrderMaterialId" resultType="java.util.Map" parameterType="java.lang.Integer">
+        SELECT ASTM.MATERIAL_ID "materialId"
+        FROM AMS_SALE_ORDER_MATERIAL ASOM
+                 LEFT JOIN AMS_SALE_TRUCKNO_MATERIAL ASTM ON ASOM.SALE_ORDER_MATERIAL_ID = ASTM.TRUCKNO_MATERIAL_ID
+        WHERE ASOM.SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId}
+    </select>
+    <!--通过销售订单物资ID查找物资理重和物资件数-->
+    <select id="selectTheoreticalWeightAndMaterialNumber" resultType="java.util.Map" parameterType="java.lang.Integer">
+        SELECT ASTM.SALE_ORDER_MATERIAL_NUMBER  "materialNumber",
+               ASTM.MATERIAL_THEORETICAL_WEIGHT "weight"
+
+        from AMS_SALE_ORDER_MATERIAL ASOM
+                 LEFT JOIN AMS_SALE_TRUCKNO_MATERIAL ASTM
+                           ON ASTM.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
+        WHERE ASTM.SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId}
+    </select>
+    <!--销售,查看运输订单(钢材销售订单)并根据司机接受或者拒绝时间进行排序  -->
+    <select id="selectTransportOrderForSale" parameterType="java.util.Map" resultType="java.util.Map">
+        SELECT *
+        from(
+        select
+        OO.ORDER_NUMBER "orderNumber",
+        ASO.SALE_NUMBER "saleNumber",
+        RC.CAPACITY_NUMBER "capacityNumber",
+        RM.MATERIAL_NAME "materialName",
+        OOM.ORDER_MATERIAL_WEIGHT "orderMaterialweight",
+        OOM.ORDER_MATERIAL_NUMBER "orderMaterialNumber",
+        RM.MATERIAL_THEORETICAL_WEIGHT "materialTheoreticalWeight",
+        RC2.CONSIGNEE_COMPANY_NAME "consigneeCompanyName",
+        RRA.ADDRESS_DELIVERY_ADDRESS "addressDeliveryAddress",
+        ASOM.SALE_DATE_OF_RECEIPT "saleDateOfReceipt",
+        OO.ORDER_RECEIVE_REFUSE_TIME "orderReceiveRefuseTime",
+        RS.SHIPPER_NAME "shipperName"
+
+        FROM OMSTRUCK_ORDER OO
+        LEFT JOIN OMSTRUCK_ORDER_MATERIAL OOM
+        ON OO.ORDER_ID=OOM.ORDER_ID
+        LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
+        ON ASOM.SALE_ORDER_MATERIAL_ID=OO.ORDER_PLAN_ID
+        LEFT JOIN AMS_SALE_ORDER ASO
+        ON ASO.SALE_ORDER_ID=ASOM.SALE_ORDER_ID
+        LEFT JOIN RMS_CONSIGNEE RC2
+        ON RC2.CONSIGNEE_ID=ASO.RECEIVE_ID
+
+        LEFT JOIN RMS_DRIVER_CAPACITY RDC
+        ON RDC.DRIVER_CAPACITY_ID=OO.DRIVER_CAPACITY_ID
+        LEFT JOIN RMS_CAPACITY RC
+        ON RDC.CAPACITY_ID=RC.CAPACITY_ID
+        LEFT JOIN RMS_MATERIAL RM
+        ON OOM.MATERIAL_ID=RM.MATERIAL_ID
+        LEFT JOIN RMS_SHIPPER RS
+        ON RS.SHIPPER_ID=ASO.SHIPPER_ID
+        LEFT JOIN RMS_RECEIVE_ADDRESS RRA
+        ON RRA.ADDRESS_ID=ASOM.SALE_SHIPPING_ADDRESS_ID
+        <where>
+            <if test="orderStatus!=null">
+                AND OO.ORDER_STATUS = #{orderStatus}
+            </if>
+            <if test="carrierId!=null">
+                and RDC.CARRIER_ID = #{carrierId}
+            </if>
+            <if test="orderType!=null">
+                and OO.ORDER_TYPE=#{orderType}
+            </if>
+        </where>
+        )
+        <where>
+            <if test="orderNumber != null">
+                and
+                <foreach collection="orderNumber" item="item" open="(" separator="or" close=")">
+                    "orderNumber" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="saleNumber != null">
+                and
+                <foreach collection="saleNumber" item="item" open="(" separator="or" close=")">
+                    "saleNumber" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="capacityNumber != null">
+                and
+                <foreach collection="capacityNumber" item="item" open="(" separator="or" close=")">
+                    "capacityNumber" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="materialName != null">
+                and
+                <foreach collection="materialName" item="item" open="(" separator="or" close=")">
+                    "materialName" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="orderMaterialweight != null">
+                and
+                <foreach collection="orderMaterialweight" item="item" open="(" separator="or" close=")">
+                    "orderMaterialweight" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="orderMaterialweight != null">
+                and
+                <foreach collection="orderMaterialweight" item="item" open="(" separator="or" close=")">
+                    "orderMaterialweight" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="consigneeCompanyName != null">
+                and
+                <foreach collection="consigneeCompanyName" item="item" open="(" separator="or" close=")">
+                    "consigneeCompanyName" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="consigneeCompanyName != null">
+                and
+                <foreach collection="consigneeCompanyName" item="item" open="(" separator="or" close=")">
+                    "consigneeCompanyName" like '%${item}%'
+                </foreach>
+            </if>
+        </where>
+        <include refid="orderBy">
+        </include>
+        <if test="orderField == null  ">
+            order by "orderReceiveRefuseTime" desc
+        </if>
+    </select>
+    <!--根据车序号查找销售订单 -->
+    <select id="selectSaleBySaleOrderMaterialId" parameterType="java.lang.Integer" resultType="java.util.Map">
+        SELECT
+        ASO.SALE_NUMBER "saleNumber",
+        RS.SHIPPER_NAME "shipperName",
+        RC.CONSIGNEE_COMPANY_NAME "consigneeName",
+        RRA.ADDRESS_DELIVERY_ADDRESS "addressDeliveryAddress",
+        ASOM.SALE_ORDER_MATERIAL_TRUCK_NO "truckNo",
+        ASOM.SALE_DATE_OF_RECEIPT "receiptOfdate",
+        ASOM.SALE_ORDER_CONSIGNEE "saleOrderConsignee",
+        ASOM.SALE_ORDER_CONSIGNEE_TEL "saleOrderConsigneeTel",
+        ASOM.INSERT_UPDATE_REMARK "insertUpdateRemark",
+        ASOM.SALE_ORDER_MATERIAL_ID "saleOrderMaterialId",
+        (
+        SELECT
+        ASTM.SALE_ORDER_MATERIAL_NUMBER
+        FROM
+        AMS_SALE_TRUCKNO_MATERIAL ASTM
+        LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM2 ON ASOM.SALE_ORDER_MATERIAL_ID = ASTM.SALE_ORDER_MATERIAL_ID
+        WHERE
+        ASOM.SALE_ORDER_MATERIAL_ID = ASOM2.SALE_ORDER_MATERIAL_ID
+        ) "saleOrderMaterialNumber",
+        (
+        SELECT
+        ASTM.MATERIAL_THEORETICAL_WEIGHT
+        FROM
+        AMS_SALE_TRUCKNO_MATERIAL ASTM
+        LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM2 ON ASOM.SALE_ORDER_MATERIAL_ID = ASTM.SALE_ORDER_MATERIAL_ID
+        WHERE
+        ASOM.SALE_ORDER_MATERIAL_ID = ASOM2.SALE_ORDER_MATERIAL_ID
+        ) "materialTheoreticalWeight",
+        (
+        SELECT
+        RM.MATERIAL_NAME "materialName"
+        FROM
+        AMS_SALE_TRUCKNO_MATERIAL ASTM
+        LEFT JOIN RMS_MATERIAL RM ON RM.MATERIAL_ID = ASTM.MATERIAL_ID
+        LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM2 ON ASOM.SALE_ORDER_MATERIAL_ID = ASTM.SALE_ORDER_MATERIAL_ID
+        WHERE
+        ASOM.SALE_ORDER_MATERIAL_ID = ASOM2.SALE_ORDER_MATERIAL_ID
+        ) "materialName",
+        (
+        SELECT
+        ASTM.MATERIAL_ID "materialId"
+        FROM
+        AMS_SALE_TRUCKNO_MATERIAL ASTM
+        LEFT JOIN RMS_MATERIAL RM ON RM.MATERIAL_ID = ASTM.MATERIAL_ID
+        LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM2 ON ASOM.SALE_ORDER_MATERIAL_ID = ASTM.SALE_ORDER_MATERIAL_ID
+        WHERE
+        ASOM.SALE_ORDER_MATERIAL_ID = ASOM2.SALE_ORDER_MATERIAL_ID
+        ) "materialId"
+        FROM
+        AMS_SALE_ORDER_MATERIAL ASOM
+        LEFT JOIN AMS_SALE_ORDER ASO ON ASOM.SALE_ORDER_ID = ASO.SALE_ORDER_ID
+        LEFT JOIN RMS_SHIPPER RS ON ASO.SHIPPER_ID = RS.SHIPPER_ID
+        LEFT JOIN RMS_CONSIGNEE RC ON RC.CONSIGNEE_ID = ASO.RECEIVE_ID
+        LEFT JOIN RMS_RECEIVE_ADDRESS RRA ON ASOM.SALE_SHIPPING_ADDRESS_ID = RRA.ADDRESS_ID
+        WHERE
+        ASOM.SALE_ORDER_MATERIAL_ID=#{saleOrderMaterialId}
+        <include refid="orderBy"></include>
+    </select>
+
+
+    <!-- 根据承运商查找销售订单 -->
+    <select id="selectSaleMaterialIdByCarrierId" resultType="java.util.Map" parameterType="java.lang.Integer">
+        select ADSO.SALE_ORDER_MATERIAL_ID "saleOrderMaterialId"
+        from AMS_DISPATCH_SALE_ORDER ADSO
+        where ADSO.CARRIER_ID = #{carrierId}
+    </select>
+    <!-- 查询所有下发的销售订单,根据下发状态进行筛选-->
+    <select id="selectSaleNumberForCarrier" resultType="java.util.Map" parameterType="java.util.Map">
+        SELECT ASO.SALE_NUMBER           "saleNumber",
+               RC.CONSIGNEE_COMPANY_NAME "companyName",
+               RS.SHIPPER_NAME           "shipperName"
+        FROM AMS_SALE_ORDER ASO
+                 LEFT JOIN RMS_CONSIGNEE RC
+                           ON ASO.RECEIVE_ID = RC.CONSIGNEE_ID
+                 LEFT JOIN RMS_SHIPPER RS
+                           ON RS.SHIPPER_ID = ASO.SHIPPER_ID
+                 LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
+                           ON ASOM.SALE_ORDER_ID = ASO.SALE_ORDER_ID
+        WHERE ASOM.SALE_ORDER_MATERIAL_ID = #{saleMaterialId}
+    </select>
+
+
+    <!-- 查询所有已接收的焦炭发运计划 -->
+    <select id="selectCokeDayPlanAndRecived" resultType="java.util.Map" parameterType="java.lang.Integer">
+        select * from (
+        select
+        ARD.DAYPLAN_ID "dayPlanId",
+        ARD.DAYPLAN_NO "No",
+        RS.SHIPPER_NAME "shipperName",
+        ARD.DAYPLAN_TRUCK_NUMBER "TruckNumber",
+        ARD.DAYPLAN_DELIVERY_PLACE "DayPlanDeliveryPlace",
+        ARD.DAYPLAN_RECEIVE_UNIT "receiveUnit",
+        ARD.DAYPLAN_DELIVERY_DATE "deliveryDate",
+        ARD.DAYPLAN_MATERIAL_WEIGHT "weight",
+        RM.MATERIAL_NAME "materialName",
+        ARD.INSERT_UPDATE_REMARK "remark",
+        ARD.INSERT_TIME "insertTime"
+
+        FROM AMSTRUCK_RAIL_DAYPLAN ARD
+        left join RMS_SHIPPER RS
+        on ARD.SHIPMENT_UNIT_ID =RS.SHIPPER_ID
+        left join RMS_MATERIAL RM
+        on RM.MATERIAL_ID=ARD.MATERIAL_ID
+        left Join RMS_MATERIAL_TYPE RMT
+        on RMT.MATERIAL_TYPE_ID=RM.MATERIAL_TYPE_ID
+        where ARD.DAYPLAN_RECEIVE_STATUS=1 and ARD.CARRIER_ID=#{carrierId}
+
+        )
+        <!--    <where>-->
+        <!--  <if test="shipperName != null">-->
+        <!--    and-->
+        <!--    <foreach collection="shipperName" item="item" open="(" separator="or" close=")">-->
+        <!--      "shipperName" like '%${item}%'-->
+        <!--    </foreach>-->
+        <!--  </if>-->
+        <!--  <if test="TruckNumber != null">-->
+        <!--    and-->
+        <!--    <foreach collection="TruckNumber" item="item" open="(" separator="or" close=")">-->
+        <!--      "TruckNumber" like '%${item}%'-->
+        <!--    </foreach>-->
+        <!--  </if>-->
+        <!--  <if test="DayPlanDeliveryPlace != null">-->
+        <!--    and-->
+        <!--    <foreach collection="DayPlanDeliveryPlace" item="item" open="(" separator="or" close=")">-->
+        <!--      "DayPlanDeliveryPlace" like '%${item}%'-->
+        <!--    </foreach>-->
+        <!--    <if test="receiveUnit != null">-->
+        <!--      and-->
+        <!--      <foreach collection="receiveUnit" item="item" open="(" separator="or" close=")">-->
+        <!--        "receiveUnit" like '%${item}%'-->
+        <!--      </foreach>-->
+        <!--    </if>-->
+        <!--    <if test="materialName != null">-->
+        <!--      and-->
+        <!--      <foreach collection="materialName" item="item" open="(" separator="or" close=")">-->
+        <!--        "materialName" like '%${item}%'-->
+        <!--      </foreach>-->
+        <!--    </if>-->
+        <!--    <if test="remark != null">-->
+        <!--      and-->
+        <!--      <foreach collection="remark" item="item" open="(" separator="or" close=")">-->
+        <!--        "remark" like '%${item}%'-->
+        <!--      </foreach>-->
+        <!--    </if>-->
+        <!--  </if>-->
+        <!--</where>-->
+        <!--    <include refid="orderBy">-->
+        <!--    </include>-->
+        <!--    <if test="orderField == null  ">-->
+        <!--      order by "insertTime" desc-->
+        <!--    </if>-->
+    </select>
+
+    <!--查询所有已接收的水渣发运计划-->
+    <select id="selectWaterSlagDayPlanAndRecived" resultType="java.util.Map" parameterType="java.lang.Integer">
+        SELECT *
+        FROM (
+        SELECT
+        ARD.DAYPLAN_ID "dayPlanId",
+        ARD.DAYPLAN_NO "No",
+        RS.SHIPPER_NAME "shipperName",
+        ARD.DAYPLAN_RECEIVE_UNIT "receiveUnit",
+        ARD.DAYPLAN_DELIVERY_DATE "deliveryDate",
+        ARD.DAYPLAN_MATERIAL_WEIGHT "weight",
+        RM.MATERIAL_NAME "materialName",
+        ARD.INSERT_UPDATE_REMARK "remark",
+        ARD.INSERT_TIME "insertTime"
+        FROM AMSTRUCK_RAIL_DAYPLAN ARD
+        LEFT JOIN RMS_SHIPPER RS
+        ON ARD.SHIPMENT_UNIT_ID =RS.SHIPPER_ID
+        LEFT JOIN RMS_MATERIAL RM
+        ON RM.MATERIAL_ID=ARD.MATERIAL_ID
+        LEFT JOIN RMS_MATERIAL_TYPE RMT
+        ON RMT.MATERIAL_TYPE_ID=RM.MATERIAL_TYPE_ID
+        where ARD.DAYPLAN_RECEIVE_STATUS=1 AND ARD.CARRIER_ID=#{carrierId}
+        )
+        <!--<where>-->
+        <!--      <if test="shipperName != null">-->
+        <!--    and-->
+        <!--    <foreach collection="shipperName" item="item" open="(" separator="or" close=")">-->
+        <!--      "shipperName" like '%${item}%'-->
+        <!--    </foreach>-->
+        <!--  </if>-->
+        <!--  <if test="DayPlanDeliveryPlace != null">-->
+        <!--    and-->
+        <!--    <foreach collection="DayPlanDeliveryPlace" item="item" open="(" separator="or" close=")">-->
+        <!--      "DayPlanDeliveryPlace" like '%${item}%'-->
+        <!--    </foreach>-->
+        <!--    <if test="receiveUnit != null">-->
+        <!--      and-->
+        <!--      <foreach collection="receiveUnit" item="item" open="(" separator="or" close=")">-->
+        <!--        "receiveUnit" like '%${item}%'-->
+        <!--      </foreach>-->
+        <!--    </if>-->
+        <!--    <if test="materialName != null">-->
+        <!--      and-->
+        <!--      <foreach collection="materialName" item="item" open="(" separator="or" close=")">-->
+        <!--        "materialName" like '%${item}%'-->
+        <!--      </foreach>-->
+        <!--    </if>-->
+        <!--    <if test="remark != null">-->
+        <!--      and-->
+        <!--      <foreach collection="remark" item="item" open="(" separator="or" close=")">-->
+        <!--        "remark" like '%${item}%'-->
+        <!--      </foreach>-->
+        <!--    </if>-->
+        <!--  </if>-->
+        <!--</where>-->
+        <include refid="orderBy"></include>
+    </select>
+
+
+    <!--根据发运计划id查找物资id  -->
+    <select id="selectMaterialIdAndWeightByDayPlanId" resultType="java.util.Map" parameterType="java.lang.Integer">
+        select APM.MATERIAL_ID             "materialId",
+               APM.DAYPLAN_MATERIAL_WEIGHT "materialWeight"
+        from AMSTRUCK_RAIL_DAYPLAN APM
+        WHERE APM.DAYPLAN_ID = #{dayPlanId}
+    </select>
+
+
+    <!--查询根据销售订单生成的运输订单  -->
+    <select id="selectAllOrderForSale" resultType="java.util.LinkedHashMap" parameterType="java.util.Map">
+        SELECT
+        ASO.SALE_NUMBER "saleNumber",
+        RS.SHIPPER_NAME "shipperName",
+        RC.CONSIGNEE_COMPANY_NAME "consigneeName",
+        RRA.ADDRESS_DELIVERY_ADDRESS "addressDeliveryAddress",
+        ASOM.SALE_ORDER_MATERIAL_TRUCK_NO "truckNo",
+        ASOM.SALE_DATE_OF_RECEIPT "receiptOfdate",
+        ASOM.SALE_ORDER_CONSIGNEE "saleOrderConsignee",
+        ASOM.SALE_ORDER_CONSIGNEE_TEL "saleOrderConsigneeTel",
+        ASOM.INSERT_UPDATE_REMARK "insertUpdateRemark",
+        RC2.CAPACITY_NUMBER "capacityNumber",
+        OO.ORDER_ID "orderId",
+        (
+        SELECT
+        ASTM.SALE_ORDER_MATERIAL_NUMBER
+        FROM
+        AMS_SALE_TRUCKNO_MATERIAL ASTM
+        LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM2 ON ASOM.SALE_ORDER_MATERIAL_ID = ASTM.SALE_ORDER_MATERIAL_ID
+        WHERE
+        ASOM.SALE_ORDER_MATERIAL_ID = ASOM2.SALE_ORDER_MATERIAL_ID
+        ) "saleOrderMaterialNumber",
+        (
+        SELECT
+        ASTM.MATERIAL_THEORETICAL_WEIGHT
+        FROM
+        AMS_SALE_TRUCKNO_MATERIAL ASTM
+        LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM2 ON ASOM.SALE_ORDER_MATERIAL_ID = ASTM.SALE_ORDER_MATERIAL_ID
+        WHERE
+        ASOM.SALE_ORDER_MATERIAL_ID = ASOM2.SALE_ORDER_MATERIAL_ID
+        ) "materialTheoreticalWeight",
+        (
+        SELECT
+        RM.MATERIAL_NAME "materialName"
+        FROM
+        AMS_SALE_TRUCKNO_MATERIAL ASTM
+        LEFT JOIN RMS_MATERIAL RM ON RM.MATERIAL_ID = ASTM.MATERIAL_ID
+        LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM2 ON ASOM.SALE_ORDER_MATERIAL_ID = ASTM.SALE_ORDER_MATERIAL_ID
+        WHERE
+        ASOM.SALE_ORDER_MATERIAL_ID = ASOM2.SALE_ORDER_MATERIAL_ID
+        ) "materialName",
+        (
+        SELECT
+        ASTM.MATERIAL_ID "materialId"
+        FROM
+        AMS_SALE_TRUCKNO_MATERIAL ASTM
+        LEFT JOIN RMS_MATERIAL RM ON RM.MATERIAL_ID = ASTM.MATERIAL_ID
+        LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM2 ON ASOM.SALE_ORDER_MATERIAL_ID = ASTM.SALE_ORDER_MATERIAL_ID
+        WHERE
+        ASOM.SALE_ORDER_MATERIAL_ID = ASOM2.SALE_ORDER_MATERIAL_ID
+        ) "materialId"
+
+        FROM OMSTRUCK_ORDER OO
+        LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM ON ASOM.SALE_ORDER_MATERIAL_ID=OO.ORDER_PLAN_ID
+        LEFT JOIN AMS_SALE_ORDER ASO ON ASOM.SALE_ORDER_ID = ASO.SALE_ORDER_ID
+        LEFT JOIN RMS_SHIPPER RS ON ASO.SHIPPER_ID = RS.SHIPPER_ID
+        LEFT JOIN RMS_CONSIGNEE RC ON RC.CONSIGNEE_ID = ASO.RECEIVE_ID
+        LEFT JOIN RMS_RECEIVE_ADDRESS RRA ON ASOM.SALE_SHIPPING_ADDRESS_ID = RRA.ADDRESS_ID
+        LEFT JOIN RMS_CAPACITY RC2 ON RC2.CAPACITY_ID=OO.CAPACITY_ID
+        <where>
+            <if test="saleOrderMaterialId != null">
+                and ASOM.SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId}
+            </if>
+            <if test="orderStatus!=null">
+                and OO.ORDER_STATUS = #{orderStatus}
+            </if>
+            <if test="orderTypee != null">
+                and OO.ORDER_TYPE = #{orderTypee}
+            </if>
+        </where>
+        <include refid="orderBy"></include>
+    </select>
+    <!--销售查询已经形成水渣日计划  -->
+    <select id="selectWaterSlagForOrder" resultType="java.util.Map" parameterType="java.util.Map">
+        select *
+        from (
+        SELECT ARD.DAYPLAN_NO "No",
+        RS.SHIPPER_NAME "shipperName",
+        ARD.DAYPLAN_TRUCK_NUMBER "TruckNumber",
+        ARD.DAYPLAN_DELIVERY_PLACE "DayPlanDeliveryPlace",
+        ARD.DAYPLAN_RECEIVE_UNIT "receiveUnit",
+        ARD.DAYPLAN_DELIVERY_DATE "deliveryDate",
+        ARD.DAYPLAN_MATERIAL_WEIGHT "weight",
+        ARD.INSERT_UPDATE_REMARK "remark",
+        ARD.INSERT_TIME "insertTime",
+        OO.ORDER_ID "orderId",
+        RM.MATERIAL_NAME "materialName"
+
+        FROM OMSTRUCK_ORDER OO
+        LEFT JOIN AMSTRUCK_RAIL_DAYPLAN ARD
+        ON ARD.DAYPLAN_ID=OO.ORDER_PLAN_ID
+        LEFT JOIN RMS_MATERIAL RM
+        ON RM.MATERIAL_ID=ARD.MATERIAL_ID
+        left join RMS_SHIPPER RS
+        on ARD.SHIPMENT_UNIT_ID =RS.SHIPPER_ID
+        <where>
+            <if test="carrierId!=null">
+                and ARD.CARRIER_ID=#{carrierId}
+            </if>
+            <if test="dayPlanId!=null">
+                and ARD.DAYPLAN_ID=#{dayPlanId}
+            </if>
+            <if test="orderType!=null">
+                and OO.ORDER_TYPE=#{orderType}
+            </if>
+            <if test="orderStatus!=null">
+                and OO.ORDER_STATUS=#{orderStatus}
+            </if>
+            <if test="materialId!=null">
+                and RM.MATERIAL_ID=#{materialId}
+            </if>
+        </where>
+        )
+        <include refid="orderBy"></include>
+    </select>
+    <!--销售查询已经形成订单得水渣日计划-->
+    <select id="selectCokeRailPlanForOrder" resultType="java.util.Map" parameterType="java.util.Map">
+        select *
+        from (
+        SELECT ARD.DAYPLAN_NO "No",
+        ARD.DAYPLAN_ID "dayPlanId",
+        RS.SHIPPER_NAME "shipperName",
+        ARD.DAYPLAN_TRUCK_NUMBER "TruckNumber",
+        ARD.DAYPLAN_DELIVERY_PLACE "DayPlanDeliveryPlace",
+        ARD.DAYPLAN_RECEIVE_UNIT "receiveUnit",
+        ARD.DAYPLAN_DELIVERY_DATE "deliveryDate",
+        ARD.DAYPLAN_MATERIAL_WEIGHT "weight",
+        RM.MATERIAL_NAME "materialName",
+        ARD.INSERT_UPDATE_REMARK "remark",
+        ARD.INSERT_TIME "insertTime",
+        OO.ORDER_ID "orderId"
+        FROM OMSTRUCK_ORDER OO
+        LEFT JOIN AMSTRUCK_RAIL_DAYPLAN ARD
+        ON ARD.DAYPLAN_ID=OO.ORDER_PLAN_ID
+        left join RMS_SHIPPER RS
+        on ARD.SHIPMENT_UNIT_ID =RS.SHIPPER_ID
+        left join RMS_MATERIAL RM
+        on RM.MATERIAL_ID=ARD.MATERIAL_ID
+        left join OMSTRUCK_ORDER OO
+        ON OO.ORDER_PLAN_ID=ARD.DAYPLAN_ID
+        <where>
+            <if test="carrierId!=null">
+                and ARD.CARRIER_ID=#{carrierId}
+            </if>
+            <if test="dayPlanId!=null">
+                and ARD.DAYPLAN_ID=#{dayPlanId}
+            </if>
+            <if test="orderType!=null">
+                and OO.ORDER_TYPE=#{orderType}
+            </if>
+            <if test="orderStatus!=null">
+                and OO.ORDER_STATUS=#{orderStatus}
+            </if>
+            <if test="materialId!=null">
+                and RM.MATERIAL_ID=#{materialId}
+            </if>
+        </where>
+        )
+        <include refid="orderBy"></include>
+    </select>
+    <!-- 根据承运商查找销售订单-->
+    <select id="selectSteelSaleForCarrier" resultType="java.util.LinkedHashMap" parameterType="java.lang.Integer">
+        select ASO.SALE_NUMBER               "saleNumber",
+               RS.SHIPPER_NAME               "shipperName",
+               RC.CONSIGNEE_COMPANY_NAME     "consigneeName",
+               RRA.ADDRESS_DELIVERY_ADDRESS  "addressDeliveryAddress",
+               ASOM.SALE_DATE_OF_RECEIPT     "receiptOfdate",
+               ASOM.SALE_ORDER_CONSIGNEE     "saleOrderConsignee",
+               ASOM.SALE_ORDER_CONSIGNEE_TEL "saleOrderConsigneeTel",
+               RC2.CARRIER_NAME              "carrierName",
+               ASO.SALE_ORDER_ID             "saleOderId"
+        from AMS_SALE_ORDER ASO
+                 left join AMS_SALE_ORDER_MATERIAL ASOM
+                           on ASO.SALE_ORDER_ID = ASOM.SALE_ORDER_ID
+                 LEFT JOIN AMS_SALE_TRUCKNO_MATERIAL ASTM
+                           ON ASTM.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
+                 left join OMSTRUCK_ORDER OO
+                           on OO.ORDER_PLAN_ID = ASTM.SALE_ORDER_MATERIAL_ID
+                 left join RMS_DRIVER_CAPACITY RDC
+                           on RDC.DRIVER_CAPACITY_ID = OO.DRIVER_CAPACITY_ID
+
+                 LEFT JOIN RMS_SHIPPER RS ON ASO.SHIPPER_ID = RS.SHIPPER_ID
+                 LEFT JOIN RMS_CONSIGNEE RC ON RC.CONSIGNEE_ID = ASO.RECEIVE_ID
+                 LEFT JOIN RMS_RECEIVE_ADDRESS RRA ON ASOM.SALE_SHIPPING_ADDRESS_ID = RRA.ADDRESS_ID
+                 left join RMS_CARRIER RC2 ON RC2.CARRIER_ID = RDC.CARRIER_ID
+        WHERE RDC.CARRIER_ID = #{carrierId}
+          and OO.ORDER_TYPE = 1
+          AND OO.ORDER_STATUS = 4
+    </select>
+
+    <select id="selectInfoBySaleOrderId" resultType="java.util.Map" parameterType="java.lang.Integer">
+        select OO.ORDER_NUMBER                   "orderNumber",
+               RM.MATERIAL_NAME                  "materialName",
+               OOM.ORDER_MATERIAL_NUMBER         "orderMaterialNumber",
+               RM.MATERIAL_THEORETICAL_WEIGHT    "orderTheoreticalWeight",
+               ASOM.SALE_ORDER_MATERIAL_TRUCK_NO "saleOrderMaterialTruckNo",
+               OO.INSERT_UPDATE_REMARK           "remark",
+               RC.CAPACITY_NUMBER                "capacityNumber"
+
+        from AMS_SALE_ORDER ASO
+                 left join AMS_SALE_ORDER_MATERIAL ASOM
+                           on asom.SALE_ORDER_ID = ASO.SALE_ORDER_ID
+                 left join OMSTRUCK_ORDER OO
+                           ON OO.ORDER_PLAN_ID = ASOM.SALE_ORDER_MATERIAL_ID
+                 LEFT JOIN OMSTRUCK_ORDER_MATERIAL OOM
+                           ON OOM.ORDER_ID = OO.ORDER_ID
+                 LEFT JOIN RMS_DRIVER_CAPACITY RDC
+                           ON RDC.DRIVER_CAPACITY_ID = OO.DRIVER_CAPACITY_ID
+                 LEFT JOIN RMS_CAPACITY RC
+                           ON RC.CAPACITY_ID = RDC.CAPACITY_ID
+                 LEFT JOIN RMS_MATERIAL RM
+                           ON RM.MATERIAL_ID = OOM.MATERIAL_ID
+        WHERE ASO.SALE_ORDER_ID = #{saleOrderId}
+          and OO.ORDER_TYPE = 1
+          AND OO.ORDER_STATUS = 4
+    </select>
+
+    <!--根据承运商查找发运计划-->
+    <select id="selectCokeRailPlan" resultType="java.util.Map" parameterType="java.util.Map">
+        select ARD.DAYPLAN_NO             "dayPlanNo",
+               ARD.DAYPLAN_DELIVERY_DATE  "dayPlanDeliverydate",
+               ARD.DAYPLAN_TRUCK_NUMBER   "dayTruckNumber",
+               ARD.DAYPLAN_DELIVERY_PLACE "dayPlanDeliveryPlace",
+               ARD.DAYPLAN_RECEIVE_UNIT   "dayPlanReceiveUnit",
+               RS.SHIPPER_NAME            "shipperName",
+               ARD.DAYPLAN_ID             "dayPlanId"
+        from AMSTRUCK_RAIL_DAYPLAN ARD
+                 LEFT JOIN OMSTRUCK_ORDER OO
+                           ON OO.ORDER_PLAN_ID = ARD.DAYPLAN_ID
+                 LEFT JOIN RMS_SHIPPER RS
+                           ON RS.SHIPPER_ID = ARD.SHIPMENT_UNIT_ID
+                 LEFT JOIN RMS_DRIVER_CAPACITY RDC
+                           ON RDC.DRIVER_CAPACITY_ID = OO.DRIVER_CAPACITY_ID
+        WHERE RDC.CARRIER_ID = #{carrierId}
+          and OO.ORDER_TYPE = #{orderType}
+          AND OO.ORDER_STATUS = 4
+    </select>
+
+
+    <!-- 根据发运计划id查找信息 -->
+    <select id="selectInfoByDayPlanId" parameterType="java.lang.Integer" resultType="java.util.Map">
+
+        select OO.ORDER_NUMBER             "orderNumber",
+               RM.MATERIAL_NAME            "materialName",
+               ARD.DAYPLAN_MATERIAL_WEIGHT "materialWeight",
+               RC.CAPACITY_NUMBER          "capacityNumber",
+               OO.INSERT_UPDATE_REMARK     "remark"
+
+
+        from AMSTRUCK_RAIL_DAYPLAN ARD
+                 left join OMSTRUCK_ORDER OO
+                           ON OO.ORDER_PLAN_ID = ARD.DAYPLAN_ID
+                 LEFT JOIN RMS_MATERIAL RM
+                           ON RM.MATERIAL_ID = ARD.MATERIAL_ID
+                 LEFT JOIN RMS_DRIVER_CAPACITY RDC
+                           ON RDC.DRIVER_CAPACITY_ID = OO.DRIVER_CAPACITY_ID
+                 LEFT JOIN RMS_CAPACITY RC
+                           ON RC.CAPACITY_ID = OO.CAPACITY_ID
+        where OO.ORDER_TYPE = #{orderType}
+          and ARD.DAYPLAN_ID = #{dayPlanId}
+          AND OO.ORDER_STATUS = 4
+    </select>
+
+
+    <select id="getOrderUnReceive" resultType="java.util.Map"></select>
+
+</mapper>

+ 392 - 0
src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderMaterialMapper.xml

@@ -0,0 +1,392 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.steerinfo.dil.mapper.OmstruckOrderMaterialMapper">
+  <resultMap id="BaseResultMap" type="com.steerinfo.dil.model.OmstruckOrderMaterial">
+    <id column="ORDER_MATERIAL_ID" jdbcType="DECIMAL" property="orderMaterialId" />
+    <result column="ORDER_ID" jdbcType="DECIMAL" property="orderId" />
+    <result column="MATERIAL_ID" jdbcType="DECIMAL" property="materialId" />
+    <result column="ORDER_MATERIAL_NUMBER" jdbcType="DECIMAL" property="orderMaterialNumber" />
+    <result column="ORDER_MATERIAL_WEIGHT" jdbcType="DECIMAL" property="orderMaterialWeight" />
+    <result column="INSERT_USERNAME" jdbcType="VARCHAR" property="insertUsername" />
+    <result column="INSERT_TIME" jdbcType="TIMESTAMP" property="insertTime" />
+    <result column="UPDATE_USERNAME" jdbcType="VARCHAR" property="updateUsername" />
+    <result column="UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime" />
+    <result column="INSERT_UPDATE_REMARK" jdbcType="VARCHAR" property="insertUpdateRemark" />
+    <result column="MATERIAL_DIRECTION" jdbcType="DECIMAL" property="materialDirection" />
+  </resultMap>
+  <sql id="columns">
+    ORDER_MATERIAL_ID, ORDER_ID, MATERIAL_ID, ORDER_MATERIAL_NUMBER, ORDER_MATERIAL_WEIGHT, 
+    INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK, 
+    MATERIAL_DIRECTION
+  </sql>
+  <sql id="columns_alias">
+    t.ORDER_MATERIAL_ID, t.ORDER_ID, t.MATERIAL_ID, t.ORDER_MATERIAL_NUMBER, t.ORDER_MATERIAL_WEIGHT, 
+    t.INSERT_USERNAME, t.INSERT_TIME, t.UPDATE_USERNAME, t.UPDATE_TIME, t.INSERT_UPDATE_REMARK, 
+    t.MATERIAL_DIRECTION
+  </sql>
+  <sql id="select">
+    SELECT <include refid="columns"/> FROM OMSTRUCK_ORDER_MATERIAL
+  </sql>
+  <sql id="select_alias">
+    SELECT <include refid="columns_alias"/> FROM OMSTRUCK_ORDER_MATERIAL t
+  </sql>
+  <sql id="where">
+    <where>
+      <if test="orderMaterialId != null">
+        and ORDER_MATERIAL_ID = #{orderMaterialId}
+      </if>
+      <if test="orderId != null">
+        and ORDER_ID = #{orderId}
+      </if>
+      <if test="materialId != null">
+        and MATERIAL_ID = #{materialId}
+      </if>
+      <if test="orderMaterialNumber != null">
+        and ORDER_MATERIAL_NUMBER = #{orderMaterialNumber}
+      </if>
+      <if test="orderMaterialWeight != null">
+        and ORDER_MATERIAL_WEIGHT = #{orderMaterialWeight}
+      </if>
+      <if test="insertUsername != null and insertUsername != ''">
+        and INSERT_USERNAME = #{insertUsername}
+      </if>
+      <if test="insertTime != null">
+        and TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = #{insertTime}
+      </if>
+      <if test="updateUsername != null and updateUsername != ''">
+        and UPDATE_USERNAME = #{updateUsername}
+      </if>
+      <if test="updateTime != null">
+        and TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = #{updateTime}
+      </if>
+      <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+        and INSERT_UPDATE_REMARK = #{insertUpdateRemark}
+      </if>
+      <if test="materialDirection != null">
+        and MATERIAL_DIRECTION = #{materialDirection}
+      </if>
+    </where>
+  </sql>
+  <sql id="whereLike">
+    <where>
+      <if test="orderMaterialId != null">
+        and ORDER_MATERIAL_ID = #{orderMaterialId}
+      </if>
+      <if test="orderId != null">
+        and ORDER_ID = #{orderId}
+      </if>
+      <if test="materialId != null">
+        and MATERIAL_ID = #{materialId}
+      </if>
+      <if test="orderMaterialNumber != null">
+        and ORDER_MATERIAL_NUMBER = #{orderMaterialNumber}
+      </if>
+      <if test="orderMaterialWeight != null">
+        and ORDER_MATERIAL_WEIGHT = #{orderMaterialWeight}
+      </if>
+      <if test="insertUsername != null and insertUsername != ''">
+        and INSERT_USERNAME LIKE '%${insertUsername}%'
+      </if>
+      <if test="insertTime != null">
+        and TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = #{insertTime}
+      </if>
+      <if test="updateUsername != null and updateUsername != ''">
+        and UPDATE_USERNAME LIKE '%${updateUsername}%'
+      </if>
+      <if test="updateTime != null">
+        and TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = #{updateTime}
+      </if>
+      <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+        and INSERT_UPDATE_REMARK LIKE '%${insertUpdateRemark}%'
+      </if>
+      <if test="materialDirection != null">
+        and MATERIAL_DIRECTION = #{materialDirection}
+      </if>
+    </where>
+  </sql>
+  <delete id="deleteByPrimaryKey" parameterType="java.math.BigDecimal">
+    delete from OMSTRUCK_ORDER_MATERIAL
+    where ORDER_MATERIAL_ID = #{orderMaterialId,jdbcType=DECIMAL}
+  </delete>
+  <delete id="deleteBySelectiveElement" parameterType="java.util.HashMap">
+    delete from OMSTRUCK_ORDER_MATERIAL
+    where 1!=1
+    <if test="orderId != null">
+      or ORDER_ID = #{orderId}
+    </if>
+    <if test="materialId != null">
+      or MATERIAL_ID = #{materialId}
+    </if>
+    <if test="orderMaterialNumber != null">
+      or ORDER_MATERIAL_NUMBER = #{orderMaterialNumber}
+    </if>
+    <if test="orderMaterialWeight != null">
+      or ORDER_MATERIAL_WEIGHT = #{orderMaterialWeight}
+    </if>
+    <if test="insertUsername != null and insertUsername != ''">
+      or INSERT_USERNAME = #{insertUsername}
+    </if>
+    <if test="insertTime != null">
+      or TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = '#{insertTime}'
+    </if>
+    <if test="updateUsername != null and updateUsername != ''">
+      or UPDATE_USERNAME = #{updateUsername}
+    </if>
+    <if test="updateTime != null">
+      or TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = '#{updateTime}'
+    </if>
+    <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+      or INSERT_UPDATE_REMARK = #{insertUpdateRemark}
+    </if>
+    <if test="materialDirection != null">
+      or MATERIAL_DIRECTION = #{materialDirection}
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.steerinfo.dil.model.OmstruckOrderMaterial">
+    insert into OMSTRUCK_ORDER_MATERIAL (ORDER_MATERIAL_ID, ORDER_ID, MATERIAL_ID,
+                                         ORDER_MATERIAL_NUMBER, ORDER_MATERIAL_WEIGHT,
+                                         INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME,
+                                         UPDATE_TIME, INSERT_UPDATE_REMARK, MATERIAL_DIRECTION
+    )
+    values (#{orderMaterialId,jdbcType=DECIMAL}, #{orderId,jdbcType=DECIMAL}, #{materialId,jdbcType=DECIMAL},
+            #{orderMaterialNumber,jdbcType=DECIMAL}, #{orderMaterialWeight,jdbcType=DECIMAL},
+            #{insertUsername,jdbcType=VARCHAR}, #{insertTime,jdbcType=TIMESTAMP}, #{updateUsername,jdbcType=VARCHAR},
+            #{updateTime,jdbcType=TIMESTAMP}, #{insertUpdateRemark,jdbcType=VARCHAR}, #{materialDirection,jdbcType=DECIMAL}
+           )
+  </insert>
+  <insert id="insertSelective" parameterType="com.steerinfo.dil.model.OmstruckOrderMaterial">
+    insert into OMSTRUCK_ORDER_MATERIAL
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="orderMaterialId != null">
+        ORDER_MATERIAL_ID,
+      </if>
+      <if test="orderId != null">
+        ORDER_ID,
+      </if>
+      <if test="materialId != null">
+        MATERIAL_ID,
+      </if>
+      <if test="orderMaterialNumber != null">
+        ORDER_MATERIAL_NUMBER,
+      </if>
+      <if test="orderMaterialWeight != null">
+        ORDER_MATERIAL_WEIGHT,
+      </if>
+      <if test="insertUsername != null">
+        INSERT_USERNAME,
+      </if>
+      <if test="insertTime != null">
+        INSERT_TIME,
+      </if>
+      <if test="updateUsername != null">
+        UPDATE_USERNAME,
+      </if>
+      <if test="updateTime != null">
+        UPDATE_TIME,
+      </if>
+      <if test="insertUpdateRemark != null">
+        INSERT_UPDATE_REMARK,
+      </if>
+      <if test="materialDirection != null">
+        MATERIAL_DIRECTION,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="orderMaterialId != null">
+        #{orderMaterialId,jdbcType=DECIMAL},
+      </if>
+      <if test="orderId != null">
+        #{orderId,jdbcType=DECIMAL},
+      </if>
+      <if test="materialId != null">
+        #{materialId,jdbcType=DECIMAL},
+      </if>
+      <if test="orderMaterialNumber != null">
+        #{orderMaterialNumber,jdbcType=DECIMAL},
+      </if>
+      <if test="orderMaterialWeight != null">
+        #{orderMaterialWeight,jdbcType=DECIMAL},
+      </if>
+      <if test="insertUsername != null">
+        #{insertUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="insertTime != null">
+        #{insertTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updateUsername != null">
+        #{updateUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="updateTime != null">
+        #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="insertUpdateRemark != null">
+        #{insertUpdateRemark,jdbcType=VARCHAR},
+      </if>
+      <if test="materialDirection != null">
+        #{materialDirection,jdbcType=DECIMAL},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.OmstruckOrderMaterial">
+    update OMSTRUCK_ORDER_MATERIAL
+    set ORDER_ID = #{orderId,jdbcType=DECIMAL},
+        MATERIAL_ID = #{materialId,jdbcType=DECIMAL},
+        ORDER_MATERIAL_NUMBER = #{orderMaterialNumber,jdbcType=DECIMAL},
+        ORDER_MATERIAL_WEIGHT = #{orderMaterialWeight,jdbcType=DECIMAL},
+        INSERT_USERNAME = #{insertUsername,jdbcType=VARCHAR},
+        INSERT_TIME = #{insertTime,jdbcType=TIMESTAMP},
+        UPDATE_USERNAME = #{updateUsername,jdbcType=VARCHAR},
+        UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
+        INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR},
+        MATERIAL_DIRECTION = #{materialDirection,jdbcType=DECIMAL}
+    where ORDER_MATERIAL_ID = #{orderMaterialId,jdbcType=DECIMAL}
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.OmstruckOrderMaterial">
+    update OMSTRUCK_ORDER_MATERIAL
+    <set>
+      <if test="orderId != null">
+        ORDER_ID = #{orderId,jdbcType=DECIMAL},
+      </if>
+      <if test="materialId != null">
+        MATERIAL_ID = #{materialId,jdbcType=DECIMAL},
+      </if>
+      <if test="orderMaterialNumber != null">
+        ORDER_MATERIAL_NUMBER = #{orderMaterialNumber,jdbcType=DECIMAL},
+      </if>
+      <if test="orderMaterialWeight != null">
+        ORDER_MATERIAL_WEIGHT = #{orderMaterialWeight,jdbcType=DECIMAL},
+      </if>
+      <if test="insertUsername != null">
+        INSERT_USERNAME = #{insertUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="insertTime != null">
+        INSERT_TIME = #{insertTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updateUsername != null">
+        UPDATE_USERNAME = #{updateUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="updateTime != null">
+        UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="insertUpdateRemark != null">
+        INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR},
+      </if>
+      <if test="materialDirection != null">
+        MATERIAL_DIRECTION = #{materialDirection,jdbcType=DECIMAL},
+      </if>
+    </set>
+    where ORDER_MATERIAL_ID = #{orderMaterialId,jdbcType=DECIMAL}
+  </update>
+  <select id="selectByPrimaryKey" parameterType="java.math.BigDecimal" resultMap="BaseResultMap">
+    <include refid="select"/>
+    where ORDER_MATERIAL_ID = #{orderMaterialId,jdbcType=DECIMAL}
+  </select>
+  <select id="selectByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
+    <include refid="select"/>
+    <include refid="where"/>
+  </select>
+  <select id="selectLikeByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
+    <include refid="select"/>
+    <include refid="whereLike"/>
+  </select>
+  <insert id="batchInsert" parameterType="java.util.List">
+    insert into OMSTRUCK_ORDER_MATERIAL
+    (ORDER_MATERIAL_ID,
+    ORDER_ID, MATERIAL_ID, ORDER_MATERIAL_NUMBER,
+    ORDER_MATERIAL_WEIGHT, INSERT_USERNAME,
+    INSERT_TIME, UPDATE_USERNAME,
+    UPDATE_TIME, INSERT_UPDATE_REMARK,
+    MATERIAL_DIRECTION)
+    ( <foreach collection="list" item="item" separator="union all">
+    select
+    #{item.orderMaterialId,jdbcType=DECIMAL},
+    #{item.orderId,jdbcType=DECIMAL}, #{item.materialId,jdbcType=DECIMAL}, #{item.orderMaterialNumber,jdbcType=DECIMAL},
+    #{item.orderMaterialWeight,jdbcType=DECIMAL}, #{item.insertUsername,jdbcType=VARCHAR},
+    #{item.insertTime,jdbcType=TIMESTAMP}, #{item.updateUsername,jdbcType=VARCHAR},
+    #{item.updateTime,jdbcType=TIMESTAMP}, #{item.insertUpdateRemark,jdbcType=VARCHAR},
+    #{item.materialDirection,jdbcType=DECIMAL} from dual
+  </foreach> )
+  </insert>
+  <update id="batchUpdate" parameterType="java.util.List">
+    update OMSTRUCK_ORDER_MATERIAL
+    set
+    ORDER_MATERIAL_ID=
+    <foreach collection="list" item="item" index="index" separator=" " open="case ORDER_MATERIAL_ID" close="end">
+      when #{item.orderMaterialId,jdbcType=DECIMAL} then #{item.orderMaterialId,jdbcType=DECIMAL}
+    </foreach>
+    ,ORDER_ID=
+    <foreach collection="list" item="item" index="index" separator=" " open="case ORDER_MATERIAL_ID" close="end">
+      when #{item.orderMaterialId,jdbcType=DECIMAL} then #{item.orderId,jdbcType=DECIMAL}
+    </foreach>
+    ,MATERIAL_ID=
+    <foreach collection="list" item="item" index="index" separator=" " open="case ORDER_MATERIAL_ID" close="end">
+      when #{item.orderMaterialId,jdbcType=DECIMAL} then #{item.materialId,jdbcType=DECIMAL}
+    </foreach>
+    ,ORDER_MATERIAL_NUMBER=
+    <foreach collection="list" item="item" index="index" separator=" " open="case ORDER_MATERIAL_ID" close="end">
+      when #{item.orderMaterialId,jdbcType=DECIMAL} then #{item.orderMaterialNumber,jdbcType=DECIMAL}
+    </foreach>
+    ,ORDER_MATERIAL_WEIGHT=
+    <foreach collection="list" item="item" index="index" separator=" " open="case ORDER_MATERIAL_ID" close="end">
+      when #{item.orderMaterialId,jdbcType=DECIMAL} then #{item.orderMaterialWeight,jdbcType=DECIMAL}
+    </foreach>
+    ,INSERT_USERNAME=
+    <foreach collection="list" item="item" index="index" separator=" " open="case ORDER_MATERIAL_ID" close="end">
+      when #{item.orderMaterialId,jdbcType=DECIMAL} then #{item.insertUsername,jdbcType=VARCHAR}
+    </foreach>
+    ,INSERT_TIME=
+    <foreach collection="list" item="item" index="index" separator=" " open="case ORDER_MATERIAL_ID" close="end">
+      when #{item.orderMaterialId,jdbcType=DECIMAL} then #{item.insertTime,jdbcType=TIMESTAMP}
+    </foreach>
+    ,UPDATE_USERNAME=
+    <foreach collection="list" item="item" index="index" separator=" " open="case ORDER_MATERIAL_ID" close="end">
+      when #{item.orderMaterialId,jdbcType=DECIMAL} then #{item.updateUsername,jdbcType=VARCHAR}
+    </foreach>
+    ,UPDATE_TIME=
+    <foreach collection="list" item="item" index="index" separator=" " open="case ORDER_MATERIAL_ID" close="end">
+      when #{item.orderMaterialId,jdbcType=DECIMAL} then #{item.updateTime,jdbcType=TIMESTAMP}
+    </foreach>
+    ,INSERT_UPDATE_REMARK=
+    <foreach collection="list" item="item" index="index" separator=" " open="case ORDER_MATERIAL_ID" close="end">
+      when #{item.orderMaterialId,jdbcType=DECIMAL} then #{item.insertUpdateRemark,jdbcType=VARCHAR}
+    </foreach>
+    ,MATERIAL_DIRECTION=
+    <foreach collection="list" item="item" index="index" separator=" " open="case ORDER_MATERIAL_ID" close="end">
+      when #{item.orderMaterialId,jdbcType=DECIMAL} then #{item.materialDirection,jdbcType=DECIMAL}
+    </foreach>
+    where ORDER_MATERIAL_ID in
+    <foreach collection="list" index="index" item="item" separator="," open="(" close=")">
+      #{item.orderMaterialId,jdbcType=DECIMAL}
+    </foreach>
+  </update>
+  <delete id="batchDelete" parameterType="java.util.List">
+    delete from OMSTRUCK_ORDER_MATERIAL
+    where ORDER_MATERIAL_ID in
+    <foreach collection="list" item="id" open="(" close=")" separator=",">
+      #{id}
+    </foreach>
+  </delete>
+
+  <!-- 友情提示!!!-->
+  <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
+  <sql id="orderBy">
+    <if test="orderField != null and orderField != ''">
+      order by  "${orderField}"
+      <if test="orderType != null and orderType != ''">
+        ${orderType}
+      </if>
+    </if>
+  </sql>
+
+
+<!--  通过orderId获取子表主键 -->
+  <select id="getOrderMaterialIdByOrderId" parameterType="java.math.BigDecimal" resultType="java.math.BigDecimal">
+    select OOM.ORDER_MATERIAL_ID from OMSTRUCK_ORDER_MATERIAL OOM where OOM.ORDER_ID = #{orderId}
+  </select>
+  <!--  //通过订单号获取计量实绩主键
+      BigDecimal selectWeightResultId(BigDecimal orderId);-->
+<!--  <select id="selectWeightResultId" resultType="java.math.BigDecimal" parameterType="java.math.BigDecimal">-->
+<!--    select twr.weight_task_result_id from omstruck_order oo join tmstruck_total_result ttr on oo.order_id=ttr.order_id-->
+<!--                                                            join tmstruck_weight_result twr on ttr.result_total_id=twr.result_total_id where oo.order_id =#{orderId}-->
+<!--  </select>-->
+</mapper>

+ 80 - 0
src/main/resources/log4j.properties

@@ -0,0 +1,80 @@
+## LOG4J配置
+log4j.rootCategory=INFO, stdout,file, RUNNING,errorfile
+## 控制台输出
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS}:%5p %20t [%50F:%3L] - %m%n
+
+## root日志输出到文件
+log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
+log4j.appender.file.file=/logsdata/logs/springboot-log4j-root.log
+log4j.appender.file.DatePattern='.'yyyy-MM-dd
+log4j.appender.file.layout=org.apache.log4j.PatternLayout
+log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS}:%5p %20t [%50F:%3L] - %m%n
+
+## 按不同package进行输出
+## com.steer包下的日志配置
+log4j.category.market=DEBUG, steerfile
+log4j.category.com.hnshituo=DEBUG, steerfile
+#log4j.category.com.steer=${logging.level.com.steer}, steerfile
+log4j.category.com.steer=DEBUG, steerfile
+# com.steer下的日志输出
+log4j.appender.steerfile=org.apache.log4j.DailyRollingFileAppender
+log4j.appender.steerfile.file=/logsdata/logs/springboot-log4j-steer.log
+log4j.appender.steerfile.DatePattern='.'yyyy-MM-dd
+log4j.appender.steerfile.layout=org.apache.log4j.PatternLayout
+#log4j.appender.steerfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n
+log4j.appender.steerfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS}:%5p %20t [%50F:%3L] - %m%n
+
+
+## ERROR级别输出到特定的日志文件中
+log4j.logger.error=errorfile
+## 异常日志####
+log4j.appender.errorfile=org.apache.log4j.DailyRollingFileAppender
+log4j.appender.errorfile.file=/logs/exception/exc.log
+log4j.appender.errorfile.DatePattern='.'yyyy-MM-dd
+log4j.appender.errorfile.Threshold = ERROR
+log4j.appender.errorfile.layout=org.apache.log4j.PatternLayout
+#log4j.appender.errorfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n
+log4j.appender.errorfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS}:%5p %20t [%50F:%3L] - %m%n
+
+### 运行日志 ###
+log4j.appender.RUNNING = org.apache.log4j.DailyRollingFileAppender
+log4j.appender.RUNNING.File =/logs/log/running.log
+log4j.appender.RUNNING.Append = true
+log4j.appender.RUNNING.Threshold = INFO
+log4j.appender.RUNNING.DatePattern='.'yyyy-MM-dd.
+log4j.appender.RUNNING.layout = org.apache.log4j.PatternLayout
+log4j.appender.RUNNING.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss,SSS}:%5p %20t [%50F:%3L] - %m%n
+
+### 指定类###
+log4j.logger.com.steer.rbac.sysdebuglog.service.DebugLogRecord = DEBUG,DEB
+## 调试日志 ###
+log4j.appender.DEB = org.apache.log4j.DailyRollingFileAppender
+log4j.appender.DEB.File = /logs/debug/debug.log
+log4j.appender.DEB.Append = true
+log4j.appender.DEB.Threshold = DEBUG 
+log4j.appender.DEB.DatePattern='.'yyyy-MM-dd
+log4j.appender.DEB.layout = org.apache.log4j.PatternLayout
+log4j.appender.DEB.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss,SSS}:%5p %20t [%50F:%3L] - %m%n
+####[%p] [%-d{yyyy-MM-dd HH:mm:ss}] %C.%M(%L) | %m%n
+
+#### 业务日志###
+log4j.logger.com.steer.rbac.sysoperlog.service.BizLogRecord = INFO,BIZ
+log4j.appender.BIZ = org.apache.log4j.DailyRollingFileAppender
+log4j.appender.BIZ.File = /logs/business/biz.log
+log4j.appender.BIZ.Append = true
+log4j.appender.BIZ.Threshold = INFO
+log4j.appender.BIZ.DatePattern='.'yyyy-MM-dd
+log4j.appender.BIZ.layout = org.apache.log4j.PatternLayout
+log4j.appender.BIZ.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss,SSS}:%5p %20t [%50F:%3L] - %m%n
+#
+#
+#### 资源日志###
+#log4j.appender.ENV = org.apache.log4j.DailyRollingFileAppender
+#log4j.appender.ENV.File = ../logs/env/env.log
+#log4j.appender.ENV.Append = true
+#log4j.appender.ENV.Threshold = INFO
+#log4j.appender.ENV.DatePattern='.'yyyy-MM-dd
+#1420.3og4j.appender.ENV.layout = org.apache.log4j.PatternLayout
+#log4j.appender.ENV.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss,SSS}:%5p %20t [%50F:%3L] - %m%n

+ 4 - 0
src/main/resources/message.properties

@@ -0,0 +1,4 @@
+succeed=操作成功
+failed=操作失败
+unreg=帐号或手机号码未注册
+passerr=密码错误