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 | 71 +++++++++++++++++++++++++++++++++++
1 files changed, 71 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 1e4e4fd..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;
/**
@@ -36,6 +37,10 @@
private OrderDetlService orderDetlService;
@Autowired
private BasDevpService basDevpService;
+ @Autowired
+ private WrkMastService wrkMastService;
+ @Autowired
+ private WrkDetlService wrkDetlService;
@Override
@Transactional
@@ -142,6 +147,7 @@
}
@Override
+ @Transactional
public void adjust(MobileAdjustParam param, Long userId) {
BasDevp basDevp = basDevpService.selectById(param.getStaNo());
if (null == basDevp || basDevp.getWrkNo() == null) {
@@ -150,6 +156,71 @@
if (!param.getWrkNo().equals(basDevp.getWrkNo())) {
throw new CoolException(param.getStaNo() + "鐩樼偣绔欐洿鏂帮紝璇烽噸鏂版绱�");
}
+ WrkMast wrkMast = wrkMastService.selectById(param.getWrkNo());
+ 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