From 7c69a5f7246ae92bf07884258abd64c9635e1bea Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期日, 27 四月 2025 14:51:49 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/TaskLogScheduler.java |  124 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 123 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/TaskLogScheduler.java b/src/main/java/com/zy/asrs/task/TaskLogScheduler.java
index dc30951..9f0112d 100644
--- a/src/main/java/com/zy/asrs/task/TaskLogScheduler.java
+++ b/src/main/java/com/zy/asrs/task/TaskLogScheduler.java
@@ -1,6 +1,8 @@
 package com.zy.asrs.task;
 
 import com.alibaba.fastjson.JSON;
+import com.core.common.Cools;
+import com.core.common.R;
 import com.core.exception.CoolException;
 import com.zy.asrs.domain.dto.NotifyCustomDataDto;
 import com.zy.asrs.domain.enums.NotifyMsgType;
@@ -16,6 +18,7 @@
 import org.springframework.stereotype.Component;
 
 import java.io.IOException;
+import java.util.Date;
 import java.util.HashMap;
 
 /**
@@ -42,6 +45,8 @@
     private String taskStatusFeedbackPath;
     @Autowired
     private NotifyUtils notifyUtils;
+    @Autowired
+    private LocMastService locMastService;
 
     @Scheduled(cron = "0/3 * * * * ? ")
     public void execute() throws IOException {
@@ -50,12 +55,129 @@
             headParam.put("TaskNo", taskWrk.getTaskNo());
 
             NotifyMsgType notifyMsgType = null;
-            if (taskWrk.getStatus().equals(TaskStatusType.OVER.id) || taskWrk.getStatus() == 7) {//瀹屾垚
+            if (taskWrk.getStatus().equals(TaskStatusType.OVER.id) || taskWrk.getStatus().equals(TaskStatusType.MANUAL_OVER.id)) {//瀹屾垚
                 headParam.put("Result", 1);//瀹屾垚
                 notifyMsgType = NotifyMsgType.TASK_COMPLETE;
+
+                if (taskWrk.getIoType() == 1) {//鍏ュ簱浠诲姟瀹屾垚搴撲綅涓篎
+                    LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint());
+                    if (locMast == null) {
+                        throw new CoolException("娌℃湁鎵惧埌璇ュ簱浣�" + taskWrk.getTargetPoint());
+                    }
+
+                    if (!locMast.getLocSts().equals("S")) {
+                        throw new CoolException(taskWrk.getTaskNo() + "搴撲綅涓嶅浜嶴.鍏ュ簱棰勭害");
+                    }
+
+                    locMast.setLocSts("F");
+                    locMast.setModiTime(new Date());
+                    locMast.setBarcode(taskWrk.getBarcode());
+                    locMastService.updateById(locMast);
+                } else if (taskWrk.getIoType() == 2) {//鍑哄簱浠诲姟瀹屾垚搴撲綅涓篛
+                    LocMast locMast = locMastService.selectByLocNo(taskWrk.getStartPoint());
+                    if (locMast == null) {
+                        throw new CoolException("娌℃湁鎵惧埌璇ュ簱浣�" + taskWrk.getStartPoint());
+                    }
+
+                    if (!locMast.getLocSts().equals("R")) {
+                        throw new CoolException(taskWrk.getTaskNo() + "搴撲綅涓嶅浜嶳.鍑哄簱棰勭害");
+                    }
+
+                    locMast.setLocSts("O");
+                    locMast.setModiTime(new Date());
+                    locMast.setBarcode("");
+                    locMastService.updateById(locMast);
+                } else if (taskWrk.getIoType() == 3) {//绉诲簱
+                    LocMast locMast = locMastService.selectByLocNo(taskWrk.getStartPoint());
+                    if (locMast == null) {
+                        throw new CoolException("娌℃湁鎵惧埌璇ュ簱浣�" + taskWrk.getStartPoint());
+                    }
+
+                    if (!locMast.getLocSts().equals("R")) {
+                        throw new CoolException(taskWrk.getTaskNo() + "搴撲綅涓嶅浜嶳.鍑哄簱棰勭害");
+                    }
+
+                    LocMast locMastTarget = locMastService.selectByLocNo(taskWrk.getTargetPoint());
+                    if (locMastTarget == null) {
+                        throw new CoolException("娌℃湁鎵惧埌璇ュ簱浣�" + taskWrk.getTargetPoint());
+                    }
+
+                    if (!locMastTarget.getLocSts().equals("S")) {
+                        throw new CoolException(taskWrk.getTaskNo() + "搴撲綅涓嶅浜嶴.鍏ュ簱棰勭害");
+                    }
+
+                    locMastTarget.setLocSts("F");
+                    locMastTarget.setModiTime(new Date());
+                    locMastTarget.setBarcode(taskWrk.getBarcode());
+                    locMastService.updateById(locMastTarget);
+
+                    locMast.setLocSts("O");
+                    locMast.setModiTime(new Date());
+                    locMast.setBarcode("");
+                    locMastService.updateById(locMast);
+                }
+
             } else if (taskWrk.getStatus().equals(TaskStatusType.CANCEL.id)) {
                 headParam.put("Result", 2);//鍙栨秷
                 notifyMsgType = NotifyMsgType.TASK_CANCEL;
+
+                if (taskWrk.getIoType() == 1) {//鍏ュ簱浠诲姟
+                    LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint());
+                    if (locMast == null) {
+                        throw new CoolException("娌℃湁鎵惧埌璇ュ簱浣�" + taskWrk.getTargetPoint());
+                    }
+
+                    if (!locMast.getLocSts().equals("S")) {
+                        throw new CoolException(taskWrk.getTaskNo() + "搴撲綅涓嶅浜嶴.鍏ュ簱棰勭害");
+                    }
+
+                    locMast.setLocSts("O");
+                    locMast.setModiTime(new Date());
+                    locMast.setBarcode("");
+                    locMastService.updateById(locMast);
+                } else if (taskWrk.getIoType() == 2) {//鍑哄簱浠诲姟
+                    LocMast locMast = locMastService.selectByLocNo(taskWrk.getStartPoint());
+                    if (locMast == null) {
+                        throw new CoolException("娌℃湁鎵惧埌璇ュ簱浣�" + taskWrk.getStartPoint());
+                    }
+
+                    if (!locMast.getLocSts().equals("R")) {
+                        throw new CoolException(taskWrk.getTaskNo() + "搴撲綅涓嶅浜嶳.鍑哄簱棰勭害");
+                    }
+
+                    locMast.setLocSts("F");
+                    locMast.setModiTime(new Date());
+                    locMast.setBarcode(taskWrk.getBarcode());
+                    locMastService.updateById(locMast);
+                } else if (taskWrk.getIoType() == 3) {//绉诲簱
+                    LocMast locMast = locMastService.selectByLocNo(taskWrk.getStartPoint());
+                    if (locMast == null) {
+                        throw new CoolException("娌℃湁鎵惧埌璇ュ簱浣�" + taskWrk.getStartPoint());
+                    }
+
+                    if (!locMast.getLocSts().equals("R")) {
+                        throw new CoolException(taskWrk.getTaskNo() + "搴撲綅涓嶅浜嶳.鍑哄簱棰勭害");
+                    }
+
+                    LocMast locMastTarget = locMastService.selectByLocNo(taskWrk.getTargetPoint());
+                    if (locMastTarget == null) {
+                        throw new CoolException("娌℃湁鎵惧埌璇ュ簱浣�" + taskWrk.getTargetPoint());
+                    }
+
+                    if (!locMastTarget.getLocSts().equals("S")) {
+                        throw new CoolException(taskWrk.getTaskNo() + "搴撲綅涓嶅浜嶴.鍏ュ簱棰勭害");
+                    }
+
+                    locMastTarget.setLocSts("O");
+                    locMastTarget.setModiTime(new Date());
+                    locMastTarget.setBarcode("");
+                    locMastService.updateById(locMastTarget);
+
+                    locMast.setLocSts("F");
+                    locMast.setModiTime(new Date());
+                    locMast.setBarcode(taskWrk.getBarcode());
+                    locMastService.updateById(locMast);
+                }
             }
 
             NotifyCustomDataDto customDataDto = new NotifyCustomDataDto();

--
Gitblit v1.9.1