luobang před 5 měsíci
rodič
revize
7b8f93e96c

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

@@ -361,4 +361,7 @@ public interface OmsTransOrderMapper extends IBaseMapper<OmsTransOrder, BigDecim
     void updateIdcardsInfo(Map<String, Object> capacity);
 
     int countDriverScene(BigDecimal driverId);
+
+    List<String> getControlList(String sbdd);
+
 }

+ 15 - 0
src/main/java/com/steerinfo/dil/service/impl/OmsTransOrderServiceImpl.java

@@ -3314,6 +3314,21 @@ public class OmsTransOrderServiceImpl {
         Map<String, Object> paramsCapcity = new HashMap<>();
         //推送车辆档案
         if (!"生产".equals(businessMap.get("businessScene"))) {
+            // 判断车辆hzlx是否与大宗一致
+            if(planDetails.get("sbdd") != null) {
+                //司磅地点不为空,判断是否需要做限制
+                List<String> controlList = omsTransOrderMapper.getControlList(planDetails.get("sbdd").toString());
+                //说明需要控制
+                if(controlList.size() > 0 ) {
+                    Map<String, Object> dzInfoMap = dzFeign.getCapacityDetails(capacity);
+                    if(dzInfoMap == null || dzInfoMap.get("hzlx") == null) {
+                        throw new Exception("请联系监控大厅核对车型!");
+                    }
+                    if(!dzInfoMap.get("hzlx").toString().equals(capacity.get("cllx"))) {
+                        throw new Exception("请联系监控大厅核对车型!");
+                    }
+                }
+            }
             Map<String, Object> capacityMes = omsTransOrderMapper.findCapacityMes(omsTransOrder.getCapacityId());
             Map<String, Object> driverMes = omsTransOrderMapper.findDriverMes(omsTransOrder.getDriverId());
             paramsCapcity.putAll(capacityMes);

+ 2 - 0
src/main/resources/com/steerinfo/dil/mapper/OmsOrderChildMapper.xml

@@ -1899,6 +1899,7 @@
     ATR.CONTROL_MODE "controlMode",
     ATR.BUSINESS_TYPE "businessType",
     ATR.ALTERNATE_FIELDS13 "fhdd",
+    ATR.ALTERNATE_FIELDS14 "sbdd",
     ATR.ALTERNATE_FIELDS19 "tdls",
     DECODE(ATR.ALTERNATE_FIELDS20,1,'是','否') "isReplace",
     ATR.LINE_ID   "lineId",
@@ -1999,6 +2000,7 @@
       ATR.CONTROL_MODE "controlMode",
       ATR.BUSINESS_TYPE "businessType",
       ATR.ALTERNATE_FIELDS13 "fhdd",
+      ATR.ALTERNATE_FIELDS14 "sbdd",
       ATR.ALTERNATE_FIELDS19 "tdls",
       ATR.LINE_ID   "lineId",
       ARC.ALTERNATE_FIELDS9 "tdfl",

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

@@ -6843,4 +6843,14 @@
     AND OTO.DELETED IN (4,5)
     AND OTO.BUSINESS_TYPE_NAME = '大宗销售订单'
   </select>
+  <select id="getControlList" resultType="java.lang.String">
+    SELECT GATEPOST_NO
+    FROM DIL_GATE_CONTROL DGC
+    WHERE DGC.IS_CONTROL = '是'
+      AND DGC.GATEPOST_NO IN (
+      SELECT REGEXP_SUBSTR(#{sbdd}, '[^,]+', 1, LEVEL)
+      FROM DUAL
+    CONNECT BY REGEXP_SUBSTR(#{sbdd}, '[^,]+', 1, LEVEL) IS NOT NULL
+      )
+  </select>
 </mapper>