From ac68439602c5a4772dbbc4b971fc24b488bb0e86 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期五, 19 六月 2020 12:56:00 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |   33 +++++++++++++++++++++++++++------
 1 files changed, 27 insertions(+), 6 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 72a4744..e69c42a 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -46,6 +46,8 @@
     private LocDetlService locDetlService;
     @Autowired
     private MatCodeService matCodeService;
+    @Autowired
+    private AdjDetlService adjDetlService;
 
     @Override
     @Transactional
@@ -141,8 +143,6 @@
     @Override
     @Transactional
     public void stockOut(BasDevp staNo, List<LocDetlDto> locDetlDtos, Long userId) {
-        // 鐢熸垚宸ヤ綔鍙�
-        int workNo = commonService.getWorkNo(DEFAULT_WORK_NO_TYPE);
         // 鍚堝苟鍚岀被椤�
         Set<String> locNos = new HashSet<>();
         locDetlDtos.forEach(dto -> locNos.add(dto.getLocDetl().getLocNo()));
@@ -172,6 +172,8 @@
             if (Cools.isEmpty(staDesc)) {
                 throw new CoolException("鍑哄簱璺緞涓嶅瓨鍦�");
             }
+            // 鐢熸垚宸ヤ綔鍙�
+            int workNo = commonService.getWorkNo(DEFAULT_WORK_NO_TYPE);
             // 鐢熸垚宸ヤ綔妗�
             WrkMast wrkMast = new WrkMast();
             wrkMast.setWrkNo(workNo);
@@ -469,13 +471,19 @@
             throw new CoolException("搴撲綅涓嶅瓨鍦�");
         }
         for (LocDetlAdjustParam.LocDetlAdjust adjust : param.getList()) {
+            if (Cools.isEmpty(adjust.getMatnr())) {
+                throw new CoolException(BaseRes.PARAM);
+            }
             LocDetl sqlParam = new LocDetl();
             sqlParam.setLocNo(locMast.getLocNo());
-            sqlParam.setMatnr(adjust.getMatNo());
+            sqlParam.setMatnr(adjust.getMatnr());
             LocDetl one = locDetlService.selectOne(new EntityWrapper<>(sqlParam));
             // 淇濆瓨鏂板簱瀛樻槑缁�
             if (Cools.isEmpty(one)) {
-                MatCode matCode = matCodeService.selectById(adjust.getMatNo());
+                if (adjust.getCount() == 0){
+                    continue;
+                }
+                MatCode matCode = matCodeService.selectById(adjust.getMatnr());
                 LocDetl locDetl = new LocDetl();
                 locDetl.setLocNo(locMast.getLocNo());
                 locDetl.setMatnr(matCode.getMatNo());
@@ -496,6 +504,13 @@
                 if (!locDetlService.insert(locDetl)) {
                     throw new CoolException("淇濆瓨搴撳瓨鏄庣粏澶辫触");
                 }
+                // 淇濆瓨璋冩暣璁板綍
+                AdjDetl adjDetl = new AdjDetl();
+                adjDetl.setLocNo(locDetl.getLocNo());
+                adjDetl.setMatNo(locDetl.getMatnr());
+                adjDetl.setOriQty(0.0D);
+                adjDetl.setAdjQty(adjust.getCount());
+                adjDetlService.save(adjDetl, userId);
             // 淇敼鍘熷簱瀛樻槑缁�
             } else {
                 // 濡傛灉鏁伴噺淇敼锛屽垯鏇存柊搴撳瓨鏄庣粏
@@ -512,13 +527,19 @@
                         sqlParam1.setModiUser(userId);
                         if (!locDetlService.update(sqlParam1, new EntityWrapper<LocDetl>()
                                 .eq("loc_no", locMast.getLocNo())
-                                .eq("matnr", adjust.getMatNo()))) {
+                                .eq("matnr", adjust.getMatnr()))) {
                             throw new CoolException("淇敼搴撳瓨鏄庣粏澶辫触");
                         }
                     }
+                    // 淇濆瓨璋冩暣璁板綍
+                    AdjDetl adjDetl = new AdjDetl();
+                    adjDetl.setLocNo(locMast.getLocNo());
+                    adjDetl.setMatNo(adjust.getMatnr());
+                    adjDetl.setOriQty(one.getAnfme());
+                    adjDetl.setAdjQty(adjust.getCount());
+                    adjDetlService.save(adjDetl, userId);
                 }
             }
-
         }
     }
 

--
Gitblit v1.9.1