luobang 1 年之前
父节点
当前提交
7716f3a959

+ 11 - 3
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderMaterialServiceImpl.java

@@ -1076,10 +1076,12 @@ public class AmsSaleOrderMaterialServiceImpl implements IAmsSaleOrderMaterialSer
         List<Map<String,Object>> mapListNoNetWeight = new ArrayList<>();
         BigDecimal netWeightSaleOrderMaterialId = null;
         BigDecimal netWeightSaleOrderId = null;
+        BigDecimal netWeightOrderId = null;
         String previousOrderNo = null;
         BigDecimal previousOrderId = null;
         BigDecimal previousResultTotalId = null;
         String previousCapacityNo = null;
+        List <OmstruckOrder> previousOrders = null;
         int netWeightCount = 0;
         //首先遍历列表,判断哪些车序号主键有净重
         for (Map<String,Object> map1 : mapList) {
@@ -1093,6 +1095,7 @@ public class AmsSaleOrderMaterialServiceImpl implements IAmsSaleOrderMaterialSer
                     netWeightCount++;
                     //将该车序号ID赋予给有净重的车序号ID
                     netWeightSaleOrderMaterialId = saleOrderMaterialId;
+                    netWeightOrderId = orderId;
                     netWeightSaleOrderId = DataChange.dataToBigDecimal(map1.get("saleOrderId"));
                     //将该车的运单号赋予给运单号
                 }else{
@@ -1102,6 +1105,7 @@ public class AmsSaleOrderMaterialServiceImpl implements IAmsSaleOrderMaterialSer
                 previousOrderId = DataChange.dataToBigDecimal(map1.get("orderId"));
                 previousResultTotalId = amsSaleOrderMaterialMapper.getResultTotalId(previousOrderId);
                 previousCapacityNo = map1.get("capacityNo").toString();
+                previousOrders = omstruckOrderMapper.selectByParameters(map1);
             }else{
                 mapListNoNetWeight.add(map1);
             }
@@ -1117,9 +1121,9 @@ public class AmsSaleOrderMaterialServiceImpl implements IAmsSaleOrderMaterialSer
                 netMap.put("saleOrderMaterialId",netWeightSaleOrderMaterialId);
                 mapListNoNetWeight.add(netMap);
                 //将这个车序号对应的订单完成
-                omstruckOrderMapper.updateOrderStatus(previousOrderId);
+                omstruckOrderMapper.updateOrderStatus(netWeightOrderId);
                 try {
-                    bmstruckFeign.addDetailsOrder(previousOrderId);
+                    bmstruckFeign.addDetailsOrder(netWeightOrderId);
                 } catch (Exception e) {
                     e.printStackTrace();
                 }
@@ -1130,7 +1134,7 @@ public class AmsSaleOrderMaterialServiceImpl implements IAmsSaleOrderMaterialSer
                 BigDecimal saleOrderMaterialId = DataChange.dataToBigDecimal(map1.get("saleOrderMaterialId"));
                 //判断该车序号下有没有运单,如果有,直接删除
                 BigDecimal orderId = DataChange.dataToBigDecimal(map1.get("orderId"));
-                if(orderId != null && orderId.intValue() != 0 && previousOrderId.compareTo(orderId) != 0) {
+                if(orderId != null && orderId.intValue() != 0) {
                     saleLogUtil.logOrder(orderId,"执行合并操作,删除运单,车牌号为:" + map1.get("capacityNo"),map1, SaleLogUtil.DELETE);
                     amsSaleOrderMaterialMapper.deleteToMergeOrder(orderId);
                     amsSaleOrderMaterialMapper.deleteToMergeOrderMaterial(orderId);
@@ -1166,6 +1170,10 @@ public class AmsSaleOrderMaterialServiceImpl implements IAmsSaleOrderMaterialSer
                 responseMap.put("orderId",previousOrderId);
                 responseMap.put("resultTotalId",previousResultTotalId);
                 responseMap.put("continue",1);
+                responseMap.put("previousOrders",previousOrders);
+                if(netWeightSaleOrderMaterialId == null) {
+                    responseMap.put("deleteFlag",1);
+                }
                 return responseMap;
             }
         }

+ 9 - 2
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderServiceImpl.java

@@ -982,7 +982,7 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
                 }
             }
             //校验结束,上传金蝶
-            pushCarNumberToEas(map);
+            //pushCarNumberToEas(map);
             // 得到车序号表主键
             BigDecimal saleOrderMaterialId = DataChange.dataToBigDecimal(map.get("saleOrderMaterialId"));
             // 得到承运商
@@ -1192,7 +1192,14 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         for (Map<String,Object> map : mapList) {
             List<OmstruckOrder> orders=omstruckOrderMapper.selectByParameters(map);
             if(orders==null || orders.size()<=0){
-                throw new Exception("没有对应的运输订单");
+                if(map.get("deleteFlag") != null) {
+                    orders = (List<OmstruckOrder>) map.get("previousOrders");
+                    if(orders==null || orders.size()<=0) {
+                        throw new Exception("没有对应的运输订单");
+                    }
+                }else{
+                    throw new Exception("没有对应的运输订单");
+                }
             }
             OmstruckOrder omstruckOrder=orders.get(0);
             // 得到车序号表主键

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

@@ -1006,7 +1006,7 @@
   <select id="getNetWeightCount" resultType="java.lang.Integer" parameterType="java.math.BigDecimal">
     SELECT COUNT(TWR.WEIGHT_TASK_RESULT_ID)  FROM TMSTRUCK_TOTAL_RESULT TTR
     LEFT JOIN TMSTRUCK_WEIGHT_RESULT TWR on TTR.RESULT_TOTAL_ID = TWR.RESULT_TOTAL_ID
-    WHERE TWR.RESULT_NET_WEIGHT IS NOT NULL
+    WHERE TWR.SALE_MATERIAL_ID IS NOT NULL
           AND TTR.ORDER_ID = #{orderId}
   </select>
   <select id="getResultTotalId" resultType="java.math.BigDecimal" parameterType="java.math.BigDecimal">