From 3fa7cdec6ce44f07a0dc7e1910511ead606990f3 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期四, 11 九月 2025 08:19:53 +0800
Subject: [PATCH] 1

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/LocServiceImpl.java |   88 +++++++++++++++++++++++++++++++++++++++----
 1 files changed, 79 insertions(+), 9 deletions(-)

diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/LocServiceImpl.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/LocServiceImpl.java
index 6d5279c..e66a2e2 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/LocServiceImpl.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/LocServiceImpl.java
@@ -6,11 +6,14 @@
 import com.zy.acs.manager.manager.entity.Sta;
 import com.zy.acs.manager.manager.entity.Task;
 import com.zy.acs.manager.manager.enums.LocStsType;
+import com.zy.acs.manager.manager.enums.StaStsType;
 import com.zy.acs.manager.manager.enums.TaskStsType;
 import com.zy.acs.manager.manager.enums.TaskTypeType;
 import com.zy.acs.manager.manager.mapper.LocMapper;
 import com.zy.acs.manager.manager.service.LocService;
+import com.zy.acs.manager.manager.service.StaService;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.Date;
@@ -21,6 +24,9 @@
 @Slf4j
 @Service("locService")
 public class LocServiceImpl extends ServiceImpl<LocMapper, Loc> implements LocService {
+
+    @Autowired
+    private StaService staService;
 
     @Override
     public Loc selecatByLocNo(String locNo) {
@@ -38,7 +44,7 @@
     }
 
     @Override
-    public void taskCallBack(Task task) {
+    public void taskCallBackOtbin(Task task) {
         if (null == task) {
             return;
         }
@@ -48,9 +54,7 @@
         Date now = new Date();
         // loc status
         Loc oriLoc = null;
-        Loc destLoc = null;
         Sta oriSta = null;
-        Sta destSta = null;
         switch (Objects.requireNonNull(TaskTypeType.get(task.getTaskTypeEl()))) {
             case LOC_TO_LOC:
                 oriLoc = this.getById(task.getOriLoc());
@@ -62,6 +66,64 @@
                     }
                 }
 
+                break;
+            case LOC_TO_STA:
+                oriLoc = this.getById(task.getOriLoc());
+                if (oriLoc.getLocSts().equals(LocStsType.PAKOUT.val())) {
+                    oriLoc.setLocSts(LocStsType.IDLE.val());
+                    oriLoc.setUpdateTime(now);
+                    if (!this.updateById(oriLoc)) {
+                        log.error("Loc [{}] 搴撲綅淇敼鐘舵�佸け璐�", task.getOriLoc$());
+                    }
+                }
+
+                break;
+            case STA_TO_LOC:
+                oriSta = staService.getById(task.getOriSta());
+                if (oriSta.getStaSts().equals(StaStsType.READY_TAKE.val())) {
+                    oriSta.setStaSts(StaStsType.IDLE.val());
+                    oriSta.setUpdateTime(now);
+                    if (!staService.updateById(oriSta)) {
+                        log.error("Sta [{}] 绔欑偣淇敼鐘舵�佸け璐�", task.getOriSta$());
+                    }
+                }
+
+                break;
+            case STA_TO_STA:
+                oriSta = staService.getById(task.getOriSta());
+                if (oriSta.getStaSts().equals(StaStsType.READY_TAKE.val())) {
+                    oriSta.setStaSts(StaStsType.IDLE.val());
+                    oriSta.setUpdateTime(now);
+                    if (!staService.updateById(oriSta)) {
+                        log.error("Sta [{}] 绔欑偣淇敼鐘舵�佸け璐�", task.getOriSta$());
+                    }
+                }
+
+                break;
+            case TO_CHARGE:
+            case TO_STANDBY:
+            case MOVE:
+                break;
+            default:
+                break;
+        }
+
+    }
+
+    @Override
+    public void taskCallBackEnd(Task task) {
+        if (null == task) {
+            return;
+        }
+        if (!task.getTaskSts().equals(TaskStsType.PROGRESS.val())) {
+            return;
+        }
+        Date now = new Date();
+        // loc status
+        Loc destLoc = null;
+        Sta destSta = null;
+        switch (Objects.requireNonNull(TaskTypeType.get(task.getTaskTypeEl()))) {
+            case LOC_TO_LOC:
                 destLoc = this.getById(task.getDestLoc());
                 if (destLoc.getLocSts().equals(LocStsType.PAKIN.val())) {
                     destLoc.setLocSts(LocStsType.STOCK.val());
@@ -72,12 +134,12 @@
                 }
                 break;
             case LOC_TO_STA:
-                oriLoc = this.getById(task.getOriLoc());
-                if (oriLoc.getLocSts().equals(LocStsType.PAKOUT.val())) {
-                    oriLoc.setLocSts(LocStsType.IDLE.val());
-                    oriLoc.setUpdateTime(now);
-                    if (!this.updateById(oriLoc)) {
-                        log.error("Loc [{}] 搴撲綅淇敼鐘舵�佸け璐�", task.getOriLoc$());
+                destSta = staService.getById(task.getDestSta());
+                if (destSta.getStaSts().equals(StaStsType.READY_RELEASE.val())) {
+                    destSta.setStaSts(StaStsType.STOCK.val());
+                    destSta.setUpdateTime(now);
+                    if (!staService.updateById(destSta)) {
+                        log.error("Sta [{}] 绔欑偣淇敼鐘舵�佸け璐�", task.getDestSta$());
                     }
                 }
                 break;
@@ -92,6 +154,14 @@
                 }
                 break;
             case STA_TO_STA:
+                destSta = staService.getById(task.getDestSta());
+                if (destSta.getStaSts().equals(StaStsType.READY_RELEASE.val())) {
+                    destSta.setStaSts(StaStsType.STOCK.val());
+                    destSta.setUpdateTime(now);
+                    if (!staService.updateById(destSta)) {
+                        log.error("Sta [{}] 绔欑偣淇敼鐘舵�佸け璐�", task.getDestSta$());
+                    }
+                }
                 break;
             case TO_CHARGE:
             case TO_STANDBY:

--
Gitblit v1.9.1