From eccfd8d0504c48f07c7e11ed1fc94451ce5e7cb1 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期一, 01 四月 2024 09:10:34 +0800
Subject: [PATCH] 添加报警信息

---
 springboot-vue3/src/main/java/com/example/springboot/service/StorageCageService.java |   51 ++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 40 insertions(+), 11 deletions(-)

diff --git a/springboot-vue3/src/main/java/com/example/springboot/service/StorageCageService.java b/springboot-vue3/src/main/java/com/example/springboot/service/StorageCageService.java
index 883b3db..cef5c03 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/service/StorageCageService.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/service/StorageCageService.java
@@ -21,6 +21,7 @@
 import com.example.springboot.entity.StorageTask;
 import com.example.springboot.entity.device.PlcParameterObject;
 import com.example.springboot.mapper.HomeMapper;
+import com.example.springboot.mapper.QueueMapper;
 import com.fasterxml.jackson.databind.ObjectMapper;
 
 @Service
@@ -30,6 +31,9 @@
 
     @Autowired
     private OutSliceServive outSliceServive;
+
+    @Autowired
+    private QueueMapper QueueMapper;
 
     @Autowired
     private SpianService spianService;
@@ -287,11 +291,11 @@
     }
 
     // 寮�濮嬩换鍔�
-    public Result ClaimTasks(String flowcard, Integer state) {
+    public Result ClaimTasks(String flowcard, Integer state, Integer line) {
         if (state == 1) {
-            homeMapper.ClaimTasks(flowcard, 0);
+            homeMapper.ClaimTasks(flowcard, 0,line);
         } else {
-            homeMapper.ClaimTasks(flowcard, 1);
+            homeMapper.ClaimTasks(flowcard, 1,line);
         }
         Map<String, Object> map = new HashMap<>();
         map.put("message", "200");
@@ -313,8 +317,10 @@
     // 淇敼娴嬮噺淇℃伅
     public Result UpdateQueue(GlassInfo glassInfo) {
         homeMapper.UpdateQueue(glassInfo.getFlowcard(), glassInfo.getWidth(), glassInfo.getHeight(),
-                glassInfo.getGlasstype());
+                glassInfo.getGlasstype(),glassInfo.getThickness());
         Map<String, Object> map = new HashMap<>();
+        PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
+        S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 1);
         map.put("message", "200");
         return Result.success(map);
     }
@@ -328,8 +334,10 @@
         // 璇诲彇DB105鍖烘枃浠�
         PlcParameterObject plcmes = PLCAutoMes.PlcMesObject;
         // 绉婚櫎
-        // S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),
-        // (short) 3);
+        S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 3);
+        //鍒犻櫎鏁版嵁
+        QueueMapper.DeleteErrorQueue();
+        
         // plcmes.getPlcParameter("GaToMES").setValue("3");
         Map<String, Object> map = new HashMap<>();
         map.put("message", "200");
@@ -341,8 +349,9 @@
         // 璇诲彇DB105鍖烘枃浠�
         PlcParameterObject plcmes = PLCAutoMes.PlcMesObject;
         // 閲嶆柊娴嬮噺
-        // S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),
-        // (short) 2);
+        S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 2);
+        //鍒犻櫎鏁版嵁
+        QueueMapper.DeleteErrorQueue();
         // plcmes.getPlcParameter("GaToMES").setValue("2");
         Map<String, Object> map = new HashMap<>();
         map.put("message", "200");
@@ -356,7 +365,8 @@
         List<Map> TypeDatas = homeMapper.SelectType();
         Map<String, String> TypeData = new HashMap<String, String>();// 寰楀埌澶勭悊瀹屽悗鎵�鏈夌殑绫诲瀷
         Map<String, Integer> groupby=new HashMap<String, Integer>(); // 寰楀埌澶勭悊瀹屽悗鎵�鏈夋�诲眰鏁�;
-
+        Map<String, Integer> OrderFinishedProduct=new HashMap<String, Integer>(); // 寰楀埌澶勭悊瀹屽悗璁㈠崟鎴愬搧鎬绘暟閲�;
+        //"order zong 0  1  10  2 10"
         List<Map> RemoveErrorData = IportDataStr.stream()
                 .filter(item -> (item.get("order") != null && item.get("glasstype") != null && item.get("tier") != null
                         &&
@@ -370,6 +380,17 @@
 
         RemoveErrorData.forEach(item -> {
             String key=item.get("order").toString()+"_"+item.get("matching").toString();
+            String keyCount=item.get("order").toString()+"_"+item.get("matching").toString()+"_"+item.get("tier").toString();
+            String keyCountSum=item.get("order").toString()+"_"+item.get("matching").toString()+"_Sum";//璁㈠崟鎬绘暟
+            if (OrderFinishedProduct.get(keyCount)!=null) {
+                Integer count=OrderFinishedProduct.get(keyCount)+1;
+                Integer sumcount=OrderFinishedProduct.get(keyCountSum)+Integer.parseInt(item.get("quantity").toString());
+                OrderFinishedProduct.put(keyCount,count);
+                OrderFinishedProduct.put(keyCountSum,sumcount);
+            }else if(OrderFinishedProduct.get(keyCount)==null&&groupby.get(key)==null){
+                OrderFinishedProduct.put(keyCount,1);
+                OrderFinishedProduct.put(keyCountSum,Integer.parseInt(item.get("quantity").toString()));
+            }
             if (groupby.get(key)!=null) {
                 Integer Tiers=groupby.get(key)+1;
                 groupby.put(key, Tiers);
@@ -380,6 +401,7 @@
 
         System.out.println(RemoveErrorData.size());
         // 澶勭悊瀹屾垚 娣诲姞鏁版嵁搴�
+        int count=1;
         for (Map map : RemoveErrorData) {
             String key = map.get("base").toString() + "_" + map.get("height").toString() + "_"
                        + map.get("thickness").toString() + "_" + map.get("films").toString();
@@ -390,16 +412,23 @@
             Integer glasstype;
             if (TypeData.get(key) == null) {
                 glasstype = homeMapper.SelectMaxType();
+                if (glasstype==null) {
+                    glasstype=1;
+                }
             } else {
                 glasstype = Integer.valueOf(value);
             }
+            //
             homeMapper.AddGlassinfo(map.get("order").toString(), glasstype,
-                    Integer.parseInt(map.get("glasstype").toString()) // 闇�瑕佽绠� 閰嶇墖ID
-                    , glasstype+"" // 闇�瑕佽绠� 鐜荤拑ID
+                    Integer.parseInt(map.get("matching").toString()) // 闇�瑕佽绠� 閰嶇墖ID
+                    ,map.get("order").toString()+"-"+count+"" // 闇�瑕佽绠� 鐜荤拑ID
                     , Integer.parseInt(map.get("tier").toString()), map.get("films").toString(),
                     Double.parseDouble(map.get("base").toString()), Double.parseDouble(map.get("height").toString()),
                     Double.parseDouble(map.get("thickness").toString()),
                     Integer.parseInt(map.get("quantity").toString()),groupby.get(tierkey));// 闇�瑕佽绠楁�诲眰鏁�
+            //璁㈠崟鍐呮�诲眰鏁�
+            homeMapper.InsertFlowcard(map.get("order").toString(),OrderFinishedProduct.get(tierkey+"_Sum")); 
+            count++;
         }
         Map<String, Object> ResultCode = new HashMap<>();
         ResultCode.put("message", "200");

--
Gitblit v1.8.0