From ebc766304439d72c69b580eaef83681096e4ee3d Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期四, 18 六月 2020 16:06:56 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/entity/param/LocDetlAdjustParam.java |    6 +++---
 src/main/webapp/static/js/pakStore/stockAdjust.js              |    3 +++
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java    |   49 ++++++++++++++++++++++++++++++++++++++++++-------
 3 files changed, 48 insertions(+), 10 deletions(-)

diff --git a/src/main/java/com/zy/asrs/entity/param/LocDetlAdjustParam.java b/src/main/java/com/zy/asrs/entity/param/LocDetlAdjustParam.java
index 877da71..9483bf4 100644
--- a/src/main/java/com/zy/asrs/entity/param/LocDetlAdjustParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/LocDetlAdjustParam.java
@@ -19,7 +19,7 @@
         private String matNo;
 
         // 鍙樻洿鏁伴噺
-        private Integer count;
+        private Double count;
 
         public String getMatNo() {
             return matNo;
@@ -29,11 +29,11 @@
             this.matNo = matNo;
         }
 
-        public Integer getCount() {
+        public Double getCount() {
             return count;
         }
 
-        public void setCount(Integer count) {
+        public void setCount(Double count) {
             this.count = count;
         }
     }
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 449f603..9185303 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -44,6 +44,8 @@
     private StaDescService staDescService;
     @Autowired
     private LocDetlService locDetlService;
+    @Autowired
+    private MatCodeService matCodeService;
 
     @Override
     @Transactional
@@ -466,16 +468,49 @@
         if (Cools.isEmpty(locMast)) {
             throw new CoolException("搴撲綅涓嶅瓨鍦�");
         }
-        // 娓呴櫎鏃у簱瀛樻槑缁�
-        locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo()));
-        // 淇濆瓨鏂板簱瀛樻槑缁�
         for (LocDetlAdjustParam.LocDetlAdjust adjust : param.getList()) {
-            LocDetl locDetl = new LocDetl();
-            if (!locDetlService.insert(locDetl)) {
-                throw new CoolException("淇濆瓨搴撳瓨鏄庣粏澶辫触");
+            LocDetl sqlParam = new LocDetl();
+            sqlParam.setLocNo(locMast.getLocNo());
+            sqlParam.setMatnr(adjust.getMatNo());
+            LocDetl one = locDetlService.selectOne(new EntityWrapper<>(sqlParam));
+            // 淇濆瓨鏂板簱瀛樻槑缁�
+            if (Cools.isEmpty(one)) {
+                MatCode matCode = matCodeService.selectById(adjust.getMatNo());
+                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.setModiUser(userId); // 鎿嶄綔浜哄憳淇℃伅
+                locDetl.setModiTime(new Date());
+                locDetl.setAppeUser(userId);
+                locDetl.setAppeTime(new Date());
+                if (!locDetlService.insert(locDetl)) {
+                    throw new CoolException("淇濆瓨搴撳瓨鏄庣粏澶辫触");
+                }
+            // 淇敼鍘熷簱瀛樻槑缁�
+            } else {
+                // 濡傛灉鏁伴噺淇敼锛屽垯鏇存柊搴撳瓨鏄庣粏
+                if (!adjust.getCount().equals(one.getAnfme())) {
+                    // 褰撴暟閲忚淇敼涓� 0 鏃讹紝鐩存帴娓呴櫎搴撳瓨鏄庣粏
+                    if (adjust.getCount() == 0) {
+                        if (!locDetlService.delete(new EntityWrapper<>(one))) {
+                            throw new CoolException("娓呴櫎搴撳瓨鏄庣粏澶辫触");
+                        }
+                    } else {
+                        one.setAnfme(adjust.getCount());
+                        one.setModiTime(new Date());
+                        one.setModiUser(userId);
+                        if (!locDetlService.updateById(one)) {
+                            throw new CoolException("淇敼搴撳瓨鏄庣粏澶辫触");
+                        }
+                    }
+                }
             }
-        }
 
+        }
     }
 
     @Override
diff --git a/src/main/webapp/static/js/pakStore/stockAdjust.js b/src/main/webapp/static/js/pakStore/stockAdjust.js
index a25bf8a..cb1e3ce 100644
--- a/src/main/webapp/static/js/pakStore/stockAdjust.js
+++ b/src/main/webapp/static/js/pakStore/stockAdjust.js
@@ -119,6 +119,9 @@
                     anfme: data[i].anfme,
                     matNo: data[i].matnr,
                     matName: data[i].maktx,
+                    barcode: data[i].zpallet,
+                    str1: data[i].altme,
+                    str2: data[i].bname,
                     removeBtn: false
                 })
             }

--
Gitblit v1.9.1