From 37960b9097bbde94e188e1275bde0201e8b26860 Mon Sep 17 00:00:00 2001
From: wang..123 <brook_w@163.com>
Date: 星期二, 23 十一月 2021 08:49:45 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |  100 +++++++++++++++++++++++++++++++++++--------------
 1 files changed, 71 insertions(+), 29 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index 5438dd4..c1518be 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -14,16 +14,19 @@
 import com.zy.asrs.service.*;
 import com.zy.asrs.utils.VersionUtils;
 import com.zy.common.model.LocDetlDto;
+import com.zy.common.model.LocTypeDto;
 import com.zy.common.model.OutLocDto;
 import com.zy.common.model.StartupDto;
 import com.zy.common.service.CommonService;
 import com.zy.ints.entity.WaitMatchk;
-import com.zy.ints.entity.WaitMatout;
+import com.zy.ints.service.IoCompleteService;
+import com.zy.ints.service.WaitMatchkLogService;
 import com.zy.ints.service.WaitMatchkService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
@@ -62,9 +65,12 @@
     private WrkMastLogService wrkMastLogService;
     @Autowired
     private WrkDetlLogService wrkDetlLogService;
-
     @Autowired
     private WaitMatchkService waitMatchkService;
+    @Autowired
+    private WaitMatchkLogService waitMatchkLogService;
+    @Autowired
+    private IoCompleteService ioCompleteService;
 
     @Override
     @Transactional
@@ -79,7 +85,9 @@
         int workNo = commonService.getWorkNo(DEFAULT_WORK_NO_TYPE);
         // 妫�绱㈠簱浣�
         List<String> matNos = param.getList().stream().map(FullStoreParam.MatCodeStore::getMatNo).distinct().collect(Collectors.toList());
-        StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 1, param.getDevpNo(), matNos, 0);
+        LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
+        locTypeDto.setLocType1((short) 1);
+        StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 1, param.getDevpNo(),false, matNos,locTypeDto, 0);
         // 鐢熸垚宸ヤ綔妗�
         WrkMast wrkMast = new WrkMast();
         wrkMast.setWrkNo(workNo);
@@ -152,7 +160,7 @@
             }
         }
         if (!locDetlDtos.isEmpty()) {
-            // 鍚姩鍑哄簱寮�濮� 101.鍑哄簱
+            // 鍚姩鍑哄簱寮�濮� 101.103鍑哄簱
             stockOut(staNo, locDetlDtos, null, userId);
         } else {
             throw new CoolException("搴撲綅浜у搧涓嶅瓨鍦�");
@@ -179,29 +187,6 @@
             }
             dtos.add(new OutLocDto(locNo, list));
         }
-        //鐢熸垚鐩樼偣鏂囨。
-        for (LocDetlDto locDetlDto : locDetlDtos) {
-            String replace = UUID.randomUUID().toString().replace("-", "");
-            LocDetl locDetl = locDetlDto.getLocDetl();
-            //鐢熸垚鐩樼偣妗�
-            WaitMatchk waitMatchk = new WaitMatchk();
-            waitMatchk.setBillNo(replace);//璁㈠崟缂栧彿
-            waitMatchk.setLocNo(locDetl.getLocNo());//搴撲綅鍙�
-            waitMatchk.setStockQty(locDetl.getQty());
-            waitMatchk.setMatNo(locDetl.getMatNo());//浜у搧缂栧彿
-            waitMatchk.setMatName(locDetl.getMatName());//閾插钩鍚嶇О
-            waitMatchk.setSeqNo(i);
-            waitMatchk.setIoTime(new Date());
-            waitMatchk.setZpallet(locDetl.getZpallet());
-            waitMatchk.setAppeUser(userId); // 鎿嶄綔浜哄憳鏁版嵁
-            waitMatchk.setAppeTime(new Date());
-            waitMatchk.setModiUser(userId);
-            waitMatchk.setModiTime(new Date());
-            if (!waitMatchkService.insert(waitMatchk)){
-                throw new CoolException("淇濆瓨鐩樼偣妗eけ璐�");
-            }
-            i++;
-        }
 
         // 鐢熸垚宸ヤ綔妗�
         for (OutLocDto dto : dtos) {
@@ -223,7 +208,6 @@
             }
             // 鐢熸垚宸ヤ綔鍙�
             int workNo = commonService.getWorkNo(DEFAULT_WORK_NO_TYPE);
-
 
             // 鐢熸垚宸ヤ綔妗�
             WrkMast wrkMast = new WrkMast();
@@ -278,6 +262,48 @@
             } else {
                 throw new CoolException(dto.getLocNo() + "搴撲綅涓嶆槸鍦ㄥ簱鐘舵��");
             }
+
+            if(ioType == 107) {
+                //鑾峰彇褰撳墠鏃堕棿鎴�
+                SimpleDateFormat sf = new SimpleDateFormat("yyyyMMddHHmmss");
+                String temp = sf.format(new Date());
+                //鑾峰彇3浣嶉殢鏈烘暟
+                Random rand = new Random();
+                Integer r = rand.nextInt(900) + 100;
+                String billNo = temp + r;
+                //鐢熸垚鐩樼偣閫氱煡妗�
+                for (LocDetlDto locDetlDto : locDetlDtos) {
+//            String replace = UUID.randomUUID().toString().replace("-", "");
+                    LocDetl locDetl = locDetlDto.getLocDetl();
+
+                    //////鎻掑叆鐩樼偣妗e墠锛屽皢閫氱煡妗d箣鍓嶇浉鍚屽簱浣嶆暟鎹浆鍘嗗彶妗�
+                    List<WaitMatchk> waitMatchks = waitMatchkService.selectList(new EntityWrapper<WaitMatchk>().eq("loc_no",locDetl.getLocNo()));
+                    for(WaitMatchk one : waitMatchks){
+                        waitMatchkLogService.save(one.getBillNo(),one.getLocNo(),one.getMatNo());
+                        waitMatchkService.delete(new EntityWrapper<WaitMatchk>().eq("bill_no",one.getBillNo()).eq("loc_no",one.getLocNo()).eq("mat_no",one.getMatNo()));
+                    }
+
+                    //鐢熸垚鐩樼偣妗�
+                    WaitMatchk waitMatchk = new WaitMatchk();
+                    waitMatchk.setBillNo(billNo);//璁㈠崟缂栧彿
+                    waitMatchk.setLocNo(locDetl.getLocNo());//搴撲綅鍙�
+                    waitMatchk.setStockQty(locDetl.getQty());
+                    waitMatchk.setMatNo(locDetl.getMatNo());//浜у搧缂栧彿
+                    waitMatchk.setMatName(locDetl.getMatName());//閾插钩鍚嶇О
+                    waitMatchk.setSeqNo(i);
+//                waitMatchk.setIoTime(new Date());
+                    waitMatchk.setZpallet(locDetl.getZpallet());
+                    waitMatchk.setAppeUser(userId); // 鎿嶄綔浜哄憳鏁版嵁
+                    waitMatchk.setAppeTime(new Date());
+                    waitMatchk.setModiUser(userId);
+                    waitMatchk.setModiTime(new Date());
+                    if (!waitMatchkService.insert(waitMatchk)) {
+                        throw new CoolException("淇濆瓨鐩樼偣妗eけ璐�");
+                    }
+                    i++;
+                }
+            }
+
         }
     }
 
@@ -289,7 +315,9 @@
         // 鐢熸垚宸ヤ綔鍙�
         int workNo = commonService.getWorkNo(DEFAULT_WORK_NO_TYPE);
         // 妫�绱㈠簱浣�
-        StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 10, devpNo, null, 0);
+        LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
+        locTypeDto.setLocType1((short) 1);
+        StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 10, devpNo, true,null,locTypeDto, 0);
         // 鐢熸垚宸ヤ綔妗�
         WrkMast wrkMast = new WrkMast();
         wrkMast.setWrkNo(workNo);
@@ -520,6 +548,7 @@
         } else if (wrkMast.getWrkSts() > 10) {
             wrkMast.setWrkSts(14L);
         }
+
         // 瀹屾垚鎿嶄綔浜哄憳璁板綍
         wrkMast.setManuType("鎵嬪姩瀹屾垚");
         Date now = new Date();
@@ -535,10 +564,22 @@
     @Override
     @Transactional
     public void adjustLocDetl(LocDetlAdjustParam param, Long userId) {
+        //鏍规嵁搴撲綅鍙锋壘瀵诲簱浣�
         LocMast locMast = locMastService.selectById(param.getLocNo());
+        //鍒ゆ柇
         if (Cools.isEmpty(locMast)) {
             throw new CoolException("搴撲綅涓嶅瓨鍦�");
         }
+        //鏌ヨ搴撲綅鐘舵��
+        if (locMast.getLocSts().equals("O") || locMast.getLocSts().equals("D")){
+            //鏇存柊搴撲綅鐘舵��
+            locMast.setLocSts("F");
+//            boolean b = locMastService.updateById(locMast);
+            if (!locMastService.updateById(locMast)){
+                throw new CoolException("鏇存柊搴撲綅鐘舵�佸け璐�");
+            }
+        }
+
         for (LocDetlAdjustParam.LocDetlAdjust adjust : param.getList()) {
             if (Cools.isEmpty(adjust.getMatNo())) {
                 throw new CoolException(BaseRes.PARAM);
@@ -561,6 +602,7 @@
                 locDetl.setModiTime(new Date());
                 locDetl.setAppeUser(userId);
                 locDetl.setAppeTime(new Date());
+                locDetl.setZpallet(param.getZpallet());//鎵樼洏鍙�
                 if (!locDetlService.insert(locDetl)) {
                     throw new CoolException("淇濆瓨搴撳瓨鏄庣粏澶辫触");
                 }

--
Gitblit v1.9.1