From f3d0b8d2219182087dbe9020ef40fe53fa415df1 Mon Sep 17 00:00:00 2001
From: 18516761980 <4761516tqsxp>
Date: 星期二, 31 八月 2021 15:09:43 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |   60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 59 insertions(+), 1 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 a551d93..b501208 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -17,10 +17,14 @@
 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.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;
@@ -30,6 +34,7 @@
  */
 @Service
 public class WorkServiceImpl implements WorkService {
+    static int i =1;
 
     // 宸ヤ綔鍙风敓鎴愯鍒欓粯璁ょ被鍨�
     private static final int DEFAULT_WORK_NO_TYPE = 0;
@@ -58,6 +63,9 @@
     private WrkMastLogService wrkMastLogService;
     @Autowired
     private WrkDetlLogService wrkDetlLogService;
+
+    @Autowired
+    private WaitMatchkService waitMatchkService;
 
     @Override
     @Transactional
@@ -155,6 +163,7 @@
     @Override
     @Transactional
     public void stockOut(BasDevp staNo, List<LocDetlDto> locDetlDtos, Integer ioType, Long userId) {
+
         // 鍚堝苟鍚岀被椤�
         Set<String> locNos = new HashSet<>();
         locDetlDtos.forEach(dto -> locNos.add(dto.getLocDetl().getLocNo()));
@@ -166,13 +175,47 @@
                 LocDetlDto dto = iterator.next();
                 if (locNo.equals(dto.getLocDetl().getLocNo())) {
                     list.add(dto);
-                    iterator.remove();
+//                    iterator.remove();
                 }
             }
             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++;
+        }
+
         // 鐢熸垚宸ヤ綔妗�
         for (OutLocDto dto : dtos) {
+
             // 鍒ゆ柇鍏ュ嚭搴撶被鍨嬶細101.鍏ㄦ澘鍑哄簱 or 103.鎷f枡鍑哄簱
             if (ioType == null) {
                 ioType = dto.isAll() ? 101 : 103;
@@ -190,6 +233,8 @@
             }
             // 鐢熸垚宸ヤ綔鍙�
             int workNo = commonService.getWorkNo(DEFAULT_WORK_NO_TYPE);
+
+
             // 鐢熸垚宸ヤ綔妗�
             WrkMast wrkMast = new WrkMast();
             wrkMast.setWrkNo(workNo);
@@ -500,10 +545,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.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);
@@ -526,6 +583,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