From fe8ccfb561140711d2c89542f65002cd577a1cef Mon Sep 17 00:00:00 2001
From: 野心家 <1051256694@qq.com>
Date: 星期一, 30 十月 2023 19:09:14 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 69 ++++++++++++++++++++++++++--------
1 files changed, 53 insertions(+), 16 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 066d20a..4369907 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -23,6 +23,7 @@
import com.zy.common.web.BaseController;
import com.zy.common.web.WcsController;
import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -77,6 +78,10 @@
private RowLastnoService rowLastnoService;
@Autowired
private SlaveProperties slaveProperties;
+ @Autowired
+ private DocTypeService docTypeService;
+ @Autowired
+ private AgvWaitPakinService agvWaitPakinService;
@Override
@Transactional
@@ -124,8 +129,7 @@
// 鐢熸垚宸ヤ綔妗f槑缁�
List<DetlDto> detlDtos = new ArrayList<>();
param.getList().forEach(elem -> {
- DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme(), elem.getCsocode(), elem.getIsoseq());
- detlDto.setContainerCode(elem.getContainerCode());
+ DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme(), elem.getCsocode(), elem.getIsoseq(),elem.getContainerCode());
if (DetlDto.has(detlDtos, detlDto)) {
DetlDto detlDto1 = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch(),detlDto.getCsocode(),detlDto.getIsoseq(),detlDto.getContainerCode());
assert detlDto1 != null;
@@ -191,13 +195,13 @@
}
}
- List<String> groupInnerLoc = Utils.getGroupInnerLoc(locNo);
- if (!Cools.isEmpty(groupInnerLoc)) {
- for (String insideLoc : groupInnerLoc) {
- if (locNos.contains(insideLoc)){
+ List<String> groupOuterLoc = Utils.getGroupOuterLoc(locNo);
+ if (!Cools.isEmpty(groupOuterLoc)) {
+ for (String outerLoc : groupOuterLoc) {
+ if (locNos.contains(outerLoc)){
continue;
}
- LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", insideLoc));
+ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", outerLoc));
if (locMast != null) {
if (!locMast.getLocSts().equals("O") && !locMast.getLocSts().equals("R")){
sign=true;
@@ -217,7 +221,7 @@
List<LocDetlDto> locDetlDtos = new ArrayList<>();
for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
- LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch(), null);
+ LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch(), paramLocDetl.getContainerCode());
if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount()));
}
}
@@ -312,6 +316,13 @@
sourceStaNo = staDesc.getStnNo();
}
+ int lev = Utils.getLev(dto.getLocNo());
+ if (lev == 1 || lev == 2) {
+ if (!(stnNo == 100 || stnNo == 103 || stnNo == 105)) {
+ throw new CoolException("1銆�2灞傝揣鐗╀粎鍏佽鍦ㄤ竴妤艰繘琛屽嚭搴�");
+ }
+ }
+
// 鐢熸垚宸ヤ綔妗�
WrkMast wrkMast = new WrkMast();
wrkMast.setWrkNo(workNo);
@@ -398,6 +409,13 @@
sourceStaNo = staDesc.getStnNo();
}
+ int lev = Utils.getLev(taskDto.getLocNo());
+ if (lev == 1 || lev == 2) {
+ if (!(stnNo == 100 || stnNo == 103 || stnNo == 105)) {
+ throw new CoolException("1銆�2灞傝揣鐗╀粎鍏佽鍦ㄤ竴妤艰繘琛屽嚭搴�");
+ }
+ }
+
// 鐢熸垚宸ヤ綔妗�
WrkMast wrkMast = new WrkMast();
wrkMast.setWrkNo(workNo);
@@ -445,9 +463,15 @@
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);
+
// 淇敼璁㈠崟鏄庣粏
if (!BaseController.isJSON(locDto.getOrderNo())) {
OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
@@ -771,6 +795,13 @@
if (Cools.isEmpty(wrkMast)){
throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪");
}
+
+ if (wrkMast.getIoType() == 200) {
+ //灏忚溅绉诲簱浠诲姟锛岀洿鎺ュ垹闄ゅ伐浣滄。
+ wrkMastService.deleteById(wrkMast);
+ return;
+ }
+
if (wrkMast.getWrkSts() == 9 || wrkMast.getWrkSts() == 29) {
throw new CoolException("褰撳墠宸ヤ綔妗e凡瀹屾垚");
}
@@ -837,9 +868,7 @@
adjDetl.setModiUser(userId);
adjDetl.setAppeTime(now);
adjDetl.setAppeUser(userId);
-
- UUID uuid = UUID.randomUUID();
- adjDetl.setOrderNo(uuid.toString());
+ adjDetl.setOrderNo(Utils.generateAdjustOrderNo());
adjDetl.setCsocode(locDetl.getThreeCode());
adjDetl.setIsoseq(locDetl.getDeadTime());
@@ -868,7 +897,7 @@
adjDetl.setModiUser(userId);
adjDetl.setAppeTime(now);
adjDetl.setAppeUser(userId);
-
+ adjDetl.setOrderNo(Utils.generateAdjustOrderNo());
adjDetlService.save(adjDetl, userId);
}
@@ -901,11 +930,9 @@
adjDetl.setModiUser(userId);
adjDetl.setAppeTime(now);
adjDetl.setAppeUser(userId);
-
- UUID uuid = UUID.randomUUID();
- adjDetl.setOrderNo(uuid.toString());
adjDetl.setCsocode(locDetl.getThreeCode());
adjDetl.setIsoseq(locDetl.getDeadTime());
+ adjDetl.setOrderNo(Utils.generateAdjustOrderNo());
adjDetlService.save(adjDetl, userId);
}
@@ -937,7 +964,7 @@
throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪");
}
- if (wrkMast.getWrkSts() == 200) {
+ if (wrkMast.getIoType() == 200) {
//灏忚溅绉诲簱浠诲姟锛岀洿鎺ュ垹闄ゅ伐浣滄。
wrkMastService.deleteById(wrkMast);
return;
@@ -1127,4 +1154,14 @@
return "";
}
+ private void generateAgvWaitpakin(WrkDetl wrkDetl){
+ Order order = orderService.selectByNo(wrkDetl.getOrderNo());
+ DocType docType = docTypeService.selectById(order.getDocType());
+ if("浜哄伐琛ヨ揣鍗�".equals(docType.getDocName())){
+ AgvWaitPakin agvWaitPakin = new AgvWaitPakin();
+ BeanUtils.copyProperties(wrkDetl,agvWaitPakin);
+ agvWaitPakinService.insert(agvWaitPakin);
+ }
+ }
+
}
--
Gitblit v1.9.1