From 3f30983db5b3cd2b25cb215579501a2ef134883c Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期五, 04 八月 2023 17:00:11 +0800
Subject: [PATCH] agv 订单出库功能完善
---
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 54 insertions(+), 3 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 8560782..f5ea49e 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -105,13 +105,14 @@
agvTaskDtos.forEach(taskDto -> {
AgvLocMast agvLocMast = agvLockMastService.selectById(taskDto.getLocNo());
+ AgvLocDetl agvLocDetl = agvLocDetlService.selectOne(new EntityWrapper<AgvLocDetl>().eq("loc_no", taskDto.getLocNo()));
//宸ヤ綔妗f墍闇�鍙傛暟
double anfme = taskDto.getLocDtos().get(0).getAnfme();
long wrkSts = 21L;
String sourceLocNo = taskDto.getLocNo();
String targetLocNo = taskDto.getAgvStaNo();
- String barcode = agvLocMast.getBarcode();
+ String barcode = agvLocDetl.getZpallet();
//鏄庣粏妗f墍闇�鍙傛暟
String mantr = taskDto.getLocDtos().get(0).getMatnr();
String orderNo = taskDto.getLocDtos().get(0).getOrderNo();
@@ -126,9 +127,45 @@
//淇敼璁㈠崟淇℃伅
modifyOrderDetl(taskDto.getLocDtos().get(0), userId);
//鏇存柊婧愮珯鐐逛俊鎭�
- updateAgvLocMast(agvLockMastService.selectById(sourceLocNo),"R");
+ String locSts = ioType == 101 ? "R" : "P";
+ updateAgvLocMast(agvLockMastService.selectById(sourceLocNo),locSts);
//鏇存柊鐩爣绔欑偣鐘舵��
+ //locSts = ioType == 101 ? "S" : "Q";
updateAgvBasDevp(agvBasDevpService.selectById(targetLocNo),"S");
+
+ });
+ }
+
+ //鎷f枡鍏ュ簱
+ @Transactional
+ public void pickIn(List<AgvWrkMast> agvWrkMastList){
+ Date now = new Date();
+ agvWrkMastList.forEach(agvWrkMast -> {
+ //淇敼宸ヤ綔鍏�
+ agvWrkMast.setWrkSts(201L);
+ agvWrkMast.setIoType(53);
+ String locNo = agvWrkMast.getLocNo();
+ agvWrkMast.setLocNo(agvWrkMast.getSourceLocNo());
+ agvWrkMast.setSourceLocNo(locNo);
+ agvWrkMast.setIoTime(now);
+ agvWrkMastService.updateById(agvWrkMast);
+
+ AgvWrkDetl agvWrkDetl = agvWrkDetlService.selectOne(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", agvWrkMast.getWrkNo()));
+ AgvLocMast agvLocMast = agvLockMastService.selectById(agvWrkMast.getLocNo());
+ AgvLocDetl agvLocDetl = agvLocDetlService.selectOne(new EntityWrapper<AgvLocDetl>().eq("loc_no",agvLocMast.getLocNo()));
+ AgvBasDevp agvBasDevp = agvBasDevpService.selectById(agvWrkMast.getSourceLocNo());
+ //淇敼宸ヤ綔鍏氭槑缁�
+ agvWrkDetl.setAnfme(agvLocDetl.getAnfme() - agvWrkDetl.getAnfme());
+ agvWrkDetlService.update(agvWrkDetl,new EntityWrapper<AgvWrkDetl>().eq("wrk_no",agvWrkDetl.getWrkNo()));
+ //淇敼搴撳瓨淇℃伅
+ agvLocDetl.setAnfme(agvWrkDetl.getAnfme());
+ agvLocDetlService.update(agvLocDetl,new EntityWrapper<AgvLocDetl>().eq("loc_no",agvLocDetl.getLocNo()));
+ //淇敼搴撲綅淇℃伅
+ agvLocMast.setLocSts("Q");
+ agvLockMastService.selectById(agvLocMast);
+ //淇敼绔欑偣淇℃伅
+ agvBasDevp.setLocSts("R");
+ agvBasDevpService.updateById(agvBasDevp);
});
}
@@ -309,12 +346,26 @@
}else {
//鍚堝苟鍑哄簱
List<OrderDto> orderDtoList = JSON.parseArray(locDto.getOrderNo(), OrderDto.class);
+
+ //瀹為檯鍑哄簱鏁伴噺
+ Double locAnfme = locDto.getAnfme();
+ //璁㈠崟瀹為檯鍑哄簱鏁伴噺
+ Double orderAnfme;
+
for (OrderDto orderDto : orderDtoList) {
OrderDetl orderDetl = orderDetlService.selectItem(orderDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
if (orderDetl == null) {
orderDetl = orderDetlService.selectItem(orderDto.getOrderNo(), locDto.getMatnr(), null);
}
- if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDto.getAnfme())) {
+
+ if(locAnfme > orderDetl.getAnfme()){
+ orderAnfme = orderDetl.getAnfme();
+ locAnfme -= orderAnfme;
+ }else {
+ orderAnfme = locAnfme;
+ }
+
+ if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), orderAnfme)) {
throw new CoolException("淇敼璁㈠崟鏄庣粏鏁伴噺澶辫触");
}
orderService.updateSettle(orderDetl.getOrderId(), 2L, userId);
--
Gitblit v1.9.1