From a073250f6f4f8c32888bc60b24ff6984e29af51e Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期四, 01 八月 2024 17:04:01 +0800
Subject: [PATCH] #增加弃车功能

---
 src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java |   36 +++++++++++++++++++++++++++++++-----
 1 files changed, 31 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
index 2f10937..8d1e0dd 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -73,8 +73,7 @@
     鍏ュ簱
      */
     @Transactional
-    @Synchronized
-    public StartupDto createWaitPainWrkMastStart(List<AgvBasDevp> agvBasDevpList, Long userId, boolean isConveyor) {
+    public synchronized StartupDto createWaitPainWrkMastStart(List<AgvBasDevp> agvBasDevpList, Long userId, boolean isConveyor) {
 
         Date now = new Date();
 
@@ -217,9 +216,14 @@
                 //agvWrkDetlService.update(agvWrkDetl,new EntityWrapper<AgvWrkDetl>().eq("wrk_no",agvWrkDetl.getWrkNo()));
                 //淇敼搴撳瓨淇℃伅
                 agvWrkDetlList.forEach(agvWrkDetl -> {
+                    if(agvWrkDetl.getAnfme() <= 0){
+                        return;
+                    }
+
                     AgvLocDetl agvLocDetl = agvLocDetlService.selectByMatnrAndBatchAndCsocodeAndisoCode(agvWrkMast.getLocNo(), agvWrkDetl.getMatnr(), agvWrkDetl.getBatch(), agvWrkDetl.getThreeCode(), agvWrkDetl.getDeadTime());
 
                     //AgvLocDetl agvLocDetl = agvLocDetlService.selectLocdetl(agvWrkMast.getLocNo(),agvWrkDetl.getMatnr(),agvWrkDetl.getBatch(),agvWrkDetl.getThreeCode(),agvWrkDetl.getDeadTime());
+
                     double updateAnfme = agvLocDetl.getAnfme() - agvWrkDetl.getAnfme();
                     agvLocDetlService.updateAnfme(updateAnfme,agvLocDetl.getLocNo(),agvLocDetl.getMatnr(),agvLocDetl.getBatch(),agvLocDetl.getThreeCode(),agvLocDetl.getDeadTime());
                 });
@@ -254,7 +258,7 @@
         taskDtos.forEach(taskDto -> {
 
             //鍒ゆ柇鏄惁鏈夐噸澶嶆枡鎯崇殑宸ヤ綔褰�
-            List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectByContainerCode(taskDto.getLocDtos().get(0).getContainerCode());
+            AgvWrkMast agvWrkMastList = agvWrkMastService.selectByContainerCode(taskDto.getLocDtos().get(0).getContainerCode());
             if(!Cools.isEmpty(agvWrkMastList)){
                 return;
             }
@@ -402,6 +406,7 @@
                         adjDetl.setBatch(locDetl.getBatch());
                         adjDetl.setOriQty(locDetl.getAnfme());
                         adjDetl.setAdjQty(adjust.getCount());
+                        adjDetl.setMemo(locDetl.getSuppCode());
                         adjDetl.setModiTime(now);
                         adjDetl.setModiUser(userId);
                         adjDetl.setAppeTime(now);
@@ -531,11 +536,13 @@
         }
         //鎷f枡鍏ュ簱 鐩樼偣鍏ュ簱涓嶅彲鍙栨秷
         if(wrkMast.getIoType() == 53 || wrkMast.getIoType() == 57){
-            throw new CoolException("褰撳墠浠诲姟涓嶅彲鍙栨秷");
+            if (userId != 9527) {
+                throw new CoolException("褰撳墠浠诲姟涓嶅彲鍙栨秷");
+            }
         }
 
         //鍏ュ簱鍙栨秷
-        if(wrkMast.getIoType() == 1 || wrkMast.getIoType() == 10){
+        if(wrkMast.getIoType() == 1 || wrkMast.getIoType() == 10 || wrkMast.getIoType() == 53 || wrkMast.getIoType() == 57){
             //婧愮珯鐐�
             String devNo = wrkMast.getSourceLocNo();
             //鐩爣搴撲綅
@@ -592,6 +599,25 @@
 
     }
 
+    @Override
+    public void changeToOutWrkMast(String workNo, Long userId) {
+        AgvWrkMast agvWrkMast = agvWrkMastService.selectById(workNo);
+        if (Cools.isEmpty(agvWrkMast)){
+            throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪");
+        }
+        if (agvWrkMast.getIoType() == 1 || agvWrkMast.getIoType() == 53){
+            throw new CoolException(workNo+"鍏ュ簱浠诲姟鏃犳硶杞嚭搴�");
+        }
+
+        agvWrkMast.setIoType(101);
+        agvWrkMast.setWrkSts(206L);
+        agvWrkMast.setModiTime(new Date());
+        agvWrkMast.setModiUser(userId);
+
+        agvWrkMastService.updateById(agvWrkMast);
+
+    }
+
     /*
     鏇存柊鐩爣搴撲綅淇℃伅
      */

--
Gitblit v1.9.1