From 236edf0559e2d5a6031b1df56a69454baa0357e5 Mon Sep 17 00:00:00 2001
From: zzgtfwq <zzgtfwq>
Date: 星期二, 09 十二月 2025 14:26:44 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   82 ++++++++++++++++++++++++----------------
 1 files changed, 49 insertions(+), 33 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index eca924f..10f6565 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -6,6 +6,7 @@
 import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.core.common.*;
 import com.core.exception.CoolException;
+import com.zy.asrs.controller.TaskWrkController;
 import com.zy.asrs.domain.enums.LedErrorAreaType;
 import com.zy.asrs.domain.enums.TaskStatusType;
 import com.zy.asrs.entity.*;
@@ -13,24 +14,19 @@
 import com.zy.asrs.service.*;
 import com.zy.asrs.utils.*;
 import com.zy.common.model.LocTypeDto;
-import com.zy.common.model.MatDto;
 import com.zy.common.model.SearchLocParam;
 import com.zy.common.model.StartupDto;
 import com.zy.common.service.CommonService;
-import com.zy.common.utils.CollectionUtils;
 import com.zy.common.utils.HttpHandler;
-import com.zy.common.utils.News;
 import com.zy.core.CrnThread;
 import com.zy.core.DevpThread;
 import com.zy.core.cache.*;
 import com.zy.core.enums.*;
 import com.zy.core.model.*;
 import com.zy.core.model.command.CrnCommand;
-import com.zy.core.model.command.LedCommand;
 import com.zy.core.model.protocol.*;
 import com.zy.core.properties.SlaveProperties;
 import com.zy.core.thread.BarcodeThread;
-import com.zy.core.thread.LedThread;
 import com.zy.core.thread.RgvThread;
 import com.zy.core.thread.SiemensDevpThread;
 import com.zy.system.entity.license.LicenseVerify;
@@ -44,7 +40,6 @@
 import java.util.*;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.TimeUnit;
-import java.util.stream.Collectors;
 
 /**
  * 绔嬩綋浠撳簱WCS绯荤粺涓绘祦绋嬩笟鍔�
@@ -68,17 +63,11 @@
     @Autowired
     private LocMastService locMastService;
     @Autowired
-    private StaDescService staDescService;
-    @Autowired
     private BasCrnpService basCrnpService;
     @Autowired
     private BasDevpService basDevpService;
     @Autowired
     private LocDetlService locDetlService;
-    @Autowired
-    private BasErrLogService basErrLogService;
-    @Autowired
-    private BasCrnErrorMapper basCrnErrorMapper;
     @Autowired
     private WrkMastService wrkMastService;
     @Autowired
@@ -307,7 +296,7 @@
      */
     public synchronized void storeEmptyPlt() {
         for (DevpSlave devp : slaveProperties.getDevp()) {
-            if (devp.getId()==1) continue;
+//            if (devp.getId()==1) continue;
             // 閬嶅巻绌烘澘鍏ュ簱鍙�
             for (DevpSlave.Sta emptyInSta : devp.getEmptyInSta()) {
                 // 鑾峰彇绌烘澘鍏ュ簱绔欎俊鎭�
@@ -1246,14 +1235,39 @@
         for (RgvSlave rgvSlave : slaveProperties.getRgv()) {
             try {
                 for (RgvSlave.RgvStn inSta : rgvSlave.getRgvInSta()) {
-                    boolean create = deviceDetectionCreate(inSta);
-                    if (create) {
-                        continue;
+                    WrkMast wrkMast = deviceDetectionCreate(inSta);
+                    if (!Cools.isEmpty(wrkMast)) {
+                        TaskWrk taskWrk = new TaskWrk(wrkMast);
+                        taskWrkService.insert(taskWrk);
                     }
                 }
             } catch (Exception e){
 
             }
+        }
+    }
+
+    public synchronized void taskCancel() {
+        try {
+            List<String> taskList = new ArrayList<>();
+            for (RgvSlave rgvSlave : slaveProperties.getRgv()) {
+                RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvSlave.getId());
+                TaskProtocolCache taskProtocolCache = rgvThread.getTaskProtocolCache();
+                ConcurrentHashMap<String, TaskProtocol> allTaskProtocol = taskProtocolCache.getAllTaskProtocol();
+                for (TaskProtocol taskProtocol : allTaskProtocol.values()){
+                    taskList.add(taskProtocol.getTaskNo().toString());
+                }
+            }
+            Wrapper<TaskWrk> wrkWrapper = new EntityWrapper<TaskWrk>().eq("status", 5);
+            for (String taskNo : taskList){
+                wrkWrapper.ne("task_no", taskNo);
+            }
+            int count = taskWrkService.selectCount(wrkWrapper);
+            if (count>0){
+                taskWrkService.delete(wrkWrapper);
+            }
+        } catch (Exception e){
+
         }
     }
     public synchronized void taskStart() {
@@ -1738,31 +1752,33 @@
         return true;
     }
 
-    public boolean deviceDetectionCreate(RgvSlave.RgvStn inSta) {
+    public WrkMast deviceDetectionCreate(RgvSlave.RgvStn inSta) {
         DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, inSta.getDevpPlcId());
         StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
         if (staProtocol == null) {
-            return false;
+            return null;
         }
+
         // 鍒ゆ柇鏄惁婊¤冻鍙栬揣鏉′欢
         if (staProtocol.isAutoing()
 //                && staProtocol.isLoading()
 //                && staProtocol.isStaOk()
                 && staProtocol.getWorkNo() != 0) {
-            TaskWrk taskWrk = taskWrkService.selectByTaskNo(staProtocol.getWorkNo());
-            if (Cools.isEmpty(taskWrk)){
+            WrkMast wrkMast = wrkMastService.selectByWrkNo(staProtocol.getWorkNo());
+            if (!Cools.isEmpty(wrkMast)){
                 if (inSta.getStaNo()==117 || inSta.getStaNo()==120 || inSta.getStaNo()==123
                         || inSta.getStaNo()==217 || inSta.getStaNo()==220 || inSta.getStaNo()==223){
-                    WrkMast wrkMast = wrkMastService.selectByWrkNo(staProtocol.getWorkNo());
-                    if (!Cools.isEmpty(wrkMast) && wrkMast.getIoType()<100){
-                        return true;
+                    if (wrkMast.getIoType()>100){
+                        return null;
                     }
-                } else {
-                    return true;
+                }
+                TaskWrk taskWrk = taskWrkService.selectByTaskNo(staProtocol.getWorkNo());
+                if (Cools.isEmpty(taskWrk)){
+                    return wrkMast;
                 }
             }
         }
-        return false;
+        return null;
     }
     public TaskWrk deviceDetection(RgvSlave.RgvStn inSta) {
 
@@ -2009,6 +2025,7 @@
                 issuedTake.setTaskNo(Long.valueOf(taskWrk.getWrkNo()));
                 issuedTake.setTaskStatus(2);
                 issuedTake.setTargetPositionStaNo(basDevpPositionSou.getDevNo());
+                issuedTake.setTargetPositionStaNoEnd(basDevpPositionSou.getDevNo$());
                 issuedTake.setTargetPositionStaNoPlcId(basDevpPositionSou.getPlcId());
                 issuedTake.setTaskNoDirection(issuedTake.gettaskNoDirection$(issuedTake.getTaskNo(), issuedTake.getTaskStatus()));
                 issuedTake.setTargetPosition(basDevpPositionSou.getPlcPosition());
@@ -2019,6 +2036,7 @@
                 issuedPut.setTaskNo(Long.valueOf(taskWrk.getWrkNo()));
                 issuedPut.setTaskStatus(3);
                 issuedPut.setTargetPositionStaNo(basDevpPositionEnd.getDevNo());
+                issuedPut.setTargetPositionStaNoEnd(basDevpPositionEnd.getDevNo$());
                 issuedPut.setTargetPositionStaNoPlcId(basDevpPositionEnd.getPlcId());
                 issuedPut.setTaskNoDirection(issuedPut.gettaskNoDirection$(issuedPut.getTaskNo(), issuedPut.getTaskStatus()));
                 issuedPut.setTargetPosition(basDevpPositionEnd.getPlcPosition());
@@ -2026,13 +2044,11 @@
                 issuedPut.setDirection(basDevpPositionEnd.getRgvSign()==1);
 
                 try{
-                    if (taskWrk.getIoType()==2 && basDevpPositionEnd.getRgvSign()==1){
-                        Date now = new Date();
-                        taskWrk.setStatus(TaskStatusType.OVER.id);
-                        taskWrk.setModiTime(now);//鏇存柊鏃堕棿
-                        taskWrk.setCompleteTime(now);//瀹岀粨鏃堕棿
-                        taskWrkService.updateById(taskWrk);
-                    }
+                    Date now = new Date();
+                    taskWrk.setStatus(TaskStatusType.OVER.id);
+                    taskWrk.setModiTime(now);//鏇存柊鏃堕棿
+                    taskWrk.setCompleteTime(now);//瀹岀粨鏃堕棿
+                    taskWrkService.updateById(taskWrk);
                 } catch (Exception e){
 
                 }

--
Gitblit v1.9.1