From 431e937773ca692190e94b326bd4c4201154f661 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期三, 23 十月 2024 08:58:53 +0800
Subject: [PATCH] 1、解决请求入库失败后,状态恢复问题

---
 hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/service/RawGlassStorageDetailsService.java          |    2 
 hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/service/impl/RawGlassStorageDetailsServiceImpl.java |   38 ++++++++-
 hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/job/RawGlassTask.java                                               |  162 +++++++++++++++++++--------------------
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application.yml                                                           |    3 
 4 files changed, 116 insertions(+), 89 deletions(-)

diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/job/RawGlassTask.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/job/RawGlassTask.java
index 60d0403..1c93ee7 100644
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/job/RawGlassTask.java
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/job/RawGlassTask.java
@@ -10,7 +10,6 @@
 import com.mes.engineering.mapper.EngineeringMapper;
 import com.mes.rawglassdetails.entity.RawGlassStorageDetails;
 import com.mes.rawglassdetails.service.RawGlassStorageDetailsService;
-import com.mes.rawglassstation.service.RawGlassStorageStationService;
 import com.mes.rawglasstask.entity.RawGlassStorageTask;
 import com.mes.rawglasstask.service.RawGlassStorageTaskService;
 import com.mes.uppattenusage.entity.vo.UpPattenUsageVO;
@@ -34,8 +33,6 @@
 @Component
 public class RawGlassTask {
 
-    @Autowired
-    private RawGlassStorageStationService rawGlassStorageStationService;
     @Autowired
     private RawGlassStorageDetailsService rawGlassStorageDetailsService;
 
@@ -63,22 +60,23 @@
 
     @Scheduled(fixedDelay = 1000)
     public void rawStorageTask() throws Exception {
-        ReadWriteEntity requestWord = miloService.readFromOpcUa("storage-device.dev.Task Request");
-        ReadWriteEntity confireWord = miloService.readFromOpcUa("storage-device.dev.Task Confirmation Word");
-        ReadWriteEntity taskWord = miloService.readFromOpcUa("storage-device.dev.Task sending word");
+        ReadWriteEntity requestWord = miloService.readFromOpcUa("A01-CC.dev.request");
+        ReadWriteEntity confireWord = miloService.readFromOpcUa("A01-CC.dev.confirmationWord");
+        ReadWriteEntity reportWord = miloService.readFromOpcUa("A01-CC.dev.reportWord");
+        ReadWriteEntity taskWord = miloService.readFromOpcUa("A01-CC.dev.taskWord");
         String requestValue = requestWord.getValue() + "";
         if ("0".equals(requestValue)) {
-            if ("1".equals(confireWord.getValue() + "")) {
+            if ("1".equals(confireWord.getValue() + "") && "0".equals(reportWord.getValue() + "")) {
                 List<ReadWriteEntity> list = new ArrayList<>();
-                list.add(generateReadWriteEntity("storage-device.dev.Task Confirmation Word", 0));
+                list.add(generateReadWriteEntity("A01-CC.dev.confirmationWord", 0));
                 miloService.writeToOpcWord(list);
             }
             if ("1".equals(taskWord.getValue() + "")) {
                 List<ReadWriteEntity> list = new ArrayList<>();
-                list.add(generateReadWriteEntity("storage-device.dev.Task sending word", 0));
-                list.add(generateReadWriteEntity("storage-device.dev.Task distribution", 0));
-                list.add(generateReadWriteEntity("storage-device.dev.Starting material rack number", 0));
-                list.add(generateReadWriteEntity("storage-device.dev.End shelf number", 0));
+                list.add(generateReadWriteEntity("A01-CC.dev.taskWord", 0));
+                list.add(generateReadWriteEntity("A01-CC.dev.taskSending", 0));
+                list.add(generateReadWriteEntity("A01-CC.dev.startSlot", 0));
+                list.add(generateReadWriteEntity("A01-CC.dev.endSlot", 0));
                 miloService.writeToOpcWord(list);
             }
             return;
@@ -114,16 +112,17 @@
 
     @Scheduled(fixedDelay = 1000)
     public void rawStorageInCar() throws Exception {
-        ReadWriteEntity entity = miloService.readFromOpcUa("storage-device.dev.Loading rack");
+        ReadWriteEntity entity = miloService.readFromOpcUa("A01-CC.dev.inCar");
         String value = entity.getValue() + "";
         if (!"1".equals(value)) {
-            log.info("澶ц溅蹇欑");
+            log.info("澶ц溅涓婃病鏈夋灦瀛�");
             return;
         }
         //鏌ヨ浠诲姟
         RawGlassStorageDetails one = rawGlassStorageDetailsService.getOne(new LambdaQueryWrapper<RawGlassStorageDetails>()
                 .eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_RUNNING));
         if (one == null) {
+            log.info("娌℃湁姝e湪鎵ц鐨勪换鍔�");
             return;
         }
         rawGlassStorageDetailsService.update(new LambdaUpdateWrapper<RawGlassStorageDetails>().eq(RawGlassStorageDetails::getId, one.getId())
@@ -133,7 +132,7 @@
 
     @Scheduled(fixedDelay = 1000)
     public void rawStorageFinish() throws Exception {
-        ReadWriteEntity entity = miloService.readFromOpcUa("storage-device.dev.Task report letter");
+        ReadWriteEntity entity = miloService.readFromOpcUa("A01-CC.dev.reportWord");
         String value = entity.getValue() + "";
         if ("0".equals(value)) {
             log.info("褰撳墠浠诲姟鏈眹鎶ワ紝缁撴潫鏈浠诲姟");
@@ -150,51 +149,52 @@
         RawGlassStorageDetails targetDetails = generateDetails(details, task.getEndSlot());
         Integer taskType = task.getTaskType();
         if ("1".equals(value)) {
+            log.info("灏嗚鎯呰〃鐨勭姸鎬佹敼涓哄凡鍑哄簱");
+            rawGlassStorageDetailsService.update(new LambdaUpdateWrapper<RawGlassStorageDetails>()
+                    .set(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_OUT)
+                    .eq(RawGlassStorageDetails::getSlot, task.getStartSlot()).eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_CAR));
+            log.info("浠诲姟鐘舵�佸凡鏇存敼涓猴細宸插畬鎴�");
+            rawGlassStorageTaskService.update(new LambdaUpdateWrapper<RawGlassStorageTask>()
+                    .eq(RawGlassStorageTask::getTaskState, Const.RAW_GLASS_TASK_NEW)
+                    .set(RawGlassStorageTask::getTaskState, Const.RAW_GLASS_TASK_SUCCESS));
             switch (taskType) {
                 case 1:
-                    log.info("杩涚墖浠诲姟");
-                    rawGlassStorageDetailsService.update(new LambdaUpdateWrapper<RawGlassStorageDetails>()
-                            .set(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_OUT)
-                            .eq(RawGlassStorageDetails::getSlot, task.getStartSlot()).eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_CAR));
-                    //todo:鐢熸垚鍏ュ簱璇︽儏琛細鍏朵粬淇℃伅涓嶅彉锛�
-                    rawGlassStorageDetailsService.save(targetDetails);
+                    log.info("1銆佸叆搴擄紝3銆佽皟搴︿换鍔°�倇}", taskType);
+                    if (targetDetails.getRemainQuantity() > 0) {
+                        rawGlassStorageDetailsService.save(targetDetails);
+                    }
                     break;
                 case 2:
-                    log.info("鍑虹墖浠诲姟");
-                    rawGlassStorageDetailsService.update(new LambdaUpdateWrapper<RawGlassStorageDetails>()
-                            .set(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_OUT)
-                            .eq(RawGlassStorageDetails::getSlot, task.getStartSlot())
-                            .eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_CAR));
+                case 4:
+                    log.info("2銆佸嚭鐗�,4銆佸叆搴撹姹傘�倇}", taskType);
                     targetDetails = new RawGlassStorageDetails();
                     targetDetails.setSlot(task.getEndSlot());
                     targetDetails.setShelf(task.getStartSlot());
                     targetDetails.setState(Const.RAW_GLASS_STATE_IN);
                     rawGlassStorageDetailsService.save(targetDetails);
                     break;
-                case 3:
-                    log.info("璋冨害浠诲姟");
-                    rawGlassStorageDetailsService.update(new LambdaUpdateWrapper<RawGlassStorageDetails>()
-                            .set(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_OUT)
-                            .eq(RawGlassStorageDetails::getSlot, task.getStartSlot()).eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_CAR));
-                    rawGlassStorageDetailsService.save(targetDetails);
-                    break;
                 default:
                     break;
             }
-            rawGlassStorageTaskService.update(new LambdaUpdateWrapper<RawGlassStorageTask>()
-                    .eq(RawGlassStorageTask::getTaskState, Const.RAW_GLASS_TASK_NEW)
-                    .set(RawGlassStorageTask::getTaskState, Const.RAW_GLASS_TASK_SUCCESS));
         } else {
+            if (taskType.equals(Const.RAW_GLASS_TASK_TYPE_IN_REQUEST)) {
+                rawGlassStorageDetailsService.update(new LambdaUpdateWrapper<RawGlassStorageDetails>()
+                        .set(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_OUT)
+                        .eq(RawGlassStorageDetails::getSlot, task.getStartSlot())
+                        .in(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_RUNNING, Const.RAW_GLASS_STATE_CAR));
+            } else {
+                rawGlassStorageDetailsService.update(new LambdaUpdateWrapper<RawGlassStorageDetails>()
+                        .set(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN)
+                        .eq(RawGlassStorageDetails::getSlot, task.getStartSlot())
+                        .in(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_RUNNING, Const.RAW_GLASS_STATE_CAR));
+            }
             rawGlassStorageTaskService.update(new LambdaUpdateWrapper<RawGlassStorageTask>()
                     .eq(RawGlassStorageTask::getTaskState, Const.RAW_GLASS_TASK_NEW)
                     .set(RawGlassStorageTask::getTaskState, Const.RAW_GLASS_TASK_FAILURE));
-            rawGlassStorageDetailsService.update(new LambdaUpdateWrapper<RawGlassStorageDetails>()
-                    .set(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN)
-                    .eq(RawGlassStorageDetails::getSlot, task.getStartSlot()).eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_CAR));
-        }
 
+        }
         List<ReadWriteEntity> list = new ArrayList<>();
-        list.add(generateReadWriteEntity("storage-device.dev.Task Confirmation Word", 1));
+        list.add(generateReadWriteEntity("A01-CC.dev.confirmationWord", 1));
         miloService.writeToOpcWord(list);
     }
 
@@ -252,12 +252,12 @@
         //鐢熸垚鍑哄簱浠诲姟
         rawGlassStorageDetailsService.generateTask(startSlot, lefting, startSlot, rawGlassList.get(0).getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_OUT);
 
-        List<ReadWriteEntity> list = new ArrayList<>();
-        list.add(generateReadWriteEntity("storage-device.dev.Task sending word", 1));
-        list.add(generateReadWriteEntity("storage-device.dev.Task distribution", 1));
-        list.add(generateReadWriteEntity("storage-device.dev.Starting material rack number", startSlot));
-        list.add(generateReadWriteEntity("storage-device.dev.End shelf number", lefting));
-        miloService.writeToOpcWord(list);
+//        List<ReadWriteEntity> list = new ArrayList<>();
+//        list.add(generateReadWriteEntity("A01-CC.dev.taskWord", 1));
+//        list.add(generateReadWriteEntity("A01-CC.dev.taskSending", 1));
+//        list.add(generateReadWriteEntity("A01-CC.dev.startSlot", startSlot));
+//        list.add(generateReadWriteEntity("A01-CC.dev.endSlot", lefting));
+//        miloService.writeToOpcWord(list);
 
         //淇敼鍑虹墖浠诲姟鐘舵��
         rawGlassStorageDetailsService.update(new LambdaUpdateWrapper<RawGlassStorageDetails>()
@@ -286,12 +286,12 @@
         RawGlassStorageDetails details = rawGlassList.get(0);
         rawGlassStorageDetailsService.generateTask(details.getSlot(), details.getShelf(), details.getShelf(),
                 details.getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_IN);
-        List<ReadWriteEntity> list = new ArrayList<>();
-        list.add(generateReadWriteEntity("storage-device.dev.Task sending word", 1));
-        list.add(generateReadWriteEntity("storage-device.dev.Task distribution", 1));
-        list.add(generateReadWriteEntity("storage-device.dev.Starting material rack number", details.getSlot()));
-        list.add(generateReadWriteEntity("storage-device.dev.End shelf number", details.getShelf()));
-        miloService.writeToOpcWord(list);
+//        List<ReadWriteEntity> list = new ArrayList<>();
+//        list.add(generateReadWriteEntity("A01-CC.dev.taskWord", 1));
+//        list.add(generateReadWriteEntity("A01-CC.dev.taskSending", 1));
+//        list.add(generateReadWriteEntity("A01-CC.dev.startSlot", details.getSlot()));
+//        list.add(generateReadWriteEntity("A01-CC.dev.endSlot", details.getShelf()));
+//        miloService.writeToOpcWord(list);
         //鐢熸垚宸ヤ綅浠诲姟锛屽皢鍚婅浣嶇殑鐜荤拑鐘舵�佹敼浣嶈繘绗间腑
         //淇敼鍚婅浣嶇殑鍘熺墖鐘舵�佷负103 鍑虹墖涓�
         //淇敼鍑虹墖浠诲姟鐘舵��
@@ -341,12 +341,6 @@
             );
             rawGlassStorageDetailsService.generateTask(details.getSlot(), endSlot, details.getSlot(), details.getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_DISPATCH);
 
-            List<ReadWriteEntity> list = new ArrayList<>();
-            list.add(generateReadWriteEntity("storage-device.dev.Task sending word", 1));
-            list.add(generateReadWriteEntity("storage-device.dev.Task distribution", 1));
-            list.add(generateReadWriteEntity("storage-device.dev.Starting material rack number", details.getSlot()));
-            list.add(generateReadWriteEntity("storage-device.dev.End shelf number", endSlot));
-            miloService.writeToOpcWord(list);
             //缁撴潫璋冨害浠诲姟 淇敼宸ヤ綅鐘舵��(璧峰浣嶏級鐘舵�佷负103 RAW_GLASS_STATE_RUNNING 浠诲姟瀹屾垚鍚庡皢鐘舵�佹敼涓�101  鐩爣浣嶆柊澧炰竴鏉℃暟鎹紝鏋跺瓙鍙蜂负锛堣捣濮嬩綅锛�
             rawGlassStorageDetailsService.update(new LambdaUpdateWrapper<RawGlassStorageDetails>()
                     .eq(RawGlassStorageDetails::getSlot, details.getSlot()).eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN)
@@ -362,12 +356,12 @@
                     && glassStorageDetails.getRemainQuantity() == 0)) {
                 //灏嗘灦瀛愭斁鍥炲師宸ヤ綅涓�
                 rawGlassStorageDetailsService.generateTask(endSlot, glassStorageDetails.getShelf(), glassStorageDetails.getShelf(), 0, Const.RAW_GLASS_TASK_TYPE_DISPATCH);
-                List<ReadWriteEntity> list = new ArrayList<>();
-                list.add(generateReadWriteEntity("storage-device.dev.Task sending word", 1));
-                list.add(generateReadWriteEntity("storage-device.dev.Task distribution", 1));
-                list.add(generateReadWriteEntity("storage-device.dev.Starting material rack number", endSlot));
-                list.add(generateReadWriteEntity("storage-device.dev.End shelf number", glassStorageDetails.getShelf()));
-                miloService.writeToOpcWord(list);
+//                List<ReadWriteEntity> list = new ArrayList<>();
+//                list.add(generateReadWriteEntity("A01-CC.dev.taskWord", 1));
+//                list.add(generateReadWriteEntity("A01-CC.dev.taskSending", 1));
+//                list.add(generateReadWriteEntity("A01-CC.dev.startSlot", endSlot));
+//                list.add(generateReadWriteEntity("A01-CC.dev.endSlot", glassStorageDetails.getShelf()));
+//                miloService.writeToOpcWord(list);
                 rawGlassStorageDetailsService.update(new LambdaUpdateWrapper<RawGlassStorageDetails>()
                         .eq(RawGlassStorageDetails::getSlot, glassStorageDetails.getSlot()).eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN)
                         .set(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_RUNNING));
@@ -385,12 +379,12 @@
                     && glassStorageDetails.getRemainQuantity() == 0)) {
                 //灏嗘灦瀛愭斁鍥炲師宸ヤ綅涓�
                 rawGlassStorageDetailsService.generateTask(endSlot02, glassStorageDetails.getShelf(), glassStorageDetails.getShelf(), 0, Const.RAW_GLASS_TASK_TYPE_DISPATCH);
-                List<ReadWriteEntity> list = new ArrayList<>();
-                list.add(generateReadWriteEntity("storage-device.dev.Task sending word", 1));
-                list.add(generateReadWriteEntity("storage-device.dev.Task distribution", 1));
-                list.add(generateReadWriteEntity("storage-device.dev.Starting material rack number", endSlot02));
-                list.add(generateReadWriteEntity("storage-device.dev.End shelf number", glassStorageDetails.getShelf()));
-                miloService.writeToOpcWord(list);
+//                List<ReadWriteEntity> list = new ArrayList<>();
+//                list.add(generateReadWriteEntity("A01-CC.dev.taskWord", 1));
+//                list.add(generateReadWriteEntity("A01-CC.dev.taskSending", 1));
+//                list.add(generateReadWriteEntity("A01-CC.dev.startSlot", endSlot02));
+//                list.add(generateReadWriteEntity("A01-CC.dev.endSlot", glassStorageDetails.getShelf()));
+//                miloService.writeToOpcWord(list);
                 rawGlassStorageDetailsService.update(new LambdaUpdateWrapper<RawGlassStorageDetails>()
                         .eq(RawGlassStorageDetails::getSlot, glassStorageDetails.getSlot()).eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN)
                         .set(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_RUNNING));
@@ -434,12 +428,12 @@
                         .eq(RawGlassStorageDetails::getSlot, details.getSlot()).eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN)
                         .set(RawGlassStorageDetails::getDeviceId, Const.RAW_GLASS_STATE_RUNNING));
 
-                List<ReadWriteEntity> list = new ArrayList<>();
-                list.add(generateReadWriteEntity("storage-device.dev.Task sending word", 1));
-                list.add(generateReadWriteEntity("storage-device.dev.Task distribution", 1));
-                list.add(generateReadWriteEntity("storage-device.dev.Starting material rack number", glassStorageDetails.getShelf()));
-                list.add(generateReadWriteEntity("storage-device.dev.End shelf number", endSlot02));
-                miloService.writeToOpcWord(list);
+//                List<ReadWriteEntity> list = new ArrayList<>();
+//                list.add(generateReadWriteEntity("A01-CC.dev.taskWord", 1));
+//                list.add(generateReadWriteEntity("A01-CC.dev.taskSending", 1));
+//                list.add(generateReadWriteEntity("A01-CC.dev.startSlot", glassStorageDetails.getShelf()));
+//                list.add(generateReadWriteEntity("A01-CC.dev.endSlot", endSlot02));
+//                miloService.writeToOpcWord(list);
 
                 return Boolean.TRUE;
             } else {
@@ -449,12 +443,12 @@
                         .eq(RawGlassStorageDetails::getSlot, endSlot).eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN)
                         .set(RawGlassStorageDetails::getDeviceId, Const.RAW_GLASS_STATE_RUNNING));
 
-                List<ReadWriteEntity> list = new ArrayList<>();
-                list.add(generateReadWriteEntity("storage-device.dev.Task sending word", 1));
-                list.add(generateReadWriteEntity("storage-device.dev.Task distribution", 1));
-                list.add(generateReadWriteEntity("storage-device.dev.Starting material rack number", endSlot));
-                list.add(generateReadWriteEntity("storage-device.dev.End shelf number", glassStorageDetails.getShelf()));
-                miloService.writeToOpcWord(list);
+//                List<ReadWriteEntity> list = new ArrayList<>();
+//                list.add(generateReadWriteEntity("A01-CC.dev.taskWord", 1));
+//                list.add(generateReadWriteEntity("A01-CC.dev.taskSending", 1));
+//                list.add(generateReadWriteEntity("A01-CC.dev.startSlot", endSlot));
+//                list.add(generateReadWriteEntity("A01-CC.dev.endSlot", glassStorageDetails.getShelf()));
+//                miloService.writeToOpcWord(list);
                 return Boolean.TRUE;
             }
         }
@@ -476,11 +470,13 @@
         return targetDetails;
     }
 
+
     private ReadWriteEntity generateReadWriteEntity(String identifier, int value) {
         ReadWriteEntity readWriteEntity = new ReadWriteEntity();
         readWriteEntity.setIdentifier(identifier);
         readWriteEntity.setValue(value);
         return readWriteEntity;
     }
+
 }
 
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/service/RawGlassStorageDetailsService.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/service/RawGlassStorageDetailsService.java
index 3fea420..e5955cf 100644
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/service/RawGlassStorageDetailsService.java
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/service/RawGlassStorageDetailsService.java
@@ -41,5 +41,5 @@
 
     String outWarehousingRequest(int leftingStation);
 
-    boolean generateTask(int startSlot, int endSlot, int shelf, int patternQuantity, int taskType);
+    boolean generateTask(int startSlot, int endSlot, int shelf, int patternQuantity, int taskType) throws Exception;
 }
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/service/impl/RawGlassStorageDetailsServiceImpl.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/service/impl/RawGlassStorageDetailsServiceImpl.java
index a7e20e5..a055efd 100644
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/service/impl/RawGlassStorageDetailsServiceImpl.java
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/service/impl/RawGlassStorageDetailsServiceImpl.java
@@ -4,6 +4,8 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.kangaroohy.milo.model.ReadWriteEntity;
+import com.kangaroohy.milo.service.MiloService;
 import com.mes.common.config.Const;
 import com.mes.rawglassdetails.entity.RawGlassStorageDetails;
 import com.mes.rawglassdetails.entity.request.RawGlassRequest;
@@ -17,6 +19,7 @@
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
@@ -30,6 +33,9 @@
 
     @Autowired
     RawGlassStorageTaskService rawGlassStorageTaskService;
+
+    @Autowired(required = false)
+    MiloService miloService;
 
     @Override
     public boolean deleteRawGlassStorageDetails(String device_id) {
@@ -63,7 +69,11 @@
         }
         Integer shelf = shelfList.get(0);
         log.info("鐢熸垚浠诲姟");
-        generateTask(shelf, leftingStation, shelf, 0, Const.RAW_GLASS_TASK_TYPE_IN_REQUEST);
+        try {
+            generateTask(shelf, leftingStation, shelf, 0, Const.RAW_GLASS_TASK_TYPE_IN_REQUEST);
+        } catch (Exception e) {
+            return "fail";
+        }
         //鐢熸垚涓�鏉¤鎯呮暟鎹�  浠呰褰曟灦瀛愮姸鎬�
         RawGlassStorageDetails details = new RawGlassStorageDetails();
         details.setSlot(shelf);
@@ -135,7 +145,11 @@
                 .eq(RawGlassStorageDetails::getSlot, details.getSlot())
                 .eq(RawGlassStorageDetails::getState, Const.GLASS_STATE_IN)
                 .set(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_RUNNING));
-        generateTask(leftingStation, details.getShelf(), details.getShelf(), details.getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_OUT_REQUEST);
+        try {
+            generateTask(leftingStation, details.getShelf(), details.getShelf(), details.getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_OUT_REQUEST);
+        } catch (Exception e) {
+            return "fail";
+        }
         return "success";
     }
 
@@ -149,7 +163,7 @@
      * @return
      */
     @Override
-    public boolean generateTask(int startSlot, int endSlot, int shelf, int patternQuantity, int taskType) {
+    public boolean generateTask(int startSlot, int endSlot, int shelf, int patternQuantity, int taskType) throws Exception {
         RawGlassStorageTask task = RawGlassStorageTask.builder()
                 .startSlot(startSlot)
                 .endSlot(endSlot)
@@ -158,6 +172,22 @@
                 .taskState(Const.RAW_GLASS_TASK_NEW)
                 .shelf(shelf)
                 .createTime(new Date()).build();
-        return rawGlassStorageTaskService.save(task);
+        rawGlassStorageTaskService.save(task);
+
+
+        List<ReadWriteEntity> list = new ArrayList<>();
+        list.add(generateReadWriteEntity("A01-CC.dev.taskWord", 1));
+        list.add(generateReadWriteEntity("A01-CC.dev.taskSending", 1));
+        list.add(generateReadWriteEntity("A01-CC.dev.startSlot", startSlot));
+        list.add(generateReadWriteEntity("A01-CC.dev.endSlot", endSlot));
+        miloService.writeToOpcWord(list);
+        return Boolean.TRUE;
+    }
+
+    private ReadWriteEntity generateReadWriteEntity(String identifier, int value) {
+        ReadWriteEntity readWriteEntity = new ReadWriteEntity();
+        readWriteEntity.setIdentifier(identifier);
+        readWriteEntity.setValue(value);
+        return readWriteEntity;
     }
 }
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application.yml b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application.yml
index 62c6cb8..abbddf5 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application.yml
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application.yml
@@ -10,6 +10,7 @@
 mybatis-plus:
   mapper-locations: classpath*:mapper/*.xml
   configuration:
-    log-impl: org.apache.ibatis.logging.stdout.StdOutImplkangaroohy:
+    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+kangaroohy:
   milo:
     enabled: false
\ No newline at end of file

--
Gitblit v1.8.0