From 72ef2381eaa9672fe87f72415b5c827fa88155f8 Mon Sep 17 00:00:00 2001
From: zhangchao <zc857179121@qq.com>
Date: 星期二, 12 十一月 2024 10:57:43 +0800
Subject: [PATCH] 1
---
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java | 104 ++++++++++++++++++++++++++++------------------------
1 files changed, 56 insertions(+), 48 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
index 5098403..722ec96 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -105,7 +105,7 @@
//妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅
AgvLocMast agvLocMast = agvCommonService.getLocNo(agvBasDevp.getLocType1(),agvBasDevp.getFloor(),false,false);
//鐢熸垚宸ヤ綔妗�
- AgvWrkMast wrkMast = createWrkMast(1,201L,agvBasDevp.getDevNo(),agvLocMast.getLocNo(),agvBasDevp.getBarcode(),now,userId, agvBasDevp.getLocType2());
+ AgvWrkMast wrkMast = createWrkMast(1,201L,agvBasDevp.getDevNo(),agvLocMast.getLocNo(),agvBasDevp.getBarcode(),now,userId, agvBasDevp.getLocType2(),agvLocMast.getPltType());
//鏍囪鏄惁涓鸿緭閫佺嚎鍏ュ簱
wrkMast.setMk(isConveyor ? "Y" : "N");
//鐢熸垚宸ヤ綔妗f槑缁�
@@ -144,11 +144,11 @@
//String barcode = agvLocDetls.get(0).getSuppCode();
String containerCode = taskDto.getLocDtos().get(0).getContainerCode();
-
+ AgvLocMast agvLocMast = agvLocMastService.selectById(sourceLocNo);
//鍒ゆ柇鏄惁鍏ㄦ澘鍑哄簱
int ioType = isPakOut(sourceLocNo,taskDto) ? 101 : 103;
//鐢熸垚宸ヤ綔妗�
- AgvWrkMast wrkMast = createWrkMast(ioType,wrkSts,sourceLocNo,targetLocNo,containerCode,now,userId,Short.valueOf(containerCode.substring(0,2)));
+ AgvWrkMast wrkMast = createWrkMast(ioType,wrkSts,sourceLocNo,targetLocNo,containerCode,now,userId,Short.valueOf(containerCode.substring(0,2)),agvLocMast.getPltType());
//鐢熸垚宸ヤ綔妗f槑缁�
long flowId = snowflakeIdWorker.nextId();
taskDto.getLocDtos().forEach(locDto -> {
@@ -250,11 +250,11 @@
//String barcode = agvLocDetls.get(0).getSuppCode();
String containerCode = taskDto.getLocDtos().get(0).getContainerCode();
-
+ AgvLocMast agvLocMast = agvLocMastService.selectById(sourceLocNo);
//鍒ゆ柇鏄惁鍏ㄦ澘鍑哄簱
int ioType = 107;
//鐢熸垚宸ヤ綔妗�
- AgvWrkMast wrkMast = createWrkMast(ioType,wrkSts,sourceLocNo,targetLocNo,containerCode,now,userId,Short.valueOf(containerCode.substring(0,2)));
+ AgvWrkMast wrkMast = createWrkMast(ioType,wrkSts,sourceLocNo,targetLocNo,containerCode,now,userId,Short.valueOf(containerCode.substring(0,2)),agvLocMast.getPltType());
//鐢熸垚宸ヤ綔妗f槑缁�
long flowId = snowflakeIdWorker.nextId();
taskDto.getLocDtos().forEach(locDto -> {
@@ -353,12 +353,21 @@
String locNo = agvWrkMast.getLocNo();
agvWrkMast.setLocNo(agvWrkMast.getSourceLocNo());
agvWrkMast.setSourceLocNo(locNo);
- agvWrkMast.setModiTime(new Date());
+ agvWrkMast.setModiTime(now);
agvWrkMast.setIoTime(now);
agvWrkMast.setLogErrMemo("createWaitPainWrkMastStart");
agvWrkMastService.updateById(agvWrkMast);
List<AgvWrkDetl> agvWrkDetlList = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", agvWrkMast.getWrkNo()));
+ for (AgvWrkDetl agvWrkDetl : agvWrkDetlList) {
+ agvWrkDetl.setIoTime(now);
+ boolean bl = agvWrkDetlService.update(agvWrkDetl,new EntityWrapper<AgvWrkDetl>()
+ .eq("wrk_no", agvWrkDetl.getWrkNo())
+ .eq("matnr",agvWrkDetl.getMatnr())
+ .eq("order_no",agvWrkDetl.getOrderNo())
+ .eq("three_code",agvWrkDetl.getThreeCode()));
+// .eq("dead_time",agvWrkDetl.getDeadTime()));
+ }
AgvLocMast agvLocMast = agvLocMastService.selectById(agvWrkMast.getLocNo());
//List<AgvLocDetl> agvLocDetlList = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no",agvLocMast.getLocNo()));
AgvBasDevp agvBasDevp = agvBasDevpService.selectById(agvWrkMast.getSourceLocNo());
@@ -415,7 +424,7 @@
int containerType = getContainerTypeByloc(taskDto.getLocNo());
//鐢熸垚宸ヤ綔妗�
- AgvWrkMast wrkMast = createWrkMast(107, 21L,taskDto.getLocNo(),taskDto.getAgvStaNo(),taskDto.getLocDtos().get(0).getContainerCode(),now,userId,containerType);
+ AgvWrkMast wrkMast = createWrkMast(107, 21L,taskDto.getLocNo(),taskDto.getAgvStaNo(),taskDto.getLocDtos().get(0).getContainerCode(),now,userId,containerType,null);
//鐢熸垚宸ヤ綔妗f槑缁�
taskDto.getLocDtos().forEach(locDto -> {
//鏄庣粏妗f墍闇�鍙傛暟
@@ -458,7 +467,7 @@
Date now = new Date();
//鐢熸垚绉诲簱宸ヤ綔妗�
- AgvWrkMast wrkMast = createWrkMast(11, 21L, sourceLocNo, targetLocNo, sourceLocDetl.getSuppCode(), now, userId,getContainerTypeByloc(sourceLocNo));
+ AgvWrkMast wrkMast = createWrkMast(11, 21L, sourceLocNo, targetLocNo, sourceLocDetl.getSuppCode(), now, userId,getContainerTypeByloc(sourceLocNo),targetLocMast.getPltType());
//鐢熸垚宸ヤ綔鍏氭槑缁�
createWrkDetlReWrite(sourceLocDetl.getMatnr(),wrkMast.getWrkNo(),null,sourceLocDetl.getBatch(),sourceLocDetl.getAnfme(),sourceLocDetl.getZpallet(),now,userId,sourceLocDetl.getThreeCode(),sourceLocDetl.getDeadTime(),sourceLocDetl.getProcessSts());
//淇敼鐩爣搴撲綅鐘舵��
@@ -577,39 +586,11 @@
String locNo = agvLocMast.getLocNo();
//鐢熸垚宸ヤ綔妗�
- AgvWrkMast wrkMast = createWrkMast(1,201L,devNo,locNo,containerCode,now,userId, containerType);
+ AgvWrkMast wrkMast = createWrkMast(1,201L,devNo,locNo,containerCode,now,userId, containerType,agvLocMast.getPltType());
//鐢熸垚宸ヤ綔妗f槑缁�
long flowId = snowflakeIdWorker.nextId();
agvWaitPakinList.forEach(wp -> {
createWrkDetlReWrite(wp.getMatnr(),wrkMast.getWrkNo(),wp.getOrderNo(),wp.getBatch(),wp.getAnfme(),wp.getSuppCode(),now,userId,wp.getThreeCode(),wp.getDeadTime(),wp.getProcessSts());
- // 娴佹按 -- 鏂板璁㈠崟鏄庣粏
- OrderDetl orderDetl = orderDetlService.selectItem(wp.getOrderNo(), wp.getMatnr(), wp.getThreeCode());
-// FlowLog flowLog = new FlowLog();
-// flowLog.setFid(String.valueOf(flowId));
-// flowLog.setSpare2(wrkMast.getWrkNo().toString());
-// flowLog.setLocNo(locNo);
-// flowLog.setSpare1(containerCode);
-// flowLog.setOpType(3L);
-// flowLog.setOrderNo(wp.getOrderNo());
-// flowLog.setThreeCode(wp.getThreeCode());
-// flowLog.setMatnr(wp.getMatnr());
-// flowLog.setMaktx(wp.getMaktx());
-// flowLog.setOrderPrevious(orderDetl.getAnfme());
-// flowLog.setOrderCurrent(orderDetl.getAnfme());
-// flowLog.setOrderChanged(0.0);
-// flowLog.setQtyPrevious(orderDetl.getQty()-wp.getAnfme());
-// flowLog.setQtyCurrent(orderDetl.getQty());
-// flowLog.setQtyChanged(wp.getAnfme());
-//
-// flowLog.setLocPrevious(0.0D);
-// flowLog.setLocCurrent(wp.getAnfme());
-// flowLog.setLocChanged(wp.getAnfme());
-//
-// flowLog.setUserId(userId);
-// flowLog.setAppeTime(now);
-// if (!flowLogService.insert(flowLog)) {
-// throw new CoolException("鍚屾鍗婃垚鍝佽皟鎷ㄥ崟娴佹按璁板綍澶辫触");
-// }
});
//淇敼鍏ュ簱閫氱煡妗g姸鎬�
agvWaitPakinService.updateIoStatus(containerCode,"Y");
@@ -623,7 +604,7 @@
}
agvLocMast = agvCommonService.getLocNo(locType,agvBasDevp.getFloor(),true,true);
// 鐢熸垚宸ヤ綔妗� 10.绌烘澘鍏ュ簱
- createWrkMast(10,201L,agvBasDevp.getDevNo(),agvLocMast.getLocNo(),containerCode,now,userId,containerType);
+ createWrkMast(10,201L,agvBasDevp.getDevNo(),agvLocMast.getLocNo(),containerCode,now,userId,containerType,agvLocMast.getPltType());
//鏇存柊婧愮珯鐐圭姸鎬�
updateAgvBasDevp(agvBasDevp,"R",containerType,containerCode);
}
@@ -632,6 +613,7 @@
updateAgvLocMast(agvLocMast,"S");
return agvLocMast.getLocNo();
}
+
/*
绌烘澘鍑哄簱
*/
@@ -661,7 +643,7 @@
throw new CoolException("鏆傛棤褰撳墠鍑哄簱绔欑偣绫诲瀷鐨勭┖璐ф灦锛�");
}
//鐢熸垚宸ヤ綔妗�
- createWrkMast(110,21L,agvLocMast.getLocNo(),agvBasDevp.getDevNo(),agvLocMast.getBarcode(),now,userId,containerType);
+ createWrkMast(110,21L,agvLocMast.getLocNo(),agvBasDevp.getDevNo(),agvLocMast.getBarcode(),now,userId,containerType,agvLocMast.getPltType());
//淇敼婧愬簱浣嶇姸鎬�
updateAgvLocMast(agvLocMast,"R");
@@ -708,6 +690,7 @@
adjDetl.setLocNo(locDetl.getLocNo());
adjDetl.setMatnr(locDetl.getMatnr());
adjDetl.setBatch(locDetl.getBatch());
+ adjDetl.setMaktx(locDetl.getMaktx());
adjDetl.setOriQty(locDetl.getAnfme());
adjDetl.setAdjQty(adjust.getCount());
adjDetl.setModiTime(now);
@@ -739,6 +722,7 @@
adjDetl.setLocNo(locDetl.getLocNo());
adjDetl.setMatnr(locDetl.getMatnr());
adjDetl.setBatch(locDetl.getBatch());
+ adjDetl.setMaktx(locDetl.getMaktx());
adjDetl.setOriQty(locDetl.getAnfme());
adjDetl.setAdjQty(0.0D);
adjDetl.setModiTime(now);
@@ -775,6 +759,7 @@
adjDetl.setLocNo(locMast.getLocNo());
adjDetl.setMatnr(adjust.getMatnr());
adjDetl.setBatch(adjust.getBatch());
+ adjDetl.setMaktx(locDetl.getMaktx());
adjDetl.setOriQty(0.0D);
adjDetl.setAdjQty(adjust.getCount());
adjDetl.setModiTime(now);
@@ -1027,15 +1012,15 @@
String locNo = wrkMast.getSourceLocNo();
// 鐩爣搴撲綅
String targetLocNo = wrkMast.getLocNo();
- agvLocMastService.updateLocStsByLocNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo),"",(short)0);
+ agvLocMastService.updateLocStsByLocNo(locNo, "F", wrkMast.getBarcode(), (short) getContainerTypeByloc(locNo), "", (short) 0);
if (wrkMast.getIoType() == 108) {
if (wrkMast.getWrkSts() != 22) {
- agvLocMastService.updateLocStsByLocNo(targetLocNo,"O","",null);
+ agvLocMastService.updateLocStsByLocNo(targetLocNo, "O", "", null);
}
} else {
if (wrkMast.getWrkSts() != 207L && wrkMast.getWrkSts() != 205L) {
if (wrkMast.getWrkSts() != 22) {
- agvBasDevpService.updateLocStsAndBarcodeByDevNo(targetLocNo,"O","",wrkMast.getWhsType().shortValue());
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(targetLocNo, "O", "", wrkMast.getWhsType().shortValue());
}
} else {
throw new CoolException("褰撳墠浣滀笟涓嶈兘鍙栨秷锛�");
@@ -1047,10 +1032,10 @@
List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo));
// 鏇存柊璁㈠崟
for (AgvLocDetl agvLocDetl : agvLocDetls) {
- OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no", "DB" + agvLocDetl.getOrderNo()).eq("matnr", agvLocDetl.getMatnr()).eq("three_code",agvLocDetl.getThreeCode()));
+ OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no", "DB" + agvLocDetl.getOrderNo()).eq("matnr", agvLocDetl.getMatnr()).eq("three_code", agvLocDetl.getThreeCode()));
orderDetl.setQty(orderDetl.getQty() - agvLocDetl.getAnfme());
- if (!orderDetlService.update(orderDetl,new EntityWrapper<OrderDetl>().eq("order_no","DB" + agvLocDetl.getOrderNo()).eq("matnr", agvLocDetl.getMatnr()).eq("three_code",agvLocDetl.getThreeCode()))){
- throw new CoolException("淇敼璁㈠崟鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"+agvLocDetl.getOrderNo()+agvLocDetl.getMatnr());
+ if (!orderDetlService.update(orderDetl, new EntityWrapper<OrderDetl>().eq("order_no", "DB" + agvLocDetl.getOrderNo()).eq("matnr", agvLocDetl.getMatnr()).eq("three_code", agvLocDetl.getThreeCode()))) {
+ throw new CoolException("淇敼璁㈠崟鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�" + agvLocDetl.getOrderNo() + agvLocDetl.getMatnr());
}
// FlowLog flowLog = new FlowLog();
// flowLog.setFid(String.valueOf(flowId));
@@ -1079,6 +1064,27 @@
// if (!flowLogService.insert(flowLog)) {
// throw new CoolException("鍚屾鍗婃垚鍝佽皟鎷ㄥ崟娴佹按璁板綍澶辫触");
// }
+ }
+
+ // 鍥炴祦鍗曞彇娑�
+ } else if (wrkMast.getIoType() == 114) {
+ //婧愬簱浣�
+ String locNo = wrkMast.getSourceLocNo();
+ // 鐩爣搴撲綅
+ String targetLocNo = wrkMast.getLocNo();
+ agvLocMastService.updateLocStsByLocNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo));
+ agvLocMastService.updateLocStsByLocNo(targetLocNo,"O","",null);
+ // 婧愬簱浣� 搴撲綅涓绘。
+ AgvLocMast sourceLocMast = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", locNo));
+ AgvLocMast locMast = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", targetLocNo));
+ // 褰撳墠浠诲姟鏄法灞傜Щ搴� 涓旂洰鏍囨ゼ灞傛槸1妤肩殑 鍥炴粴璋冩嫧鍗�
+ List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo));
+ for (AgvLocDetl agvLocDetl : agvLocDetls) {
+ OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("three_code", agvLocDetl.getThreeCode()).eq("matnr", agvLocDetl.getMatnr()).eq("source", 17));
+ orderDetl.setQty(orderDetl.getQty() - agvLocDetl.getAnfme());
+ if (!orderDetlService.updateById(orderDetl)) {
+ throw new CoolException("鏇存柊璁㈠崟鏄庣粏澶辫触");
+ }
}
//鍑哄簱鍙栨秷
} else {
@@ -1123,7 +1129,7 @@
}
- if(wrkMast.getIoType() != 1 && wrkMast.getIoType() != 10 && wrkMast.getIoType()!=111 && wrkMast.getIoType()!=108 && wrkMast.getIoType() != 12 && wrkMast.getIoType() != 11){
+ if(wrkMast.getIoType() != 114 && wrkMast.getIoType() != 1 && wrkMast.getIoType() != 10 && wrkMast.getIoType()!=111 && wrkMast.getIoType()!=108 && wrkMast.getIoType() != 12 && wrkMast.getIoType() != 11){
//璁㈠崟鍥炴粴
//List<AgvWrkDetl> agvWrkDetlList = agvWrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
List<AgvWrkDetl> agvWrkDetlList1 = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
@@ -1244,6 +1250,7 @@
wrkDetl.setAppeTime(now);
wrkDetl.setModiUser(userId);
wrkDetl.setModiTime(now);
+
wrkDetl.setThreeCode(csocode);
wrkDetl.setDeadTime(isoseq);
if (!agvWrkDetlService.insert(wrkDetl)) {
@@ -1283,7 +1290,7 @@
/*
鐢熸垚宸ヤ綔妗�
*/
- private AgvWrkMast createWrkMast(int ioType, long wrkSts, String sourceLocNo, String locNo, String barcode, Date now, Long userId, int containerType){
+ private AgvWrkMast createWrkMast(int ioType, long wrkSts, String sourceLocNo, String locNo, String barcode, Date now, Long userId, int containerType,Integer pltType){
AgvWrkMast wrkMast = new AgvWrkMast();
//宸ヤ綔鐘舵��
wrkMast.setWrkSts(wrkSts);
@@ -1305,6 +1312,7 @@
wrkMast.setAppeTime(now);
wrkMast.setModiUser(userId);
wrkMast.setModiTime(now);
+ wrkMast.setPltType(pltType);
wrkMast.setLogErrMemo("createWaitPainWrkMastStart");
if (!agvWrkMastService.insertByIncrease(wrkMast)) {
@@ -1419,4 +1427,4 @@
}
-}
\ No newline at end of file
+}
--
Gitblit v1.9.1