From e6d092d364c5f11f864b34a7dfe81977e65fb232 Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期四, 13 六月 2024 09:02:07 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java | 98 +++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 90 insertions(+), 8 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 af4d600..b1196b0 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -99,7 +99,7 @@
wrkMast.setMk(isConveyor ? "Y" : "N");
//鐢熸垚宸ヤ綔妗f槑缁�
agvWaitPakinList.forEach(wp -> {
- createWrkDetlReWrite(wp.getMatnr(),wrkMast.getWrkNo(),wp.getOrderNo(),wp.getBatch(),wp.getAnfme(),wp.getSuppCode(),now,userId,wp.getThreeCode(),wp.getDeadTime());
+ createWrkDetlReWrite(wp.getMatnr(),wrkMast.getWrkNo(),wp.getOrderNo(),wp.getBatch(),wp.getAnfme(),wp.getSuppCode(),now,userId,wp.getThreeCode(),wp.getDeadTime(),wp.getProcessSts());
});
//鏇存柊婧愮珯鐐逛俊鎭�
updateAgvBasDevp(agvBasDevp,"R");
@@ -151,7 +151,8 @@
now,
userId,
locDto.getCsocode(),
- locDto.getIsoseq());
+ locDto.getIsoseq(),
+ locDto.getProcessSts());
}else {
List<OrderDto> orderDtoList = JSON.parseArray(locDto.getOrderNo(), OrderDto.class);
orderDtoList.forEach(orderDto -> {
@@ -165,7 +166,8 @@
now,
userId,
locDto.getCsocode(),
- locDto.getIsoseq());
+ locDto.getIsoseq(),
+ locDto.getProcessSts());
});
}
@@ -180,6 +182,80 @@
//鏇存柊鐩爣绔欑偣鐘舵��
//locSts = ioType == 101 ? "S" : "Q";
updateAgvBasDevp(agvBasDevpService.selectById(targetLocNo),"S");
+
+ });
+ }
+
+ /*
+ 鍔犲伐鍑哄簱
+ */
+ @Transactional
+ public void processOut(List<TaskDto> agvTaskDtos, Long userId) {
+ Date now = new Date();
+
+ agvTaskDtos.forEach(taskDto -> {
+
+ List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectByTaskDto(taskDto);
+
+ //AgvLocDetl agvLocDetl = agvLocDetlService.selectOne(new EntityWrapper<AgvLocDetl>().eq("loc_no", taskDto.getLocNo()));
+
+ //宸ヤ綔妗f墍闇�鍙傛暟
+
+ long wrkSts = 21L;
+ String sourceLocNo = taskDto.getLocNo();
+ String targetLocNo = taskDto.getAgvStaNo();
+ //String barcode = agvLocDetls.get(0).getSuppCode();
+ String containerCode = taskDto.getLocDtos().get(0).getContainerCode();
+
+
+ //鍒ゆ柇鏄惁鍏ㄦ澘鍑哄簱
+ int ioType = 107;
+ //鐢熸垚宸ヤ綔妗�
+ AgvWrkMast wrkMast = createWrkMast(ioType,wrkSts,sourceLocNo,targetLocNo,containerCode,now,userId,Short.valueOf(containerCode.substring(0,2)));
+ //鐢熸垚宸ヤ綔妗f槑缁�
+ taskDto.getLocDtos().forEach(locDto -> {
+ if (!BaseController.isJSON(locDto.getOrderNo())) {
+ //鏄庣粏妗f墍闇�鍙傛暟
+ createWrkDetlReWrite(locDto.getMatnr(),
+ wrkMast.getWrkNo(),
+ locDto.getOrderNo(),
+ locDto.getBatch(),
+ locDto.getAnfme(),
+ locDto.getContainerCode(),
+ now,
+ userId,
+ locDto.getCsocode(),
+ locDto.getIsoseq(),
+ locDto.getProcessSts());
+ }else {
+ List<OrderDto> orderDtoList = JSON.parseArray(locDto.getOrderNo(), OrderDto.class);
+ orderDtoList.forEach(orderDto -> {
+ //鏄庣粏妗f墍闇�鍙傛暟
+ createWrkDetlReWrite(locDto.getMatnr(),
+ wrkMast.getWrkNo(),
+ orderDto.getOrderNo(),
+ locDto.getBatch(),
+ orderDto.getAnfme(),
+ locDto.getContainerCode(),
+ now,
+ userId,
+ locDto.getCsocode(),
+ locDto.getIsoseq(),
+ locDto.getProcessSts());
+ });
+ }
+
+ //淇敼璁㈠崟淇℃伅
+ modifyOrderDetl(locDto, userId);
+ });
+// //淇敼璁㈠崟淇℃伅
+// modifyOrderDetl(taskDto.getLocDtos().get(0), userId);
+ //鏇存柊婧愮珯鐐逛俊鎭�
+ String locSts = "R";
+ updateAgvLocMast(agvLocMastService.selectById(sourceLocNo),locSts);
+ //鏇存柊鐩爣绔欑偣鐘舵��
+ //locSts = ioType == 101 ? "S" : "Q";
+ updateAgvBasDevp(agvBasDevpService.selectById(targetLocNo),"S",Short.valueOf(containerCode.substring(0,2)),containerCode);
});
}
@@ -243,7 +319,7 @@
List<TaskDto> taskDtos = new ArrayList<>();
param.getLocDetls().forEach(locDetl -> {
- LocDto locDto = new LocDto(locDetl.getLocNo(),locDetl.getCount(),locDetl.getMatnr(),locDetl.getBatch(),locDetl.getThreeCode(),locDetl.getDeadTime(),locDetl.getSuppCode());
+ LocDto locDto = new LocDto(locDetl.getLocNo(),locDetl.getCount(),locDetl.getMatnr(),locDetl.getBatch(),locDetl.getThreeCode(),locDetl.getDeadTime(),locDetl.getSuppCode(), locDetl.getProcessSts());
TaskDto taskDto = new TaskDto(locDetl.getLocNo(),station,locDto);
if(TaskDto.has(taskDtos,taskDto)){
TaskDto.find(taskDtos,taskDto).getLocDtos().add(locDto);
@@ -277,7 +353,8 @@
now,
userId,
locDto.getCsocode(),
- locDto.getIsoseq());
+ locDto.getIsoseq(),
+ locDto.getProcessSts());
});
updateAgvLocMast(agvLocMastService.selectById(wrkMast.getSourceLocNo()),"P");
//鏇存柊鐩爣绔欑偣鐘舵��
@@ -308,7 +385,7 @@
//鐢熸垚绉诲簱宸ヤ綔妗�
AgvWrkMast wrkMast = createWrkMast(11, 21L, sourceLocNo, targetLocNo, sourceLocDetl.getSuppCode(), now, userId,getContainerTypeByloc(sourceLocNo));
//鐢熸垚宸ヤ綔鍏氭槑缁�
- createWrkDetlReWrite(sourceLocDetl.getMatnr(),wrkMast.getWrkNo(),null,sourceLocDetl.getBatch(),sourceLocDetl.getAnfme(),sourceLocDetl.getZpallet(),now,userId,sourceLocDetl.getThreeCode(),sourceLocDetl.getDeadTime());
+ createWrkDetlReWrite(sourceLocDetl.getMatnr(),wrkMast.getWrkNo(),null,sourceLocDetl.getBatch(),sourceLocDetl.getAnfme(),sourceLocDetl.getZpallet(),now,userId,sourceLocDetl.getThreeCode(),sourceLocDetl.getDeadTime(),sourceLocDetl.getProcessSts());
//淇敼鐩爣搴撲綅鐘舵��
updateAgvLocMast(targetLocMast,"S");
//淇敼鍘熷簱浣嶇姸鎬�
@@ -362,6 +439,8 @@
locType = 4;
} else if (containerType == 20 && agvBasDevp.getFloor() == 3) {
locType = 2;
+ } else if (containerType == 30) {
+ locType = 3;
} else {
locType = agvBasDevp.getLocType1();
}
@@ -385,8 +464,10 @@
if(!Cools.isEmpty(agvWaitPakinList)){
AtomicBoolean isCurrLev = new AtomicBoolean(false);
agvWaitPakinList.forEach(agvWaitPakin -> {
- if (agvWaitPakin.getProcessSts() == 1) {
- isCurrLev.set(true);
+ if (!Cools.isEmpty(agvWaitPakin.getProcessSts())) {
+ if (agvWaitPakin.getProcessSts() == 1) {
+ isCurrLev.set(true);
+ }
}
});
if (isCurrLev.get()) {
@@ -800,6 +881,7 @@
}
}else {
+ agvLocMastService.updateLocStsByLocNo(locNo,"D",wrkMast.getBarcode(),wrkMast.getWhsType().shortValue());
agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"O","",null);
}
} else if (wrkMast.getIoType() == 113) {
--
Gitblit v1.9.1