From b6681bc12173c1179d0185805ba461211472ac18 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期日, 04 一月 2026 09:31:16 +0800
Subject: [PATCH] 1.完善出库任务呼叫agv 2.完善agv任务下发 3.等等
---
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 82 ++++++++++++++++++++++++++++++++--------
1 files changed, 65 insertions(+), 17 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 ede2bb1..304377f 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -105,7 +105,7 @@
// 婧愮珯鐐圭姸鎬佹娴�
BasDevp sourceStaNo = basDevpService.checkSiteStatus(param.getDevpNo(), true);
// 妫�绱㈠簱浣�
- LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
+ LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo,"");
// List<String> matnrs = param.getList().stream().map(FullStoreParam.MatCodeStore::getMatnr).distinct().collect(Collectors.toList());
// List<String> batchs = param.getList().stream().map(FullStoreParam.MatCodeStore::getBatch).distinct().collect(Collectors.toList());
FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(param.getList().get(0));
@@ -370,6 +370,12 @@
wrkDetl.setAppeUser(userId);
wrkDetl.setModiTime(now);
wrkDetl.setModiUser(userId);
+ wrkDetl.setMatnr(detlDto.getLocDetl().getMatnr());
+ wrkDetl.setMaktx(detlDto.getLocDetl().getMaktx());
+ wrkDetl.setUnit(detlDto.getLocDetl().getUnit());
+ wrkDetl.setSpecs(detlDto.getLocDetl().getSpecs());
+ wrkDetl.setUnit(detlDto.getLocDetl().getUnit());
+ wrkDetl.setModel(detlDto.getLocDetl().getModel());
if (!wrkDetlService.insert(wrkDetl)) {
throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
}
@@ -391,7 +397,7 @@
@Override
@Transactional
- public void stockOut(BasDevp staNo, TaskDto taskDto, Long userId) {
+ public void stockOut(BasDevp staNo, TaskDto taskDto, Long userId,Integer ioPri) {
Date now = new Date();
List<LocDto> locDtos = taskDto.getLocDtos();
for (LocDto locDto : locDtos) {
@@ -405,19 +411,37 @@
String orderNo = taskDto.getLocDtos().get(0).getOrderNo();
OrderPakout orderPakout = orderPakOutService.selectByNo(orderNo);
int ioType = orderPakout.getDocType() == 8 ? 107 : (taskDto.isAll() ? 101 : 103);
- StaDesc staDesc = staDescService.queryCrnStnAuto(ioType, locMast.getCrnNo(), staNo.getDevNo());
+// StaDesc staDesc = staDescService.queryCrnStnAuto(ioType, locMast.getCrnNo(), staNo.getDevNo());
// 鐢熸垚宸ヤ綔鍙�
int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType));
+
+ //鍑哄簱浠诲姟鍫嗗灈鏈哄嚭搴撶珯鐐规寚瀹�
+ String SourceStaNo = "";
+ String StaNo = "";
+ if(locMast.getLocType3()==2&&orderPakout.getDocType()==11){
+ SourceStaNo = "301";
+ StaNo = "303";
+ }else if (locMast.getLocType3()==2&&!Cools.isEmpty(orderPakout.getCstmrName())){
+ SourceStaNo = "307";
+ StaNo = "307";
+ }else if (locMast.getLocType3()==1&&locMast.getLocType2()==1){
+ SourceStaNo = "402";
+ StaNo = "402";
+ }else if (locMast.getLocType3()==1&&locMast.getLocType2()==2){
+ SourceStaNo = "401";
+ StaNo = "401";
+ }
+
// 鐢熸垚宸ヤ綔妗�
WrkMast wrkMast = new WrkMast();
wrkMast.setWrkNo(workNo);
wrkMast.setIoTime(now);
wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶姸鎬�
- wrkMast.setIoPri(13D); // 浼樺厛绾э細13
+ wrkMast.setIoPri(ioPri+0.0); // 浼樺厛绾э細13
wrkMast.setCrnNo(locMast.getCrnNo());
- wrkMast.setSourceStaNo(staDesc.getCrnStn() + ""); // 婧愮珯
- wrkMast.setStaNo(staDesc.getStnNo() + ""); // 鐩爣绔�
+ wrkMast.setSourceStaNo(SourceStaNo); // 婧愮珯
+ wrkMast.setStaNo(StaNo); // 鐩爣绔�
wrkMast.setSourceLocNo(taskDto.getLocNo()); // 婧愬簱浣�
wrkMast.setFullPlt("Y"); // 婊℃澘锛歒
wrkMast.setPicking("N"); // 鎷f枡
@@ -429,6 +453,11 @@
wrkMast.setAppeTime(now);
wrkMast.setModiUser(userId);
wrkMast.setModiTime(now);
+ if(locMast.getLocType3()==2&&orderPakout.getDocType()==11){
+ }else {
+ wrkMast.setMemo(orderPakout.getCstmrName());//agv鐩爣绔欑偣
+ }
+
if (!wrkMastService.insert(wrkMast)) {
throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐ワ紝鍑哄簱搴撲綅鍙凤細" + taskDto.getLocNo());
}
@@ -457,6 +486,11 @@
wrkDetl.setAppeUser(userId);
wrkDetl.setModiTime(now);
wrkDetl.setModiUser(userId);
+ wrkDetl.setMatnr(orderDetl.getMatnr());
+ wrkDetl.setMaktx(orderDetl.getMaktx());
+ wrkDetl.setSpecs(orderDetl.getSpecs());
+ wrkDetl.setModel(orderDetl.getModel());
+ wrkDetl.setUnit(orderDetl.getUnit());
if (!wrkDetlService.insert(wrkDetl)) {
throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
}
@@ -491,7 +525,7 @@
// 婧愮珯鐐圭姸鎬佹娴�
BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
// 妫�绱㈠簱浣�
- LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
+ LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo,"");
FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo();
StartupDto dto = commonService.getLocNo(10, devpNo, findLocNoAttributeVo, locTypeDto);
@@ -618,7 +652,7 @@
@Override
@Transactional
- public WrkMast emptyPlateOut(EmptyPlateOutParam param) {
+ public WrkMast emptyPlateOut(EmptyPlateOutParam param,Integer ioPri,String agvSta) {
WrkMast wrkMast = new WrkMast();
if (Cools.isEmpty(param.getOutSite())) {
throw new CoolException("绔欑偣涓嶅瓨鍦�");
@@ -631,10 +665,21 @@
if (Cools.isEmpty(locMast)) {
throw new CoolException(locNo + "搴撲綅涓嶅瓨鍦�");
}
+
+ //鍑哄簱浠诲姟鍫嗗灈鏈哄嚭搴撶珯鐐规寚瀹�
+ String SourceStaNo = "";
+ if(locMast.getLocType3()==2){
+ SourceStaNo = "303";
+ }else if (locMast.getLocType3()==1&&locMast.getLocType2()==1){
+ SourceStaNo = "402";
+ }else if (locMast.getLocType3()==1&&locMast.getLocType2()==2){
+ SourceStaNo = "401";
+ }
+
// 鑾峰彇婧愮珯
Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
.eq("type_no", 110)
- .eq("stn_no", param.getOutSite())
+ .eq("stn_no", SourceStaNo)
.eq("crn_no", locMast.getCrnNo());
StaDesc staDesc = staDescService.selectOne(wrapper);
Integer sourceStaNo = staDesc.getCrnStn();
@@ -648,9 +693,9 @@
wrkMast.setIoTime(now);
wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
wrkMast.setIoType(110); // 鍏ュ嚭搴撶姸鎬侊細 110.绌烘澘鍑哄簱
- wrkMast.setIoPri(10D);
+ wrkMast.setIoPri(ioPri+0.0);
wrkMast.setSourceStaNo(sourceStaNo + ""); // 婧愮珯
- wrkMast.setStaNo(param.getOutSite() + ""); // 鐩爣绔�
+ wrkMast.setStaNo(staDesc.getStnNo() + ""); // 鐩爣绔�
wrkMast.setCrnNo(locMast.getCrnNo());
wrkMast.setSourceLocNo(locNo); // 婧愬簱浣�
wrkMast.setFullPlt("N"); // 婊℃澘锛歒
@@ -662,7 +707,7 @@
wrkMast.setAppeTime(now);
wrkMast.setModiUser(1L);
wrkMast.setModiTime(now);
- wrkMast.setMemo("鐢熸垚鑷姩绌烘澘鍑哄簱");
+// wrkMast.setMemo(agvSta);//agv鐩爣绔欑偣
boolean res = wrkMastService.insert(wrkMast);
if (!res) {
throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
@@ -813,11 +858,11 @@
@Override
@Transactional
public void completeWrkMast(String workNo, Long userId) {
- WrkMast wrkMast = wrkMastService.selectById(workNo);
+ WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", workNo));
if (Cools.isEmpty(wrkMast)) {
throw new CoolException(workNo + "宸ヤ綔妗d笉瀛樺湪");
}
- if (wrkMast.getWrkSts() == 4 || wrkMast.getWrkSts() == 14) {
+ if (wrkMast.getWrkSts() == 4 || wrkMast.getWrkSts() == 14 || wrkMast.getWrkSts() == 5 || wrkMast.getWrkSts() == 15) {
throw new CoolException("褰撳墠宸ヤ綔妗e凡瀹屾垚");
}
// 鍏ュ簱 + 搴撲綅杞Щ
@@ -1068,7 +1113,7 @@
@Transactional
public void cancelWrkMast(String workNo, Long userId) {
Date now = new Date();
- WrkMast wrkMast = wrkMastService.selectById(workNo);
+ WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", workNo));
if (Cools.isEmpty(wrkMast)) {
throw new CoolException(workNo + "宸ヤ綔妗d笉瀛樺湪");
}
@@ -1199,6 +1244,9 @@
boolean wrkMastRes = wrkMastService.deleteById(wrkMast);
if (wrkMast.getIoType() != 10 && wrkMast.getIoType() != 110) {
+ //鍙栨秷鏍囪锛岃鍗曞畬鎴愬悗鍙嶅啓璁㈠崟鏄庣粏鏃惰繃婊ゆ帀danger = 1鐨勬暟鎹�
+ wrkDetlService.updateForSet("danger = 1" ,new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
+
// 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。
if (!wrkDetlLogService.save(wrkMast.getWrkNo())) {
// throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏鍘嗗彶妗eけ璐�, workNo = " + wrkMast.getWrkNo());
@@ -1224,7 +1272,7 @@
@Override
@Transactional
public void pickWrkMast(String workNo, Long userId) {
- WrkMast wrkMast = wrkMastService.selectById(workNo);
+ WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no",workNo));
if (Cools.isEmpty(wrkMast)) {
throw new CoolException(workNo + "宸ヤ綔妗d笉瀛樺湪");
}
@@ -1247,7 +1295,7 @@
// 鑾峰彇鐩爣绔�
Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
.eq("type_no", wrkMast.getIoType() - 50)
- .eq("stn_no", wrkMast.getStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯
+ .eq("stn_no", Integer.parseInt(wrkMast.getStaNo())-2) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯
.eq("crn_no", wrkMast.getCrnNo()); // 鍫嗗灈鏈哄彿
StaDesc staDesc = staDescService.selectOne(wrapper);
if (Cools.isEmpty(staDesc)) {
--
Gitblit v1.9.1