From f7f3c893514f1408305c1dfb9be64ed95d5f695f Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期五, 17 七月 2020 16:58:27 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |   74 +++++++-----------------------------
 1 files changed, 15 insertions(+), 59 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 449f616..048d893 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -11,6 +11,7 @@
 import com.zy.asrs.entity.param.LocDetlAdjustParam;
 import com.zy.asrs.entity.param.StockOutParam;
 import com.zy.asrs.service.*;
+import com.zy.asrs.utils.VersionUtils;
 import com.zy.common.model.LocDetlDto;
 import com.zy.common.model.OutLocDto;
 import com.zy.common.model.StartupDto;
@@ -52,8 +53,6 @@
     private AdjDetlService adjDetlService;
     @Autowired
     private WrkMastLogService wrkMastLogService;
-    @Autowired
-    private WrkDetlLogService wrkDetlLogService;
 
     @Override
     @Transactional
@@ -141,7 +140,7 @@
         }
         if (!locDetlDtos.isEmpty()) {
             // 鍚姩鍑哄簱寮�濮� 101.鍑哄簱
-            stockOut(staNo, locDetlDtos, 101, userId);
+            stockOut(staNo, locDetlDtos, null, userId);
         } else {
             throw new CoolException("搴撲綅鐗╂枡涓嶅瓨鍦�");
         }
@@ -169,7 +168,9 @@
         // 鐢熸垚宸ヤ綔妗�
         for (OutLocDto dto : dtos) {
             // 鍒ゆ柇鍏ュ嚭搴撶被鍨嬶細101.鍏ㄦ澘鍑哄簱 or 103.鎷f枡鍑哄簱
-            ioType = (dto.isAll() && (ioType==101||ioType==103))?101:103;
+            if (ioType == null) {
+                ioType = dto.isAll() ? 101 : 103;
+            }
             // 鑾峰彇搴撲綅
             LocMast locMast = locMastService.selectById(dto.getLocNo());
             // 鑾峰彇璺緞
@@ -213,16 +214,9 @@
                 WrkDetl wrkDetl = new WrkDetl();
                 wrkDetl.setWrkNo(workNo);
                 wrkDetl.setIoTime(new Date());
-                wrkDetl.setMatnr(detlDto.getLocDetl().getMatnr());
                 Double anfme = ioType==101?detlDto.getCount():detlDto.getLocDetl().getAnfme();
                 wrkDetl.setAnfme(anfme); // 鏁伴噺
-                wrkDetl.setZmatid(detlDto.getLocDetl().getZmatid());
-                wrkDetl.setTbpos(detlDto.getLocDetl().getTbpos());
-                wrkDetl.setTbnum(detlDto.getLocDetl().getTbnum());
-                wrkDetl.setLgnum(detlDto.getLocDetl().getLgnum());
-                wrkDetl.setAltme(detlDto.getLocDetl().getAltme());
-                wrkDetl.setBname(detlDto.getLocDetl().getBname());
-                wrkDetl.setMaktx(detlDto.getLocDetl().getMaktx());
+                VersionUtils.setWrkDetl(wrkDetl, detlDto.getLocDetl()); // 鐗堟湰鎺у埗
                 wrkDetl.setAppeTime(new Date());
                 wrkDetl.setAppeUser(userId);
                 wrkDetl.setModiTime(new Date());
@@ -418,6 +412,7 @@
         wrkMast.setPicking("N"); // 鎷f枡
         wrkMast.setExitMk("N"); // 閫�鍑�
         wrkMast.setEmptyMk(sourceLoc.getLocType().equals("D")?"Y":"N"); // 绌烘澘
+        wrkMast.setBarcode(sourceLoc.getBarcode()); // 鎵樼洏鐮�
         wrkMast.setLinkMis("N");
         wrkMast.setAppeUser(userId);
         wrkMast.setAppeTime(new Date());
@@ -433,15 +428,8 @@
             WrkDetl wrkDetl = new WrkDetl();
             wrkDetl.setWrkNo(workNo);
             wrkDetl.setIoTime(new Date());
-            wrkDetl.setMatnr(locDetl.getMatnr());
             wrkDetl.setAnfme(locDetl.getAnfme());
-            wrkDetl.setZmatid(locDetl.getZmatid());
-            wrkDetl.setTbpos(locDetl.getTbpos());
-            wrkDetl.setTbnum(locDetl.getTbnum());
-            wrkDetl.setLgnum(locDetl.getLgnum());
-            wrkDetl.setAltme(locDetl.getAltme());
-            wrkDetl.setBname(locDetl.getBname());
-            wrkDetl.setMaktx(locDetl.getMaktx());
+            VersionUtils.setWrkDetl(wrkDetl, locDetl); // 鐗堟湰鎺у埗
             wrkDetl.setAppeTime(new Date());
             wrkDetl.setAppeUser(userId);
             wrkDetl.setModiTime(new Date());
@@ -521,17 +509,8 @@
                 MatCode matCode = matCodeService.selectById(adjust.getMatnr());
                 LocDetl locDetl = new LocDetl();
                 locDetl.setLocNo(locMast.getLocNo());
-                locDetl.setMatnr(matCode.getMatNo());
-                locDetl.setMaktx(matCode.getMatName()); // 鐗╂枡鎻忚堪
                 locDetl.setAnfme(adjust.getCount()); // 鏁伴噺
-                locDetl.setAltme(matCode.getStr1()); // 鍗曚綅
-                // todo:luxiaoao
-                locDetl.setLgnum("寰呭畾"); // 浠撳簱鍙�
-                locDetl.setTbnum(0); // 杞偍璇锋眰缂栧彿
-                locDetl.setTbpos(0); // 琛岄」鐩�
-                locDetl.setZmatid("寰呭畾"); // 鐗╂枡鏍囩ID
-                locDetl.setZpallet("寰呭畾"); // 鎵樼洏鏉$爜
-
+                VersionUtils.setLocDetl(locDetl, matCode); // 鐗堟湰鎺у埗
                 locDetl.setModiUser(userId); // 鎿嶄綔浜哄憳淇℃伅
                 locDetl.setModiTime(new Date());
                 locDetl.setAppeUser(userId);
@@ -657,23 +636,17 @@
         if (Cools.isEmpty(wrkMast)){
             throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪");
         }
-        List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
-        String locNo = wrkMast.getSourceLocNo();
-        // 鎷f枡浣滀笟鍒ゆ柇
-        if (wrkMast.getIoType() != 103) {
-            throw new CoolException("鍏ュ嚭搴撶被鍨嬩笉鏄�103.鎷f枡鍑哄簱");
+        // 鍏ュ嚭搴撶被鍨嬪垽鏂�
+        if (wrkMast.getIoType() != 103 && wrkMast.getIoType() != 104 && wrkMast.getIoType() != 107) {
+            throw new CoolException("褰撳墠鍏ュ嚭搴撶被鍨嬫棤娉曡繘琛屾搷浣�");
         }
         // 宸ヤ綔鐘舵�佸垽鏂�
         if (wrkMast.getWrkSts() < 11 || wrkMast.getWrkSts() == 15) {
-            throw new CoolException("褰撳墠宸ヤ綔鐘舵�佷笉鑳芥嫞鏂欏叆搴�");
+            throw new CoolException("褰撳墠宸ヤ綔鐘舵�佹棤娉曡繘琛屾搷浣�");
         }
         // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。
 //        if (!wrkDetlLogService.save(wrkMast.getWrkNo())) {
 //            throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。澶辫触");
-//        }
-        // 鍒犻櫎宸ヤ綔鏄庣粏妗�
-//        if (!wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()))) {
-//            throw new CoolException("鍒犻櫎宸ヤ綔鏄庣粏妗f。鍘嗗彶妗eけ璐�");
 //        }
         // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
         if (!wrkMastLogService.save(wrkMast.getWrkNo())) {
@@ -681,7 +654,7 @@
         }
         // 鑾峰彇鐩爣绔�
         Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
-                .eq("type_no", 53)  // type_no: 53.鎷f枡鍐嶅叆搴�
+                .eq("type_no", wrkMast.getIoType() - 50)
                 .eq("stn_no", wrkMast.getStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯
                 .eq("crn_no", wrkMast.getCrnNo()); // 鍫嗗灈鏈哄彿
         StaDesc staDesc = staDescService.selectOne(wrapper);
@@ -691,7 +664,7 @@
         // 鍫嗗灈鏈虹珯鐐�(鐩爣绔�)
         Integer staNo = staDesc.getCrnStn();
         // 鏇存柊宸ヤ綔妗f暟鎹姸鎬�
-        wrkMast.setIoType(53); // 鍏ュ嚭搴撶被鍨�: 53.鎷f枡鍐嶅叆搴�
+        wrkMast.setIoType(wrkMast.getIoType() - 50); // 鍏ュ嚭搴撶被鍨�: 103->53,104->54,107->57
         wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵��: 2.璁惧涓婅蛋
         wrkMast.setSourceStaNo(wrkMast.getStaNo()); // 婧愮珯
         wrkMast.setStaNo(staNo); // 鐩爣绔�
@@ -702,23 +675,6 @@
         if (!wrkMastService.updateById(wrkMast)) {
             throw new CoolException("鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�");
         }
-//        // 鏇存柊/鍒犻櫎鎷f枡搴撳瓨鏄庣粏
-//        for (WrkDetl wrkDetl : wrkDetls) {
-//            LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", locNo).eq("matnr", wrkDetl.getMatnr()));
-//            // 搴撳瓨鏁伴噺璁$畻
-//            locDetl.setAnfme(locDetl.getAnfme() - wrkDetl.getAnfme());
-//            if (locDetl.getAnfme() > 0) {
-//                locDetl.setModiTime(new Date());
-//                locDetl.setModiUser(userId);
-//                if (!locDetlService.updateById(locDetl)) {
-//                    throw new CoolException("鏇存柊搴撳瓨鏄庣粏澶辫触");
-//                }
-//            } else {
-//                if (!locDetlService.delete(new EntityWrapper<>(locDetl))) {
-//                    throw new CoolException("鍒犻櫎搴撳瓨鏄庣粏澶辫触");
-//                }
-//            }
-//        }
         // 淇敼搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴�
         LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
         locMast.setLocType("Q");

--
Gitblit v1.9.1