lichao 1 mese fa
parent
commit
5aaa72d735

+ 6 - 0
src/main/java/com/steerinfo/dil/controller/OmsTransOrderController.java

@@ -864,4 +864,10 @@ public class OmsTransOrderController extends BaseRESTfulController {
         return success(result);
     }
 
+    @PostMapping("correctTransOrderTest")
+    public RESTfulResult correctTransOrderTest(@RequestParam BigDecimal transOrderId) throws Exception {
+        omsTransOrderService.correctTransOrder(transOrderId);
+        return success();
+    }
+
 }

+ 2 - 0
src/main/java/com/steerinfo/dil/mapper/OmsTransOrderMapper.java

@@ -370,4 +370,6 @@ public interface OmsTransOrderMapper extends IBaseMapper<OmsTransOrder, BigDecim
 
     BigDecimal getLineId(BigDecimal transRequirementId);
 
+    List<Map<String, Object>> selectCorrectInfo(BigDecimal transOrderId);
+
 }

+ 67 - 1
src/main/java/com/steerinfo/dil/service/impl/OmsTransOrderServiceImpl.java

@@ -2816,7 +2816,11 @@ public class OmsTransOrderServiceImpl {
                     //}
                 }else{
                     //调整运单状态
-                    omsTransOrder.setDeleted(new BigDecimal(5));
+                    if("出厂".equals(orderStatus)){
+                        omsTransOrder.setDeleted(new BigDecimal(2));
+                    }else{
+                        omsTransOrder.setDeleted(new BigDecimal(5));
+                    }
                     omsTransOrder.setUpdateUsername(userName);
                     omsTransOrder.setUpdateTime(new Date());
                 }
@@ -6487,7 +6491,69 @@ public class OmsTransOrderServiceImpl {
             omsOrderChild.setMaterialId(DataChange.dataToBigDecimal(planChildMap.get("materialId")));
             omsOrderChild.setPlanChildId(DataChange.dataToBigDecimal(planChildMap.get("planChildId")));
             entityDispose.disposeOrderChild(omsOrderChild);
+            // 获取毛皮净
+            Date grossTime = DataChange.dataToDate(stringObjectMap.get("grossTime"));
+            Date tareTime = DataChange.dataToDate(stringObjectMap.get("tareTime"));
+            Date netTime = DataChange.dataToDate(stringObjectMap.get("netTime"));
+            BigDecimal jz = DataChange.dataToBigDecimal(stringObjectMap.get("jz"));
+            omsOrderChild.setNetWeight(jz);
+            omsOrderChild.setNetWeightTime(netTime);
+            omsOrderChild.setGrossWeightTime(grossTime);
+            omsOrderChild.setTareWeightTime(tareTime);
+            omsOrderChildMapper.updateByPrimaryKey(omsOrderChild);
+            //更新车号、司机
+            OmsTransOrder omsTransOrder = omsTransOrderMapper.selectByPrimaryKey(DataChange.dataToBigDecimal(map.get("transOrderId")));
+            //根据车号,查询车辆id
+            if(stringObjectMap.get("clbh") != null && !stringObjectMap.get("clbh").equals(omsTransOrder.getCapacityNumber())) {
+                BigDecimal capacityId = omsTransOrderMapper.selectCapacityId(stringObjectMap.get("clbh").toString());
+                omsTransOrder.setCapacityId(capacityId);
+                entityDispose.disposeOmsTransOrder(omsTransOrder);
+            }
+            omsTransOrder.setDeleted(new BigDecimal(2));
+            omsTransOrderMapper.updateByPrimaryKeySelective(omsTransOrder);
+        }
+        return "操作成功";
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    public String correctTransOrder(BigDecimal transOrderId) throws Exception {
+        List<Map<String,Object>> mapList = omsTransOrderMapper.selectCorrectInfo(transOrderId);
+        for(Map<String,Object> map : mapList) {
+            Map<String,Object> stringObjectMap = dzFeign.getRightWeightInfo(map);
+            if(stringObjectMap.get("tzdid") == null) {
+                throw new Exception("未匹配到,请确定是否需要修正!");
+            }
+            //根据通知单id查询计划ID
+            Map<String,Object> planChildMap = omsOrderChildMapper.getPlanChildId(stringObjectMap);
+            if(planChildMap == null || planChildMap.get("planChildId") == null || planChildMap.get("materialId") == null) {
+                throw new Exception("未匹配到计划,请先制订计划后再修正!");
+            }
+            //更新物料
+            OmsOrderChild omsOrderChild = omsOrderChildMapper.selectByPrimaryKey(DataChange.dataToBigDecimal(map.get("transOrderChildId")));
+            omsOrderChild.setMaterialId(DataChange.dataToBigDecimal(planChildMap.get("materialId")));
+            omsOrderChild.setPlanChildId(DataChange.dataToBigDecimal(planChildMap.get("planChildId")));
+            entityDispose.disposeOrderChild(omsOrderChild);
+            // 获取毛皮净
+            Date grossTime = DataChange.dataToDate(stringObjectMap.get("grossTime"));
+            Date tareTime = DataChange.dataToDate(stringObjectMap.get("tareTime"));
+            Date netTime = DataChange.dataToDate(stringObjectMap.get("netTime"));
+            BigDecimal jz = DataChange.dataToBigDecimal(stringObjectMap.get("jz"));
+            omsOrderChild.setNetWeight(jz);
+            omsOrderChild.setNetWeightTime(netTime);
+            omsOrderChild.setGrossWeightTime(grossTime);
+            omsOrderChild.setTareWeightTime(tareTime);
             omsOrderChildMapper.updateByPrimaryKey(omsOrderChild);
+            //更新车号、司机
+            OmsTransOrder omsTransOrder = omsTransOrderMapper.selectByPrimaryKey(DataChange.dataToBigDecimal(map.get("transOrderId")));
+            //根据车号,查询车辆id
+            if(stringObjectMap.get("clbh") != null && !stringObjectMap.get("clbh").equals(omsTransOrder.getCapacityNumber())) {
+                BigDecimal capacityId = omsTransOrderMapper.selectCapacityId(stringObjectMap.get("clbh").toString());
+                omsTransOrder.setCapacityId(capacityId);
+                entityDispose.disposeOmsTransOrder(omsTransOrder);
+            }
+            omsTransOrder.setOrderStatus("出厂");
+            omsTransOrder.setDeleted(new BigDecimal(2));
+            omsTransOrderMapper.updateByPrimaryKeySelective(omsTransOrder);
         }
         return "操作成功";
     }

+ 10 - 0
src/main/java/com/steerinfo/dil/service/impl/TmsSignInResultServiceImpl.java

@@ -78,6 +78,16 @@ public class TmsSignInResultServiceImpl {
         }
         //查询状态为正在执行的运单数量(仅查采购与销售)
         List<BigDecimal> orderIds = omsTransOrderMapper.getTransOrderByDriver(omsTransOrder.getDriverId());
+        if(orderIds.size() > 0 && !"生产".equals(omsTransOrder.getBusinessScene())){
+            for(BigDecimal orderId : orderIds){
+                try {
+                    omsTransOrderService.correctTransOrder(orderId);
+                    orderIds = omsTransOrderMapper.getTransOrderByDriver(omsTransOrder.getDriverId());
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }
+        }
         if (orderIds.size() > 0 && !"生产".equals(omsTransOrder.getBusinessScene())) {
             //已有正在签到的运单
             //判断正在执行中的运单是否与当前签到的运单是否相同

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

@@ -208,7 +208,7 @@ public class TmsWeightResultServiceImpl {
                             item.setNetWeight(BigDecimal.ZERO);
                         }
                         tmsWeightResultMapper.updateByPrimaryKeySelective(item);
-                        omsTransOrderService.updateOrderStatus(transOrderIds.get(0),item.getTareSegmentSqe(),"计皮",item.getUpdateUsername(),item.getPoundNo());
+                        omsTransOrderService.updateOrderStatus(transOrderIds.get(0),item.getTareSegmentSqe(),"出厂",item.getUpdateUsername(),item.getPoundNo());
                         omsOrderChildService.updateOrderChildInfo(transOrderIds.get(0),item.getTransOrderChildId(),item.getTareWeightTime(),"计皮");
                         omsOrderChildService.updateOrderChildInfo(transOrderIds.get(0),item.getTransOrderChildId(),item.getNetWeightTime(),"净重");
                         OmsOrderChild omsOrderChild = omsOrderChildMapper.selectByPrimaryKey(transOrderChildId);
@@ -328,7 +328,7 @@ public class TmsWeightResultServiceImpl {
                             item.setNetWeight(BigDecimal.ZERO);
                         }
                         tmsWeightResultMapper.updateByPrimaryKeySelective(item);
-                        omsTransOrderService.updateOrderStatus(transOrderIds.get(0),item.getGrossSegmentSqe(),"计毛",item.getUpdateUsername(),item.getPoundNo());
+                        omsTransOrderService.updateOrderStatus(transOrderIds.get(0),item.getGrossSegmentSqe(),"出厂",item.getUpdateUsername(),item.getPoundNo());
                         omsOrderChildService.updateOrderChildInfo(transOrderIds.get(0),item.getTransOrderChildId(),item.getGrossWeightTime(),"计毛");
                         omsOrderChildService.updateOrderChildInfo(transOrderIds.get(0),item.getTransOrderChildId(),item.getNetWeightTime(),"净重");
                         OmsOrderChild omsOrderChild = omsOrderChildMapper.selectByPrimaryKey(transOrderChildId);
@@ -410,7 +410,7 @@ public class TmsWeightResultServiceImpl {
                         omsOrderChildMapper.updateByPrimaryKeySelective(omsOrderChild);
                         map.put("resultId",item.getResultId());//返回给日志记录
                         try{
-                            omsTransOrderService.updateOrderStatus(transOrderIds.get(0),item.getTareSegmentSqe(),"计皮",item.getUpdateUsername(),item.getPoundNo());
+                            omsTransOrderService.updateOrderStatus(transOrderIds.get(0),item.getTareSegmentSqe(),"出厂",item.getUpdateUsername(),item.getPoundNo());
                             omsOrderChildService.updateOrderChildInfo(transOrderIds.get(0),item.getTransOrderChildId(),item.getTareWeightTime(),"计皮");
                             omsOrderChildService.updateOrderChildInfo(transOrderIds.get(0),item.getTransOrderChildId(),item.getNetWeightTime(),"净重");
                         }catch (Exception e){}
@@ -493,7 +493,7 @@ public class TmsWeightResultServiceImpl {
                         omsOrderChildMapper.updateByPrimaryKeySelective(omsOrderChild);
                         map.put("resultId",item.getResultId());//返回给日志记录
                         try{
-                            omsTransOrderService.updateOrderStatus(transOrderIds.get(0),item.getGrossSegmentSqe(),"计毛",item.getUpdateUsername(),item.getPoundNo());
+                            omsTransOrderService.updateOrderStatus(transOrderIds.get(0),item.getGrossSegmentSqe(),"出厂",item.getUpdateUsername(),item.getPoundNo());
                             omsOrderChildService.updateOrderChildInfo(transOrderIds.get(0),item.getTransOrderChildId(),item.getGrossWeightTime(),"计毛");
                             omsOrderChildService.updateOrderChildInfo(transOrderIds.get(0),item.getTransOrderChildId(),item.getNetWeightTime(),"净重");
                         }catch (Exception e){}

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

@@ -76,7 +76,7 @@ dz:
 
 
 wms:
-  host: http://192.168.0.244:8002
+  host: http://192.168.0.245:8002
 #  host: http://192.168.0.206:8808
 #  host: http://localhost:8803
 ZhongJiaoXingLu:

+ 10 - 0
src/main/resources/com/steerinfo/dil/mapper/OmsTransOrderMapper.xml

@@ -6873,4 +6873,14 @@
   <select id="getLineId" resultType="java.math.BigDecimal">
     SELECT ATR.LINE_ID FROM AMS_TRANS_REQUIREMENT ATR WHERE ATR.TRANS_REQUIREMENT_ID = #{transRequirementId}
   </select>
+  <select id="selectCorrectInfo" resultType="java.util.Map">
+    SELECT
+      OTO.SERIAL_NUMBER "transOrderNumber",
+      OOC.TRANS_ORDER_ID "transOrderId",
+      OOC.ORDER_CHILD_ID "transOrderChildId"
+    FROM OMS_TRANS_ORDER OTO
+    LEFT JOIN OMS_ORDER_CHILD OOC
+    ON OOC.TRANS_ORDER_ID = OTO.TRANS_ORDER_ID
+    WHERE OTO.TRANS_ORDER_ID = #{transOrderId}
+  </select>
 </mapper>