From 80b1853f245bf67e0145551c34915610c3438203 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期五, 15 四月 2022 13:58:45 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java |   60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 60 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index e81a47d..0bc78c0 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -16,6 +16,7 @@
 
 import java.util.ArrayList;
 import java.util.Date;
+import java.util.Iterator;
 import java.util.List;
 
 /**
@@ -146,6 +147,7 @@
     }
 
     @Override
+    @Transactional
     public void adjust(MobileAdjustParam param, Long userId) {
         BasDevp basDevp = basDevpService.selectById(param.getStaNo());
         if (null == basDevp || basDevp.getWrkNo() == null) {
@@ -158,9 +160,67 @@
         if (wrkMast.getWrkSts() < 10) {
             throw new CoolException("鐩樼偣鏃犳晥锛屼换鍔″凡鐩樼偣鍐嶅叆搴�");
         }
+        Date now = new Date();
         List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
 
+        List<WrkDetl> list = param.getWrkDetls();
 
+        // 淇敼鏁伴噺
+        Iterator<WrkDetl> iterator = wrkDetls.iterator();
+        while (iterator.hasNext()) {
+            WrkDetl wrkDetl = iterator.next();
+            Iterator<WrkDetl> iterator1 = list.iterator();
+            while (iterator1.hasNext()) {
+                WrkDetl wrkDetl1 = iterator1.next();
+                if (wrkDetl1.getAnfme() == 0) {
+                    iterator1.remove();
+                }
+                if (wrkDetl.getMatnr().equals(wrkDetl1.getMatnr()) && Cools.eq(wrkDetl.getBatch(), wrkDetl1.getBatch())) {
+                    if (!wrkDetl.getAnfme().equals(wrkDetl1.getAnfme())) {
+                        // todo 鐩樼偣璁板綍銆佷繚瀛樿皟鏁磋褰�
+                        // 淇敼鏄庣粏
+                        if (!wrkDetlService.updateAnfme(wrkDetl1.getAnfme(), wrkMast.getWrkNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) {
+                            throw new CoolException(wrkMast.getWrkNo() + "鐩樼偣浠诲姟锛�" + wrkDetl.getMatnr() + "鍟嗗搧锛�" + wrkDetl.getBatch() + "鎵瑰彿淇敼鏁伴噺澶辫触");
+                        }
+                    }
+                    iterator.remove();
+                    iterator1.remove();
+                }
+            }
+        }
+
+        // 鍒犻櫎鏄庣粏
+        for (WrkDetl wrkDetl : wrkDetls) {
+            // todo 鐩樼偣璁板綍銆佷繚瀛樿皟鏁磋褰�
+            if (!wrkDetlService.updateAnfme(-1.0D, wrkMast.getWrkNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) {
+                throw new CoolException("鍒犻櫎" + wrkMast.getWrkNo() + "鐩樼偣浠诲姟锛�" + wrkDetl.getMatnr() + "鍟嗗搧锛�" + wrkDetl.getBatch() + "鎵瑰彿浠诲姟鏄庣粏澶辫触");
+            }
+        }
+
+        // 娣诲姞鏄庣粏
+        for (WrkDetl wrkDetl : list) {
+            if (wrkDetl.getAnfme() == 0.0D) { continue; }
+            // todo 鐩樼偣璁板綍銆佷繚瀛樿皟鏁磋褰�
+            String orderNo = wrkDetl.getOrderNo();
+            Mat mat = matService.selectByMatnr(wrkDetl.getMatnr());
+            wrkDetl.sync(mat);
+            wrkDetl.setOrderNo(orderNo);
+            wrkDetl.setModiTime(now);
+            wrkDetl.setModiUser(userId);
+            wrkDetl.setAppeTime(now);
+            wrkDetl.setAppeUser(userId);
+            if (!wrkDetlService.insert(wrkDetl)) {
+                throw new CoolException("娣诲姞" + wrkMast.getWrkNo() + "鐩樼偣浠诲姟锛�" + wrkDetl.getMatnr() + "鍟嗗搧锛�" + wrkDetl.getBatch() + "鎵瑰彿浠诲姟鏄庣粏澶辫触");
+            }
+        }
+
+        // 淇敼鐩樼偣浠诲姟涓绘。鐘舵��
+        wrkMast.setFullPlt(wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()).size() != 0?"Y":"N");
+        wrkMast.setModiTime(now);
+        wrkMast.setModiUser(userId);
+        if (!wrkMastService.updateById(wrkMast)) {
+            throw new CoolException("淇敼鐩樼偣浠诲姟涓绘。澶辫触");
+        }
 
     }
 

--
Gitblit v1.9.1