Explorar o código

限制水渣等物资出厂必须装货

liyg %!s(int64=2) %!d(string=hai) anos
pai
achega
092abe75f5

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

@@ -113,4 +113,7 @@ public interface TmstruckLeaveFactoryResultMapper extends IBaseMapper<TmstruckLe
      * @Description:
      */
     void changeNumber(String orderNumber);
+
+    //根据运输订单号查询当前物资,判断出厂是否需要装货
+    List<String> getMaterial(String orderNumber);
 }

+ 17 - 6
src/main/java/com/steerinfo/dil/service/impl/TmstruckLeaveFactoryResultServiceImpl.java

@@ -215,12 +215,23 @@ public class TmstruckLeaveFactoryResultServiceImpl implements ITmstruckLeaveFact
                 }
             }
         }
-        //if(orderType == 13){
-        //    Map<String,Object> loadResultMap = tmstruckLoadResultMapper.getLoadResultMap(DataChange.dataToBigDecimal(mesMap.get("resultTotalId")));
-        //    if(loadResultMap == null || loadResultMap.get("loadEndTime") == null){
-        //        throw new Exception("该车未扫装货,请提醒司机去扫装货");
-        //    }
-        //}
+        if(orderType == 13 ){
+            //检查物资类型
+            List<String> materials=null;
+            try{
+                materials=tmstruckLeaveFactoryResultMapper.getMaterial(orderNumber);
+            }catch (Exception e){
+                e.printStackTrace();
+                System.out.println("查询物资失败,不检查是否装货,不影响后续执行");
+            }
+            //检查是否装货
+            if(materials!=null && materials.size()>0){
+                Map<String,Object> loadResultMap = tmstruckLoadResultMapper.getLoadResultMap(DataChange.dataToBigDecimal(mesMap.get("resultTotalId")));
+                if(loadResultMap == null || loadResultMap.get("loadEndTime") == null){
+                    throw new Exception("该车未扫装货,请提醒司机去扫装货");
+                }
+            }
+        }
         map.putAll(mesMap);
         map.putAll(selectMap);
         map.remove("Sqe");

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

@@ -1345,4 +1345,14 @@
         set oo.PRINTNUMBER=1
         where oo.ORDER_NUMBER=#{orderNumber}
     </update>
+
+    <select id="getMaterial" resultType="java.lang.String">
+        SELECT
+            DISTINCT RM.MATERIAL_NAME
+        FROM OMSTRUCK_ORDER OO
+           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_MATERIAL_CHECKLOAD RMC ON RM.MATERIAL_NAME LIKE '%' || RMC.MATERIAL_NAME ||'%'
+        WHERE ORDER_TYPE=13 AND ORDER_STATUS=5 AND RMC.MATERIAL_NAME IS NOT NULL AND OO.ORDER_NUMBER=#{orderNumber}
+    </select>
 </mapper>