From 06e1ebee3ec23ceed20477eba43b2925ef6bb0c3 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期二, 08 四月 2025 15:33:46 +0800
Subject: [PATCH] *
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 159 ++++++++++++++++++++++++-----------------------------
1 files changed, 72 insertions(+), 87 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 3dd03d4..1d7fd6e 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -176,6 +176,7 @@
TaskWrk taskWrk = taskWrkMapper.selectByWrkNo(Integer.valueOf(workNo));
if (taskWrk != null) {
taskWrk.setMemo(errMsg);//灏嗛敊璇爜瀛樺叆澶囨敞瀛楁杩涜灞曠ず
+ taskWrk.setModiTime(new Date());
taskWrkMapper.updateById(taskWrk);
}
continue;
@@ -322,7 +323,7 @@
.build()
.doPost();
JSONObject jsonObject1 = JSON.parseObject(response2);
- apiLogService.save("wcs娲惧彂搴撲綅涓嶄负绌轰笂鎶ms"
+ apiLogService.save("wcs娲惧彂搴撲綅==銆嬩笉涓虹┖銆�==涓婃姤wms"
,wmsUrl+taskStatusFeedbackPath
,null
,"127.0.0.1"
@@ -331,8 +332,8 @@
,true
);
}catch (Exception e){
- log.error("wcs娲惧彂搴撲綅涓嶄负绌轰笂鎶ms", getWmsDto.getWrkNo());
- throw new CoolException("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触锛屽紓甯镐俊鎭細"+e);
+ log.error("wcs娲惧彂搴撲綅==銆嬩笉涓虹┖銆�==涓婃姤wms", getWmsDto.getWrkNo());
+ throw new CoolException("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触,娲惧彂搴撲綅==銆嬩笉涓虹┖銆�==锛屽紓甯镐俊鎭細"+e);
}
}
@@ -367,6 +368,7 @@
TaskWrk taskWrk = taskWrkMapper.selectByWrkNo(Integer.valueOf(workNo));
if (taskWrk != null) {
taskWrk.setMemo(errMsg);//灏嗛敊璇爜瀛樺叆澶囨敞瀛楁杩涜灞曠ず
+ taskWrk.setModiTime(new Date());
taskWrkMapper.updateById(taskWrk);
}
}
@@ -407,16 +409,28 @@
continue;
}
log.info("涓嬪彂杈撻�佺嚎浠诲姟锛歵askWrk:"+JSON.toJSONString(taskWrk));
- R r = siteController.siteDetlUpdate(Integer.valueOf(taskWrk.getTargetPoint()), taskWrk.getWrkNo().shortValue(), (short) 0, "Y", false, false);
- JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(r));
- if (jsonObject.getInteger("code").equals(200)){
+// R r = siteController.siteDetlUpdate(Integer.valueOf(taskWrk.getTargetPoint()), taskWrk.getWrkNo().shortValue(), (short) 0, "Y", false, false);
+ staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
+ staProtocol.setStaNo(staDesc.getCrnStn().shortValue());
+ boolean offer = false;
+ try{
+ offer = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
+ }catch (Exception e){
+ log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:"+e);
+ log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:offer:"+offer);
+ }
+// JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(r));
+ if (offer){
log.info("涓嬪彂杈撻�佺嚎浠诲姟鎴愬姛锛歵askWrk:"+JSON.toJSONString(taskWrk));
+ Date now = new Date();
taskWrk.setStatus(5);
taskWrk.setWrkSts(14);
+ taskWrk.setModiTime(now);
+ taskWrk.setCompleteTime(now);
taskWrkService.updateById(taskWrk);
}else {
log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛歵askWrk:"+JSON.toJSONString(taskWrk));
- log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯镐俊鎭�:"+JSON.toJSONString(r));
+// log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯镐俊鎭�:"+JSON.toJSONString(r));
}
}
}catch (Exception e){
@@ -443,6 +457,9 @@
continue;
}
+ // 搴撲綅绉昏浆
+ this.locToLoc(crn, crnProtocol);
+
// 鍙湁褰撳爢鍨涙満绌洪棽 骞朵笖 鏃犱换鍔℃椂鎵嶇户缁墽琛�
if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO
&& crnProtocol.getLoaded() == 0 && crnProtocol.getForkPos() == 0) {
@@ -467,8 +484,6 @@
}
}
}
- // 搴撲綅绉昏浆
- this.locToLoc(crn, crnProtocol);
}
}
@@ -519,15 +534,16 @@
continue;
}
- int workNo = commonService.getWorkNo(WorkNoType.PAKIN.type);//鑾峰彇鍏ュ簱宸ヤ綔鍙�
- taskWrk.setWrkNo(workNo);//宸ヤ綔鍙�
+// int workNo = commonService.getWorkNo(WorkNoType.PAKIN.type);//鑾峰彇鍏ュ簱宸ヤ綔鍙�
+// taskWrk.setWrkNo(workNo);//宸ヤ綔鍙�
+ Date now = new Date();
taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);//娲惧彂鐘舵��
- taskWrk.setAssignTime(new Date());//娲惧彂鏃堕棿
+// taskWrk.setAssignTime(now);//娲惧彂鏃堕棿
+ taskWrk.setExecuteTime(now);
taskWrk.setWrkSts(3);//宸ヤ綔鐘舵�� 3.鍚婅溅鍏ュ簱
taskWrk.setCrnNo(staDesc.getCrnNo());//鍫嗗灈鏈哄彿
- taskWrk.setModiTime(new Date());
+ taskWrk.setModiTime(now);
taskWrk.setModiUser(9988L);
- taskWrkService.updateById(taskWrk);
// //鍙栧嚭鍛戒护
// List<CommandInfo> commandInfos = commandInfoService.selectByTaskNo(taskWrk.getTaskNo());
@@ -572,11 +588,17 @@
crnCommand.setDestinationPosX(Utils.getRowShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鍒�
crnCommand.setDestinationPosY(Utils.getBayShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅灞�
crnCommand.setDestinationPosZ(Utils.getLevShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鎺�
- crnCommand.setCommand((short)1);
+// crnCommand.setCommand((short)0);
if (!CommandUtils.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(2, crnCommand),false)) {
log.error("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand));
throw new CoolException("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐�");
}else{
+ try{
+ taskWrkService.updateById(taskWrk);
+ }catch (Exception e){
+ log.error("淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo());
+ log.error("淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽紓甯革細"+e);
+ }
try{
HashMap<String, Object> headParam = new HashMap<>();
headParam.put("taskNo",taskWrk.getTaskNo());
@@ -600,9 +622,9 @@
,response
,true
);
- }catch (Exception e){
- log.error("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触", taskWrk);
- throw new CoolException("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触");
+ } catch (Exception e){
+ log.error("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触", JSON.toJSONString(taskWrk));
+// throw new CoolException("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触");
}
}
@@ -666,15 +688,6 @@
break;
}
-
- // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓�
- Date now = new Date();
- taskWrk.setWrkSts(12);
- taskWrk.setStatus(2);
- taskWrk.setModiTime(now);
- if (taskWrkMapper.updateById(taskWrk) == 0) {
- log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo());
- }
CrnCommand command = new CrnCommand();
command.setCrnNo(taskWrk.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
command.setTaskNo(taskWrk.getWrkNo().shortValue()); // 宸ヤ綔鍙�
@@ -692,6 +705,20 @@
throw new CoolException("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐�");
}else{
try{
+ // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓�
+ Date now = new Date();
+ taskWrk.setWrkSts(12);
+ taskWrk.setStatus(2);
+ taskWrk.setModiTime(now);
+ taskWrk.setExecuteTime(now);
+ if (taskWrkMapper.updateById(taskWrk) == 0) {
+ log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo());
+ }
+ }catch (Exception e){
+ log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo());
+ log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽紓甯革細"+e);
+ }
+ try{
HashMap<String, Object> headParam = new HashMap<>();
headParam.put("taskNo",taskWrk.getTaskNo());
headParam.put("status",taskWrk.getStatus());
@@ -706,7 +733,7 @@
.build()
.doPost();
JSONObject jsonObject = JSON.parseObject(response);
- apiLogService.save("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms"
+ apiLogService.save("wcs娲惧彂鍑哄簱浠诲姟涓婃姤wms"
,wmsUrl+taskStatusFeedbackPath
,null
,"127.0.0.1"
@@ -715,60 +742,10 @@
,true
);
}catch (Exception e){
- log.error("wcs娲惧彂鍑哄簱浠诲姟涓婃姤wms澶辫触", taskWrk);
- throw new CoolException("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触");
+ log.error("wcs娲惧彂鍑哄簱浠诲姟涓婃姤wms澶辫触", JSON.toJSONString(taskWrk));
+// throw new CoolException("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触");
}
-
}
-
-// // 鍙屾繁搴撲綅涓旀祬搴撲綅鏈夎揣锛屽垯闇�鍏堝娴呭簱浣嶈繘琛屽簱浣嶇Щ杞�
-// if (Utils.isDeepLoc(slaveProperties, taskWrk.getStartPoint())) {
-//
-// taskWrkMapper.selectPakOutIoType(taskWrk.getCrnNo());
-//
-// List<TaskWrk> taskWrks1 = taskWrkMapper.selectPakOutIoType(taskWrk.getCrnNo());
-// if (Cools.isEmpty(taskWrks1) && taskWrks1.size()!=0){
-// continue;
-// }
-// String shallowLocNo = Utils.getShallowLoc(slaveProperties, taskWrk.getStartPoint());
-// TaskWrk hallowLocNoTask = taskWrkMapper.selectByStartPoint(shallowLocNo);
-// if (!Cools.isEmpty(hallowLocNoTask)){
-// continue;
-// }
-// }
-//
-// //鍙栧嚭鍛戒护
-// List<CommandInfo> commandInfos = commandInfoService.selectByTaskNo(taskWrk.getTaskNo());
-// Integer commandStep = taskWrk.getCommandStep();
-// if (commandInfos.isEmpty()) {
-// continue;//鍛戒护绌�
-// }
-//
-// //鍒ゆ柇鏈鍛戒护鏄惁鎵ц
-// CommandInfo commandInfo2 = commandInfos.get(commandInfos.size() - 1);
-// if (commandInfo2.getCommandStatus() != CommandStatusType.CREATE.id) {
-// continue;//鎸囦护宸叉墽琛�
-// }
-//
-// CommandInfo commandInfo = commandInfos.get(commandStep);
-// CommandPackage commandPackage = JSON.parseObject(commandInfo.getCommand(), CommandPackage.class);//鍙栧嚭鍛戒护鎶ユ枃
-// CrnCommand crnCommand = JSON.parseObject(commandPackage.getCommand().toString(), CrnCommand.class);
-//
-// if (!MessageQueue.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(2, crnCommand))) {
-// log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand));
-// } else {
-//
-// //寮�濮嬭繍琛�
-// String response = CrnStartRunning(taskWrk);
-// JSONObject jsonObject = JSON.parseObject(response);
-// if (jsonObject.getInteger("code").equals(200)) {
-//
-// }else {
-// log.error("鍑哄簱寮�濮嬭繍琛岄�氳澶辫触,"+jsonObject.get("msg"));
-//
-// }
-// }
-
}
}
}
@@ -784,7 +761,8 @@
List<TaskWrk> taskWrks = taskWrkMapper.selectList(new EntityWrapper<TaskWrk>()
.eq("crn_no",slave.getId())
.eq("wrk_sts",11)
- .eq("io_type",3));
+ .eq("io_type",3)
+ .orderBy("io_pri",false));
for (TaskWrk taskWrk : taskWrks){
// 鍙屾繁搴撲綅涓旀祬搴撲綅鏈夎揣锛屽垯闇�鍏堝娴呭簱浣嶈繘琛屽簱浣嶇Щ杞�
@@ -840,6 +818,7 @@
taskWrk.setWrkSts(12);
taskWrk.setStatus(2);
taskWrk.setModiTime(now);
+ taskWrk.setExecuteTime(now);
if (taskWrkMapper.updateById(taskWrk) == 0) {
log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo());
}
@@ -867,8 +846,8 @@
,true
);
}catch (Exception e){
- log.error("wcs娲惧彂鍑哄簱浠诲姟涓婃姤wms澶辫触", taskWrk);
- throw new CoolException("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触");
+ log.error("wcs娲惧彂绉诲簱搴撲换鍔′笂鎶ms澶辫触", taskWrk);
+// throw new CoolException("wcs娲惧彂绉诲簱搴撲换鍔′笂鎶ms澶辫触");
}
}
@@ -948,6 +927,7 @@
//纭瀹屾垚淇″彿
CrnOperatorParam crnOperatorParam=new CrnOperatorParam();
crnOperatorParam.setCrnNo(crn.getId());
+ Date now = new Date();
crnController.crnTaskComplete(crnOperatorParam);
if(!Cools.isEmpty(taskWrk)){
@@ -958,7 +938,7 @@
LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint());
locMast.setLocSts("F");//F.鍦ㄥ簱
locMast.setBarcode(taskWrk.getBarcode());//鎵樼洏鐮�
- locMast.setModiTime(new Date());
+ locMast.setModiTime(now);
locMast.setModiUser(9999L);
locMastService.updateById(locMast);
}else if(taskWrk.getIoType()==2&&taskWrk.getWrkSts()==12){
@@ -968,7 +948,7 @@
LocMast locMast = locMastService.selectByLocNo(taskWrk.getStartPoint());
locMast.setLocSts("O");//O.绌哄簱浣�
locMast.setBarcode("");//鎵樼洏鐮�
- locMast.setModiTime(new Date());
+ locMast.setModiTime(now);
locMast.setModiUser(9999L);
locMastService.updateById(locMast);
}else if(taskWrk.getIoType()==3&&taskWrk.getWrkSts()==12){
@@ -978,17 +958,19 @@
LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint());
locMast.setLocSts("F");//F.鍦ㄥ簱
locMast.setBarcode(taskWrk.getBarcode());//鎵樼洏鐮�
- locMast.setModiTime(new Date());
+ locMast.setModiTime(now);
locMast.setModiUser(9999L);
locMastService.updateById(locMast);
LocMast locMast1 = locMastService.selectByLocNo(taskWrk.getStartPoint());
locMast1.setLocSts("O");//O.绌哄簱浣�
locMast1.setBarcode("");//鎵樼洏鐮�
- locMast1.setModiTime(new Date());
+ locMast1.setModiTime(now);
locMast1.setModiUser(9999L);
locMastService.updateById(locMast1);
}
+ taskWrk.setModiTime(now);
+ taskWrk.setCompleteTime(now);
taskWrkService.updateById(taskWrk);
@@ -1355,6 +1337,9 @@
taskWrk.setWrkNo(workNo1);
taskWrk.setStatus(TaskStatusType.RECEIVE.id);//浠诲姟鐘舵�侊細鎺ユ敹
taskWrk.setCreateTime(now);
+ taskWrk.setAssignTime(now);
+ taskWrk.setModiTime(now);
+ taskWrk.setModiUser(5555L);
taskWrk.setIoType(1);//浠诲姟绫诲瀷
taskWrk.setIoPri(Cools.isEmpty(dto.getTaskPriority()) ? 300 : Integer.parseInt(dto.getTaskPriority()));//浼樺厛绾�
taskWrk.setBarcode(barcode);//鏉$爜
--
Gitblit v1.9.1