From ecd79ff570939b55f455767f2b310590faa5a191 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期三, 10 九月 2025 22:13:01 +0800
Subject: [PATCH] 1.新增组托时批号必须唯一 2.新增当有出库任务时禁止AGV入库搬运 3.拣料下架从任务状态16改成34
---
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 55 ++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 42 insertions(+), 13 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 7b17868..7e7c2ad 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -157,8 +157,7 @@
@Override
@Transactional
public void startupFullTakeStore(StockOutParam param, Long userId) {
- // 鐩爣绔欑偣鐘舵�佹娴�
- BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite());
+ String agvStaNo = param.getOutSite();
// 鑾峰彇搴撲綅鏄庣粏
List<LocDetlDto> locDetlDtos = new ArrayList<>();
for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
@@ -168,8 +167,9 @@
}
}
if (!locDetlDtos.isEmpty()) {
+
// 鍚姩鍑哄簱寮�濮� 101.鍑哄簱
- stockOut(staNo, locDetlDtos, null, userId);
+ stockOut(null, locDetlDtos, null, userId,agvStaNo);
} else {
throw new CoolException("搴撳瓨涓嶅瓨鍦�");
}
@@ -177,7 +177,7 @@
@Override
@Transactional
- public void stockOut(BasDevp staNo, List<LocDetlDto> locDetlDtos, IoWorkType ioWorkType, Long userId) {
+ public void stockOut(BasDevp staNo, List<LocDetlDto> locDetlDtos, IoWorkType ioWorkType, Long userId,String agvStaNo) {
Date now = new Date();
// 鍚堝苟鍚岀被椤�
Set<String> locNos = new HashSet<>();
@@ -209,11 +209,25 @@
// 鑾峰彇搴撲綅
LocMast locMast = locMastService.selectById(dto.getLocNo());
- Integer outSta = staNo.getDevNo();
- //2鍙峰爢鍨涙満鍏ㄦ澘鍑哄簱绔欐寚瀹氫负204绔欙紝鎷f枡绔欐寚瀹氫负202
- if(locMast.getCrnNo()==2){
- outSta = ioType == 101 ? 204 : 202;
+ if (Cools.isEmpty(locMast)) {
+ throw new CoolException(dto.getLocNo()+"搴撲綅涓嶅瓨鍦�");
}
+ if(!locMast.getLocSts().equals("F")){
+ throw new CoolException(dto.getLocNo()+"鎵樼洏闈炲湪搴撶姸鎬�");
+ }
+ Integer outSta = 0;
+ if(locMast.getCrnNo()==1){
+ outSta = 105;
+ }else if(locMast.getCrnNo()==2){
+ outSta = 103;
+ }else if(locMast.getCrnNo()==3){
+ outSta = 101;
+ }
+
+ //2鍙峰爢鍨涙満鍏ㄦ澘鍑哄簱绔欐寚瀹氫负204绔欙紝鎷f枡绔欐寚瀹氫负202
+// if(locMast.getCrnNo()==2){
+// outSta = ioType == 101 ? 204 : 202;
+// }
// 鑾峰彇璺緞
StaDesc staDesc = staDescService.queryCrnStn(ioType, locMast.getCrnNo(), outSta);
@@ -240,6 +254,7 @@
wrkMast.setAppeTime(now);
wrkMast.setModiUser(userId);
wrkMast.setModiTime(now);
+ wrkMast.setMemo(Cools.isEmpty(agvStaNo) ? "" : agvStaNo);
if (!wrkMastService.insert(wrkMast)) {
throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐ワ紝鍑哄簱搴撲綅鍙凤細"+dto.getLocNo());
}
@@ -278,7 +293,7 @@
@Override
@Transactional
- public void stockOut(BasDevp staNo, TaskDto taskDto, Long userId) {
+ public void stockOut(BasDevp staNo, TaskDto taskDto, Long userId,String agvStaNo) {
Date now = new Date();
List<LocDto> locDtos = taskDto.getLocDtos();
for (LocDto locDto : locDtos) {
@@ -290,7 +305,16 @@
LocMast locMast = locMastService.selectById(taskDto.getLocNo());
// 鑾峰彇璺緞
int ioType = taskDto.isAll() ? 101 : 103;
- StaDesc staDesc = staDescService.queryCrnStnAuto(ioType, locMast.getCrnNo(), staNo.getDevNo());
+ Integer outSta = 0;
+ if(locMast.getCrnNo()==1){
+ outSta = 106;
+ }else if(locMast.getCrnNo()==2){
+ outSta = 104;
+ }else if(locMast.getCrnNo()==3){
+ outSta = 102;
+ }
+
+ StaDesc staDesc = staDescService.queryCrnStnAuto(ioType, locMast.getCrnNo(),outSta);
// 鐢熸垚宸ヤ綔鍙�
int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType));
// 鐢熸垚宸ヤ綔妗�
@@ -314,6 +338,7 @@
wrkMast.setAppeTime(now);
wrkMast.setModiUser(userId);
wrkMast.setModiTime(now);
+ wrkMast.setMemo(Cools.isEmpty(agvStaNo) ? "" : agvStaNo);
if (!wrkMastService.insert(wrkMast)) {
throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐ワ紝鍑哄簱搴撲綅鍙凤細"+taskDto.getLocNo());
}
@@ -324,6 +349,7 @@
if (orderDetl == null) {
orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null);
}
+ Mat mat=matService.selectOne(new EntityWrapper<Mat>().eq("matnr",locDto.getMatnr()));
WrkDetl wrkDetl = new WrkDetl();
wrkDetl.sync(orderDetl);
wrkDetl.setZpallet(wrkMast.getBarcode());
@@ -331,6 +357,7 @@
wrkDetl.setWrkNo(workNo);
wrkDetl.setBatch(locDto.getBatch());
wrkDetl.setOrderNo(locDto.getOrderNo());
+ wrkDetl.setModel(mat.getModel());
wrkDetl.setAnfme(locDto.getAnfme()); // 鏁伴噺
wrkDetl.setAppeTime(now);
wrkDetl.setAppeUser(userId);
@@ -431,6 +458,9 @@
if (Cools.isEmpty(locMast)) {
throw new CoolException(locNo+"搴撲綅涓嶅瓨鍦�");
}
+ if(!locMast.getLocSts().equals("D")){
+ throw new CoolException(locNo+"鎵樼洏闈炲湪搴撶姸鎬�");
+ }
// 鑾峰彇婧愮珯
Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
.eq("type_no", 110)
@@ -481,8 +511,7 @@
@Override
@Transactional
public void locCheckOut(StockOutParam param, Long userId) {
- // 鐩爣绔欑偣鐘舵�佹娴�
- BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite());
+
// 鑾峰彇搴撲綅鏄庣粏
List<LocDetlDto> locDetlDtos = new ArrayList<>();
for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
@@ -493,7 +522,7 @@
}
if (!locDetlDtos.isEmpty()) {
// 鍚姩鍑哄簱寮�濮� 107.鐩樼偣鍑哄簱
- stockOut(staNo, locDetlDtos, IoWorkType.CHECK_OUT, userId);
+ stockOut(null, locDetlDtos, IoWorkType.CHECK_OUT, userId,null);
} else {
throw new CoolException("搴撲綅鐗╂枡涓嶅瓨鍦�");
}
--
Gitblit v1.9.1