From f94e75b6390118e170ce573dc1fc9780d0176a52 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期二, 29 三月 2022 15:24:57 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 61 +++++++++++++++---------------
1 files changed, 31 insertions(+), 30 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 e218f63..6c21b9f 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -45,11 +45,11 @@
@Autowired
private WrkMastService wrkMastService;
@Autowired
+ private WrkDetlService wrkDetlService;
+ @Autowired
private BasDevpService basDevpService;
@Autowired
private CommonService commonService;
- @Autowired
- private WrkDetlService wrkDetlService;
@Autowired
private LocMastService locMastService;
@Autowired
@@ -68,6 +68,10 @@
private WmsService wmsService;
@Autowired
private SnowflakeIdWorker snowflakeIdWorker;
+ @Autowired
+ private OrderService orderService;
+ @Autowired
+ private OrderDetlService orderDetlService;
@Override
@Transactional
@@ -273,15 +277,8 @@
// 鑾峰彇搴撲綅
LocMast locMast = locMastService.selectById(taskDto.getLocNo());
// 鑾峰彇璺緞
- Integer ioType = taskDto.isAll() ? 101 : 103;
- Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
- .eq("type_no", ioType)
- .eq("stn_no", staNo.getDevNo())
- .eq("crn_no", locMast.getCrnNo());
- StaDesc staDesc = staDescService.selectOne(wrapper);
- if (Cools.isEmpty(staDesc)) {
- throw new CoolException("鍑哄簱璺緞涓嶅瓨鍦�");
- }
+ int ioType = taskDto.isAll() ? 101 : 103;
+ StaDesc staDesc = staDescService.queryCrnStn(ioType, locMast.getCrnNo(), staNo.getDevNo());
// 鐢熸垚宸ヤ綔鍙�
int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType));
// 鐢熸垚宸ヤ綔妗�
@@ -309,14 +306,15 @@
}
// 鐢熸垚宸ヤ綔妗f槑缁�
for (LocDto locDto : taskDto.getLocDtos()) {
- // 鍑哄簱鏃讹紝鏁伴噺涓�0鐨勭洿鎺ュ拷鐣�
- if (detlDto.getCount()==null || detlDto.getCount() <= 0.0D) {continue;}
+ if (locDto.getAnfme()==null || locDto.getAnfme() <= 0.0D) { continue; }
+ OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
WrkDetl wrkDetl = new WrkDetl();
+ wrkDetl.setIoTime(now);
wrkDetl.setWrkNo(workNo);
- wrkDetl.setIoTime(new Date());
- Double anfme = ioType==101?detlDto.getLocDetl().getAnfme():detlDto.getCount();
- wrkDetl.setAnfme(anfme); // 鏁伴噺
- VersionUtils.setWrkDetl(wrkDetl, detlDto.getLocDetl()); // 鐗堟湰鎺у埗
+ wrkDetl.setBatch(locDto.getBatch());
+ wrkDetl.setOrderNo(locDto.getOrderNo());
+ wrkDetl.setAnfme(locDto.getAnfme()); // 鏁伴噺
+ VersionUtils.setWrkDetl(wrkDetl, orderDetl); // 鐗堟湰鎺у埗
wrkDetl.setAppeTime(now);
wrkDetl.setAppeUser(userId);
wrkDetl.setModiTime(now);
@@ -324,6 +322,11 @@
if (!wrkDetlService.insert(wrkDetl)) {
throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
}
+ // 淇敼璁㈠崟鏄庣粏
+ if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), locDto.getAnfme())) {
+ throw new CoolException("淇敼璁㈠崟鏄庣粏鏁伴噺澶辫触");
+ }
+ orderService.updateSettle(orderDetl.getOrderId(), 2L, userId);
}
// 淇敼搴撲綅鐘舵��: F.鍦ㄥ簱 ====>>> R.鍑哄簱棰勭害/P.鎷f枡/鐩樼偣/骞舵澘鍑哄簱涓�
locMast = locMastService.selectById(taskDto.getLocNo());
@@ -453,7 +456,6 @@
throw new CoolException("鏇存柊搴撲綅鐘舵�佸け璐�");
}
}
- // todo 鏇存柊绔欑偣淇℃伅锛堝伐浣滃彿锛�
}
}
@@ -751,18 +753,6 @@
// 鍑哄簱 ===>> F.鍦ㄥ簱
if (wrkMast.getIoType() > 100 && wrkMast.getIoType() != 110) {
locSts = "F";
- // 閿�鍞崟鍏宠仈锛屽垯鐢熸垚鏂扮殑鍑哄簱浠诲姟
- if (wrkMast.getPdcType().equals("Y")) {
- List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", workNo));
- for (WrkDetl wrkDetl : wrkDetls) {
- Double sumAnfme = Optional.ofNullable(locDetlService.getSumAnfme(wrkDetl.getMatnr())).orElse(0.0D);
- if (sumAnfme < wrkDetl.getAnfme()) {
- throw new CoolException("鍙栨秷澶辫触锛佸簱瀛樹笉瓒充互閲嶆柊鐢熸垚鍑哄簱浣滀笟");
- }
- }
- // 鐢熸垚鏂扮殑鍑哄簱浣滀笟
- stockOutRe(wrkMast, wrkDetls);
- }
// 绌烘澘鍑哄簱 ===>> D.绌烘《/绌烘爤鏉�
} else if (wrkMast.getIoType() == 110) {
locSts = "D";
@@ -782,6 +772,17 @@
} else {
throw new CoolException("褰撳墠宸ヤ綔鐘舵�佹棤娉曞彇娑�");
}
+ // 璁㈠崟鍏宠仈
+ List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
+ for (WrkDetl wrkDetl : wrkDetls) {
+ if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
+ if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) {
+ throw new CoolException("璁㈠崟鏁版嵁鍥炴粴澶辫触");
+ }
+ // 鐢熸垚鏂扮殑鍑哄簱浣滀笟
+// stockOutRe(wrkMast, wrkDetls);
+ }
+ }
// 鍙栨秷鎿嶄綔浜哄憳璁板綍
wrkMast.setManuType("鎵嬪姩鍙栨秷");
wrkMast.setModiUser(userId);
--
Gitblit v1.9.1