From 560061f07be81dd4436f940b26a4cb26941a4201 Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期三, 12 六月 2024 17:12:16 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java | 3 +
src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java | 18 +++++++++
src/main/java/com/zy/asrs/controller/AgvMobileController.java | 9 ++++
src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java | 58 ++++++++++++++++++++++++++++
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java | 3 +
src/main/java/com/zy/common/model/LocDto.java | 11 +++++
src/main/java/com/zy/asrs/controller/OutController.java | 4 +-
src/main/java/com/zy/asrs/service/AgvMobileService.java | 5 ++
8 files changed, 106 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/AgvMobileController.java b/src/main/java/com/zy/asrs/controller/AgvMobileController.java
index 030e574..6b12669 100644
--- a/src/main/java/com/zy/asrs/controller/AgvMobileController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvMobileController.java
@@ -542,6 +542,15 @@
return R.ok();
}
+ @PostMapping("/hand/control/processed")
+ @Transactional
+ @ManagerAuth(memo = "纭鍔犲伐瀹屾垚")
+ @Synchronized
+ public R processed(@RequestBody AgvMobileStartPakin param){
+ agvMobileService.processed(param, getUserId());
+ return R.ok();
+ }
+
public static void main(String[] args) {
List<AgvLocDetl> agvLocDetls1 = new ArrayList<>();
List<AgvLocDetl> agvLocDetls2 = new ArrayList<>();
diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java
index 8628b88..425cdb0 100644
--- a/src/main/java/com/zy/asrs/controller/OutController.java
+++ b/src/main/java/com/zy/asrs/controller/OutController.java
@@ -84,7 +84,7 @@
if (issued <= 0.0D) { continue; }
issued = locDetlService.queryStockAndSetLocDto1(orderDetl.getMatnr(),orderDetl.getBatch(),orderDetl.getOrderNo(),locDtoList,issued,orderDetl.getThreeCode(),orderDetl.getDeadTime());
if (issued > 0) {
- LocDto locDto = new LocDto(null, orderDetl.getMatnr(), orderDetl.getMaktx(), orderDetl.getBatch(), orderDetl.getOrderNo(), issued);
+ LocDto locDto = new LocDto(null, orderDetl.getMatnr(), orderDetl.getMaktx(), orderDetl.getBatch(), orderDetl.getOrderNo(), issued,orderDetl.getProcessSts());
locDto.setLack(Boolean.TRUE);
locDtoList.add(locDto);
}
@@ -101,7 +101,7 @@
//issued = locDetlService.queryStockAndSetLocDto(orderDetl.getMatnr(),orderDetl.getBatch(),orderDetl.getOrderNo(),locDtoList,issued,orderDetl.getThreeCode(),orderDetl.getDeadTime());
if (issued > 0) {
- LocDto locDto = new LocDto(null, orderDetl.getMatnr(), orderDetl.getMaktx(), orderDetl.getBatch(), orderDetl.getOrderNo(), issued);
+ LocDto locDto = new LocDto(null, orderDetl.getMatnr(), orderDetl.getMaktx(), orderDetl.getBatch(), orderDetl.getOrderNo(), issued,orderDetl.getProcessSts());
locDto.setLack(Boolean.TRUE);
locDtoList.add(locDto);
}
diff --git a/src/main/java/com/zy/asrs/service/AgvMobileService.java b/src/main/java/com/zy/asrs/service/AgvMobileService.java
index 8dc32f4..7e7db3d 100644
--- a/src/main/java/com/zy/asrs/service/AgvMobileService.java
+++ b/src/main/java/com/zy/asrs/service/AgvMobileService.java
@@ -59,6 +59,11 @@
String handBack(AgvMobileStartPakin param, Long userId);
/**
+ * 纭鍔犲伐瀹屾垚
+ */
+ String processed(AgvMobileStartPakin param, Long userId);
+
+ /**
* 绌烘灦绂诲満
*/
String empOut(AgvMobileStartPakin param, Long userId);
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java
index 9e7dff0..f835a93 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java
@@ -86,10 +86,11 @@
String orderNoWrkDtel = Utils.getOrderNo(orderNo,anfme);
//鏇存柊璁㈠崟鏁伴噺
orderNo = Utils.orderMergeUpdate(orderNo,anfme);
- LocDto locDto = new LocDto(agvLocDetl.getLocNo(), agvLocDetl.getMatnr(), agvLocDetl.getMaktx(), agvLocDetl.getBatch(), orderNoWrkDtel, anfme);
+ LocDto locDto = new LocDto(agvLocDetl.getLocNo(), agvLocDetl.getMatnr(), agvLocDetl.getMaktx(), agvLocDetl.getBatch(), orderNoWrkDtel, anfme,agvLocDetl.getProcessSts());
locDto.setCsocode(csocode);
locDto.setIsoseq(isoseq);
locDto.setContainerCode(agvLocDetl.getSuppCode());
+ locDto.setProcessSts(agvLocDetl.getProcessSts());
//褰撳墠搴撲綅鎵�澶勬ゼ灞�
int floor = Integer.parseInt(agvLocDetl.getLocNo().split("F")[1]);
//locDto.setAgvStaNos(queryAgvStaNosByFloor(floor));
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
index 0a596ab..f31eea5 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
@@ -644,7 +644,7 @@
return "ok";
}
/*
- * 绔欑偣鍥為��
+ * 杞墜鍔ㄥ洖娴�
*/
@Override
@Transactional
@@ -661,6 +661,62 @@
}
/*
+ * 纭鍔犲伐瀹屾垚
+ */
+ @Override
+ @Transactional
+ public String processed(AgvMobileStartPakin param, Long userId) {
+ Date now = new Date();
+ AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode", param.getBarcode()).eq("loc_no", param.getDevNo()));
+ if (Cools.isEmpty(agvWrkMast)) {
+ throw new CoolException("鏆傛棤褰撳墠璐ф灦鐨勫伐浣滄。");
+ }
+ if (agvWrkMast.getWrkSts() != 205) {
+ throw new CoolException("褰撳墠浠诲姟鏈畬鎴愶紝璇风‘璁�");
+ }
+ //鐢熸垚AGV宸ヤ綔鍘嗗彶妗� + 鐢熸垚AGV宸ヤ綔鏄庣粏鍘嗗彶妗�
+ agvWrkMastLogService.save(agvWrkMast);
+ agvWrkDetlLogService.save(agvWrkMast.getWrkNo());
+ String sourceLocNo = agvWrkMast.getSourceLocNo();
+ AgvLocMast newLocMast = agvCommonService.getLocNo(3, 1,false,false);
+ agvWrkMast.setSourceLocNo(agvWrkMast.getLocNo());
+ agvWrkMast.setLocNo(newLocMast.getLocNo());
+ agvWrkMast.setIoType(57);
+ agvWrkMast.setWrkSts(201L);
+ agvWrkMast.setModiUser(userId);
+ agvWrkMast.setModiTime(now);
+
+
+
+ if (!agvWrkMastService.update(agvWrkMast,new EntityWrapper<AgvWrkMast>().eq("wrk_no",agvWrkMast.getWrkNo()))) {
+ throw new CoolException("鏇存柊宸ヤ綔妗eけ璐�");
+ }
+
+ // 鏇存柊婧愮珯鐐� + 鐩爣搴撲綅鐘舵�� + 鍘嗗彶婧愬簱浣�
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(param.getDevNo(),"R",param.getBarcode(),agvWrkMast.getWhsType().shortValue());
+ agvLocMastService.updateLocStsByLocNo(newLocMast.getLocNo(),"S",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
+ agvLocMastService.updateLocStsByLocNo(sourceLocNo,"O","",(short)30);
+ agvLocDetlService.delete(new EntityWrapper<AgvLocDetl>().eq("loc_no",sourceLocNo));
+
+ List<AgvWrkDetl> agvWrkDetls = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("supp_code",param.getBarcode()));
+ agvWrkDetls.forEach(agvWrkDetl -> {
+ agvWrkDetl.setProcessSts(2);
+ agvWrkDetl.setOrderNo(agvWrkDetl.getOrderNo().substring(2));
+ agvWrkDetl.setModiUser(userId);
+ agvWrkDetl.setModiTime(now);
+ if (!agvWrkDetlService.update(agvWrkDetl,new EntityWrapper<AgvWrkDetl>()
+ .eq("matnr",agvWrkDetl.getMatnr())
+ .eq("three_code",agvWrkDetl.getThreeCode())
+ .eq("supp_code",param.getBarcode()))) {
+ throw new CoolException("鏇存柊宸ヤ綔鏄庣粏澶辫触");
+ }
+ });
+ return "ok";
+ }
+
+
+
+ /*
* 绔欑偣鍥為��
*/
@Override
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 8d6e68a..b1196b0 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -255,7 +255,7 @@
updateAgvLocMast(agvLocMastService.selectById(sourceLocNo),locSts);
//鏇存柊鐩爣绔欑偣鐘舵��
//locSts = ioType == 101 ? "S" : "Q";
- updateAgvBasDevp(agvBasDevpService.selectById(targetLocNo),"S");
+ updateAgvBasDevp(agvBasDevpService.selectById(targetLocNo),"S",Short.valueOf(containerCode.substring(0,2)),containerCode);
});
}
@@ -881,6 +881,7 @@
}
}else {
+ agvLocMastService.updateLocStsByLocNo(locNo,"D",wrkMast.getBarcode(),wrkMast.getWhsType().shortValue());
agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"O","",null);
}
} else if (wrkMast.getIoType() == 113) {
diff --git a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
index 4436169..00aaa3e 100644
--- a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
@@ -119,6 +119,24 @@
agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue());
break;
+ case 57:
+ Date now = new Date();
+ // 鏇存柊搴撳瓨鏄庣粏
+ List<AgvWrkDetl> wrkDetlList = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", agvWrkMast.getWrkNo()));
+ wrkDetlList.forEach(agvWrkDetl -> {
+ AgvLocDetl agvLocDetl = new AgvLocDetl();
+ agvLocDetl.setLocNo(agvWrkMast.getLocNo());
+ agvLocDetl.sync(agvWrkDetl);
+ agvLocDetl.setModiTime(now);
+ agvLocDetl.setAppeTime(now);
+ if (!agvLocDetlService.insert(agvLocDetl)) {
+ throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
+ }
+ });
+ // 鏇存柊绔欑偣 + 搴撲綅鐘舵�� 婧愬簱浣嶆槸绔欑偣
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue());
+ agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
+ break;
case 58:
agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue());
diff --git a/src/main/java/com/zy/common/model/LocDto.java b/src/main/java/com/zy/common/model/LocDto.java
index 3ef4adb..38c5d0c 100644
--- a/src/main/java/com/zy/common/model/LocDto.java
+++ b/src/main/java/com/zy/common/model/LocDto.java
@@ -95,6 +95,17 @@
this.anfme = anfme;
}
+
+ public LocDto(String locNo, String matnr, String maktx, String batch, String orderNo, Double anfme,Integer processSts) {
+ this.locNo = locNo;
+ this.matnr = matnr;
+ this.maktx = maktx;
+ this.batch = batch;
+ this.orderNo = orderNo;
+ this.anfme = anfme;
+ this.processSts = processSts;
+ }
+
public String getTitle() {
return this.matnr + "锛�" + this.maktx + "锛�";
}
--
Gitblit v1.9.1