瀏覽代碼

修改自动出厂

liyg 2 年之前
父節點
當前提交
6ebf2eafc3

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

@@ -154,6 +154,9 @@ public interface TmstruckLeaveFactoryResultMapper extends IBaseMapper<TmstruckLe
     //查询所有出了净重的计量实绩
     List<Map<String,Object>> getWeightResultNetted(Map<String,Object> map);
 
+    //查询所有待出厂钢材
+    List<Map<String,Object>> getSteelForLeave(Map<String,Object> map);
+
     //出厂
     int updateLeaveTime(Map<String,Object> map);
     //关单

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

@@ -677,23 +677,35 @@ public class TmstruckLeaveFactoryResultServiceImpl implements ITmstruckLeaveFact
     }
 
     /**
-     * 非钢材,出净重24h后自动出厂,并关单
+     * 自动补扫出厂
      */
-    @Scheduled(fixedRate = 1000*60*60*3)
+    @Scheduled(fixedRate = 1000*60)
     public void autoLeaveFactory(){
         Date date=new Date();
         Calendar calendar=Calendar.getInstance();
         calendar.setTime(date);
+        //非钢材,出净重24h后自动出厂,并关单
         calendar.add(Calendar.DAY_OF_MONTH,-1);
         date=calendar.getTime();
         Map<String,Object> map = new HashMap<>();
         map.put("nowDate",date);
         List<Map<String,Object>> list = tmstruckLeaveFactoryResultMapper.getWeightResultNetted(map);
+        //钢材,打印送货单3小时后补扫出厂
+        calendar.setTime(new Date());
+        calendar.add(Calendar.HOUR_OF_DAY,-3);
+        date=calendar.getTime();
+        map.put("nowDate",date);
+        if(list != null){
+            list.addAll(tmstruckLeaveFactoryResultMapper.getSteelForLeave(map));
+        }else{
+            list = tmstruckLeaveFactoryResultMapper.getSteelForLeave(map);
+        }
         for(Map<String,Object> item:list){
-            //更新出厂
-            tmstruckLeaveFactoryResultMapper.updateLeaveTime(item);
-            //关闭订单
-            tmstruckLeaveFactoryResultMapper.updateLeaveOrder(item);
+            try{
+                leaveFactoryByPDA(item);
+            }catch (Exception e){
+                e.printStackTrace();
+            }
         }
     }
 }

+ 25 - 2
src/main/resources/com/steerinfo/dil/mapper/TmstruckLeaveFactoryResultMapper.xml

@@ -1513,14 +1513,37 @@
             TWR.RESULT_TOTAL_ID "resultTotalId",
             TWR.RESULT_GROSS_WEIGHT_TIME "resultGrossWeightTime",
             TWR.RESULT_TARE_WEIGHT_TIME "resultTareWeightTime",
-            OO.ORDER_ID "orderId"
+            OO.ORDER_ID "orderId",
+            OO.ORDER_NUMBER || ' ' "orderNumber",
+            RG .GATEPOST_ID "gatepostId",
+            RG.GATEPOST_NAME "gatepostName"
         FROM TMSTRUCK_WEIGHT_RESULT TWR
                  LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR ON TTR .RESULT_TOTAL_ID = TWR .RESULT_TOTAL_ID
+                 LEFT JOIN TMSTRUCK_LEAVE_FACTORY_RESULT TLFR ON TLFR .RESULT_TOTAL_ID = TTR .RESULT_TOTAL_ID
                  LEFT JOIN OMSTRUCK_ORDER OO ON OO .ORDER_ID = TTR .ORDER_ID
-        WHERE OO .ORDER_STATUS = 5 AND OO .ORDER_TYPE != 1 AND TWR .RESULT_NET_WEIGHT IS NOT NULL
+                 LEFT JOIN RMS_GATEPOST RG ON RG .GATEPOST_NAME = '系统自动补扫出厂'
+        WHERE OO .ORDER_STATUS = 5 AND OO .ORDER_TYPE != 1 AND TWR .RESULT_NET_WEIGHT IS NULL
+        AND TLFR .RESULT_OUT_GATE_TIME IS  NULL
         AND #{nowDate} > TWR .RESULT_GROSS_WEIGHT_TIME
         AND #{nowDate} > TWR .RESULT_TARE_WEIGHT_TIME
     </select>
+    <select id="getSteelForLeave" resultType="java.util.Map">
+        SELECT
+            OO.ORDER_ID "orderId",
+            OO.ORDER_NUMBER || ' ' "orderNumber",
+            OO .PRINTDATE "printDate",
+            RG .GATEPOST_ID "gatepostId",
+            RC .CAPACITY_NUMBER "capacityNumber",
+            RG.GATEPOST_NAME "gatepostName"
+        FROM OMSTRUCK_ORDER OO
+                 LEFT JOIN RMS_GATEPOST RG ON RG .GATEPOST_NAME = '系统自动补扫出厂'
+                 LEFT JOIN RMS_CAPACITY RC ON RC .CAPACITY_ID =OO .CAPACITY_ID
+                 LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR ON TTR .ORDER_ID = OO .ORDER_ID
+                 LEFT JOIN TMSTRUCK_LEAVE_FACTORY_RESULT TLFR ON TLFR .RESULT_TOTAL_ID = TTR .RESULT_TOTAL_ID
+        WHERE OO .ORDER_STATUS = 5 AND OO .ORDER_TYPE = 1 AND OO .PRINTDATE IS NOT NULL
+        AND TLFR .RESULT_OUT_GATE_TIME IS NULL
+        AND #{nowDate} > OO .PRINTDATE
+    </select>
     <update id="updateLeaveTime">
         UPDATE TMSTRUCK_LEAVE_FACTORY_RESULT
         SET TMSTRUCK_LEAVE_FACTORY_RESULT.RESULT_OUT_GATE_TIME = SYSDATE,