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/service/impl/WorkServiceImpl.java | 49 ++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 42 insertions(+), 7 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 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
--
Gitblit v1.9.1