From 9fefa2da59e6affea94eee07b57dcf3e23887b0c Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期三, 30 三月 2022 09:52:18 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 109 +++++++++++++++---------------------------------------
1 files changed, 31 insertions(+), 78 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 55b15fd..60b07d3 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -18,8 +18,6 @@
import com.zy.common.model.*;
import com.zy.common.model.enums.WorkNoType;
import com.zy.common.service.CommonService;
-import com.zy.common.service.wms.Result;
-import com.zy.common.service.wms.WmsService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
@@ -45,11 +43,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
@@ -65,9 +63,11 @@
@Autowired
private WrkDetlLogService wrkDetlLogService;
@Autowired
- private WmsService wmsService;
- @Autowired
private SnowflakeIdWorker snowflakeIdWorker;
+ @Autowired
+ private OrderService orderService;
+ @Autowired
+ private OrderDetlService orderDetlService;
@Override
@Transactional
@@ -273,14 +273,8 @@
// 鑾峰彇搴撲綅
LocMast locMast = locMastService.selectById(taskDto.getLocNo());
// 鑾峰彇璺緞
- 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));
// 鐢熸垚宸ヤ綔妗�
@@ -308,14 +302,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);
@@ -323,6 +318,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());
@@ -452,7 +452,6 @@
throw new CoolException("鏇存柊搴撲綅鐘舵�佸け璐�");
}
}
- // todo 鏇存柊绔欑偣淇℃伅锛堝伐浣滃彿锛�
}
}
@@ -628,36 +627,12 @@
adjDetl.setOriQty(0.0D);
adjDetl.setAdjQty(adjust.getCount());
adjDetlService.save(adjDetl, userId);
- // 涓婃姤erp
- String docNum = "CS-" + String.valueOf(snowflakeIdWorker.nextId()).substring(0, 15);
- Integer docId = 14; // 鎶ユ孩鍗�
- List<BillDto> dtos = new ArrayList<>();
- BillDto billDto = new BillDto();
- billDto.setMatnr(adjust.getMatnr());
- billDto.setQty(Math.abs(adjust.getCount()));
- dtos.add(billDto);
- Result result = wmsService.erpUpload(dtos, docId, docNum);
- if (result.getCode() != 200) {
- throw new CoolException("搴撳瓨璋冩暣澶辫触锛屽師鍥狅細鏃犳硶涓婃姤鑷矱RP");
- }
// 淇敼鍘熷簱瀛樻槑缁�
} else {
// 濡傛灉鏁伴噺淇敼锛屽垯鏇存柊搴撳瓨鏄庣粏
if (!adjust.getCount().equals(one.getAnfme())) {
// 褰撴暟閲忚淇敼涓� 0 鏃讹紝鐩存帴娓呴櫎搴撳瓨鏄庣粏
if (adjust.getCount() == 0) {
- // 涓婃姤erp
- String docNum = "CD-" + String.valueOf(snowflakeIdWorker.nextId()).substring(0, 15);
- Integer docId = 9; // 鎶ユ崯鍗�
- List<BillDto> dtos = new ArrayList<>();
- BillDto billDto = new BillDto();
- billDto.setMatnr(adjust.getMatnr());
- billDto.setQty(Math.abs(one.getAnfme()));
- dtos.add(billDto);
- Result result = wmsService.erpUpload(dtos, docId, docNum);
- if (result.getCode() != 200) {
- throw new CoolException("搴撳瓨璋冩暣澶辫触锛屽師鍥狅細鏃犳硶涓婃姤鑷矱RP");
- }
// 鍒犻櫎搴撳瓨
if (!locDetlService.delete(new EntityWrapper<>(one))) {
throw new CoolException("娓呴櫎搴撳瓨鏄庣粏澶辫触");
@@ -671,27 +646,6 @@
.eq("loc_no", locMast.getLocNo())
.eq("matnr", adjust.getMatnr()))) {
throw new CoolException("淇敼搴撳瓨鏄庣粏澶辫触");
- }
- // 涓婃姤erp
- String docNum;
- Integer docId;
- if (one.getAnfme() > adjust.getCount()) {
- // 鎶ユ崯
- docNum = "CD-" + String.valueOf(snowflakeIdWorker.nextId()).substring(0, 15);
- docId = 9;
- } else {
- // 鎶ユ孩
- docNum = "CS-" + String.valueOf(snowflakeIdWorker.nextId()).substring(0, 15);
- docId = 14;
- }
- List<BillDto> dtos = new ArrayList<>();
- BillDto billDto = new BillDto();
- billDto.setMatnr(adjust.getMatnr());
- billDto.setQty(Math.abs(one.getAnfme() - adjust.getCount()));
- dtos.add(billDto);
- Result result = wmsService.erpUpload(dtos, docId, docNum);
- if (result.getCode() != 200) {
- throw new CoolException("搴撳瓨璋冩暣澶辫触锛屽師鍥狅細鏃犳硶涓婃姤鑷矱RP");
}
}
// 淇濆瓨璋冩暣璁板綍
@@ -750,18 +704,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";
@@ -781,6 +723,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