From 43efe016c156158b9fc3a8b647810f612fb126e6 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期二, 02 九月 2025 11:39:52 +0800
Subject: [PATCH] 自动补货单新增 1.订单中只能生成两笔自动补货单 2.CTU库是否有足够的空库位,空库位数需要大于100才会生成自动补货单 3.在补货时加上订单明细的数量进行判断
---
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java | 29 +++++++++++++++++++----------
1 files changed, 19 insertions(+), 10 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 3042627..0697692 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -96,7 +96,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.getProddate(),wp.getDeadline());
});
//鏇存柊婧愮珯鐐逛俊鎭�
updateAgvBasDevp(agvBasDevp,"R");
@@ -148,7 +148,9 @@
now,
userId,
locDto.getCsocode(),
- locDto.getIsoseq());
+ locDto.getIsoseq(),
+ locDto.getProddate(),
+ locDto.getDeadline());
}else {
List<OrderDto> orderDtoList = JSON.parseArray(locDto.getOrderNo(), OrderDto.class);
orderDtoList.forEach(orderDto -> {
@@ -162,7 +164,9 @@
now,
userId,
locDto.getCsocode(),
- locDto.getIsoseq());
+ locDto.getIsoseq(),
+ locDto.getProddate(),
+ locDto.getDeadline());
});
}
@@ -245,7 +249,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.getProddate(),locDetl.getDeadline());
TaskDto taskDto = new TaskDto(locDetl.getLocNo(),station,locDto);
if(TaskDto.has(taskDtos,taskDto)){
TaskDto.find(taskDtos,taskDto).getLocDtos().add(locDto);
@@ -277,7 +281,9 @@
now,
userId,
locDto.getCsocode(),
- locDto.getIsoseq());
+ locDto.getIsoseq(),
+ locDto.getProddate(),
+ locDto.getDeadline());
});
updateAgvLocMast(agvLocMastService.selectById(wrkMast.getSourceLocNo()),"P");
//鏇存柊鐩爣绔欑偣鐘舵��
@@ -307,7 +313,7 @@
//鐢熸垚绉诲簱宸ヤ綔妗�
AgvWrkMast wrkMast = createWrkMast(11, 21L, sourceLocNo, targetLocNo, sourceLocDetl.getSuppCode(), now, userId,false);
//鐢熸垚宸ヤ綔鍏氭槑缁�
- 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.getProddate(),sourceLocDetl.getDeadline());
//淇敼鐩爣搴撲綅鐘舵��
updateAgvLocMast(targetLocMast,"S");
//淇敼鍘熷簱浣嶇姸鎬�
@@ -536,11 +542,13 @@
}
//鎷f枡鍏ュ簱 鐩樼偣鍏ュ簱涓嶅彲鍙栨秷
if(wrkMast.getIoType() == 53 || wrkMast.getIoType() == 57){
- throw new CoolException("褰撳墠浠诲姟涓嶅彲鍙栨秷");
+ if (userId != 9527) {
+ throw new CoolException("褰撳墠浠诲姟涓嶅彲鍙栨秷");
+ }
}
//鍏ュ簱鍙栨秷
- if(wrkMast.getIoType() == 1 || wrkMast.getIoType() == 10){
+ if(wrkMast.getIoType() == 1 || wrkMast.getIoType() == 10 || wrkMast.getIoType() == 53 || wrkMast.getIoType() == 57){
//婧愮珯鐐�
String devNo = wrkMast.getSourceLocNo();
//鐩爣搴撲綅
@@ -637,7 +645,7 @@
/*
鐢熸垚宸ヤ綔妗f槑缁�
*/
- private void createWrkDetlReWrite(String matnr, int wrkNo, String orderNo,String batch, double anfme, String zpallet, Date now, Long userId, String csocode, String isoseq){
+ private void createWrkDetlReWrite(String matnr, int wrkNo, String orderNo,String batch, double anfme, String zpallet, Date now, Long userId, String csocode, String isoseq,Date proddate,Date deadline){
Mat mat = matService.selectByMatnr(matnr);
if (Cools.isEmpty(mat)) {
throw new CoolException(matnr + "鍟嗗搧缁存姢澶辫触");
@@ -654,7 +662,8 @@
wrkDetl.setAppeTime(now);
wrkDetl.setModiUser(userId);
wrkDetl.setModiTime(now);
-
+ wrkDetl.setProddate(proddate);
+ wrkDetl.setDeadline(deadline);
wrkDetl.setThreeCode(csocode);
wrkDetl.setDeadTime(isoseq);
if (!agvWrkDetlService.insert(wrkDetl)) {
--
Gitblit v1.9.1