From 3d57910ed5c971d143b71af4f9bfb4c18dcf6e9d Mon Sep 17 00:00:00 2001
From: 18516761980 <tqsxp@163.com>
Date: 星期一, 06 十二月 2021 15:56:13 +0800
Subject: [PATCH] 1.0.3

---
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |  113 ++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 72 insertions(+), 41 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 b501208..75144c6 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -14,11 +14,13 @@
 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;
@@ -63,12 +65,16 @@
     private WrkMastLogService wrkMastLogService;
     @Autowired
     private WrkDetlLogService wrkDetlLogService;
-
     @Autowired
     private WaitMatchkService waitMatchkService;
+    @Autowired
+    private WaitMatchkLogService waitMatchkLogService;
+    @Autowired
+    private IoCompleteService ioCompleteService;
 
     @Override
     @Transactional
+    //鍏ュ簱
     public String startupFullPutStore(FullStoreParam param, Long userId) {
         // 鍙傛暟闈炵┖鍒ゆ柇
         if (Cools.isEmpty(param.getDevpNo(), param.getList())) {
@@ -80,7 +86,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);
@@ -153,7 +161,7 @@
             }
         }
         if (!locDetlDtos.isEmpty()) {
-            // 鍚姩鍑哄簱寮�濮� 101.鍑哄簱
+            // 鍚姩鍑哄簱寮�濮� 101.103鍑哄簱
             stockOut(staNo, locDetlDtos, null, userId);
         } else {
             throw new CoolException("搴撲綅浜у搧涓嶅瓨鍦�");
@@ -162,6 +170,7 @@
 
     @Override
     @Transactional
+    //鍑哄簱浣滀笟
     public void stockOut(BasDevp staNo, List<LocDetlDto> locDetlDtos, Integer ioType, Long userId) {
 
         // 鍚堝苟鍚岀被椤�
@@ -179,38 +188,6 @@
                 }
             }
             dtos.add(new OutLocDto(locNo, list));
-        }
-        //鐢熸垚鐩樼偣鏂囨。
-        for (LocDetlDto locDetlDto : locDetlDtos) {
-
-            String id="";
-            //鑾峰彇褰撳墠鏃堕棿鎴�
-            SimpleDateFormat sf = new SimpleDateFormat("yyyyMMddHHmmss");
-            String temp = sf.format(new Date());
-            //鑾峰彇6浣嶉殢鏈烘暟
-            int random=(int) ((Math.random()+1)*1000);
-            id=temp+random;
-
-//            String replace = UUID.randomUUID().toString().replace("-", "");
-            LocDetl locDetl = locDetlDto.getLocDetl();
-            //鐢熸垚鐩樼偣妗�
-            WaitMatchk waitMatchk = new WaitMatchk();
-            waitMatchk.setBillNo(id);//璁㈠崟缂栧彿
-            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++;
         }
 
         // 鐢熸垚宸ヤ綔妗�
@@ -232,8 +209,13 @@
                 throw new CoolException("鍑哄簱璺緞涓嶅瓨鍦�");
             }
             // 鐢熸垚宸ヤ綔鍙�
-            int workNo = commonService.getWorkNo(DEFAULT_WORK_NO_TYPE);
-
+            int rok;
+            if(ioType==103||ioType==107){
+                rok=2;
+            }else{
+                rok=1;
+            }
+            int workNo = commonService.getWorkNo(rok);
 
             // 鐢熸垚宸ヤ綔妗�
             WrkMast wrkMast = new WrkMast();
@@ -288,18 +270,63 @@
             } 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++;
+                }
+            }
+
         }
     }
 
     @Override
     @Transactional
+    //绌烘澘鍏ュ簱
     public String emptyPlateIn(Integer devpNo, Long userId) {
         // 婧愮珯鐐圭姸鎬佹娴�
         BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
         // 鐢熸垚宸ヤ綔鍙�
         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);
@@ -350,18 +377,20 @@
 
     @Override
     @Transactional
+    //绌烘澘鍑哄簱
     public void emptyPlateOut(EmptyPlateOutParam param, Long userId) {
         if (Cools.isEmpty(param.getOutSite())) {
             throw new CoolException("绔欑偣涓嶅瓨鍦�");
         }
         for (String locNo : param.getLocNos()) {
             // 鑾峰彇宸ヤ綔鍙�
-            int workNo = commonService.getWorkNo(DEFAULT_WORK_NO_TYPE);
+            int workNo = commonService.getWorkNo(1);
             // 鑾峰彇搴撲綅
             LocMast locMast = locMastService.selectById(locNo);
             if (Cools.isEmpty(locMast)) {
                 throw new CoolException(locNo+"搴撲綅涓嶅瓨鍦�");
             }
+
             // 鑾峰彇婧愮珯
             Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
                     .eq("type_no", 110)
@@ -411,6 +440,7 @@
 
     @Override
     @Transactional
+    //鐩樼偣鍑哄簱
     public void locCheckOut(StockOutParam param, Long userId) {
         // 鐩爣绔欑偣鐘舵�佹娴�
         BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite());
@@ -530,6 +560,7 @@
         } else if (wrkMast.getWrkSts() > 10) {
             wrkMast.setWrkSts(14L);
         }
+
         // 瀹屾垚鎿嶄綔浜哄憳璁板綍
         wrkMast.setManuType("鎵嬪姩瀹屾垚");
         Date now = new Date();
@@ -552,7 +583,7 @@
             throw new CoolException("搴撲綅涓嶅瓨鍦�");
         }
         //鏌ヨ搴撲綅鐘舵��
-        if (locMast.getLocSts().equals("O")){
+        if (locMast.getLocSts().equals("O") || locMast.getLocSts().equals("D")){
             //鏇存柊搴撲綅鐘舵��
             locMast.setLocSts("F");
 //            boolean b = locMastService.updateById(locMast);

--
Gitblit v1.9.1