From 5e2db58fe16732b3a9d30f0476e9c4c0c8fcab02 Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期二, 30 一月 2024 16:32:14 +0800
Subject: [PATCH] # 入库流程
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 447 ++++++++++++++++++++++++++++++++-----------------------
src/main/java/com/zy/asrs/entity/ToWmsDTO.java | 20 ++
src/main/resources/application.yml | 3
3 files changed, 283 insertions(+), 187 deletions(-)
diff --git a/src/main/java/com/zy/asrs/entity/ToWmsDTO.java b/src/main/java/com/zy/asrs/entity/ToWmsDTO.java
index e40df4c..db1c4f5 100644
--- a/src/main/java/com/zy/asrs/entity/ToWmsDTO.java
+++ b/src/main/java/com/zy/asrs/entity/ToWmsDTO.java
@@ -8,10 +8,28 @@
@Data
public class ToWmsDTO {
private String warehouseId;
- private String containerCode;
+ //private String containerCode;
private String applyType;
private String wharfSource;
private Integer taskTunnel;
private List<Integer> canInboundTunnels;
+
+ // 瀹瑰櫒缂栫爜
+ private String containerCode;
+ //瀹瑰櫒绫诲瀷
+ private String containerTypeCode;
+ //鍏ュ簱绔欑紪鍙�
+ private Integer stationCode;
+ //搴撲綅绫诲瀷
+ private String locationTypes;
+
+ public ToWmsDTO(String containerCode, Integer stationCode){
+ this.containerCode = containerCode;
+ this.stationCode = stationCode;
+ }
+
+ public ToWmsDTO(){
+
+ }
}
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 0b0eabe..ccfc32e 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -41,7 +41,6 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
-import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -94,6 +93,8 @@
@Value("${wms.url}")
private String wmsUrl;
+ @Value("${wms.inboundTaskApplyPath}")
+ private String inboundTaskApplyPath;
@Value("${wms.movePath}")
private String movePath;
@@ -182,78 +183,117 @@
}
String barcode = barcodeThread.getBarcode();
if(!Cools.isEmpty(barcode)) {
- StaDescService staDescService = SpringUtils.getBean(StaDescService.class);
-
- ToWmsDTO toWmsDTO = new ToWmsDTO();
- Map<String, Object> map = new HashMap<>();
- map.put("x-api-key","7a15b5db-29b6-552c-8cff-0cfec3756da2");
- List<Integer> list = openServiceImpl.getInEnableRoadway();
- TaskWrk taskWrk = taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("barcode", barcode));
-
- if (Cools.isEmpty(taskWrk)){
+ // 璇锋眰wms鎺ュ彛锛岃幏鍙栧伐浣滃彿鍜岀洰鏍囧簱浣�
+ ToWmsDTO toWmsDTO = new ToWmsDTO(barcode,staProtocol.getSiteId());
+ String response;
+ try {
+ response = new HttpHandler.Builder()
+ .setHeaders(null)
+ .setUri(wmsUrl)
+ .setPath(inboundTaskApplyPath)
+ .setJson(JSON.toJSONString(toWmsDTO))
+ .build()
+ .doPost();
+ }catch (Exception e){
+ log.error("wms閫氳澶辫触,"+e.getMessage());
continue;
}
- //StaDesc staDesc1 = staDescService.selectOne(new EntityWrapper<StaDesc>().eq("stn_no",inSta.getBackSta()));
- if (taskWrk.getTargetPoint() != null && taskWrk.getStartPoint() != null){
- if ( taskWrk.getWrkNo() != null && taskWrk.getWrkNo().shortValue() == workNo ){
- continue;
- }
- //鑾峰彇鍫嗗灈鏈虹珯鐐�
- StaDesc staDesc = new StaDesc();
- if (devp.getId() <= 1){
- staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
- .eq("crn_no", taskWrk.getCrnNo()).eq("type_no",1).lt("stn_no", 200));
- }else {
- staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
- .eq("crn_no", taskWrk.getCrnNo()).eq("type_no",1).lt("stn_no", 400).ge("stn_no", 250));
- }
- staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
- staProtocol.setStaNo(staDesc.getCrnStn().shortValue());
- MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(3, staProtocol));
- Thread.sleep(500);
- }else {
- //TaskWrk taskWrk = taskWrkService.selectByTaskNo(param.getTaskNo());
- toWmsDTO.setWarehouseId("1688469798893297665");
- toWmsDTO.setContainerCode(barcode);
- toWmsDTO.setApplyType("TUNNEL_LOCATION");
- toWmsDTO.setTaskTunnel(taskWrk.getCrnNo());
- toWmsDTO.setCanInboundTunnels(list);
- String response = null;
- try {
- response = new HttpHandler.Builder()
- .setHeaders(map)
- .setUri(wmsUrl)
- .setPath("wcsManager/wcsInterface/inboundTaskApply")
- .setJson(JSON.toJSONString(toWmsDTO))
- .build()
- .doPost();
- }catch (Exception e){
- log.error("wms閫氳澶辫触,"+e.getMessage());
- continue;
- }
- apiLogService.save("wms璇锋眰鍏ュ簱璐т綅鎺ュ彛"
- ,wmsUrl+"wcsManager/wcsInterface/inboundTaskApply"
- ,null
- ,"127.0.0.1"
- ,JSON.toJSONString(toWmsDTO)
- ,response
- ,true
- );
- JSONObject jsonObject = JSON.parseObject(response);
- if (jsonObject.getInteger("code").equals(200)) {
- GetWmsDto getWmsDto = JSON.parseObject(jsonObject.get("data").toString(), GetWmsDto.class);
- taskWrk.setOriginTargetPoint(getWmsDto.getTargetLocationCode());
- taskWrk.setTargetPoint(Utils.getWcsLocNo(getWmsDto.getTargetLocationCode()));
- taskWrk.setStartPoint(String.valueOf(inSta.getBackSta()));
- if (!taskWrkService.updateById(taskWrk)){
- log.error("淇濆瓨wms搴撲綅鍙峰け璐�");
+
+ JSONObject jsonObject = JSON.parseObject(response);
+ if (jsonObject.getInteger("code").equals(200) && !Cools.isEmpty(jsonObject.get("data").toString())) {
+ GetWmsDto getWmsDto = JSON.parseObject(jsonObject.get("data").toString(), GetWmsDto.class);
+ // 鍒涙柊涓�涓叆搴撳伐浣滄。
+ TaskWrk taskWrk = taskWrkService.selectByTaskNo(getWmsDto.getTaskNo());
+ if(Cools.isEmpty(taskWrk)) {
+ taskWrk = createTask(getWmsDto,staProtocol.getStaNo().intValue());
+ if (Cools.isEmpty(taskWrk)){
+ log.error("搴撲綅寮傚父锛屽簱浣嶅彿锛歿}", getWmsDto.getTargetLocationCode());
+ }else {
+ taskWrkService.insert(taskWrk);
+ StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
+ .eq("crn_no", taskWrk.getCrnNo()).eq("type_no",1).eq("stn_no",staProtocol.getStaNo().intValue()));
+ staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
+ staProtocol.setStaNo(staDesc.getCrnStn().shortValue());
+ MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
}
-
- }else {
- log.error("wms閫氳澶辫触,"+jsonObject.get("msg"));
-
}
+
+ }else {
+ continue;
}
+
+// StaDescService staDescService = SpringUtils.getBean(StaDescService.class);
+//
+// ToWmsDTO toWmsDTO = new ToWmsDTO();
+// Map<String, Object> map = new HashMap<>();
+// map.put("x-api-key","7a15b5db-29b6-552c-8cff-0cfec3756da2");
+// List<Integer> list = openServiceImpl.getInEnableRoadway();
+// TaskWrk taskWrk = taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("barcode", barcode));
+//
+// if (Cools.isEmpty(taskWrk)){
+// continue;
+// }
+// //StaDesc staDesc1 = staDescService.selectOne(new EntityWrapper<StaDesc>().eq("stn_no",inSta.getBackSta()));
+// if (taskWrk.getTargetPoint() != null && taskWrk.getStartPoint() != null){
+// if ( taskWrk.getWrkNo() != null && taskWrk.getWrkNo().shortValue() == workNo ){
+// continue;
+// }
+// //鑾峰彇鍫嗗灈鏈虹珯鐐�
+// StaDesc staDesc = new StaDesc();
+// if (devp.getId() <= 1){
+// staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
+// .eq("crn_no", taskWrk.getCrnNo()).eq("type_no",1).lt("stn_no", 200));
+// }else {
+// staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
+// .eq("crn_no", taskWrk.getCrnNo()).eq("type_no",1).lt("stn_no", 400).ge("stn_no", 250));
+// }
+// staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
+// staProtocol.setStaNo(staDesc.getCrnStn().shortValue());
+// MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(3, staProtocol));
+// Thread.sleep(500);
+// }else {
+// //TaskWrk taskWrk = taskWrkService.selectByTaskNo(param.getTaskNo());
+// toWmsDTO.setWarehouseId("1688469798893297665");
+// toWmsDTO.setContainerCode(barcode);
+// toWmsDTO.setApplyType("TUNNEL_LOCATION");
+// toWmsDTO.setTaskTunnel(taskWrk.getCrnNo());
+// toWmsDTO.setCanInboundTunnels(list);
+// String response = null;
+// try {
+// response = new HttpHandler.Builder()
+// .setHeaders(map)
+// .setUri(wmsUrl)
+// .setPath(inboundTaskApplyPath)
+// .setJson(JSON.toJSONString(toWmsDTO))
+// .build()
+// .doPost();
+// }catch (Exception e){
+// log.error("wms閫氳澶辫触,"+e.getMessage());
+// continue;
+// }
+// apiLogService.save("wms璇锋眰鍏ュ簱璐т綅鎺ュ彛"
+// ,wmsUrl+"wcsManager/wcsInterface/inboundTaskApply"
+// ,null
+// ,"127.0.0.1"
+// ,JSON.toJSONString(toWmsDTO)
+// ,response
+// ,true
+// );
+// JSONObject jsonObject = JSON.parseObject(response);
+// if (jsonObject.getInteger("code").equals(200)) {
+// GetWmsDto getWmsDto = JSON.parseObject(jsonObject.get("data").toString(), GetWmsDto.class);
+// taskWrk.setOriginTargetPoint(getWmsDto.getTargetLocationCode());
+// taskWrk.setTargetPoint(Utils.getWcsLocNo(getWmsDto.getTargetLocationCode()));
+// taskWrk.setStartPoint(String.valueOf(inSta.getBackSta()));
+// if (!taskWrkService.updateById(taskWrk)){
+// log.error("淇濆瓨wms搴撲綅鍙峰け璐�");
+// }
+//
+// }else {
+// log.error("wms閫氳澶辫触,"+jsonObject.get("msg"));
+//
+// }
+// }
}
}
@@ -267,7 +307,6 @@
/**
* 鍫嗗灈鏈虹珯鍑哄簱鍒板嚭搴撶珯
*/
- @Async
public void crnStnToOutStn() {
for (CrnSlave crnSlave : slaveProperties.getCrn()) {
// 閬嶅巻鍫嗗灈鏈哄嚭搴撶珯
@@ -423,51 +462,17 @@
continue;
}
- //鍙栧嚭鍛戒护
- List<CommandInfo> commandInfos = commandInfoService.selectByTaskNo(taskWrk.getTaskNo());
- Integer commandStep = taskWrk.getCommandStep();
- if (commandInfos.isEmpty()) {
- 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 {
- // 淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓�
- Date now = new Date();
- taskWrk.setWrkSts(3);
- taskWrk.setModiTime(now);
- if (taskWrkMapper.updateById(taskWrk) == 0) {
- log.error("淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo());
- }
- //寮�濮嬭繍琛�
- String response = CrnStartRunning(taskWrk);
- JSONObject jsonObject = JSON.parseObject(response);
- if (jsonObject.getInteger("code").equals(200)) {
-
- }else {
- log.error("鍏ュ簱寮�濮嬭繍琛岄�氳澶辫触,"+jsonObject.get("msg"));
-
- }
- }
-
-// // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
-// CrnCommand crnCommand = new CrnCommand();
-// crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
-// crnCommand.setTaskNo(taskWrk.getWrkNo().shortValue()); // 宸ヤ綔鍙�
-// crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
-// crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
-// crnCommand.setSourcePosX(crnStn.getBay().shortValue()); // 婧愬簱浣嶅垪
-// crnCommand.setSourcePosY(crnStn.getLev().shortValue()); // 婧愬簱浣嶅眰
-// crnCommand.setSourcePosZ(crnStn.getRow().shortValue()); // 婧愬簱浣嶆帓
-// crnCommand.setDestinationPosX(Utils.getBayShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鍒�
-// crnCommand.setDestinationPosY(Utils.getLevShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅灞�
-// crnCommand.setDestinationPosZ(Utils.getRowShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鎺�
-// crnCommand.setCommand((short)1);
-// if (!CommandUtils.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(2, crnCommand))) {
+// //鍙栧嚭鍛戒护
+// List<CommandInfo> commandInfos = commandInfoService.selectByTaskNo(taskWrk.getTaskNo());
+// Integer commandStep = taskWrk.getCommandStep();
+// if (commandInfos.isEmpty()) {
+// 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 {
// // 淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓�
@@ -477,7 +482,41 @@
// if (taskWrkMapper.updateById(taskWrk) == 0) {
// log.error("淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo());
// }
+// //寮�濮嬭繍琛�
+// String response = CrnStartRunning(taskWrk);
+// JSONObject jsonObject = JSON.parseObject(response);
+// if (jsonObject.getInteger("code").equals(200)) {
+//
+// }else {
+// log.error("鍏ュ簱寮�濮嬭繍琛岄�氳澶辫触,"+jsonObject.get("msg"));
+//
+// }
// }
+
+ // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
+ CrnCommand crnCommand = new CrnCommand();
+ crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
+ crnCommand.setTaskNo(taskWrk.getWrkNo().shortValue()); // 宸ヤ綔鍙�
+ crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
+ crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
+ crnCommand.setSourcePosX(crnStn.getBay().shortValue()); // 婧愬簱浣嶅垪
+ crnCommand.setSourcePosY(crnStn.getLev().shortValue()); // 婧愬簱浣嶅眰
+ crnCommand.setSourcePosZ(crnStn.getRow().shortValue()); // 婧愬簱浣嶆帓
+ crnCommand.setDestinationPosX(Utils.getBayShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鍒�
+ crnCommand.setDestinationPosY(Utils.getLevShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅灞�
+ crnCommand.setDestinationPosZ(Utils.getRowShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鎺�
+ crnCommand.setCommand((short)1);
+ if (!CommandUtils.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(2, crnCommand))) {
+ log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand));
+ } else {
+ // 淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓�
+ Date now = new Date();
+ taskWrk.setWrkSts(3);
+ taskWrk.setModiTime(now);
+ if (taskWrkMapper.updateById(taskWrk) == 0) {
+ log.error("淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo());
+ }
+ }
}
// return;
@@ -741,100 +780,97 @@
/**
* 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣�
*/
- @Async
- public void storeFinished() {
- for (CrnSlave crn : slaveProperties.getCrn()) {
- // 鑾峰彇鍫嗗灈鏈轰俊鎭�
- CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
- CrnProtocol crnProtocol = crnThread.getCrnProtocol();
- if (crnProtocol == null) { continue; }
-
- // 鐘舵�侊細绛夊緟纭 骞朵笖 浠诲姟瀹屾垚浣� = 1
- if (crnProtocol.getTaskFinish() == 0 && crnProtocol.statusType == CrnStatusType.HANDLING_COMPLETED && crnProtocol.getTaskNo() != 0) {
- //鑾峰彇鍏ュ簱寰呯‘璁ゅ伐浣滄。
- TaskWrk taskWrk = taskWrkMapper.selectCrnNoInWorking(crn.getId(),crnProtocol.getTaskNo().intValue());
- if (Cools.isEmpty(taskWrk)) {
-// log.error("鍫嗗灈鏈哄浜庣瓑寰呯‘璁や笖浠诲姟瀹屾垚鐘舵�侊紝浣嗘湭鎵惧埌宸ヤ綔妗c�傚爢鍨涙満鍙�={}锛屽伐浣滃彿={}", crn.getId(), crnProtocol.getTaskNo());
- continue;
- }
-
- //鑾峰彇鎸囦护ID
- Integer commandId = crnProtocol.getCommandId();
- CommandInfo commandInfo = new CommandInfo();
- if (Cools.isEmpty(commandId)){
- commandInfo = commandInfoService.selectOne(new EntityWrapper<CommandInfo>()
- .eq("wrk_no",crnProtocol.getTaskNo())
- .eq("device","Crn"));
- }else {
- commandInfo = commandInfoService.selectById(commandId);
- }
-
-
- if (commandInfo == null) {
- //鎸囦护涓嶅瓨鍦�
- continue;
- }
- if (commandInfo.getCommandStatus() == 3){
- continue;
- }
- commandInfo.setCommandStatus(CommandStatusType.COMPLETE.id);//鎸囦护瀹屾垚
- commandInfo.setCompleteTime(new Date());//鎸囦护瀹屾垚鏃堕棿
- if (commandInfoService.updateById(commandInfo)) {//淇敼鎴愬姛鍚庡浣嶅爢鍨涙満
- // 鍫嗗灈鏈哄浣�
- crnThread.setResetFlag(true);
- }
- }
- }
- }
-
-// /**
-// * 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣�
-// */
-// @Async
// public void storeFinished() {
// for (CrnSlave crn : slaveProperties.getCrn()) {
// // 鑾峰彇鍫嗗灈鏈轰俊鎭�
// CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
// CrnProtocol crnProtocol = crnThread.getCrnProtocol();
// if (crnProtocol == null) { continue; }
+//
// // 鐘舵�侊細绛夊緟纭 骞朵笖 浠诲姟瀹屾垚浣� = 1
// if (crnProtocol.getTaskFinish() == 0 && crnProtocol.statusType == CrnStatusType.HANDLING_COMPLETED && crnProtocol.getTaskNo() != 0) {
-// // 鑾峰彇鍏ュ簱寰呯‘璁ゅ伐浣滄。
-// TaskWrk taskWrk = taskWrkMapper.selectCrnNoWorking(crn.getId(),crnProtocol.getTaskNo().intValue());
+// //鑾峰彇鍏ュ簱寰呯‘璁ゅ伐浣滄。
+// TaskWrk taskWrk = taskWrkMapper.selectCrnNoInWorking(crn.getId(),crnProtocol.getTaskNo().intValue());
// if (Cools.isEmpty(taskWrk)) {
-// log.error("鍫嗗灈鏈哄浜庣瓑寰呯‘璁や笖浠诲姟瀹屾垚鐘舵�侊紝浣嗘湭鎵惧埌宸ヤ綔妗c�傚爢鍨涙満鍙�={}锛屽伐浣滃彿={}", crn.getId(), crnProtocol.getTaskNo());
+//// log.error("鍫嗗灈鏈哄浜庣瓑寰呯‘璁や笖浠诲姟瀹屾垚鐘舵�侊紝浣嗘湭鎵惧埌宸ヤ綔妗c�傚爢鍨涙満鍙�={}锛屽伐浣滃彿={}", crn.getId(), crnProtocol.getTaskNo());
// continue;
// }
-// // 鍏ュ簱 + 搴撲綅杞Щ ==> 4.鍏ュ簱瀹屾垚
-// if ((taskWrk.getWrkSts() == 3 && taskWrk.getIoType() == 1) || (taskWrk.getWrkSts() == 12 && taskWrk.getIoType() == 3)) {
-// taskWrk.setWrkSts(4);
-// } else {
+//
+// //鑾峰彇鎸囦护ID
+// Integer commandId = crnProtocol.getCommandId();
+// CommandInfo commandInfo = new CommandInfo();
+// if (Cools.isEmpty(commandId)){
+// commandInfo = commandInfoService.selectOne(new EntityWrapper<CommandInfo>()
+// .eq("wrk_no",crnProtocol.getTaskNo())
+// .eq("device","Crn"));
+// }else {
+// commandInfo = commandInfoService.selectById(commandId);
+// }
+//
+//
+// if (commandInfo == null) {
+// //鎸囦护涓嶅瓨鍦�
// continue;
// }
-// Date now = new Date();
-// taskWrk.setModiTime(now);
-// Integer integerTaskWrk = taskWrkMapper.updateById(taskWrk);
-// // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満
-// if (integerTaskWrk > 0) {
+// if (commandInfo.getCommandStatus() == 3){
+// continue;
+// }
+// commandInfo.setCommandStatus(CommandStatusType.COMPLETE.id);//鎸囦护瀹屾垚
+// commandInfo.setCompleteTime(new Date());//鎸囦护瀹屾垚鏃堕棿
+// if (commandInfoService.updateById(commandInfo)) {//淇敼鎴愬姛鍚庡浣嶅爢鍨涙満
// // 鍫嗗灈鏈哄浣�
// crnThread.setResetFlag(true);
-//
-// //鏇存柊搴撲綅鐘舵��
-// LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint());
-// locMast.setLocSts("F");//F.鍦ㄥ簱
-// locMast.setBarcode(taskWrk.getBarcode());//鎵樼洏鐮�
-// locMast.setModiTime(now);
-// locMast.setModiUser(9999L);
-// locMastService.updateById(locMast);
// }
// }
// }
// }
/**
+ * 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣�
+ */
+ public void storeFinished() {
+ for (CrnSlave crn : slaveProperties.getCrn()) {
+ // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+ CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
+ CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+ if (crnProtocol == null) { continue; }
+ // 鐘舵�侊細绛夊緟纭 骞朵笖 浠诲姟瀹屾垚浣� = 1
+ if (crnProtocol.getTaskFinish() == 0 && crnProtocol.statusType == CrnStatusType.HANDLING_COMPLETED && crnProtocol.getTaskNo() != 0) {
+ // 鑾峰彇鍏ュ簱寰呯‘璁ゅ伐浣滄。
+ TaskWrk taskWrk = taskWrkMapper.selectCrnNoInWorking(crn.getId(),crnProtocol.getTaskNo().intValue());
+ if (Cools.isEmpty(taskWrk)) {
+ log.error("鍫嗗灈鏈哄浜庣瓑寰呯‘璁や笖浠诲姟瀹屾垚鐘舵�侊紝浣嗘湭鎵惧埌宸ヤ綔妗c�傚爢鍨涙満鍙�={}锛屽伐浣滃彿={}", crn.getId(), crnProtocol.getTaskNo());
+ continue;
+ }
+ // 鍏ュ簱 + 搴撲綅杞Щ ==> 4.鍏ュ簱瀹屾垚
+ if ((taskWrk.getWrkSts() == 3 && taskWrk.getIoType() == 1) || (taskWrk.getWrkSts() == 12 && taskWrk.getIoType() == 3)) {
+ taskWrk.setWrkSts(4);
+ } else {
+ continue;
+ }
+ Date now = new Date();
+ taskWrk.setModiTime(now);
+ Integer integerTaskWrk = taskWrkMapper.updateById(taskWrk);
+ // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満
+ if (integerTaskWrk > 0) {
+ // 鍫嗗灈鏈哄浣�
+ crnThread.setResetFlag(true);
+
+ //鏇存柊搴撲綅鐘舵��
+ LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint());
+ locMast.setLocSts("F");//F.鍦ㄥ簱
+ locMast.setBarcode(taskWrk.getBarcode());//鎵樼洏鐮�
+ locMast.setModiTime(now);
+ locMast.setModiUser(9999L);
+ locMastService.updateById(locMast);
+ }
+ }
+ }
+ }
+
+ /**
* 鍫嗗灈鏈哄紓甯镐俊鎭褰�
*/
- @Async
public void recCrnErr(){
Date now = new Date();
for (CrnSlave crn : slaveProperties.getCrn()) {
@@ -1085,5 +1121,46 @@
return response;
}
+ private TaskWrk createTask(GetWmsDto dto, Integer staNo){
+ String wcsLocNo = Utils.getWcsLocNo(dto.getTargetLocationCode());
+ if(Cools.isEmpty(wcsLocNo)){
+ return null;
+ }
+ Date now = new Date();
+ TaskWrk taskWrk = new TaskWrk();
+ taskWrk.setTaskNo(dto.getTaskNo());//浠诲姟鍙�
+ taskWrk.setStatus(TaskStatusType.RECEIVE.id);//浠诲姟鐘舵�侊細鎺ユ敹
+ taskWrk.setCreateTime(now);
+ taskWrk.setIoType(1);//浠诲姟绫诲瀷
+ taskWrk.setIoPri(Cools.isEmpty(dto.getTaskPriority()) ? 300 : Integer.parseInt(dto.getTaskPriority()));//浼樺厛绾�
+ taskWrk.setBarcode(dto.getContainerCode());//鏉$爜
+ LocMast locMast = locMastService.selectByLocNo(wcsLocNo);
+ taskWrk.setCrnNo(locMast.getCrnNo());
+ taskWrk.setTargetPoint(dto.getTargetLocationCode());
+ taskWrk.setStartPoint(staNo.toString());
+ if(taskWrk.getIoType() == 1){
+ taskWrk.setWrkSts(2);
+ if (!Cools.isEmpty(taskWrk.getTargetPoint())) {
+ taskWrk.setTargetPoint(wcsLocNo);//缁堢偣
+ taskWrk.setOriginTargetPoint(taskWrk.getTargetPoint());
+ }
+
+// } else if (param.getIoType() == 2) {
+// taskWrk.setWrkSts(11);
+// if (!Cools.isEmpty(param.getStartPoint())) {
+// taskWrk.setStartPoint(Utils.getWcsLocNo(param.getStartPoint()));//璧风偣
+// taskWrk.setOriginStartPoint(param.getStartPoint());
+// }
+// taskWrk.setTargetPoint(param.getTargetPoint());
+// }else if (param.getIoType() == 3){
+// taskWrk.setWrkSts(11);
+// if (!Cools.isEmpty(param.getStartPoint())) {
+// taskWrk.setStartPoint(param.getStartPoint());//璧风偣
+// taskWrk.setOriginStartPoint(param.getStartPoint());
+// }
+ }
+ return taskWrk;
+ }
+
}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index f100e34..79a31ec 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -51,7 +51,8 @@
# WMS绯荤粺ip
url: 10.210.157.56:8090
# 鍏ュ簱浠诲姟鐢宠鎺ュ彛
- inboundTaskApplyPath: api/InterFace/inboundTaskApply
+ #inboundTaskApplyPath: api/InterFace/inboundTaskApply
+ inboundTaskApplyPath: /apis/inboundTaskapply
# 浠诲姟鐘舵�佸弽棣堟帴鍙�
taskStatusFeedbackPath: api/InterFace/get_InterFace_TestStorage
# 璐т綅鐘舵�佹洿鏂版帴鍙�
--
Gitblit v1.9.1