From 0e9c60905511ddfa755f9579f35ee4b154703e4d Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期四, 30 五月 2024 10:44:56 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java | 86 +++++++++++++++++++++++++++++++++++++++++--
1 files changed, 82 insertions(+), 4 deletions(-)
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 7979ca5..4e6e753 100644
--- a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
@@ -17,6 +17,7 @@
import org.springframework.transaction.annotation.Transactional;
import java.io.IOException;
+import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@@ -69,7 +70,18 @@
agvWrkMastService.updateById(agvWrkMast);
// 绌烘澘鍏ュ簱 璁剧疆搴撲綅鐘舵�佷负D.绌烘《/绌烘爤鏉�
String locSts = agvWrkMast.getIoType() == 10 ? "D" : "F";
- agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),locSts,agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
+ if (agvWrkMast.getIoType() == 10 || agvWrkMast.getIoType() == 109 ) {
+ // 搴撲綅 -- 鎺ラ┏浣� / 搴撲綅
+ if (agvWrkMast.getIoType() == 109 && agvWrkMast.getLocNo().substring(0,2).equals("DB")) {
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
+ // 鎺ラ┏浣� -- 搴撲綅
+ } else {
+ agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"D",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
+ }
+ } else {
+ agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
+ }
+
//鐢熸垚AGV宸ヤ綔鍘嗗彶妗�
agvWrkMastLogService.save(agvWrkMast);
//鐢熸垚AGV宸ヤ綔鏄庣粏鍘嗗彶妗�
@@ -86,20 +98,36 @@
agvWaitPakinService.delete(new EntityWrapper<AgvWaitPakin>().eq("supp_code",barcode));
}
//绫诲瀷涓哄簱浣嶇Щ杞椂
- if(agvWrkMast.getIoType() == 11){
+ if(agvWrkMast.getIoType() == 11 || agvWrkMast.getIoType() == 12){
//鏇存柊搴撳瓨鏄庣粏
agvLocDetlService.updateStock(agvWrkMast.getSourceLocNo(),agvWrkMast.getLocNo());
//淇敼婧愬簱浣嶇姸鎬佷负O
agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",null);
}
- //绫诲瀷涓鸿皟鎷ㄥ簱浣嶇Щ杞椂
+ //绫诲瀷涓哄簱浣嶇Щ杞椂
if(agvWrkMast.getIoType() == 108){
//鏇存柊搴撳瓨鏄庣粏
agvLocDetlService.updateStock(agvWrkMast.getSourceLocNo(),agvWrkMast.getLocNo());
//淇敼婧愬簱浣嶇姸鎬佷负O
- agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",null);
+ agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue(),"",(short)0);
}
+
+ if(agvWrkMast.getIoType() == 109){
+ // 鎺ラ┏浣� -- 搴撲綅
+ if (agvWrkMast.getSourceLocNo().substring(0,2).equals("DB")) {
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(),"O","",(short)0);
+ // 搴撲綅 -- 鎺ラ┏浣� / 搴撲綅
+ } else {
+ //淇敼婧愬簱浣嶇姸鎬佷负O
+ agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue(),"",(short)0);
+ }
+ }
+ if (agvWrkMast.getIoType() == 58) {
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue());
+ }
+
+
//鍒犻櫎AGV宸ヤ綔妗�
agvWrkMastService.deleteById(wrkNo);
@@ -225,6 +253,19 @@
}
+ @Transactional
+ @Synchronized
+ public ReturnT<String> startAllcationIn(AgvWrkMast agvWrkMast) throws IOException {
+
+ //涓嬪彂浠诲姟
+ int startWrkCode = agvWrkMastService.startAllcationIn(agvWrkMast);
+ if(startWrkCode != 0){
+ throw new CoolException("浠诲姟涓嬪彂澶辫触");
+ }
+ return SUCCESS;
+
+ }
+
// @Transactional
// public ReturnT<String> startCarryWrk(AgvWrkMast agvWrkMast) throws IOException {
// //log.info(agvWrkMastList.toString());
@@ -312,4 +353,41 @@
return num <= maxWrokNum;
}).collect(Collectors.toList());
}
+
+ /*
+ 鐢熸垚宸ヤ綔妗�
+ */
+ private AgvWrkMast createWrkMast(int ioType, long wrkSts, String sourceLocNo, String locNo, String barcode, Date now, Long userId, int containerType, int floor){
+ AgvWrkMast wrkMast = new AgvWrkMast();
+ //宸ヤ綔鐘舵��
+ wrkMast.setWrkSts(wrkSts);
+ //鍏ュ嚭搴撶被鍨�
+ wrkMast.setIoType(ioType);
+ wrkMast.setIoTime(now);
+ //浼樺厛绾�
+ wrkMast.setIoPri(300.0);
+ //婧愮珯鐐�
+ wrkMast.setSourceLocNo(sourceLocNo);
+ //鐩爣绔欑偣
+ wrkMast.setLocNo(locNo);
+ //璐ф灦缂栫爜
+ wrkMast.setBarcode(barcode);
+ //璐ф灦绫诲瀷
+ wrkMast.setWhsType(containerType);
+ // 鐩爣妤煎眰
+ wrkMast.setCrnNo(floor);
+
+ wrkMast.setAppeUser(userId);
+ wrkMast.setAppeTime(now);
+ wrkMast.setModiUser(userId);
+ wrkMast.setModiTime(now);
+
+ if (!agvWrkMastService.insertByIncrease(wrkMast)) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+ }
+
+ wrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", locNo).eq("source_loc_no",sourceLocNo).eq("barcode",barcode).orderBy("modi_time",false));
+
+ return wrkMast;
+ }
}
--
Gitblit v1.9.1