Преглед на файлове

txf2021年12月8日20:42:18

txf преди 3 години
родител
ревизия
7ff5c900b5

+ 1 - 1
pom.xml

@@ -110,7 +110,7 @@
                     <targetPackage>com.steerinfo.dil</targetPackage>
                     <tables>
 <!--                        <param>AMSTRUCK_RAIL_DAYPLAN</param>-->
-                    <param>OMSTRUCK_ORDER</param>
+<!--                    <param>TMSTRAIN_WEIGHT_RESULT</param>-->
                     </tables>
                 </configuration>
                 <executions>

+ 5 - 2
src/main/java/com/steerinfo/dil/controller/OmstruckOrderController.java

@@ -1322,12 +1322,15 @@ OmstruckOrderController extends BaseRESTfulController {
     @ApiOperation(value = "通过运输订单Id查询订单信息给司机")
     @PostMapping("/getMessageToApp")
     public Map<String, Object> getMessageToApp(@RequestBody(required = false) Map<String,Object> mapvalue) {
+        if(mapvalue.get("orderId") == null && mapvalue.get("orderNumber") == null)
+            return null;
         BigDecimal orderId = null;
         if(mapvalue.get("orderId") == null){
             //通过运输订单号查询运输订单Id
             String orderNumber = (String) mapvalue.get("orderNumber");
-            String orderNumber1 = orderNumber.substring(0, orderNumber.length() - 1);
-            Integer id = omstruckOrderMapper.getOrderIdByOrderNumber(orderNumber1);
+            if("\n".equals(orderNumber.substring(orderNumber.length()-1)))
+                orderNumber = orderNumber.substring(0, orderNumber.length() - 1);
+            Integer id = omstruckOrderMapper.getOrderIdByOrderNumber(orderNumber);
             orderId = new BigDecimal(id);
         }else {
             orderId = DataChange.dataToBigDecimal(mapvalue.get("orderId"));

+ 0 - 3
src/main/java/com/steerinfo/dil/controller/OmstruckOrderSeparateController.java

@@ -3,11 +3,8 @@ package com.steerinfo.dil.controller;
 import com.steerinfo.dil.feign.TmsTruckFeign;
 import com.steerinfo.dil.service.impl.OmstruckOrderSeparateServiceImpl;
 import com.steerinfo.dil.util.BaseRESTfulController;
-import com.steerinfo.dil.util.DataChange;
 import com.steerinfo.framework.controller.RESTfulResult;
-import io.swagger.models.auth.In;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.*;
 
 import java.math.BigDecimal;

+ 27 - 0
src/main/java/com/steerinfo/dil/mapper/OmstruckOrderSeparateMapper.java

@@ -37,4 +37,31 @@ public interface OmstruckOrderSeparateMapper {
 
     // 通过运输订单号查询运单id
     BigDecimal getOrderIdByOrderNumber(String orderNumber);
+
+    //通过总实绩ID查询物资信息
+    List<Integer> getMaterialIdByTotalId(Integer resultTotalId);
+
+    //通过订单ID查询总实绩ID
+    Integer getTotalIdByOrderId(BigDecimal orderId);
+
+    //通过总实绩ID和路段顺序号查询进厂实绩数据
+    Map<String, Object> getEnFactoryMes(Map<String, Object> map);
+
+    //通过总实绩ID和路段顺序号查询计毛实绩数据
+    Map<String, Object> getMaoWeightMes(Map<String, Object> map);
+
+    //通过总实绩ID和路段顺序号查询计毛实绩数据
+    Map<String, Object> getPiWeightMes(Map<String, Object> map);
+
+    //通过总实绩ID和路段顺序号查询卸货实绩数据
+    Map<String, Object> getUnloadMes(Map<String, Object> map);
+
+    //通过总实绩ID和路段顺序号查询装货实绩数据
+    Map<String, Object> getLoadMes(Map<String, Object> map);
+
+    //通过总实绩ID和路段顺序号查询出厂实绩数据
+    Map<String, Object> getOutFactoryMes(Map<String, Object> map);
+
+    //通过总实绩ID和路段顺序号查询退货实绩数据
+    Map<String, Object> getReturnMes(Map<String, Object> map);
 }

+ 83 - 60
src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderSeparateServiceImpl.java

@@ -46,10 +46,16 @@ public class OmstruckOrderSeparateServiceImpl implements IOmstruckOrderSeparateS
     //通过线路子表路线图生成各实绩
     public int addAllSonResult(Integer resultTotalId, Integer lineId){
         int result = 0;
-        //通过订单Id 查询关联的线路子表顺序
-        BigDecimal orderId = omstruckOrderSeparateMapper.getOrderIdByTotalId(new BigDecimal(resultTotalId));
+        //通过总实绩Id 查询关联的线路子表顺序
         List<Map<String, Object>> segmentList = omstruckOrderSeparateMapper.getLineMesByOrderId(lineId);
+        //通过订单ID查询物资信息
+        List<Integer> materialIdList = omstruckOrderSeparateMapper.getMaterialIdByTotalId(resultTotalId);
+        BigDecimal materialId = null;
+        if(materialIdList.size() == 1){
+            materialId = new BigDecimal(materialIdList.get(0));
+        }
         Map<String,Object> totalIdMap = new HashMap<>();
+        totalIdMap.put("materialId", materialId);
         totalIdMap.put("resultTotalId",resultTotalId);
         // 遍历路段顺序号子表
         int count = 0;
@@ -57,20 +63,39 @@ public class OmstruckOrderSeparateServiceImpl implements IOmstruckOrderSeparateS
         if (lineType.intValue() == 4) {
             count++;
         }
+        //存放皮重路段顺序号和毛重路段顺序号map
+        Map<String, Object> tareAndGrossSegmentMap = new HashMap<>();
         for (Map<String,Object> segmentMap : segmentList) {
             BigDecimal segmentSqe = (BigDecimal) segmentMap.get("segmentSqe");
-//            BigDecimal type = (BigDecimal) segmentMap.get("type");
             String linkName = (String) segmentMap.get("linkName");
             totalIdMap.put("segmentSqe",segmentSqe);
-            // 判断是否是计
-            if (linkName.equals("计毛") || linkName.equals("计皮")) {
+            // 判断是否是计
+            if (linkName.equals("计毛")) {
                 // 如果是计量则加一
                 count ++;
+                tareAndGrossSegmentMap.put("grossSegmentSqe", segmentSqe);
+                // 有两个计量的时候则新增实绩
+                if (count == 2) {
+                    totalIdMap.putAll(tareAndGrossSegmentMap);//将皮重顺序号和毛重路段顺序号放进去
+                    tmsTruckFeign.addWeightResult(totalIdMap);
+                    // 新增一次则对计数器清零
+                    count = 0;
+                    tareAndGrossSegmentMap.clear(); // 清空毛重皮重 map
+                    result++;
+                }
+            }
+            // 判断是否是计皮
+            if (linkName.equals("计皮")) {
+                // 如果是计皮则加一
+                count ++;
+                tareAndGrossSegmentMap.put("tareSegmentSqe", segmentSqe);
                 // 有两个计量的时候则新增实绩
                 if (count == 2) {
+                    totalIdMap.putAll(tareAndGrossSegmentMap);
                     tmsTruckFeign.addWeightResult(totalIdMap);
                     // 新增一次则对计数器清零
                     count = 0;
+                    tareAndGrossSegmentMap.clear(); // 清空毛重皮重 map
                     result++;
                 }
             }
@@ -145,7 +170,7 @@ public class OmstruckOrderSeparateServiceImpl implements IOmstruckOrderSeparateS
         // 添加各种实绩
         int result = addAllSonResult(totalId, (Integer) map.get("lineId"));
         // 推送消息给司机
-        Map<String,Object> newMap = new HashMap<>();
+        Map<String, Object> newMap = new HashMap<>();
         newMap.put("orderId",orderId);
         newMap.put("newOrderId",newOrderId);
         pushMesToWebsocket(newMap);
@@ -154,7 +179,7 @@ public class OmstruckOrderSeparateServiceImpl implements IOmstruckOrderSeparateS
 
     /**
      * 发送消息到 websocket 推送消息
-     * orderId  订单Id  (unloadPointId)卸货点Id
+     * orderId  订单Id
      * @return
      */
     public void pushMesToWebsocket(Map<String, Object> map) {
@@ -163,12 +188,11 @@ public class OmstruckOrderSeparateServiceImpl implements IOmstruckOrderSeparateS
         if (newOrderId != null) {
             String orderNumber = (String) mesMap.get("orderNumber");
             String newOrderNumber = orderNumber + "-1";
-            mesMap.remove("orderNumber");
             mesMap.put("orderNumber",newOrderNumber);
         }
         //添加消息实体
         HashMap<Object, Object> mapp = new HashMap<>();
-        mapp.put("messageType", 4);
+        mapp.put("messageType", 3);
         mapp.put("sendPerson", "system");
         mapp.put("receivePerson", mesMap.get("capacityNumber"));
         mapp.put("messageContent", mesMap);
@@ -179,8 +203,7 @@ public class OmstruckOrderSeparateServiceImpl implements IOmstruckOrderSeparateS
         HashMap<Object, Object> sendMap = new HashMap<>();
         //将消息实体放入list中存到map中
         sendMap.put("messages", list);
-        String s = imFeign.sendToUser(sendMap);
-        System.out.println(s);
+        imFeign.sendToUser(sendMap);
     }
 
     /**
@@ -189,57 +212,57 @@ public class OmstruckOrderSeparateServiceImpl implements IOmstruckOrderSeparateS
      * @return
      */
     public List<Map<String,Object>> getOrderResult(BigDecimal orderId) {
-        List<Map<String,Object>> seqmentList = omstruckOrderSeparateMapper.getSegmentList(orderId);
-        Map<String,Object> resultPointList = omstruckOrderSeparateMapper.getResultPointList(orderId);
-        if (seqmentList != null) {
-        for (Map<String,Object> seqmentMap : seqmentList) {
-            String linkName = (String) seqmentMap.get("linkName");
-            if (resultPointList.size() != 0 && resultPointList != null) {
-                if (linkName.equals("进厂")) {
-                    String pointName = (String) resultPointList.get("gatepostNameEnter");
-                    Date pointDate = (Date) resultPointList.get("resultEntryGateTime");
-                    seqmentMap.put("pointName", pointName);
-                    seqmentMap.put("pointDate", pointDate);
-                }
-                if (linkName.equals("计毛")) {
-                    String pointName = (String) resultPointList.get("truckCalculateNumberM");
-                    Date pointDate = (Date) resultPointList.get("resultGrossWeightTime");
-                    seqmentMap.put("pointName", pointName);
-                    seqmentMap.put("pointDate", pointDate);
-                }
-                if (linkName.equals("卸货")) {
-                    String pointName = (String) resultPointList.get("warehouseNameUnLoad");
-                    Date pointDate = (Date) resultPointList.get("resultEndTime");
-                    seqmentMap.put("pointName", pointName);
-                    seqmentMap.put("pointDate", pointDate);
-                }
-                if (linkName.equals("计皮")) {
-                    String pointName = (String) resultPointList.get("truckCalculateNumberP");
-                    Date pointDate = (Date) resultPointList.get("resultTareWeightTime");
-                    seqmentMap.put("pointName", pointName);
-                    seqmentMap.put("pointDate", pointDate);
-                }
-                if (linkName.equals("装货")) {
-                    String pointName = (String) resultPointList.get("warehouseNameLoad");
-                    Date pointDate = (Date) resultPointList.get("resultLoadEndTime");
-                    seqmentMap.put("pointName", pointName);
-                    seqmentMap.put("pointDate", pointDate);
-                }
-                if (linkName.equals("出厂")) {
-                    String pointName = (String) resultPointList.get("gatepostNameLeave");
-                    Date pointDate = (Date) resultPointList.get("resultOutGateTime");
-                    seqmentMap.put("pointName", pointName);
-                    seqmentMap.put("pointDate", pointDate);
-                }
-                if (linkName.equals("退货")) {
-                    Date pointDate = (Date) resultPointList.get("returnTime");
-                    seqmentMap.put("pointDate", pointDate);
-                    seqmentMap.put("pointName", "");
+        List<Map<String,Object>> segmentList = omstruckOrderSeparateMapper.getSegmentList(orderId);
+        //通过订单ID查询总实绩ID
+        Integer resultTotalId = omstruckOrderSeparateMapper.getTotalIdByOrderId(orderId);
+        if(segmentList != null)
+            for (Map<String, Object> map : segmentList) {
+                //获取路段类型
+                String linkName = (String) map.get("linkName");
+                //获取路段顺序号
+                int segmentSqe = DataChange.dataToBigDecimal(map.get("segmentSqe")).intValue();
+                Map<String, Object> mesMap = new HashMap<>(); //查询条件Map
+                mesMap.put("segmentSqe", segmentSqe);
+                mesMap.put("resultTotalId", resultTotalId);
+                switch (linkName) {
+                    case "进厂":
+                        //通过总实绩ID和路段顺序号查询
+                        Map<String, Object> mes1 = omstruckOrderSeparateMapper.getEnFactoryMes(mesMap);
+                        if(mes1 != null)
+                            map.putAll(mes1);
+                        break;
+                    case "计毛":
+                        Map<String, Object> mes2 = omstruckOrderSeparateMapper.getMaoWeightMes(mesMap);
+                        if(mes2 != null)
+                            map.putAll(mes2);
+                        break;
+                    case "计皮":
+                        Map<String, Object> mes3 = omstruckOrderSeparateMapper.getPiWeightMes(mesMap);
+                        if(mes3 != null)
+                            map.putAll(mes3);
+                        break;
+                    case "卸货":
+                        Map<String, Object> mes4 = omstruckOrderSeparateMapper.getUnloadMes(mesMap);
+                        if(mes4 != null)
+                            map.putAll(mes4);
+                        break;
+                    case "装货":
+                        Map<String, Object> mes5 = omstruckOrderSeparateMapper.getLoadMes(mesMap);
+                        if(mes5 != null)
+                            map.putAll(mes5);
+                        break;
+                    case "出厂":
+                        Map<String, Object> mes6 = omstruckOrderSeparateMapper.getOutFactoryMes(mesMap);
+                        if(mes6 != null)
+                            map.putAll(mes6);
+                        break;
+                    case "退货":
+                        Map<String, Object> mes7 = omstruckOrderSeparateMapper.getReturnMes(mesMap);
+                        if(mes7 != null)
+                            map.putAll(mes7);
                 }
             }
-        }
-        }
-        return seqmentList;
+        return segmentList;
     }
 
     /**

+ 12 - 64
src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderServiceImpl.java

@@ -57,6 +57,11 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
     @Autowired
     AmstruckInwardPlanMapper amstruckInwardPlanMapper;
 
+    @Autowired
+    OmstruckOrderSeparateServiceImpl omstruckOrderSeparateService;
+
+    @Autowired
+    OmstruckOrderSeparateMapper omstruckOrderSeparateMapper;
 
     /**
      * 用于远程调用运输订单新增
@@ -518,9 +523,9 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
      * @return
      */
     @Override
+    @Transactional
     public int driverReceiveOrRefuse(Map<String, Object> map) {
         BigDecimal orderId = DataChange.dataToBigDecimal(map.get("orderId"));
-
         OmstruckOrder omstruckOrder = new OmstruckOrder();
         if((Integer) map.get("orderReceiveStatus") == 1){
             List<Integer> orderIdList = omstruckOrderMapper.getReceiveOrderIdListByCapacityNum((String) map.get("capacityNumber"));
@@ -528,8 +533,12 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
                 return 0;
             }
             omstruckOrder.setOrderStatus(new BigDecimal(5)); //5 :已接收
-            //添加实绩
-            addSomeResult(orderId.intValue());
+            //添加各个实绩
+            //通过订单ID查询信息
+            Map<String, Object> orderMessage = omstruckOrderSeparateMapper.getOrderMessagge(orderId);
+            BigDecimal resultTotalId = DataChange.dataToBigDecimal(orderMessage.get("resultTotalId"));
+            BigDecimal lineId = DataChange.dataToBigDecimal(orderMessage.get("lineId"));
+            omstruckOrderSeparateService.addAllSonResult(resultTotalId.intValue(), lineId.intValue());
         }else { //其他状态都视为 拒绝接单
             omstruckOrder.setOrderStatus(new BigDecimal(6));
             //添加拒绝原因
@@ -552,67 +561,6 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
         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);
-
-        Integer orderType = DataChange.dataToBigDecimal(map.get("orderType")).intValue();
-        if(orderType != 1)
-            //先默认给个门岗
-            map.put("gatepostId", 1); //如果不是销售订单
-        switch (orderType) {
-            case 1:
-            case 4:
-                //生成进厂实绩
-                tmsTruckFeign.addEnFactoryResult(map);
-                //生成出厂实绩
-                tmsTruckFeign.addLeaveFactory(map);
-                //如果有多种物资 就添加多条装车实绩和计量实绩
-                for (Integer materialId : materialIdList) {
-                    map.put("materialId", materialId);
-                    tmsTruckFeign.addWeightResult(map);
-                    tmsTruckFeign.addLoadResult(map);
-                }
-                break;
-            case 2:
-            case 3:
-                tmsTruckFeign.addEnFactoryResult(map);
-                //生成出厂实绩
-                tmsTruckFeign.addLeaveFactory(map);
-                map.put("materialId", materialIdList.get(0)); //只会存在一种物资
-                tmsTruckFeign.addWeightResult(map);
-                tmsTruckFeign.addLoadResult(map);
-                break;
-            case 5:
-            case 6:
-            case 7:
-            case 8:
-                //生成进厂实绩
-                tmsTruckFeign.addEnFactoryResult(map);
-                //生成出厂实绩
-                tmsTruckFeign.addLeaveFactory(map);
-                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) {

+ 1 - 1
src/main/resources/bootstrap.yml

@@ -49,7 +49,7 @@ openfeign:
   AmsFeign:
     url: ${AMSFEIGN_URL:localhost:8079}
   Im:
-    url: ${AMSFEIGN_URL:172.16.33.161:8888}
+    url: ${AMSFEIGN_URL:172.16.33.161:8099}
 
 mybatis:
   type-aliases-package: com.steerinfo.dil.model

+ 20 - 51
src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderMapper.xml

@@ -687,7 +687,6 @@
         AP.PLAN_NO "planNo",
         RC.CAPACITY_NUMBER "capacityNumber",
         RC.CAPACITY_ID "capacityId",
-        RCD.DRIVER_NAME "driverName",
         OOM.ORDER_MATERIAL_WEIGHT "orderMaterialWeight",
         to_char(AP.PLAN_TRUCK_TIME, 'yyyy-mm-dd')"planTruckTime",
         to_char(AP.PLAN_INCOMING_TIME, 'yyyy-mm-dd') "planIncomingTime",
@@ -705,12 +704,8 @@
         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
+        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
@@ -847,7 +842,6 @@
         from
         (
         select
-        RDC.DRIVER_CAPACITY_ID "driverCapacityId",
         RC.CAPACITY_NUMBER "capacityNumber",
         RCD.DRIVER_NAME "driverName",
         RC.CAPACITY_VIP "capacityVip",
@@ -992,8 +986,7 @@
         OO.INSERT_UPDATE_REMARK "insertUpdateRemark",
         TTR.RESULT_TOTAL_ID "resultTotalId"
         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 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
         left join RMS_WAREHOUSE RW on RW.WAREHOUSE_ID = OO.UNLOAD_POINT_ID
@@ -1487,7 +1480,6 @@
     <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"
@@ -1643,10 +1635,8 @@
                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
+                           on rc.capacity_id = OO.capacity_id
                  left join omstruck_order_material oom
                            on oom.order_id = oo.order_id
                  left join ams_sale_order_material asom
@@ -1665,10 +1655,8 @@
         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
+                           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
@@ -1722,11 +1710,8 @@
         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
+        ON OO.CAPACITY_ID=RC.CAPACITY_ID
         LEFT JOIN RMS_MATERIAL RM
         ON OOM.MATERIAL_ID=RM.MATERIAL_ID
         LEFT JOIN RMS_SHIPPER RS
@@ -2232,10 +2217,8 @@
                            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
+                           ON RC.CAPACITY_ID = OO.CAPACITY_ID
                  LEFT JOIN RMS_MATERIAL RM
                            ON RM.MATERIAL_ID = OOM.MATERIAL_ID
         WHERE ASO.SALE_ORDER_ID = #{saleOrderId}
@@ -2257,9 +2240,7 @@
                            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}
+        WHERE ARD.CARRIER_ID = #{carrierId}
           and OO.ORDER_TYPE = #{orderType}
           AND OO.ORDER_STATUS = 4
     </select>
@@ -2280,8 +2261,6 @@
                            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}
@@ -2436,12 +2415,10 @@
         OO.ORDER_ID AS "orderId",
         AIP.INSERT_TIME AS "insertTime"
         FROM OMSTRUCK_ORDER OO
-        LEFT JOIN RMS_DRIVER_CAPACITY RDC
-        ON RDC.DRIVER_CAPACITY_ID = OO.DRIVER_CAPACITY_ID
         LEFT JOIN OMSTRUCK_ORDER_MATERIAL OOM
         ON OOM.ORDER_ID = OO.ORDER_ID
         LEFT JOIN RMS_CAPACITY RC
-        ON RC.CAPACITY_ID = RDC.CAPACITY_ID
+        ON RC.CAPACITY_ID = OO.CAPACITY_ID
         LEFT JOIN AMSTRUCK_INWARD_PLAN AIP
         ON OO.ORDER_PLAN_ID = AIP.PLAN_ID
         LEFT JOIN AMSTRUCK_REQUIREMENT_PLAN ARP
@@ -2619,10 +2596,8 @@
                            ON RSH.SHIPPER_ID = ASO.SHIPPER_ID
                  LEFT JOIN RMS_CONSIGNEE RC
                            ON RC.CONSIGNEE_ID = ASO.RECEIVE_ID
-                 LEFT JOIN RMS_DRIVER_CAPACITY RDC
-                           ON RDC.DRIVER_CAPACITY_ID = OO.DRIVER_CAPACITY_ID
                  LEFT JOIN RMS_CAPACITY RCA
-                           ON RDC.CAPACITY_ID = RCA.CAPACITY_ID
+                           ON OO.CAPACITY_ID = RCA.CAPACITY_ID
                  LEFT JOIN RMS_RECEIVE_ADDRESS RRA
                            ON RRA.ADDRESS_ID = ASOM.SALE_SHIPPING_ADDRESS_ID
     </select>
@@ -2652,12 +2627,10 @@
                RC.CAPACITY_NUMBER     AS "capacityNumber",
                RCA.CARRIER_NAME       AS "carrierName"
         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
+                           ON RC.CAPACITY_ID = OO.CAPACITY_ID
                  LEFT JOIN AMSTRUCK_INWARD_PLAN AIP
-                           ON AIP.PLAN_ID = OO.DRIVER_CAPACITY_ID
+                           ON AIP.PLAN_ID = OO.ORDER_PLAN_ID
                  LEFT JOIN AMSTRUCK_REQUIREMENT_PLAN ARP
                            ON ARP.PLAN_ID = AIP.PLAN_ID
                  LEFT JOIN AMSTRUCK_INWARD_REQUIREMENT AIR
@@ -2674,10 +2647,8 @@
                RC.CAPACITY_NUMBER AS "capacityNumber",
                RCA.CARRIER_NAME   AS "carrierName"
         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
+                           ON RC.CAPACITY_ID = OO.CAPACITY_ID
                  LEFT JOIN AMS_RAIL_OFFSET_DAYPLAN AROD
                            ON AROD.DAYPLAN_ID = OO.ORDER_PLAN_ID
                  LEFT JOIN RMS_CARRIER RCA
@@ -2687,10 +2658,8 @@
     <select id="selectCapacityNumber" resultType="java.lang.String">
         select rc.capacity_number
         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.driver_capacity_id
+                           on rc.capacity_id = OO.driver_capacity_id
         where oo.order_id = #{orderId}
     </select>
     <select id="selectOrderType" resultType="java.math.BigDecimal">
@@ -2714,10 +2683,8 @@
                RRA.ADDRESS_DELIVERY_ADDRESS AS "addressDeliveryAddress",
                ASOM.SALE_DATE_OF_RECEIPT    AS "saleDateOfReceipt"
         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 RDC.CAPACITY_ID = RC.CAPACITY_ID
+                           ON OO.CAPACITY_ID = RC.CAPACITY_ID
                  LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
                            ON ASOM.SALE_ORDER_MATERIAL_ID = OO.ORDER_PLAN_ID
                  LEFT JOIN AMS_SALE_ORDER ASO
@@ -2752,10 +2719,8 @@
                RSU.SUPPLIER_NAME  AS "loadPoint",
                RSH.SHIPPER_NAME   AS "unloadPoint"
         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 RDC.CAPACITY_ID = RC.CAPACITY_ID
+                           ON OO.CAPACITY_ID = RC.CAPACITY_ID
                  LEFT JOIN AMS_PURCHASE_ORDER APO
                            ON APO.PURCHASE_ORDER_ID = OO.ORDER_PLAN_ID
                  LEFT JOIN RMS_SUPPLIER RSU
@@ -2811,6 +2776,7 @@
     <select id="getCGOrderMessageToApp" parameterType="java.math.BigDecimal" resultType="java.util.Map">
         SELECT OO.ORDER_ID        "orderId",
                OO.ORDER_NUMBER    "orderNumber",
+               OO.ORDER_LINE_SEQUENCE   "orderLineSequence",
                RC.CAPACITY_NUMBER "capacityNumber",
                RS.SUPPLIER_NAME   "loadName",
                RW.WAREHOUSE_NAME  "unloadName",
@@ -2825,13 +2791,14 @@
                  LEFT JOIN RMS_SUPPLIER RS
                            ON RS.SUPPLIER_ID = APO.SUPPLIER_UNIT_ID
         WHERE OO.ORDER_ID = #{orderId}
-          AND OO.ORDER_STATUS != 9
+          AND OO.ORDER_STATUS in (4, 5)
     </select>
 
     <!--  查询内转运输订单给APP 9 10 11-->
     <select id="getNZOrderMessageToApp" parameterType="java.math.BigDecimal" resultType="java.util.Map">
         SELECT OO.ORDER_ID        "orderId",
                OO.ORDER_NUMBER    "orderNumber",
+               OO.ORDER_LINE_SEQUENCE   "orderLineSequence",
                RC.CAPACITY_NUMBER "capacityNumber",
                RS.SUPPLIER_NAME   "loadName",
                RW.WAREHOUSE_NAME  "unloadName",
@@ -2856,6 +2823,7 @@
     <select id="getFYJHOrderMessageToApp" parameterType="java.math.BigDecimal" resultType="java.util.Map">
         SELECT OO.ORDER_ID        "orderId",
                OO.ORDER_TYPE      "orderType",
+               OO.ORDER_LINE_SEQUENCE   "orderLineSequence",
                OO.ORDER_NUMBER    "orderNumber",
                RC.CAPACITY_NUMBER "capacityNumber",
                RS.SHIPPER_NAME    "loadName",
@@ -2877,6 +2845,7 @@
     <select id="getXSOrderMessageToApp" parameterType="java.math.BigDecimal" resultType="java.util.Map">
         SELECT OO.ORDER_ID                          "orderId",
                OO.ORDER_TYPE                        "orderType",
+               OO.ORDER_LINE_SEQUENCE               "orderLineSequence",
                OO.ORDER_NUMBER                      "orderNumber",
                RC.CAPACITY_NUMBER                   "capacityNumber",
                RS.SHIPPER_NAME                      "shipperName",

+ 108 - 9
src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderSeparateMapper.xml

@@ -2,7 +2,7 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.steerinfo.dil.mapper.OmstruckOrderSeparateMapper">
     <!--通过订单Id 查询关联的线路子表顺序-->
-    <select id="getLineMesByOrderId" parameterType="int" resultType="java.util.Map">
+    <select id="getLineMesByOrderId" parameterType="int" resultType="java.util.LinkedHashMap">
         select RLS.SEGMENT_SQE           "segmentSqe",
                RLS.SEGMENT_START_NODE_ID "type",
                RL.LINK_NAME              "linkName",
@@ -52,25 +52,29 @@
                OO.CAPACITY_ID     AS "capacityId",
                OO.ORDER_TYPE      AS "orderType",
                OO.ORDER_NUMBER    AS "orderNumber",
-               OO.UNLOAD_POINT_ID AS "unloadPointId"
+               OO.UNLOAD_POINT_ID AS "unloadPointId",
+               OO.LINE_ID     "lineId",
+               TTR.RESULT_TOTAL_ID  "resultTotalId"
         FROM OMSTRUCK_ORDER OO
+            left join TMSTRUCK_TOTAL_RESULT TTR
+                on TTR.ORDER_ID = OO.ORDER_ID
         WHERE OO.ORDER_ID = #{orderId}
     </select>
 
     <!-- 查询路段名称 -->
-    <select id="getSegmentList" parameterType="DECIMAL" resultType="java.util.Map">
-        SELECT RL.LINK_NAME AS "linkName"
+    <select id="getSegmentList" parameterType="DECIMAL" resultType="java.util.LinkedHashMap">
+        SELECT RL.LINK_NAME AS "linkName",
+               RLS.SEGMENT_SQE "segmentSqe",
+               RL.LINK_ID   "linkId"
         FROM OMSTRUCK_ORDER OO
-                 LEFT JOIN RMS_LINE RLI
-                           ON RLI.LINE_ID = OO.LINE_ID
                  LEFT JOIN RMS_LINE_SEGEMNT RLS
-                           ON RLS.LINE_ID = RLI.LINE_ID
+                           ON RLS.LINE_ID = OO.LINE_ID
                  LEFT JOIN RMS_LINK RL
                            ON RL.LINK_ID = RLS.SEGMENT_START_NODE_ID
         WHERE ORDER_ID = #{orderId}
           AND RLS.DELETED = 0
           AND OO.ORDER_STATUS != 9
-        ORDER BY RLS.SEGMENT_SQE ASC
+        ORDER BY RLS.SEGMENT_SQE
     </select>
 
     <!-- 查询实绩位置 -->
@@ -84,7 +88,7 @@
                         RTCM.TRUCK_CALCULATE_NUMBER   "truckCalculateNumberM",
                         TWRM.RESULT_GROSS_WEIGHT_TIME "resultGrossWeightTime",
                         RWU.WAREHOUSE_NAME            "warehouseNameUnLoad",
-                        TUR.RESULT_END_TIME           "resultEndTime",
+                        TUR.RESULT_START_TIME           "resultStartTime",
                         RGL.GATEPOST_NAME             "gatepostNameLeave",
                         TLFR.RESULT_OUT_GATE_TIME     "resultOutGateTime",
                         TTR.INSERT_TIME               "returnTime"
@@ -123,4 +127,99 @@
         FROM OMSTRUCK_ORDER OO
         WHERE OO.ORDER_NUMBER = #{orderNumber}
     </select>
+
+
+<!--  通过总实绩ID查询物资ID  -->
+    <select id="getMaterialIdByTotalId" parameterType="int" resultType="java.lang.Integer">
+        select OOM.MATERIAL_ID
+        from TMSTRUCK_TOTAL_RESULT TTR
+        left join OMSTRUCK_ORDER_MATERIAL OOM
+            on OOM.ORDER_ID = TTR.ORDER_ID
+        where TTR.RESULT_TOTAL_ID = #{resultTotalId}
+    </select>
+
+<!--    通过订单Id查询总实绩ID-->
+    <select id="getTotalIdByOrderId" parameterType="java.math.BigDecimal" resultType="java.lang.Integer">
+        select TTR.RESULT_TOTAL_ID
+        from TMSTRUCK_TOTAL_RESULT TTR
+        where TTR.ORDER_ID = #{orderId}
+    </select>
+
+<!--    通过总实绩ID和路段顺序号查询进厂实绩数据 -->
+    <select id="getEnFactoryMes" parameterType="map" resultType="java.util.Map">
+        select RG.GATEPOST_NAME             "pointName",
+               TER.RESULT_ENTRY_GATE_TIME   "pointDate"
+        from TMSTRUCK_ENFACTORY_RESULT TER
+        left join RMS_GATEPOST RG
+            on RG.GATEPOST_ID = TER.GATEPOST_ID
+        where TER.RESULT_TOTAL_ID = #{resultTotalId} and TER.SEGMEN_SQE = #{segmentSqe}
+    </select>
+
+<!--    通过总实绩ID和路段顺序号查询计毛实绩数据 -->
+    <select id="getMaoWeightMes" parameterType="map" resultType="java.util.Map">
+        select RTC.TRUCK_CALCULATE_NUMBER   "pointName",
+               TWR.RESULT_GROSS_WEIGHT_TIME "pointDate"
+        from TMSTRUCK_WEIGHT_RESULT TWR
+        left join RMS_TRUCK_CALCULATE RTC
+            on RTC.TRUCK_CALCULATE_ID = TWR.RESULT_GROSS_PLACE_ID
+        where TWR.RESULT_TOTAL_ID = #{resultTotalId} and TWR.GROSS_SEGMENT_SQE = #{segmentSqe}
+    </select>
+
+<!--    通过总实绩ID和路段顺序号查询卸货实绩数据 -->
+    <select id="getUnloadMes" parameterType="map" resultType="java.util.Map">
+        select TUR.RESULT_END_TIME    "pointDate",
+               RW.WAREHOUSE_NAME    "pointName"
+        from TMSTRUCK_UNLOAD_RESULT TUR
+        left join RMS_WAREHOUSE RW
+            on RW.WAREHOUSE_ID = TUR.RESULT_UNLOAD_PLACE_ID
+        where  TUR.RESULT_TOTAL_ID = #{resultTotalId} AND TUR.SEGMENT_SQE = #{segmentSqe}
+    </select>
+
+<!--    通过总实绩ID和路段顺序号查询装货实绩数据-->
+    <select id="getLoadMes" parameterType="map" resultType="java.util.Map">
+        select TLR.RESULT_LOAD_END_TIME "pointDate",
+               (case
+                   when OO.ORDER_TYPE in (1, 4)
+                   then (select RPP.PLATFORM_NAME
+                            from RMS_PWAREHOUSE_PLATFORM RPP
+                            where RPP.PLATFORM_ID = TLR.LOADING_ID )
+                   else (select RW.WAREHOUSE_NAME from RMS_WAREHOUSE RW
+                         where RW.WAREHOUSE_ID = TLR.LOADING_ID)
+               end) "pointName"
+        from TMSTRUCK_LOAD_RESULT TLR
+        left join TMSTRUCK_TOTAL_RESULT TTR
+            on TTR.RESULT_TOTAL_ID = TLR.RESULT_TOTAL_ID
+        left join OMSTRUCK_ORDER OO
+            on OO.ORDER_ID = TTR.ORDER_ID
+        where TLR.RESULT_TOTAL_ID = #{resultTotalId} and TLR.SEGMENT_SQE = #{segmentSqe}
+    </select>
+
+<!--    通过总实绩ID和路段顺序号查询出厂实绩数据 -->
+    <select id="getOutFactoryMes" parameterType="map" resultType="java.util.Map">
+        select TLFR.RESULT_OUT_GATE_TIME    "pointDate",
+               RG.GATEPOST_NAME     "pointName"
+        from TMSTRUCK_LEAVE_FACTORY_RESULT TLFR
+        left join RMS_GATEPOST RG
+            on RG.GATEPOST_ID = TLFR.GATEPOST_ID
+        where TLFR.RESULT_TOTAL_ID = #{resultTotalId} and TLFR.SEGMENT_SQE = #{segmentSqe}
+    </select>
+
+<!--  查询退货时间  -->
+    <select id="getReturnMes" parameterType="map" resultType="java.util.Map">
+        select TRR.INSERT_TIME "pointDate"
+        from TMSTRUCK_RETURN_RESULT TRR
+        where TRR.RESULT_TOTAL_ID = #{resultTotalId}
+    </select>
+
+<!--  通过总实绩ID和路段顺序号查询计皮实绩数据  -->
+    <select id="getPiWeightMes" parameterType="map" resultType="java.util.Map">
+        select RTC.TRUCK_CALCULATE_NUMBER   "pointName",
+               TWR.RESULT_TARE_WEIGHT_TIME "pointDate"
+        from TMSTRUCK_WEIGHT_RESULT TWR
+                 left join RMS_TRUCK_CALCULATE RTC
+                           on RTC.TRUCK_CALCULATE_ID = TWR.RESULT_TARE_PLACE_ID
+        where TWR.RESULT_TOTAL_ID = #{resultTotalId} and TWR.TARE_SEGMENT_SQE = #{segmentSqe}
+    </select>
+
+
 </mapper>