From 68de8850d0c2fb4e5efef77ad92275ff05686708 Mon Sep 17 00:00:00 2001
From: zhangchao <zc857179121@qq.com>
Date: 星期六, 02 十一月 2024 11:03:12 +0800
Subject: [PATCH] Merge branch 'phyzwms2' into phyzasrs-erp
---
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 86 ++++++++++++++++++++++++++++++------------
1 files changed, 61 insertions(+), 25 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 0e4e957..64fc99d 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -84,6 +84,10 @@
private DocTypeService docTypeService;
@Autowired
private AgvWaitPakinService agvWaitPakinService;
+ @Autowired
+ private AgvLocDetlService agvLocDetlService;
+ @Autowired
+ private FlowLogService flowLogService;
@Override
@Transactional
@@ -114,13 +118,13 @@
wrkMast.setSourceStaNo(dto.getSourceStaNo());
wrkMast.setStaNo(dto.getStaNo());
wrkMast.setLocNo(dto.getLocNo());
- wrkMast.setBarcode(param.getBarcode()); // 鎵樼洏鐮�
+ wrkMast.setBarcode(param.getBarcode()); // 璐ф灦鐮�
wrkMast.setFullPlt("Y"); // 婊℃澘锛歒
wrkMast.setPicking("N"); // 鎷f枡
wrkMast.setExitMk("N"); // 閫�鍑�
wrkMast.setEmptyMk("N"); // 绌烘澘
wrkMast.setLinkMis("N");
- wrkMast.setCtnType(sourceStaNo.getCtnType()); // 瀹瑰櫒绫诲瀷
+ wrkMast.setCtnType(sourceStaNo.getCtnType()); // 璐ф灦绫诲瀷
wrkMast.setAppeUser(userId);
wrkMast.setAppeTime(now);
wrkMast.setModiUser(userId);
@@ -500,6 +504,7 @@
wrkMast.setCrnNo(outMost?outCrnNo:locMast.getCrnNo());
wrkMast.setSourceStaNo(sourceStaNo); // 婧愮珯
wrkMast.setStaNo(stnNo); // 鐩爣绔�
+ wrkMast.setPltType(locMast.getPltType());
if(ioType == 101 && taskDto.getStaNo()>=300){
wrkMast.setSourceStaNo(346); // 婧愮珯
wrkMast.setStaNo(346); // 鐩爣绔�
@@ -527,26 +532,53 @@
}
Mat mat = matService.selectByMatnr(locDto.getMatnr());
assert mat != null;
- WrkDetl wrkDetl = new WrkDetl();
- wrkDetl.sync(mat);
- wrkDetl.setZpallet(wrkMast.getBarcode());
- wrkDetl.setIoTime(now);
- wrkDetl.setWrkNo(workNo);
- wrkDetl.setBatch(locDto.getBatch());
- wrkDetl.setOrderNo(locDto.getOrderNo());
- wrkDetl.setAnfme(locDto.getAnfme()); // 鏁伴噺
- wrkDetl.setAppeTime(now);
- wrkDetl.setAppeUser(userId);
- wrkDetl.setModiTime(now);
- wrkDetl.setModiUser(userId);
- wrkDetl.setSuppCode(locDto.getContainerCode());
- wrkDetl.setThreeCode(locDto.getCsocode());
- wrkDetl.setDeadTime(locDto.getIsoseq());
- if (!wrkDetlService.insert(wrkDetl)) {
- throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
+
+ if (!BaseController.isJSON(locDto.getOrderNo())) {
+ WrkDetl wrkDetl = new WrkDetl();
+ wrkDetl.sync(mat);
+ wrkDetl.setZpallet(wrkMast.getBarcode());
+ wrkDetl.setIoTime(now);
+ wrkDetl.setWrkNo(workNo);
+ wrkDetl.setBatch(locDto.getBatch());
+ wrkDetl.setOrderNo(locDto.getOrderNo());
+ wrkDetl.setAnfme(locDto.getAnfme()); // 鏁伴噺
+ wrkDetl.setAppeTime(now);
+ wrkDetl.setAppeUser(userId);
+ wrkDetl.setModiTime(now);
+ wrkDetl.setModiUser(userId);
+ wrkDetl.setSuppCode(locDto.getContainerCode());
+ wrkDetl.setThreeCode(locDto.getCsocode());
+ wrkDetl.setDeadTime(locDto.getIsoseq());
+ if (!wrkDetlService.insert(wrkDetl)) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
+ }
+ //琛ヨ揣鍗曞垯鐢熸垚AGV鍏ュ簱閫氱煡妗�
+ generateAgvWaitpakin(wrkDetl);
+ }else {
+ List<OrderDto> orderDtoList = JSON.parseArray(locDto.getOrderNo(), OrderDto.class);
+ orderDtoList.forEach(orderDto -> {
+ WrkDetl wrkDetl = new WrkDetl();
+ wrkDetl.sync(mat);
+ wrkDetl.setZpallet(wrkMast.getBarcode());
+ wrkDetl.setIoTime(now);
+ wrkDetl.setWrkNo(workNo);
+ wrkDetl.setBatch(locDto.getBatch());
+ wrkDetl.setOrderNo(orderDto.getOrderNo());
+ wrkDetl.setAnfme(orderDto.getAnfme()); // 鏁伴噺
+ wrkDetl.setAppeTime(now);
+ wrkDetl.setAppeUser(userId);
+ wrkDetl.setModiTime(now);
+ wrkDetl.setModiUser(userId);
+ wrkDetl.setSuppCode(locDto.getContainerCode());
+ wrkDetl.setThreeCode(locDto.getCsocode());
+ wrkDetl.setDeadTime(locDto.getIsoseq());
+ if (!wrkDetlService.insert(wrkDetl)) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
+ }
+ //琛ヨ揣鍗曞垯鐢熸垚AGV鍏ュ簱閫氱煡妗�
+ generateAgvWaitpakin(wrkDetl);
+ });
}
- //琛ヨ揣鍗曞垯鐢熸垚AGV鍏ュ簱閫氱煡妗�
- generateAgvWaitpakin(wrkDetl);
// 淇敼璁㈠崟鏄庣粏
if (!BaseController.isJSON(locDto.getOrderNo())) {
@@ -573,8 +605,9 @@
orderDetl = orderDetlService.selectItem(orderDto.getOrderNo(), locDto.getMatnr(), null,locDto.getCsocode(),locDto.getIsoseq());
}
- if(locAnfme > orderDetl.getAnfme()){
- orderAnfme = orderDetl.getAnfme();
+ orderAnfme = orderDetl.getAnfme() - orderDetl.getQty();
+
+ if(locAnfme > orderAnfme){
locAnfme -= orderAnfme;
}else {
orderAnfme = locAnfme;
@@ -628,7 +661,7 @@
wrkMast.setExitMk("N"); // 閫�鍑�
wrkMast.setEmptyMk("Y"); // 绌烘澘
wrkMast.setLinkMis("N");
- wrkMast.setCtnType(sourceStaNo.getCtnType()); // 瀹瑰櫒绫诲瀷
+ wrkMast.setCtnType(sourceStaNo.getCtnType()); // 璐ф灦绫诲瀷
// 鎿嶄綔浜哄憳鏁版嵁
wrkMast.setAppeUser(userId);
wrkMast.setAppeTime(new Date());
@@ -815,7 +848,7 @@
wrkMast.setPicking("N"); // 鎷f枡
wrkMast.setExitMk("N"); // 閫�鍑�
wrkMast.setEmptyMk(sourceLoc.getLocSts().equals("D")?"Y":"N"); // 绌烘澘
- wrkMast.setBarcode(sourceLoc.getBarcode()); // 鎵樼洏鐮�
+ wrkMast.setBarcode(sourceLoc.getBarcode()); // 璐ф灦鐮�
wrkMast.setLinkMis("N");
wrkMast.setAppeUser(userId);
wrkMast.setAppeTime(now);
@@ -1091,10 +1124,12 @@
throw new CoolException("褰撳墠宸ヤ綔鐘舵�佹棤娉曞彇娑�");
}
// 璁㈠崟鍏宠仈
+ long flowId = snowflakeIdWorker.nextId();
List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
for (WrkDetl wrkDetl : wrkDetls) {
if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
if (!BaseController.isJSON(wrkDetl.getOrderNo())) {
+
if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme(),wrkDetl.getThreeCode(),wrkDetl.getDeadTime())) {
throw new CoolException("璁㈠崟鏁版嵁鍥炴粴澶辫触");
}
@@ -1122,6 +1157,7 @@
}
}
}
+
}
// 鍙栨秷鎿嶄綔浜哄憳璁板綍
wrkMast.setManuType("鎵嬪姩鍙栨秷");
--
Gitblit v1.9.1