From 563029f1f26ef2ed46d2d3b4207cd1924b1cf63a Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期四, 18 六月 2020 14:26:08 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |   61 +++++++++++++++++++-----------
 1 files changed, 38 insertions(+), 23 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 d5ecc9e..b4b5928 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -8,8 +8,10 @@
 import com.zy.asrs.entity.*;
 import com.zy.asrs.entity.param.EmptyPlateOutParam;
 import com.zy.asrs.entity.param.FullStoreParam;
+import com.zy.asrs.entity.param.LocDetlAdjustParam;
 import com.zy.asrs.entity.param.StockOutParam;
 import com.zy.asrs.service.*;
+import com.zy.common.model.LocDetlDto;
 import com.zy.common.model.OutLocDto;
 import com.zy.common.model.StartupDto;
 import com.zy.common.service.CommonService;
@@ -116,19 +118,19 @@
         // 鐩爣绔欑偣鐘舵�佹娴�
         BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite());
         // 鑾峰彇搴撲綅鏄庣粏
-        List<LocDetl> locDetls = new ArrayList<>();
+        List<LocDetlDto> locDetlDtos = new ArrayList<>();
         for (StockOutParam.LocDetl locDetl : param.getLocDetls()) {
-            if (!Cools.isEmpty(locDetl.getLocNo(), locDetl.getMatnr())) {
+            if (!Cools.isEmpty(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getCount())) {
                 LocDetl sqlParam = new LocDetl();
                 sqlParam.setLocNo(locDetl.getLocNo());
                 sqlParam.setMatnr(locDetl.getMatnr());
                 LocDetl one = locDetlService.selectOne(new EntityWrapper<>(sqlParam));
-                if (null != one) locDetls.add(one);
+                if (null != one) locDetlDtos.add(new LocDetlDto(one, locDetl.getCount()));
             }
         }
-        if (!locDetls.isEmpty()) {
+        if (!locDetlDtos.isEmpty()) {
             // 鍚姩鍑哄簱寮�濮�
-            stockOut(staNo, locDetls, userId);
+            stockOut(staNo, locDetlDtos, userId);
         } else {
             throw new CoolException("搴撲綅鐗╂枡涓嶅瓨鍦�");
         }
@@ -136,20 +138,20 @@
 
     @Override
     @Transactional
-    public void stockOut(BasDevp staNo, List<LocDetl> locDetls, Long userId) {
+    public void stockOut(BasDevp staNo, List<LocDetlDto> locDetlDtos, Long userId) {
         // 鐢熸垚宸ヤ綔鍙�
         int workNo = commonService.getWorkNo(DEFAULT_WORK_NO_TYPE);
         // 鍚堝苟鍚岀被椤�
         Set<String> locNos = new HashSet<>();
-        locDetls.forEach(locDetl -> locNos.add(locDetl.getLocNo()));
+        locDetlDtos.forEach(dto -> locNos.add(dto.getLocDetl().getLocNo()));
         List<OutLocDto> dtos = new ArrayList<>();
         for (String locNo : locNos) {
-            List<LocDetl> list = new ArrayList<>();
-            Iterator<LocDetl> iterator = locDetls.iterator();
+            List<LocDetlDto> list = new ArrayList<>();
+            Iterator<LocDetlDto> iterator = locDetlDtos.iterator();
             while (iterator.hasNext()) {
-                LocDetl locDetl = iterator.next();
-                if (locNo.equals(locDetl.getLocNo())) {
-                    list.add(locDetl);
+                LocDetlDto dto = iterator.next();
+                if (locNo.equals(dto.getLocDetl().getLocNo())) {
+                    list.add(dto);
                     iterator.remove();
                 }
             }
@@ -192,19 +194,20 @@
                 throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐ワ紝鍑哄簱搴撲綅鍙凤細"+dto.getLocNo());
             }
             // 鐢熸垚宸ヤ綔妗f槑缁�
-            for (LocDetl locDetl : dto.getLocDetls()) {
+            for (LocDetlDto detlDto : dto.getLocDetlDtos()) {
+                if (detlDto.getCount() <= 0.0D) {continue;}
                 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());
+                wrkDetl.setMatnr(detlDto.getLocDetl().getMatnr());
+                wrkDetl.setAnfme(detlDto.getCount()); // 鏁伴噺
+                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());
                 wrkDetl.setAppeTime(new Date());
                 wrkDetl.setAppeUser(userId);
                 wrkDetl.setModiTime(new Date());
@@ -393,6 +396,13 @@
             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());
             wrkDetl.setAppeTime(new Date());
             wrkDetl.setAppeUser(userId);
             wrkDetl.setModiTime(new Date());
@@ -421,7 +431,7 @@
                 throw new CoolException("鏇存柊鐩爣搴撲綅鐘舵�佸け璐�");
             }
         } else {
-            throw new CoolException("棰勭害鐩爣搴撲綅鍏ュ簱澶辫触锛岀姸鎬侊細"+loc.getLocType$());
+            throw new CoolException("绉昏浆澶辫触锛岀洰鏍囧簱浣嶇姸鎬侊細"+loc.getLocType$());
         }
     }
 
@@ -450,6 +460,11 @@
     }
 
     @Override
+    public void adjustLocDetl(LocDetlAdjustParam param, Long userId) {
+
+    }
+
+    @Override
     @Transactional
     public void cancelWrkMast(String workNo, Long userId) {
         WrkMast wrkMast = wrkMastService.selectById(workNo);

--
Gitblit v1.9.1