From 0c60480362efdcffa0cbb3f6dd4272f43859adb1 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期二, 01 四月 2025 15:05:15 +0800
Subject: [PATCH] *
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 261 +---------------------------------------------------
1 files changed, 5 insertions(+), 256 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 bbed9de..4c1e5cd 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -56,8 +56,6 @@
@Transactional
public class MainServiceImpl {
- public static final long COMMAND_TIMEOUT = 5 * 1000;
-
@Autowired
private SlaveProperties slaveProperties;
@Autowired
@@ -77,14 +75,8 @@
@Autowired
private TaskWrkService taskWrkService;
@Autowired
- private ConfigService configService;
- @Autowired
private StaDescMapper staDescMapper;
- @Autowired
- private CommandInfoService commandInfoService;
- @Autowired
- private OpenServiceImpl openServiceImpl;
@Autowired
private StaDescService staDescService;
@@ -103,8 +95,6 @@
private String taskStatusFeedbackPath;
@Autowired
private CrnController crnController;
- @Autowired
- private SiteController siteController;
public void generateStoreWrkFile() throws IOException, InterruptedException {
@@ -860,54 +850,6 @@
/**
* 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣�
*/
-// 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);
-// }
-// }
-// }
-// }
-
- /**
- * 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣�
- */
public void storeFinished() throws InterruptedException {
for (CrnSlave crn : slaveProperties.getCrn()) {
// 鑾峰彇鍫嗗灈鏈轰俊鎭�
@@ -916,7 +858,7 @@
if (crnProtocol == null) { continue; }
// 鐘舵�侊細绛夊緟纭 骞朵笖 浠诲姟瀹屾垚浣� = 1
- if (crnProtocol.getTaskFinish() == 0 && crnProtocol.statusType == CrnStatusType.HANDLING_COMPLETED && crnProtocol.getTaskNo() != 0) {
+ if (!Cools.isEmpty(crnProtocol.getTaskFinish()) && crnProtocol.getTaskFinish() == 0 && crnProtocol.statusType == CrnStatusType.WAITING && crnProtocol.getTaskNo() != 0) {
//鑾峰彇鍏ュ簱寰呯‘璁ゅ伐浣滄。
TaskWrk taskWrk = taskWrkMapper.selectCrnNoInWorking(crn.getId(),crnProtocol.getTaskNo().intValue());
if (Cools.isEmpty(taskWrk)&&crnProtocol.getTaskNo() !=999) {
@@ -1054,7 +996,7 @@
wrkMast.getSourceStaNo(), // 婧愮珯
wrkMast.getSourceLocNo(), // 婧愬簱浣�
wrkMast.getBarcode(), // 鏉$爜
- (int) crnProtocol.getAlarm1(), // 寮傚父鐮�
+ (int) crnProtocol.getAlarm(), // 寮傚父鐮�
errName, // 寮傚父
1, // 寮傚父鎯呭喌
now, // 娣诲姞鏃堕棿
@@ -1069,7 +1011,7 @@
}
} else {
// 寮傚父淇
- if (crnProtocol.getAlarm1() == null || crnProtocol.getAlarm1() == 0) {
+ if (crnProtocol.getAlarm() == null || crnProtocol.getAlarm() == 0) {
latest.setEndTime(now);
latest.setUpdateTime(now);
latest.setStatus(2);
@@ -1082,7 +1024,7 @@
} else {
BasErrLog latest = basErrLogService.findLatest(crn.getId());
// 鏈夊紓甯�
- if (crnProtocol.getAlarm1() != null && crnProtocol.getAlarm() > 0) {
+ if (crnProtocol.getAlarm() != null && crnProtocol.getAlarm() > 0) {
// 璁板綍鏂板紓甯�
if (latest == null || (latest.getErrCode() != crnProtocol.getAlarm().intValue())) {
BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm());
@@ -1101,7 +1043,7 @@
null, // 婧愮珯
null, // 婧愬簱浣�
null, // 鏉$爜
- (int)crnProtocol.getAlarm1(), // 寮傚父鐮�
+ (int)crnProtocol.getAlarm(), // 寮傚父鐮�
errName, // 寮傚父
1, // 寮傚父鎯呭喌
now, // 娣诲姞鏃堕棿
@@ -1130,199 +1072,6 @@
}
}
- }
-
- //鑷姩娲惧彂浠诲姟
- public void autoDistribute() {
- Config config = configService.selectByCode("autoDistribute");
- if (config == null) {
- return;
- }
-
- if (config.getValue().equals("false")) {//鍒ゆ柇鏄惁寮�鍚嚜鍔ㄦ淳鍙戜换鍔�
- return;
- }
-
- for (TaskWrk taskWrk : taskWrkService.selectReceive()) {
-
- try {
- taskWrkService.distribute(taskWrk.getTaskNo(), 9527L);
- } catch (CoolException e) {
- log.info(e.getMessage());
- }
- }
- }
-
- //agv鍙栨斁璐т换鍔″畬鎴�
- public synchronized void autoCompleteAGV() {
- List<BasDevp> basDevps = basDevpService.selectList(new EntityWrapper<>());
- try{
- Thread.sleep(500);
- }catch (Exception e){
-
- }
-
- for (BasDevp basDevp:basDevps){
- DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
- StaProtocol staProtocol = devpThread.getStation().get(basDevp.getDevNo());
- if (staProtocol == null) {
- continue;
- } else {
- staProtocol = staProtocol.clone();
- }
- if (basDevp.getWrkNo()!=0){
- if (basDevp.getAgvTargetPick()!=0){//鍙栬揣
- staProtocol.setAgvTypeSign((short)0);
- staProtocol.setStaNo(basDevp.getDevNo().shortValue());
- MessageQueue.offer(SlaveType.Devp, 1, new Task(4, staProtocol));
- }
- boolean sign = true;
- if (basDevp.getAgvTargetPlace()!=0){
- sign = false;
- basDevp.setAgvTargetPlace(0);
- basDevpService.updateById(basDevp);
- staProtocol.setAgvTypeSign((short)3);//1
- staProtocol.setStaNo(basDevp.getDevNo().shortValue());
- MessageQueue.offer(SlaveType.Devp, 1, new Task(4, staProtocol));
- }
- }else {
- if (basDevp.getAgvTargetPlace()!=0){
- if (basDevp.getLoading().equals("Y")){
- staProtocol.setAgvTypeSign((short)1);
- staProtocol.setStaNo(basDevp.getDevNo().shortValue());
- MessageQueue.offer(SlaveType.Devp, 1, new Task(4, staProtocol));
- }else {
- log.error("AGV鏀捐揣瀹屾垚浣嗚緭閫佺嚎鏃犵墿锛屽浣嶄俊鍙� ===>> [staNo:{}] [basDevp:{}]", basDevp.getDevNo(), basDevp);
- basDevp.setAgvTargetPlace(0);
- basDevpService.updateById(basDevp);
- staProtocol.setAgvTypeSign((short)3);//1
- staProtocol.setStaNo(basDevp.getDevNo().shortValue());
- MessageQueue.offer(SlaveType.Devp, 1, new Task(4, staProtocol));
- }
-
- }
- if (basDevp.getAgvTargetPick()!=0){
- basDevp.setAgvTargetPick(0);
- basDevpService.updateById(basDevp);
- staProtocol.setAgvTypeSign((short)2);//0
- staProtocol.setStaNo(basDevp.getDevNo().shortValue());
- MessageQueue.offer(SlaveType.Devp, 1, new Task(4, staProtocol));
- }
- }
- }
- }
- public synchronized void autoCompleteTask() {
- List<TaskWrk> taskWrks = taskWrkMapper.selectWorkingTask();
- for (TaskWrk taskWrk : taskWrks) {
- //鑾峰彇鍛戒护闆嗗悎
- List<CommandInfo> commandInfos = commandInfoService.selectByTaskNo(taskWrk.getTaskNo());
- if (taskWrk.getCommandStep() < commandInfos.size()) {
- continue;//褰撳墠姝ュ簭娌℃湁鍒拌揪鏈�鍚庝竴鏉″懡浠�
- }
-
- //鍒ゆ柇鏈鍛戒护鏄惁鎵ц瀹屾垚
- CommandInfo commandInfo = commandInfos.get(commandInfos.size() - 1);
- if (commandInfo.getCommandStatus() != CommandStatusType.COMPLETE.id) {
- continue;//鎸囦护鏈畬鎴�
- }
-
- Date now = new Date();
- //鎸囦护宸插畬鎴愶紝鏇存柊浠诲姟
- if (taskWrk.getIoType() == 1) {
- //鍏ュ簱浠诲姟
- taskWrk.setWrkSts(4);//3.鍚婅溅鍏ュ簱涓� => 4.鍏ュ簱瀹屾垚
- //taskWrk.setStatus(TaskStatusType.COMPLETE.id);
- taskWrk.setModiTime(now);
- taskWrkService.updateById(taskWrk);
-
- //鏇存柊搴撲綅鐘舵��
- LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint());
- locMast.setLocSts("F");//F.鍦ㄥ簱
- locMast.setBarcode(taskWrk.getBarcode());//鎵樼洏鐮�
- locMast.setModiTime(now);
- locMast.setModiUser(9999L);
- locMastService.updateById(locMast);
- } else if (taskWrk.getIoType() == 2) {
- //鍑哄簱浠诲姟
- taskWrk.setWrkSts(14);//12.鍚婅溅鍑哄簱涓� => 14.鍑哄簱瀹屾垚
-// taskWrk.setStatus(TaskStatusType.COMPLETE.id);
- taskWrk.setModiTime(now);
- taskWrkService.updateById(taskWrk);
-
- //鏇存柊搴撲綅鐘舵��
- LocMast locMast = locMastService.selectByLocNo(taskWrk.getStartPoint());
- locMast.setLocSts("O");//O.绌哄簱浣�
- locMast.setBarcode("");//鎵樼洏鐮�
- locMast.setModiTime(now);
- locMast.setModiUser(9999L);
- locMastService.updateById(locMast);
- }
- }
- }
-
-
- public synchronized String CrnStartRunning(TaskWrk taskWrk){
- String tasktype = null;
- switch (taskWrk.getIoType()){
- case 1:
- tasktype= "RK";
- break;
- case 2:
- tasktype= "CK";
- break;
- case 3:
- tasktype= "YK";
- break;
- default:
- tasktype= "鏈煡";
- }
- Map<String, Object> map = new HashMap<>();
- map.put("x-api-key","7a15b5db-29b6-552c-8cff-0cfec3756da2");
- TaskOverToWms taskOverToWms = new TaskOverToWms();
- taskOverToWms.setFeedbackFrom("WCS"); //鏉ユ簮
- taskOverToWms.setWarehouseId("1688469798893297665"); //浠撳簱鏍囪瘑
- taskOverToWms.setTaskNo(taskWrk.getTaskNo()); //浠诲姟鍙�
- taskOverToWms.setTaskType(tasktype); // 浠诲姟绫诲瀷
- taskOverToWms.setContainerCode(taskWrk.getBarcode()); // 瀹瑰櫒缂栫爜
- if (taskWrk.getIoType() ==1 || taskWrk.getIoType() == 3){
- taskOverToWms.setEquipmentCode(String.valueOf(taskWrk.getCrnNo())); //璁惧缂栫爜
- taskOverToWms.setTargetLocationCode(taskWrk.getOriginTargetPoint()); //鐩爣搴撲綅
- }else if (taskWrk.getIoType() ==2){
- Map<Integer,String> map1 = new HashMap<>();
- map1.put(102,"J-1101");
- map1.put(106,"J-1103");
- map1.put(110,"J-1105");
- map1.put(114,"J-1107");
- map1.put(118,"J-1109");
- map1.put(122,"J-1111");
- map1.put(305,"H-1101");
- map1.put(405,"G-1101");
- taskOverToWms.setEquipmentCode(map1.get(taskWrk.getTargetPoint())); //璁惧缂栫爜
- taskOverToWms.setSourceLocationCode(taskWrk.getOriginStartPoint()); //婧愬簱浣�
- }
-
- taskOverToWms.setTaskStatus("executing"); //浠诲姟鐘舵��
- String response = null;
- try {
- response = new HttpHandler.Builder()
- .setHeaders(map)
- .setUri(wmsUrl)
- .setPath("wcsManager/wcsInterface/taskStatusFeedback")
- .setJson(JSON.toJSONString(taskOverToWms))
- .build()
- .doPost();
- }catch (Exception e){
- log.error("鍫嗗灈鏈轰换鍔″畬鎴愶紝璇锋眰wms浠诲姟瀹屾垚鎺ュ彛澶辫触");
- }
- apiLogService.save("鍫嗗灈鏈哄紑濮嬭繍琛�"
- ,wmsUrl+"wcsManager/wcsInterface/taskStatusFeedback"
- ,null
- ,"127.0.0.1"
- ,JSON.toJSONString(taskOverToWms)
- ,response
- ,true
- );
- return response;
}
private TaskWrk createTask(GetWmsDto dto, String barcode){
--
Gitblit v1.9.1