From fce34ab8e1453d7376de56eca7eff01576e62745 Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期六, 18 五月 2024 16:52:23 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java | 1
src/main/java/com/zy/common/service/AgvCommonService.java | 2
src/main/java/com/zy/asrs/controller/AgvMobileController.java | 83 ++++++++++++++++++---------
src/main/java/com/zy/asrs/mapper/AgvWrkMastMapper.java | 3
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java | 10 ++-
src/main/java/com/zy/asrs/task/AutoMoveScheduler.java | 36 ++++++++++++
src/main/webapp/static/js/agvWrkMast/wrkMast.js | 7 +-
src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java | 38 ++++++++++++
8 files changed, 144 insertions(+), 36 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/AgvMobileController.java b/src/main/java/com/zy/asrs/controller/AgvMobileController.java
index 6dd8c54..c8e678a 100644
--- a/src/main/java/com/zy/asrs/controller/AgvMobileController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvMobileController.java
@@ -41,6 +41,8 @@
private AgvLocDetlService agvLocDetlService;
@Autowired
private AgvWrkMastService agvWrkMastService;
+ @Autowired
+ private AgvWrkDetlService agvWrkDetlService;
/*
@@ -416,36 +418,23 @@
}
for (HashMap<String, String> map : dbList) {
String locNo = map.get("locNo");
- String barcode = map.get("barcode");
- //鐢熸垚宸ヤ綔妗�
- AgvWrkMast mast = new AgvWrkMast();
- //宸ヤ綔鐘舵��
- mast.setWrkSts(22L);
- //鍏ュ嚭搴撶被鍨�
- mast.setIoType(ioType);
- mast.setIoTime(now);
- //浼樺厛绾�
- mast.setIoPri(300.0);
- //婧愮珯鐐�
- mast.setSourceLocNo(locNo);
- //鐩爣绔欑偣
- mast.setLocNo("");
- //瀹瑰櫒缂栫爜
- mast.setBarcode(barcode);
- //瀹瑰櫒绫诲瀷
- mast.setWhsType(30);
- // 鐩爣妤煎眰
- mast.setCrnNo(floor);
- mast.setAppeUser(getUserId());
- mast.setAppeTime(now);
- mast.setModiUser(getUserId());
- mast.setModiTime(now);
- if (!agvWrkMastService.insertByIncrease(mast)) {
- throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
- }
+ String barcode = map.get("suppCode");
+ AgvWrkMast wrkMast = createWrkMast(ioType, 22L, locNo, "", barcode, now, getUserId(), 30,floor);
// 鍚屾璋冩嫧鍗�
List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo));
for (AgvLocDetl agvLocDetl : agvLocDetls) {
+ AgvWrkDetl wrkDetl = new AgvWrkDetl();
+ wrkDetl.setWrkNo(wrkMast.getWrkNo());
+ wrkDetl.sync(agvLocDetl);
+ wrkDetl.setSuppCode(agvLocDetl.getSuppCode());
+ wrkDetl.setIoTime(now);
+ wrkDetl.setAppeUser(getUserId());
+ wrkDetl.setAppeTime(now);
+ wrkDetl.setModiUser(getUserId());
+ wrkDetl.setModiTime(now);
+ if (!agvWrkDetlService.insert(wrkDetl)) {
+ throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
+ }
// 鏇存柊璁㈠崟
OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no", "DB" + agvLocDetl.getOrderNo()).eq("matnr", agvLocDetl.getMatnr()).eq("three_code",agvLocDetl.getThreeCode()));
orderDetl.setQty(orderDetl.getQty() + agvLocDetl.getAnfme());
@@ -454,7 +443,9 @@
}
}
// 鏇存柊婧愬簱浣�
-
+ AgvLocMast locMast = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", locNo));
+ locMast.setLocSts("R");
+ agvLocMastService.updateById(locMast);
}
return R.ok();
}
@@ -501,5 +492,41 @@
System.out.println(agvLocDetls22.equals(agvLocDetls2));
}
+ /*
+ 鐢熸垚宸ヤ綔妗�
+ */
+ 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));
+
+ return wrkMast;
+ }
}
diff --git a/src/main/java/com/zy/asrs/mapper/AgvWrkMastMapper.java b/src/main/java/com/zy/asrs/mapper/AgvWrkMastMapper.java
index edb28d1..c0fd131 100644
--- a/src/main/java/com/zy/asrs/mapper/AgvWrkMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/AgvWrkMastMapper.java
@@ -14,13 +14,14 @@
"io_pri," +
"source_loc_no," +
"loc_no," +
+ "crn_no," +
"barcode," +
"whs_type," +
"appe_user," +
"appe_time," +
"modi_user," +
"modi_time) " +
- "VALUES(#{wrkSts},#{ioType},#{ioTime},#{ioPri},#{sourceLocNo},#{locNo},#{barcode},#{whsType},#{appeUser},#{appeTime},#{modiUser},#{modiTime})")
+ "VALUES(#{wrkSts},#{ioType},#{ioTime},#{ioPri},#{sourceLocNo},#{locNo},#{crnNo},#{barcode},#{whsType},#{appeUser},#{appeTime},#{modiUser},#{modiTime})")
public int insertByIncrease(AgvWrkMast agvWrkMast);
}
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 a5cd6e2..bbc5f3e 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -564,7 +564,7 @@
agvWrkMastService.updateWrkStsByWrkNo(wrkMast.getWrkNo(),205);
//鍑哄簱浠诲姟 101.鍑哄簱 || 103.鎷f枡鍑哄簱 || 107.鐩樼偣鍑哄簱
- if(wrkMast.getIoType() == 101 || wrkMast.getIoType() == 103 || wrkMast.getIoType() == 107){
+ if(wrkMast.getIoType() == 101 || wrkMast.getIoType() == 103 || wrkMast.getIoType() == 107 || wrkMast.getIoType() == 111){
//淇敼鍑哄簱绔欑偣鐘舵��
agvBasDevpService.updateLocStsAndBarcodeByDevNo(wrkMast.getLocNo(),"F",wrkMast.getBarcode(),wrkMast.getWhsType().shortValue());
}
@@ -616,9 +616,13 @@
String targetLocNo = wrkMast.getLocNo();
agvLocMastService.updateLocStsByLocNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo),"",(short)0);
if (wrkMast.getIoType() == 108) {
- agvLocMastService.updateLocStsByLocNo(targetLocNo,"O","",null);
+ if (wrkMast.getWrkSts() != 22) {
+ agvLocMastService.updateLocStsByLocNo(targetLocNo,"O","",null);
+ }
} else {
- agvBasDevpService.updateLocStsAndBarcodeByDevNo(targetLocNo,"O","",wrkMast.getWhsType().shortValue());
+ if (wrkMast.getWrkSts() != 22) {
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(targetLocNo,"O","",wrkMast.getWhsType().shortValue());
+ }
}
List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo));
diff --git a/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java b/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
index 38491e9..df8b0c4 100644
--- a/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
+++ b/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
@@ -79,6 +79,7 @@
}
}
+
/*
瀹氭椂澶勭悊AGV宸ヤ綔妗d腑宸ヤ綔鐘舵�佷负206.鍑哄簱瀹屾垚 涓� (101.鍑哄簱 || 110.绌烘澘鍑哄簱)
*/
diff --git a/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java b/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java
index c1d9027..a5825d4 100644
--- a/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java
+++ b/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java
@@ -3,7 +3,9 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.zy.asrs.entity.AgvLocMast;
+import com.zy.asrs.entity.AgvWrkMast;
import com.zy.asrs.service.AgvLocMastService;
+import com.zy.asrs.service.AgvWrkMastService;
import com.zy.asrs.task.core.ReturnT;
import com.zy.asrs.task.handler.AutoMoveHandler;
import org.springframework.beans.factory.annotation.Autowired;
@@ -21,6 +23,8 @@
private AgvLocMastService agvLocMastService;
@Autowired
private AutoMoveHandler autoMoveHandler;
+ @Autowired
+ private AgvWrkMastService agvWrkMastService;
// 璋冩嫧鍑哄簱
@Scheduled(cron = "0/2 * * * * ? ")
@@ -40,6 +44,38 @@
}
+ // 璋冩嫧鍑哄簱
+ @Scheduled(cron = "0/2 * * * * ? ")
+ private void execute2(){
+ List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>()
+ .eq("wrk_sts", 22)
+ .andNew().eq("io_type",108)
+ );
+ if (agvWrkMastList.isEmpty()) {
+ return;
+ }
+ for (AgvWrkMast agvWrkMast : agvWrkMastList) {
+ ReturnT<String> returnT = autoMoveHandler.start2(agvWrkMast);
+ }
+
+ }
+
+ // 璋冩嫧鍑哄簱
+ @Scheduled(cron = "0/2 * * * * ? ")
+ private void execute3(){
+ List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>()
+ .eq("wrk_sts", 22)
+ .andNew().eq("io_type",111)
+ );
+ if (agvWrkMastList.isEmpty()) {
+ return;
+ }
+ for (AgvWrkMast agvWrkMast : agvWrkMastList) {
+ ReturnT<String> returnT = autoMoveHandler.start3(agvWrkMast);
+ }
+
+ }
+
// 绌烘澘鑷姩鍥炲簱
@Scheduled(cron = "0/2 * * * * ? ")
private void autoEmptyBack(){
diff --git a/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java b/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java
index 1aca5fd..73a5e0a 100644
--- a/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java
@@ -45,6 +45,17 @@
return SUCCESS;
}
+ public ReturnT<String> start2(AgvWrkMast agvWrkMast) {
+ // locType 1. 鑷姩锛� 2. 鎵嬪姩
+ doAutoMove2(agvWrkMast);
+ return SUCCESS;
+ }
+ public ReturnT<String> start3(AgvWrkMast agvWrkMast) {
+ // locType 1. 鑷姩锛� 2. 鎵嬪姩
+ doHandMove2(agvWrkMast);
+ return SUCCESS;
+ }
+
private ReturnT<String> doAutoMove(AgvLocMast agvLocMast) {
Date now = new Date();
//鏌ヨ宸ヤ綔妗�
@@ -168,6 +179,33 @@
return SUCCESS;
}
+ private ReturnT<String> doAutoMove2(AgvWrkMast agvWrkMast) {
+ Date now = new Date();
+ //妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅
+ AgvLocMast locMast = agvCommonService.getLocNo(3,agvWrkMast.getCrnNo());
+ if (Cools.isEmpty(locMast)) {
+ throw new CoolException("鏆傛棤搴撲綅");
+ }
+ agvWrkMast.setWrkSts(201L);
+ agvWrkMast.setLocNo(locMast.getLocNo());
+ agvWrkMastService.updateById(agvWrkMast);
+ //鏇存柊鐩爣搴撲綅鐘舵��
+ updateAgvLocMast(locMast,"S");
+
+ return SUCCESS;
+ }
+ private ReturnT<String> doHandMove2(AgvWrkMast agvWrkMast) {
+ Date now = new Date();
+ AgvBasDevp devpNo = agvCommonService.getDevpNo(3, 1);
+ if (Cools.isEmpty(devpNo)) {
+ throw new CoolException("鏆傛棤绌洪棽鎺ラ┏浣�");
+ }
+ agvWrkMast.setWrkSts(201L);
+ agvWrkMast.setLocNo(devpNo.getDevNo());
+ agvWrkMastService.updateById(agvWrkMast);
+ updateAgvBasDevp(devpNo,"S",null,agvWrkMast.getBarcode());
+ return SUCCESS;
+ }
/*
鏇存柊鐩爣搴撲綅淇℃伅
*/
diff --git a/src/main/java/com/zy/common/service/AgvCommonService.java b/src/main/java/com/zy/common/service/AgvCommonService.java
index d8e1dff..f8c55c2 100644
--- a/src/main/java/com/zy/common/service/AgvCommonService.java
+++ b/src/main/java/com/zy/common/service/AgvCommonService.java
@@ -250,7 +250,7 @@
}
//鎵句笉鍒板簱浣嶏紝鎶涘嚭寮傚父
- throw new CoolException("璇ユゼ灞傛病鏈夌┖搴撲綅");
+ throw new CoolException("璇ユゼ灞傛病鏈夌┖鎺ラ┏浣�");
}
//闅忔満鍙栦竴涓揣浣�
diff --git a/src/main/webapp/static/js/agvWrkMast/wrkMast.js b/src/main/webapp/static/js/agvWrkMast/wrkMast.js
index b5724c2..c7cf16b 100644
--- a/src/main/webapp/static/js/agvWrkMast/wrkMast.js
+++ b/src/main/webapp/static/js/agvWrkMast/wrkMast.js
@@ -24,16 +24,17 @@
,{field: 'ioTime$', align: 'center',title: '宸ヤ綔鏃堕棿',sort: true, width: 160}
,{field: 'wrkSts$', align: 'center',title: '宸ヤ綔鐘舵��'}
,{field: 'ioType$', align: 'center',title: '鍏ュ嚭搴撶被鍨�'}
- ,{field: 'ioPri', align: 'center',title: '浼樺厛绾�'}
+ ,{field: 'ioPri', align: 'center',title: '浼樺厛绾�',width: 80}
//,{field: 'sourceStaNo$', align: 'center',title: '婧愮珯'}
//,{field: 'staNo$', align: 'center',title: '鐩爣绔�'}
,{field: 'sourceLocNo', align: 'center',title: '婧愬簱浣�'}
,{field: 'locNo', align: 'center',title: '鐩爣搴撲綅'}
//,{field: 'steNo', align: 'center',title: '灏忚溅', width: 70}
- ,{field: 'barcode', align: 'center',title: '瀹瑰櫒鐮�'}
- ,{field: 'whsType', align: 'center',title: '瀹瑰櫒绫诲瀷'}
+ ,{field: 'barcode', align: 'center',title: '瀹瑰櫒鐮�',width: 80}
+ ,{field: 'whsType', align: 'center',title: '瀹瑰櫒绫诲瀷',width: 90}
,{field: 'preHave', align: 'center',title: '鍏堝叆鍝�', hide: true}
,{field: 'takeNone', align: 'center',title: '绌烘搷浣�', hide: true}
+ ,{field: 'crnNo', align: 'center',title: '鐩爣妤煎眰', hide: false}
// ,{field: 'picking', align: 'center',title: '鎷f枡', templet:function(row){
// var html = "<input value='picking' type='checkbox' lay-skin='primary' lay-filter='tableCheckbox' table-index='"+row.LAY_TABLE_INDEX+"'";
// if(row.picking === 'Y'){html += " checked ";}
--
Gitblit v1.9.1