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