From 68e7f00ceeb7fd8ebbe832bad56c753fbac45074 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期二, 23 九月 2025 17:00:27 +0800
Subject: [PATCH] AGV任务档修改

---
 src/main/java/com/zy/asrs/service/impl/TaskServiceImpl.java        |   68 +++++++++++++++++++--------------
 src/main/java/com/zy/asrs/service/TaskDetlLogService.java          |    1 
 src/main/java/com/zy/asrs/service/impl/TaskDetlLogServiceImpl.java |   35 +++++++++++++++++
 src/main/webapp/static/js/task/task.js                             |    2 
 4 files changed, 76 insertions(+), 30 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/TaskDetlLogService.java b/src/main/java/com/zy/asrs/service/TaskDetlLogService.java
index cc7b3cd..5bda2b4 100644
--- a/src/main/java/com/zy/asrs/service/TaskDetlLogService.java
+++ b/src/main/java/com/zy/asrs/service/TaskDetlLogService.java
@@ -5,4 +5,5 @@
 
 public interface TaskDetlLogService extends IService<TaskDetlLog> {
 
+    boolean save(Integer wrkNo);
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/TaskDetlLogServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/TaskDetlLogServiceImpl.java
index 3def8a6..5c2334e 100644
--- a/src/main/java/com/zy/asrs/service/impl/TaskDetlLogServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/TaskDetlLogServiceImpl.java
@@ -1,12 +1,47 @@
 package com.zy.asrs.service.impl;
 
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.exception.CoolException;
+import com.zy.asrs.entity.Task;
+import com.zy.asrs.entity.TaskDetl;
+import com.zy.asrs.entity.TaskLog;
 import com.zy.asrs.mapper.TaskDetlLogMapper;
 import com.zy.asrs.entity.TaskDetlLog;
 import com.zy.asrs.service.TaskDetlLogService;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.zy.asrs.service.TaskDetlService;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
 
 @Service("taskDetlLogService")
 public class TaskDetlLogServiceImpl extends ServiceImpl<TaskDetlLogMapper, TaskDetlLog> implements TaskDetlLogService {
 
+    @Autowired
+    private TaskDetlService taskDetlService;
+
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean save(Integer wrkNo) {
+        List<TaskDetl> detls = taskDetlService.selectList(new EntityWrapper<TaskDetl>().eq("wrk_no", wrkNo));
+        if (Objects.isNull(detls) || detls.isEmpty()) {
+            throw new CoolException("鏁版嵁閿欒锛氫换鍔′笉瀛樺湪锛侊紒");
+        }
+        detls.forEach(detl -> {
+            TaskDetlLog detlLog = new TaskDetlLog();
+            BeanUtils.copyProperties(detl, detlLog);
+            detlLog.setId(null);
+            detlLog.setLogId(detl.getId());
+            if (!this.insert(detlLog)) {
+                throw new CoolException("宸ヤ綔妗f槑缁嗗巻鍙蹭繚瀛樺け璐ワ紒锛�");
+            }
+        });
+        return false;
+    }
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/TaskServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/TaskServiceImpl.java
index 154b87d..99c2b31 100644
--- a/src/main/java/com/zy/asrs/service/impl/TaskServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/TaskServiceImpl.java
@@ -7,8 +7,7 @@
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.*;
 import com.zy.asrs.mapper.TaskMapper;
-import com.zy.asrs.service.TaskLogService;
-import com.zy.asrs.service.TaskService;
+import com.zy.asrs.service.*;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.zy.asrs.utils.OrderInAndOutUtil;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -24,6 +23,17 @@
 
     @Autowired
     private TaskLogService taskLogService;
+    @Autowired
+    private LocCacheService locCacheService;
+    @Autowired
+    private WaitPakinService waitPakinService;
+    @Autowired
+    private TaskDetlService taskDetlService;
+    @Autowired
+    private TaskService taskService;
+
+    @Autowired
+    private TaskDetlLogService taskDetlLogService;
 
     @Override
     @Transactional
@@ -78,35 +88,35 @@
             throw new CoolException("淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗eけ璐�");
         }
         // 鑾峰彇鐩爣绔�
-        Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
-                .eq("type_no", wrkMast.getIoType() - 50)
-                .eq("stn_no", wrkMast.getStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯
-                .eq("crn_no", wrkMast.getCrnNo()); // 鍫嗗灈鏈哄彿
-        StaDesc staDesc = staDescService.selectOne(wrapper);
-        if (Cools.isEmpty(staDesc)) {
-            throw new CoolException("鍏ュ簱璺緞涓嶅瓨鍦�");
-        }
+//        Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
+//                .eq("type_no", wrkMast.getIoType() - 50)
+//                .eq("stn_no", wrkMast.getStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯
+//                .eq("crn_no", wrkMast.getCrnNo()); // 鍫嗗灈鏈哄彿
+//        StaDesc staDesc = staDescService.selectOne(wrapper);
+//        if (Cools.isEmpty(staDesc)) {
+//            throw new CoolException("鍏ュ簱璺緞涓嶅瓨鍦�");
+//        }
         Date now = new Date();
         // 鍫嗗灈鏈虹珯鐐�(鐩爣绔�)
-        Integer staNo = staDesc.getCrnStn();
+//        Integer staNo = staDesc.getCrnStn();
         // 鏇存柊宸ヤ綔妗f暟鎹姸鎬�
         wrkMast.setIoType(wrkMast.getIoType() - 50); // 鍏ュ嚭搴撶被鍨�: 103->53,104->54,107->57
         wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵��: 2.璁惧涓婅蛋
         wrkMast.setSourceStaNo(wrkMast.getStaNo()); // 婧愮珯
-        wrkMast.setStaNo(staNo + ""); // 鐩爣绔�
+//        wrkMast.setStaNo(staNo + ""); // 鐩爣绔�
         wrkMast.setLocNo(wrkMast.getSourceLocNo()); // 鐩爣搴撲綅 = 鍑哄簱鏃剁殑婧愬簱浣�
         wrkMast.setSourceLocNo(""); // 婧愬簱浣嶆竻绌�
         wrkMast.setModiTime(now);
         wrkMast.setModiUser(userId);
-        if (!wrkMastService.updateById(wrkMast)) {
+        if (!this.updateById(wrkMast)) {
             throw new CoolException("鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�");
         }
         // 淇敼搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴�
-        LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
+        LocCache locMast = locCacheService.selectOne(new EntityWrapper<LocCache>().eq("loc_no", wrkMast.getLocNo()));
         locMast.setLocSts("Q");
         locMast.setModiTime(now);
         locMast.setModiUser(userId);
-        if (!locMastService.updateById(locMast)) {
+        if (!locCacheService.updateById(locMast)) {
             throw new CoolException("淇敼搴撲綅鐘舵�佸け璐�");
         }
     }
@@ -117,7 +127,7 @@
     @Transactional
     public void cancelWrkMast(String workNo, Long userId) {
         Date now = new Date();
-        WrkMast wrkMast = wrkMastService.selectById(workNo);
+        Task wrkMast = this.selectOne(new EntityWrapper<Task>().eq("wrk_no", workNo));
         if (Cools.isEmpty(wrkMast)) {
             throw new CoolException(workNo + "宸ヤ綔妗d笉瀛樺湪");
         }
@@ -131,14 +141,14 @@
             // 搴撲綅杞Щ
             if (wrkMast.getIoType() == 11) {
                 // 搴撲綅杞Щ锛氭簮搴撲綅
-                LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo());
+                LocCache locMast = locCacheService.selectOne(new EntityWrapper<LocCache>().eq("loc_no", wrkMast.getSourceLocNo()));
                 if (Cools.isEmpty(locMast)) {
                     throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛屾簮搴撲綅涓嶅瓨鍦�:" + wrkMast.getSourceLocNo());
                 }
                 locMast.setLocSts(wrkMast.getFullPlt().equalsIgnoreCase("N") ? "D" : "F");
                 locMast.setModiTime(now);
                 locMast.setModiUser(userId);
-                locMastService.updateById(locMast);
+                locCacheService.updateById(locMast);
             }
             // 鍑哄簱鍙栨秷锛堜慨鏀规簮搴撲綅锛�
         } else if (wrkMast.getWrkSts() > 10 && wrkMast.getWrkSts() != 14) {
@@ -153,14 +163,14 @@
             } else if (wrkMast.getIoType() == 11) {
                 locSts = wrkMast.getFullPlt().equalsIgnoreCase("N") ? "D" : "F";
                 // 搴撲綅杞Щ锛氱洰鏍囧簱浣�
-                LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
+                LocCache locMast = locCacheService.selectOne(new EntityWrapper<LocCache>().eq("loc_no", wrkMast.getLocNo()));
                 if (Cools.isEmpty(locMast)) {
                     throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛岀洰鏍囧簱浣嶄笉瀛樺湪:" + wrkMast.getSourceLocNo());
                 }
                 locMast.setLocSts("O");
                 locMast.setModiTime(now);
                 locMast.setModiUser(userId);
-                locMastService.updateById(locMast);
+                locCacheService.updateById(locMast);
             }
         } else {
             throw new CoolException("褰撳墠宸ヤ綔鐘舵�佹棤娉曞彇娑�");
@@ -184,8 +194,8 @@
 
         //鍙栨秷鍑哄簱宸ヤ綔妗f椂锛屾煡璇㈠崟鎹鐞嗚〃锛屽洖婊氫綔涓氫腑鏁伴噺
         if (wrkMast.getIoType() == 101 || wrkMast.getIoType() == 103) {
-            List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
-            for (WrkDetl wrkDetl : wrkDetls) {
+            List<TaskDetl> wrkDetls = taskDetlService.selectList(new EntityWrapper<TaskDetl>().eq("wrk_no", wrkMast.getWrkNo()));
+            for (TaskDetl wrkDetl : wrkDetls) {
                 if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
 //                    if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) {
 //                        throw new CoolException("璁㈠崟鏁版嵁鍥炴粴澶辫触");
@@ -237,34 +247,34 @@
         wrkMast.setManuType("鎵嬪姩鍙栨秷");
         wrkMast.setModiUser(userId);
         wrkMast.setModiTime(now);
-        if (!wrkMastService.updateById(wrkMast)) {
+        if (!taskService.updateById(wrkMast)) {
             throw new CoolException("鍙栨秷宸ヤ綔妗eけ璐�");
         }
         // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
-        if (!wrkMastLogService.save(wrkMast.getWrkNo())) {
+        if (!taskLogService.save(wrkMast.getWrkNo())) {
             throw new CoolException("淇濆瓨宸ヤ綔鍘嗗彶妗eけ璐�, workNo = " + wrkMast.getWrkNo());
         }
         // 鍒犻櫎宸ヤ綔涓绘。
-        boolean wrkMastRes = wrkMastService.deleteById(wrkMast);
+        boolean wrkMastRes = taskService.deleteById(wrkMast);
 
         if (wrkMast.getIoType() != 10 && wrkMast.getIoType() != 110) {
             // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。
-            if (!wrkDetlLogService.save(wrkMast.getWrkNo())) {
+            if (!taskDetlLogService.save(wrkMast.getWrkNo())) {
 //                throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏鍘嗗彶妗eけ璐�, workNo = " + wrkMast.getWrkNo());
             }
             // 鍒犻櫎宸ヤ綔妗f槑缁�
-            boolean wrkDetlRes = wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", workNo));
+            boolean wrkDetlRes = taskDetlService.delete(new EntityWrapper<TaskDetl>().eq("wrk_no", workNo));
         }
 
         // 淇敼搴撲綅鐘舵��
-        LocMast locMast = locMastService.selectById(locNo);
+        LocCache locMast = locCacheService.selectOne(new EntityWrapper<LocCache>().eq("loc_no", locNo));
         if (Cools.isEmpty(locMast)) {
             throw new CoolException("鍙栨秷宸ヤ綔妗eけ璐ワ紝搴撲綅涓嶅瓨鍦�:" + locNo);
         }
         locMast.setLocSts(locSts);
         locMast.setModiTime(now);
         locMast.setModiUser(userId);
-        boolean locMastRes = locMastService.updateById(locMast);
+        boolean locMastRes = locCacheService.updateById(locMast);
         if (!wrkMastRes || !locMastRes) {
             throw new CoolException("淇濆瓨鏁版嵁澶辫触");
         }
diff --git a/src/main/webapp/static/js/task/task.js b/src/main/webapp/static/js/task/task.js
index f1b3380..6e44333 100644
--- a/src/main/webapp/static/js/task/task.js
+++ b/src/main/webapp/static/js/task/task.js
@@ -157,7 +157,7 @@
             // 瀹屾垚
             case 'complete':
                 layer.confirm('纭瀹屾垚璇ョ瑪宸ヤ綔妗o紵', {title: '宸ヤ綔鍙凤細' + data.wrkNo, shadeClose: true}, function () {
-                    http.post(baseUrl + "/hand/control/wrkMast", {workNo: data.wrkNo, type: 1}, function (res) {
+                    http.post(baseUrl + "/task/control", {workNo: data.wrkNo, type: 1}, function (res) {
                         $(".layui-laypage-btn")[0].click();
                         layer.msg(data.wrkNo + res.msg);
                     })

--
Gitblit v1.9.1