Просмотр исходного кода

Merge branch 'dev' of https://git.steerinfo.com/DAL-DAZHOU1/DAL-TMS-TRUCK-API into dev

Your Name 3 лет назад
Родитель
Сommit
dc651304fb

+ 11 - 7
src/main/java/com/steerinfo/dil/controller/TmstruckMeasureCommissionController.java

@@ -62,14 +62,18 @@ public class TmstruckMeasureCommissionController extends BaseRESTfulController {
             @ApiImplicitParam(name = "resultId", value = "装车作业实绩ID", required = false, dataType = "Integer"),
     })
     @PostMapping("/sendMeasureCommission")
-    public RESTfulResult sendMeasureCommission(@RequestBody(required = false) Map<String, Object> map) throws Exception {
-        int i = 0;
-        try {
-            i = tmstruckMeasureCommissionService.sendMeasureCommssion(map);
-        } catch (Exception e) {
-            e.getMessage();
+    public RESTfulResult sendMeasureCommission(@RequestBody(required = false) Map<String, Object> map){
+        int i = tmstruckMeasureCommissionService.sendMeasureCommssion(map);
+        if(i == 0){
+            return failed("委托发送失败!请联系管理员");
+        }else if(i == 2){
+            return failed("该物资已计量!无法撤回委托");
+        }else if(i == 3){
+            return success("委托撤回成功!");
+        }else if(i == 4){
+            return failed("还有物资未计量完成!不允许继续发送委托");
         }
-        return success(i);
+        return success("委托发送成功");
     }
 
 

+ 12 - 0
src/main/java/com/steerinfo/dil/mapper/TmstruckMeasureCommissionMapper.java

@@ -94,4 +94,16 @@ public interface TmstruckMeasureCommissionMapper extends IBaseMapper<TmstruckMea
 
     //查找未计量完成的物资
     List<Map<String,Object>> getMaterialIdAndCalculateId(Map<String,Object> map);
+
+    //修改订单子表
+    int updateOmsTruckMaterial(Map<String, Object> map);
+
+    //通过订单号和物资ID查询计量实绩是否有数据
+    List<Integer> checkoutWeightCommission(Map<String, Object> map);
+
+    //查询已经发送过委托的物资Id
+    Integer getAlreadySentMaterialId(Map<String, Object> map);
+
+    //查询最后一个发委托的物资 通过这个物资查询是否含有净重 或者是没有计量实绩
+    Map<String, Object> checkoutWeightCommission2(Map<String, Object> map);
 }

+ 3 - 3
src/main/java/com/steerinfo/dil/mapper/UtilsMapper.java

@@ -45,7 +45,7 @@ public interface UtilsMapper {
     //查询当前路段顺序号通过订单Id
     Integer getLineSequenceByOrderId(@Param("orderId") BigDecimal orderId);
 
-    //通过订单号查询订单实绩
+    //通过订单号查询订单路段顺序号
     Integer getLineSequenceByOrderNumber(String orderNumber);
 
     //查询订单跟订单物资中间表 查询是否有多个物资Id
@@ -81,8 +81,8 @@ public interface UtilsMapper {
     //通过路段顺序号和线路ID查找 线路子表的子表的ID 和门岗ID或汽车衡ID
     List<Integer> getLineSegmentGateCalcId(Map<String, Object> map);
 
-    //通过运输订单id查找运输订单类型
-    BigDecimal getOrderTypeByOrderId(BigDecimal orderId);
+    //通过运输订单id查找运输订单信息
+    Map<String, Object> getOrderMesByOrderId(BigDecimal orderId);
 
     //通过运输订单号查询运输订单类型
     Map<String, Object> getOrderTypeByOrderNumber(String orderNumber);

+ 1 - 1
src/main/java/com/steerinfo/dil/service/ITmstruckMeasureCommissionService.java

@@ -29,6 +29,6 @@ public interface ITmstruckMeasureCommissionService{
     int addMaoMeasureCommission(Map<String, Object> map);
 
     //发送计量委托
-    int sendMeasureCommssion(Map<String,Object> map) throws Exception;
+    int sendMeasureCommssion(Map<String,Object> map);
 
 }

+ 4 - 4
src/main/java/com/steerinfo/dil/service/impl/TmstruckEnfactoryResultServiceImpl.java

@@ -154,7 +154,7 @@ public class TmstruckEnfactoryResultServiceImpl implements ITmstruckEnfactoryRes
         //通过订单号查询订单类型 及总实绩Id
         Map<String, Object> mesMap = utilsMapper.getOrderTypeByOrderNumber(orderNumber);
         String capacityNumber = (String) mesMap.get("capacityNumber");
-        BigDecimal resultTotalId = DataChange.dataToBigDecimal(map.get("resultTotalId"));
+        BigDecimal resultTotalId = DataChange.dataToBigDecimal(mesMap.get("totalId"));
         Integer orderType = DataChange.dataToBigDecimal(mesMap.get("orderType")).intValue();
         if(orderType == 11){
             //内转订单类型  没有生成实绩 直接新增
@@ -237,9 +237,9 @@ public class TmstruckEnfactoryResultServiceImpl implements ITmstruckEnfactoryRes
                 map.put("materialId", materialId);
                 checkMeasureCommission += tmstruckMeasureCommissionService.addLXMeasureCommission(map);
         }
-        if(checkMeasureCommission == 0){
-            throw new Exception("委托发送失败");
-        }
+//        if(checkMeasureCommission == 0){
+//            throw new Exception("委托发送失败");
+//        }
         i += tmstruckEnfactoryResultMapper.updateByPrimaryKeySelective(generateEnFactoryResult(map)); //添加进厂实绩
         //修改路段顺序号
         i += utilsService.updateOrderLineSequence(map);

+ 20 - 14
src/main/java/com/steerinfo/dil/service/impl/TmstruckLeaveFactoryResultServiceImpl.java

@@ -54,6 +54,9 @@ public class TmstruckLeaveFactoryResultServiceImpl implements ITmstruckLeaveFact
     @Autowired
     OmsFeign omsFeign;
 
+    @Autowired
+    BmsTruckFeign bmsTruckFeign;
+
     @Autowired
     AmsFeign amsFeign;
 
@@ -162,24 +165,26 @@ public class TmstruckLeaveFactoryResultServiceImpl implements ITmstruckLeaveFact
     public int leaveFactoryByPDA(Map<String, Object> map) throws Exception{
         int i = 0;
         String orderNumber = (String) map.get("orderNumber");
-        String substring = orderNumber.substring(0, orderNumber.length() - 1);
-        Map<String, Object> selectMap = tmstruckLeaveFactoryResultMapper.selectResultId(substring);
-        BigDecimal orderType = DataChange.dataToBigDecimal(selectMap.get("orderTypee"));
-        BigDecimal resultTotalId = DataChange.dataToBigDecimal(selectMap.get("resultTotalId"));
-        if(orderType.intValue() == 11){
+        orderNumber = orderNumber.substring(0, orderNumber.length() - 1);
+        //通过订单号查询订单类型 及总实绩Id
+        Map<String, Object> mesMap = utilsMapper.getOrderTypeByOrderNumber(orderNumber);
+        Integer orderType = DataChange.dataToBigDecimal(mesMap.get("orderType")).intValue();
+        String capacityNumber = (String) mesMap.get("capacityNumber");
+        if(orderType == 11){
             //内转订单类型 没有生成实绩 直接新增
-            Integer sqe = utilsMapper.getLineSequenceByOrderNumber(substring);
-            sqe = sqe == null ? 1 : sqe + 1;
+            Integer sqe = DataChange.dataToBigDecimal(mesMap.get("Sqe")).intValue();
+            sqe = sqe + 1;
             map.put("resultId",tmstruckLeaveFactoryResultMapper.selectMaxId());//出厂实绩ID
             map.put("Sqe",sqe);//查询路段顺序号+1
-            map.put(("totalId"),resultTotalId);
+            map.put(("totalId"),mesMap.get("totalId"));
             i += tmstruckLeaveFactoryResultMapper.insertSelective(generateLeaveFactory(map));
             //更新路段顺序号
-            selectMap.put("orderLineSequence",sqe);
-            i += utilsService.updateOrderLineSqeByOrderNumber(selectMap);
-            utilsService.pushMesToWebsocket((String) map.get("capacityNumber"), "出厂");
+            mesMap.put("orderLineSequence",sqe);
+            i += utilsService.updateOrderLineSqeByOrderNumber(mesMap);
+            utilsService.pushMesToWebsocket(capacityNumber, "出厂");
             return i;
         }
+        Map<String, Object> selectMap = tmstruckLeaveFactoryResultMapper.selectResultId(orderNumber);
         if(selectMap == null){
             throw new Exception("该车已出厂!!");
         }else{
@@ -191,12 +196,12 @@ public class TmstruckLeaveFactoryResultServiceImpl implements ITmstruckLeaveFact
             }
         }
         map.putAll(selectMap);
-        map.put("orderNumber", substring);
+        map.put("orderNumber", orderNumber);
         BigDecimal orderId = DataChange.dataToBigDecimal(map.get("orderId"));
         i += updateLeaveResultByPDA(map); //更新出厂实绩
         //更新路段顺序号
         i += utilsService.updateOrderLineSequence(map);
-        switch (orderType.intValue()){
+        switch (orderType){
             case 1:
                 break;
             case 2:
@@ -213,6 +218,7 @@ public class TmstruckLeaveFactoryResultServiceImpl implements ITmstruckLeaveFact
                 if (closeStatus != null && DataChange.dataToBigDecimal(closeStatus).intValue() == 0) {
                     amsFeign.dispatchTruckOrderByCarrier(mapValue);
                 }
+                bmsTruckFeign.addDetailsOrder(orderId);
                 break;
             case 4:
                 break;
@@ -297,7 +303,7 @@ public class TmstruckLeaveFactoryResultServiceImpl implements ITmstruckLeaveFact
             tmstruckLeaveFactoryResult.setSegmentSqe(DataChange.dataToBigDecimal(map.get("Sqe")));
         }
         if(map.get("totalId") !=null){
-            tmstruckLeaveFactoryResult.setSegmentSqe(DataChange.dataToBigDecimal(map.get("totalId")));
+            tmstruckLeaveFactoryResult.setResultTotalId(DataChange.dataToBigDecimal(map.get("totalId")));
         }
         return tmstruckLeaveFactoryResult;
     }

+ 6 - 0
src/main/java/com/steerinfo/dil/service/impl/TmstruckLoadResultServiceImpl.java

@@ -313,6 +313,12 @@ public class TmstruckLoadResultServiceImpl implements ITmstruckLoadResultService
             }
             tmstruckLoadResult.setInsertUpdateRemark(insertUpdateRemark);
         }
+<<<<<<< HEAD
+//        if (j == 0) {
+//            throw new Exception("第二次委托发送失败");
+//        }
+=======
+>>>>>>> bf4c2967e0e6aa0fe1e443c7ac538afb6341c61d
         tmstruckLoadResult.setCaseNumber((String) map.get("caseNumber"));
         i += tmstruckLoadResultMapper.updateByPrimaryKeySelective(tmstruckLoadResult);
         //推送消息到websocket

+ 91 - 33
src/main/java/com/steerinfo/dil/service/impl/TmstruckMeasureCommissionServiceImpl.java

@@ -89,7 +89,6 @@ public class TmstruckMeasureCommissionServiceImpl implements ITmstruckMeasureCom
      */
     public int addMaoMeasureCommission(Map<String, Object> map){
         int i = 0;
-        addMeasureCommission(map); // 添加计毛委托
         //发送数据给计量系统 必要数据 orderTypee:订单类型  resultTotalId: 总实绩Id   orderId
         int orderType = DataChange.dataToBigDecimal(map.get("orderTypee")).intValue();
         if(orderType == 10){
@@ -119,17 +118,16 @@ public class TmstruckMeasureCommissionServiceImpl implements ITmstruckMeasureCom
      */
     public int addXSMeasureCommission(Map<String, Object> map){
         int i = 0;
-        addMeasureCommission(map); // 添加计毛委托
         //发送数据给计量系统 必要数据 orderTypee:订单类型  resultTotalId: 总实绩Id   orderId
         //获取当前订单是属于哪个厂区订单
         Integer shipperId = tmstruckMeasureCommissionMapper.getShipperIdByOrderId(DataChange.dataToBigDecimal(map.get("orderId")));
         if(shipperId == 1){
             //发送委托给达州钢铁
-            i += sendMeasureCommissionMes(map);
+//            i += sendMeasureCommissionMes(map);
         }
         if(shipperId == 2) {
             //发送委托给达兴能源
-            i += sendDXMeasureCommissionMes(map);
+//            i += sendDXMeasureCommissionMes(map);
         }
         return i;
     }
@@ -188,7 +186,6 @@ public class TmstruckMeasureCommissionServiceImpl implements ITmstruckMeasureCom
                 i = sendDXMeasureCommissionMes(map);//如果有两条没有净重的实绩则需要给达兴发委托  否则给达钢发委托
             }
         }
-        addMeasureCommission(map); // 添加计毛委托
         return i;
     }
 
@@ -226,10 +223,9 @@ public class TmstruckMeasureCommissionServiceImpl implements ITmstruckMeasureCom
      * @param map orderTypee 订单类型  type 计皮0还是计毛1类型  orderId  订单ID
      */
     public int sendMeasureCommissionMes(Map<String, Object> map){
-        Map<String, Object> measureCommission = new HashMap<>();
+        Map<String, Object> measureCommission = null;
         //查询计量委托
         Integer orderType = DataChange.dataToBigDecimal(map.get("orderTypee")).intValue();
-        BigDecimal orderId=DataChange.dataToBigDecimal(map.get("orderId"));
         switch (orderType){
             case 1:
                 break;
@@ -239,24 +235,6 @@ public class TmstruckMeasureCommissionServiceImpl implements ITmstruckMeasureCom
                 break;
             case 10:
                 break;
-            case 11://纯内转发送计量委托
-                 //查找是否是多拼
-                 Integer materialNu = utilsMapper.countMaterialByOrderId(orderId);
-                 if (materialNu > 1){
-                     List<Map<String, Object>> inwardCommission = tmstruckMeasureCommissionMapper.getMaterialIdAndCalculateId(map);
-                 }else {
-                     measureCommission = tmstruckMeasureCommissionMapper.purchaseNzMeasure(map);
-                 }
-                 measureCommission.put("isRelationEAS", false);
-                 measureCommission.put("flowTo", "进厂");
-                 measureCommission.put("isDel", false);
-                 measureCommission.put("isInsert", true);
-                 measureCommission.put("IsAssembly", false);
-                 measureCommission.put("deliveryMethod", "磅重交货");
-                 measureCommission.put("packagesNum", 0);
-                 measureCommission.put("ReceivUnit","四川省达州钢铁集团有限责任公司");
-                 measureCommission.put("sendUnit","四川省达州钢铁集团有限责任公司");
-                 break;
             case 4:
                 break;
             case 5:
@@ -265,6 +243,9 @@ public class TmstruckMeasureCommissionServiceImpl implements ITmstruckMeasureCom
             case 8:
 //            case 9:
                 measureCommission =  tmstruckMeasureCommissionMapper.purchaseMeasure(map);
+                if(measureCommission == null){
+                    return 0;
+                }
                 if(orderType == 6){
                     measureCommission.put("isRelationEAS", false);
                 }else {
@@ -277,11 +258,35 @@ public class TmstruckMeasureCommissionServiceImpl implements ITmstruckMeasureCom
                 measureCommission.put("deliveryMethod", "磅重交货");
                 measureCommission.put("packagesNum", 0);
                 break;
+            case 11:
+                //纯内转发送计量委托
+                measureCommission = tmstruckMeasureCommissionMapper.purchaseNzMeasure(map);
+                if(measureCommission == null){
+                    return 0;
+                }
+                if(map.get("deletedCommission") != null){
+                    measureCommission.put("isDel", true);
+                    measureCommission.put("isInsert", false);
+                }else {
+                    measureCommission.put("isDel", false);
+                    measureCommission.put("isInsert", true);
+                }
+                measureCommission.put("isRelationEAS", false);
+                measureCommission.put("flowTo", "中转");
+                measureCommission.put("IsAssembly", false);
+                measureCommission.put("deliveryMethod", "磅重交货");
+                measureCommission.put("packagesNum", 0);
+                measureCommission.put("ReceivUnit","四川省达州钢铁集团有限责任公司");
+                measureCommission.put("sendUnit","四川省达州钢铁集团有限责任公司");
+                break;
             case 12:
             case 13:
                  //内转零星进厂(老厂区)
                 //零星计量委托(老厂区)
                 measureCommission = tmstruckMeasureCommissionMapper.sproadicMeasure(map);
+                if(measureCommission == null){
+                    return 0;
+                }
                 measureCommission.put("isRelationEAS",false);
                 measureCommission.put("flowTo","进厂");
                 measureCommission.put("isDel", false);
@@ -294,6 +299,9 @@ public class TmstruckMeasureCommissionServiceImpl implements ITmstruckMeasureCom
             case 16:
                 //零星计量委托(老厂区)  会有多拼
                 measureCommission = tmstruckMeasureCommissionMapper.sproadicMeasure(map);
+                if(measureCommission == null){
+                    return 0;
+                }
                 measureCommission.put("isRelationEAS",false);
                 measureCommission.put("flowTo","出厂");
                 measureCommission.put("isDel", false);
@@ -303,14 +311,20 @@ public class TmstruckMeasureCommissionServiceImpl implements ITmstruckMeasureCom
                 break;
             case 20://采购内转委托总厂区
                 measureCommission=tmstruckMeasureCommissionMapper.purchaseXqCgNzMeasure(map);
+                if(measureCommission == null){
+                    return 0;
+                }
                 measureCommission.put("isRelationEAS",false);
                 measureCommission.put("flowTo","进厂");
                 measureCommission.put("isDel",false);
                 measureCommission.put("isInsert",true);
                 measureCommission.put("deliveryMethod", "磅重交货");
                 measureCommission.put("packagesNum", 0);
-
         }
+        if(measureCommission != null)
+            map.put("materialId", measureCommission.get("materialId"));
+        addMeasureCommission(map); // 添加计量委托
+        System.out.println(measureCommission);
         /*访问接口发送数据*/
         return 1;
 //        return sendMesToMeasure(measureCommission);
@@ -397,6 +411,9 @@ public class TmstruckMeasureCommissionServiceImpl implements ITmstruckMeasureCom
                 break;
             
         }
+        if(measureCommission != null)
+            map.put("materialId", measureCommission.get("item"));
+        addMeasureCommission(map); // 添加计量委托
         /*访问接口发送数据*/
         return sendMesToDXMeasure(measureCommission);
     }
@@ -464,13 +481,36 @@ public class TmstruckMeasureCommissionServiceImpl implements ITmstruckMeasureCom
 
     //发送计量委托
     @Override
-    @Transactional(rollbackFor = Exception.class)
-    public int sendMeasureCommssion(Map<String, Object> map)  throws Exception {
+    @Transactional
+    public int sendMeasureCommssion(Map<String, Object> map){
+        if(map.get("deletedCommission") != null){
+            //在计量实绩中查询是否有计量数据,如果有则代表已经计量过了不允许撤回
+            List<Integer> commission = tmstruckMeasureCommissionMapper.checkoutWeightCommission(map);
+            if(commission.size() != 0){
+                return 2;
+            }
+        }else {
+            //查询最后发送委托的物资
+            Integer alreadySentMaterialId = tmstruckMeasureCommissionMapper.getAlreadySentMaterialId(map);
+            if(alreadySentMaterialId != null){
+                map.put("checkMaterialId", alreadySentMaterialId);
+                //判断当前订单是否有已经发送过委托 但是还未计量完成的物资
+                Map<String, Object> checkoutMesMap = tmstruckMeasureCommissionMapper.checkoutWeightCommission2(map);
+                if(checkoutMesMap == null){ // 为空则是这个物资还没有计量
+                    return 4;
+                }else {
+                    //如果不为空, 判断是否有净重 如果有净重则是计量完成 否则 没有
+                    if(checkoutMesMap.get("resultNetWeight") == null){
+                        return 4;
+                    }
+                }
+            }
+        }
         int i=0;
         //获取订单类型
         BigDecimal orderId = DataChange.dataToBigDecimal(map.get("orderId"));
-        BigDecimal orderType = utilsMapper.getOrderTypeByOrderId(orderId);
-        map.put("orderTypee", orderType);
+        map.putAll(utilsMapper.getOrderMesByOrderId(orderId));
+        BigDecimal orderType = DataChange.dataToBigDecimal(map.get("orderTypee"));
         //根据运输订单id查找运输订单号
         switch (orderType.intValue()){
             case 1: //查询未装车实绩
@@ -500,15 +540,33 @@ public class TmstruckMeasureCommissionServiceImpl implements ITmstruckMeasureCom
 //            case 9:
             case 10:
             case 11:
+                i += addNZMeasureCommission(map);
+                break;
 //            case 17:
             case 18:
-                //通过订单ID查询物资Id
                 i+=addMaoMeasureCommission(map);
         }
-        if (i==0){
-            throw new Exception("委托发送失败");
+        if(i == 1){
+            //发送委托成功后修改订单物资表
+            tmstruckMeasureCommissionMapper.updateOmsTruckMaterial(map);
+            if(map.get("deletedCommission") != null){
+                i = 3;
+            }
         }
         return i;
     }
 
+    /**
+     * 添加内转委托
+     * @Author TXF
+     * @Date 2022/2/19 12:23
+     * @param map
+     * @return
+     **/
+    public int addNZMeasureCommission(Map<String, Object> map){
+        int i = 0;
+        addMeasureCommission(map); // 添加计毛委托
+        i += sendMeasureCommissionMes(map); //往老厂区发送委托
+        return i;
+    }
 }

+ 3 - 3
src/main/resources/application-dev.yml

@@ -31,15 +31,15 @@ openfeign:
   WMSFeign:
     url: ${WMSFEIGN_URL:172.16.33.162:8012}
   OmsFeign:
-    url: ${OMSFEIGN_URL:localhost:8016}
+    url: ${OMSFEIGN_URL:172.16.33.162:8016}
   JoinFeign:
-    url: ${JOINFEIGN_URL:localhost:8006}
+    url: ${JOINFEIGN_URL:172.16.33.162:8006}
   QmsFeign:
     url: ${QMSFEIGN_URL:172.16.33.162:8017}
   ImFeign:
     url: ${IMFEIGN_URL:172.16.33.166:8055}
   AmsFeign:
-    url: ${AMSFEIGN_URL:localhost:8015}
+    url: ${AMSFEIGN_URL:172.16.33.162:8015}
 
 server:
   port: 8008

+ 0 - 3
src/main/resources/com/steerinfo/dil/mapper/TmstruckLeaveFactoryResultMapper.xml

@@ -594,7 +594,6 @@
                         OO.ORDER_TYPE       "orderTypee",
                         TTR.RESULT_TOTAL_ID "resultTotalId",
                         OO.CAPACITY_ID      "capacityId",
-                        RC.CAPACITY_NUMBER  "capacityNumber",
                         TLFR.SEGMENT_SQE    "segmentSqe",
                         OO.ORDER_LINE_SEQUENCE      "orderSegmentSqe",
                         OO.PRICE_ID             "priceId"
@@ -603,8 +602,6 @@
                                     on OO.ORDER_ID = TTR.ORDER_ID
                           left join TMSTRUCK_LEAVE_FACTORY_RESULT TLFR
                                     on TLFR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
-                          left join RMS_CAPACITY RC
-                                    on RC.CAPACITY_ID = OO.CAPACITY_ID
                  where OO.ORDER_NUMBER = #{orderNumber} and TLFR.RESULT_OUT_GATE_TIME is null
                  order by TLFR.SEGMENT_SQE
              )

+ 65 - 38
src/main/resources/com/steerinfo/dil/mapper/TmstruckMeasureCommissionMapper.xml

@@ -1142,45 +1142,28 @@
         WHERE
             ROWNUM = 1
     </select>
+
+<!--  查询内转计量委托  -->
     <select id="purchaseNzMeasure" resultType="java.util.Map" parameterType="java.util.Map">
-        SELECT
-            *
-        FROM
-            (
-                SELECT
-                    OO.ORDER_NUMBER "transportNum",
-                    RC.CAPACITY_NUMBER "carNum",
-                    APO.PURCHASE_ORDER_NO "purchaseOrder",
-                    RW.WAREHOUSE_NAME "unloadPlace",
-                    TWR.INSERT_UPDATE_REMARK "demo",
-                    RM.MATERIAL_ID "materialId",
-                    RM.MATERIAL_NAME "materiaName",
-                    concat( RM.MATERIAL_SPECIFICATION, RM.MATERIAL_MODEL ) "goodsType",
-                    RTC.TRUCK_CALCULATE_NUMBER "steelyardNum"
-                FROM
-                    OMSTRUCK_ORDER OO
-                        LEFT JOIN RMS_CAPACITY RC ON RC.CAPACITY_ID = OO.CAPACITY_ID
-                        LEFT JOIN AMSTRUCK_INWARD_PLAN AIP 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 ON AIR.REQUIREMENT_ID = ARP.REQUIREMENT_ID
-                        LEFT JOIN AMS_PURCHASE_ORDER APO ON APO.PURCHASE_ORDER_ID = AIR.PURCHASE_ORDER_ID
-                        LEFT JOIN RMS_SUPPLIER RS ON RS.SUPPLIER_ID = APO.SUPPLIER_UNIT_ID
-                        LEFT JOIN RMS_CONSIGNEE RCE ON RCE.CONSIGNEE_ID = APO.RECEIVE_UNIT_ID
-                        LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR ON TTR.ORDER_ID = OO.ORDER_ID
-                        LEFT JOIN TMSTRUCK_UNLOAD_RESULT TUR ON TUR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
-                        LEFT JOIN RMS_WAREHOUSE RW ON RW.WAREHOUSE_ID = AIR.REQUIREMENT_UNLOAD_UNIT_ID
-                        LEFT JOIN TMSTRUCK_WEIGHT_RESULT TWR ON TWR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_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_TRUCK_CALCULATE RTC ON RTC.TRUCK_CALCULATE_ID = TWR.RESULT_TARE_PLACE_ID
-                WHERE
-                    OO.ORDER_ID = #{orderId}
-                ORDER BY
-                    TWR.TARE_SEGMENT_SQE DESC,
-                    OOM.MATERIAL_PRIORITY DESC
-            )
-        WHERE
-            ROWNUM = 1
+       select OO.ORDER_NUMBER       "transportNum",
+              RC.CAPACITY_NUMBER    "carNum",
+              RM.MATERIAL_NAME      "materiaName",
+              CONCAT(RM.MATERIAL_SPECIFICATION, RM.MATERIAL_MODEL) "goodsType",
+              OO.INSERT_UPDATE_REMARK   "demo",
+              RM.MATERIAL_ID          "materialId",
+              RW.WAREHOUSE_NAME       "unloadPlace"
+       from OMSTRUCK_ORDER OO
+        left join AMSTRUCK_INWARD_PLAN  AIP on OO.ORDER_PLAN_ID = AIP.PLAN_ID
+        left join AMSTRUCK_REQUIREMENT_PLAN ARP on ARP.PLAN_ID = AIP.PLAN_ID
+        left join AMSTRUCK_INWARD_REQUIREMENT AIR ON AIR.REQUIREMENT_ID = ARP.REQUIREMENT_ID
+        LEFT JOIN AMSTRUCK_REQUIREMENT_MATERIAL ARM ON ARM.REQUIREMENT_ID = AIR.REQUIREMENT_ID
+        LEFT JOIN RMS_WAREHOUSE RW on RW.WAREHOUSE_ID = ARM.REQUIREMENT_UNLOAD_UNIT_ID
+        left join OMSTRUCK_ORDER_MATERIAL OOM  on OO.ORDER_ID = OOM.ORDER_ID
+        left join RMS_MATERIAL  RM on OOM.MATERIAL_ID = RM.MATERIAL_ID
+        left join RMS_CAPACITY  RC on OO.CAPACITY_ID = RC.CAPACITY_ID
+        where OOM.ORDER_ID = #{orderId}
+              and OOM.MATERIAL_ID = #{materialId}
+              AND ARM.MATERIAL_ID = #{materialId}
     </select>
 
 <!--  查找未计量完成的物资  -->
@@ -1221,5 +1204,49 @@
 
     </select>
 
+    <select id="checkoutWeightCommission" parameterType="map" resultType="java.lang.Integer">
+        select TWR.WEIGHT_TASK_RESULT_ID
+        from TMSTRUCK_TOTAL_RESULT TTR
+            left join TMSTRUCK_WEIGHT_RESULT TWR
+                on TWR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+            where TTR.ORDER_ID = #{orderId} and TWR.MATERIAL_ID = #{materialId}
+    </select>
+
+    <select id="checkoutWeightCommission2" parameterType="map" resultType="java.util.Map">
+        select TWR.WEIGHT_TASK_RESULT_ID "weightTaskResultId",
+               TWR.RESULT_NET_WEIGHT    "resultNetWeight"
+        from TMSTRUCK_WEIGHT_RESULT TWR
+                 left join TMSTRUCK_TOTAL_RESULT TTR
+                           on TTR.RESULT_TOTAL_ID = TWR.RESULT_TOTAL_ID
+        where TTR.ORDER_ID = #{orderId}
+          and TWR.MATERIAL_ID = #{checkMaterialId}
+
+    </select>
+
+    <select id="getAlreadySentMaterialId" parameterType="map" resultType="java.lang.Integer">
+        select *
+        from (
+                 select OOM.MATERIAL_ID
+                 from OMSTRUCK_ORDER_MATERIAL OOM
+                 where OOM.MATERIAL_MEASSION = 1
+                   and OOM.ORDER_ID = #{orderId}
+                 order by OOM.UPDATE_TIME DESC
+             )
+        where rownum = 1
+    </select>
+
+    <update id="updateOmsTruckMaterial" parameterType="map">
+        update OMSTRUCK_ORDER_MATERIAL OOM
+            <set>
+                OOM.UPDATE_TIME = SYSDATE,
+                <if test="deletedCommission == null">
+                     OOM.MATERIAL_MEASSION = 1
+                </if>
+                <if test="deletedCommission != null">
+                     OOM.MATERIAL_MEASSION = null
+                </if>
+            </set>
+        where OOM.ORDER_ID = #{orderId} and OOM.MATERIAL_ID = #{materialId}
+    </update>
 
 </mapper>

+ 9 - 2
src/main/resources/com/steerinfo/dil/mapper/UtilsMapper.xml

@@ -178,9 +178,12 @@
                            on RLGC.SEGMENT_ID = RLS.SEGMENT_ID
         where RLS.LINE_ID = #{lineId} and RLS.SEGMENT_SQE = #{segmentSqe}
     </select>
-    <select id="getOrderTypeByOrderId" resultType="java.math.BigDecimal">
-        select OO.ORDER_TYPE "orderType"
+    <select id="getOrderMesByOrderId" resultType="java.util.Map">
+        select OO.ORDER_TYPE "orderTypee",
+               TTR.RESULT_TOTAL_ID  "resultTotalId"
         from OMSTRUCK_ORDER OO
+        left join TMSTRUCK_TOTAL_RESULT TTR
+            on OO.ORDER_ID = TTR.ORDER_ID
         where  OO.ORDER_ID=#{orderId}
     </select>
      <!-- 根据运输订单id查找是否有多个物资 -->
@@ -199,9 +202,13 @@
         from OMSTRUCK_ORDER OO
         left join TMSTRUCK_TOTAL_RESULT TTR
             on TTR.ORDER_ID = OO.ORDER_ID
+<<<<<<< HEAD
+        where  OO.ORDER_NUMBER=#{orderNumber}
+=======
         left join RMS_CAPACITY RC
             on OO.CAPACITY_ID = RC.CAPACITY_ID
         where  OO.order_Number=#{orderNumber}
+>>>>>>> bf4c2967e0e6aa0fe1e443c7ac538afb6341c61d
     </select>
 
     <select id="getLineSequenceByOrderNumber" parameterType="string" resultType="java.lang.Integer">