From 1096df7b05cb00d0771d9f8c6cc43d8022099c7b Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期六, 24 五月 2025 10:10:14 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/task/TaskLogScheduler.java | 219 +++++++++++++++++++++++++++---------------- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 16 +- src/main/java/com/zy/asrs/controller/TaskWrkController.java | 29 ++--- src/main/java/com/zy/asrs/task/AssignTasksRCSScheduler.java | 2 4 files changed, 161 insertions(+), 105 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/TaskWrkController.java b/src/main/java/com/zy/asrs/controller/TaskWrkController.java index 3c2815c..7753f55 100644 --- a/src/main/java/com/zy/asrs/controller/TaskWrkController.java +++ b/src/main/java/com/zy/asrs/controller/TaskWrkController.java @@ -318,7 +318,7 @@ // log.error("wcs鎵嬪姩鍙栨秷浠诲姟涓婃姤wms澶辫触={},杩斿洖鍊�={}", taskWrk,response); //// throw new CoolException(e); // } - taskWrk.setWrkSts(9); + taskWrk.setCompleteTime(now);//瀹岀粨鏃堕棿 taskWrkService.updateById(taskWrk); return R.ok(); @@ -361,21 +361,18 @@ return R.error("娌℃湁鎵惧埌璇ヤ换鍔�={"+notifyDto+"}"); } Date now = new Date(); - if(notifyDto.getMsgType().equals("task_complete")&&taskWrk.getIoType()==3){ - taskWrk.setWrkSts(9);//鏇存柊鏁版嵁瀹屾垚锛岀洿鎺ヨ浆鍘嗗彶妗� - - //鏇存柊婧愬簱浣嶇姸鎬佷负绌哄簱浣� - LocMast locMast = locMastService.selectByLocNo(taskWrk.getStartPoint()); - locMast.setLocSts("O"); - locMastService.updateById(locMast); - - //鏇存柊鐩爣搴撶姸鎬佷负鍦ㄥ簱 - LocMast locMast2 = locMastService.selectByLocNo(taskWrk.getTargetPoint()); - locMast2.setLocSts("F"); - locMastService.updateById(locMast2); - taskWrk.setModiTime(now);//鎿嶄綔鏃堕棿 - taskWrk.setModiUser(9998L);//鎿嶄綔鍛� - taskWrkService.updateById(taskWrk); + if (notifyDto.getMsgType().equals("task_complete")) { + if (taskWrk.getIoType() == 1 || taskWrk.getIoType() == 3) { + taskWrk.setWrkSts(8);//鏇存柊鏁版嵁 + taskWrk.setModiTime(now);//鎿嶄綔鏃堕棿 + taskWrk.setModiUser(9998L);//鎿嶄綔鍛� + taskWrkService.updateById(taskWrk); + } else if (taskWrk.getIoType() == 2) { + taskWrk.setWrkSts(18);//鏇存柊鏁版嵁 + taskWrk.setModiTime(now);//鎿嶄綔鏃堕棿 + taskWrk.setModiUser(9998L);//鎿嶄綔鍛� + taskWrkService.updateById(taskWrk); + } } return R.ok(); } 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 30318dd..c90a68e 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -93,7 +93,7 @@ //婕旂ず妯″紡-AGV鍑哄簱 private synchronized void demoAgvOut() { - LocMast locMast = locMastService.selectByLocNo("1100601"); + LocMast locMast = locMastService.selectByLocNo("0900601"); if(locMast == null) { return; } @@ -105,7 +105,7 @@ List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>() .eq("mk", "agv") .eq("loc_sts", "F") - .notIn("loc_no", "0900601") + .notIn("loc_no", "1100601") ); if (locMasts.isEmpty()) { @@ -123,7 +123,7 @@ //婕旂ず妯″紡-AGV鍏ュ簱 private synchronized void demoAgvIn() { - LocMast locMast = locMastService.selectByLocNo("0900601"); + LocMast locMast = locMastService.selectByLocNo("1100601"); if(locMast == null) { return; } @@ -135,7 +135,7 @@ List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>() .eq("mk", "agv") .eq("loc_sts", "O") - .notIn("loc_no", "1100601") + .notIn("loc_no", "0900601") ); if (locMasts.isEmpty()) { @@ -153,7 +153,7 @@ //婕旂ず妯″紡-鍥涘悜搴撳嚭搴� private synchronized void demoShuttleOut() { - LocMast locMast = locMastService.selectByLocNo("0900601"); + LocMast locMast = locMastService.selectByLocNo("1100601"); if(locMast == null) { return; } @@ -163,6 +163,7 @@ } ArrayList<Integer> disableLevList = new ArrayList<>(); + disableLevList.add(1); //query in task List<TaskWrk> taskWrks = taskWrkService.selectList(new EntityWrapper<TaskWrk>() @@ -210,7 +211,7 @@ //婕旂ず妯″紡-鍥涘悜搴撳叆搴� private synchronized void demoShuttleIn() { - LocMast locMast = locMastService.selectByLocNo("1100601"); + LocMast locMast = locMastService.selectByLocNo("0900601"); if(locMast == null) { return; } @@ -220,6 +221,7 @@ } ArrayList<Integer> disableLevList = new ArrayList<>(); + disableLevList.add(1); //query out task List<TaskWrk> taskWrks = taskWrkService.selectList(new EntityWrapper<TaskWrk>() @@ -252,7 +254,7 @@ taskWrk.setCreateTime(now); taskWrk.setIoType(1);//鍏ュ簱 taskWrk.setIoPri(100);//浼樺厛绾� - taskWrk.setOriginTargetPoint("1"); + taskWrk.setOriginStartPoint("1"); taskWrk.setOriginTargetPoint(String.valueOf(Utils.getLev(locMast1.getLocNo()))); taskWrk.setTargetPoint(locMast1.getLocNo());//缁堢偣 boolean result = taskWrkService.insert(taskWrk); diff --git a/src/main/java/com/zy/asrs/task/AssignTasksRCSScheduler.java b/src/main/java/com/zy/asrs/task/AssignTasksRCSScheduler.java index d72770c..0a5c836 100644 --- a/src/main/java/com/zy/asrs/task/AssignTasksRCSScheduler.java +++ b/src/main/java/com/zy/asrs/task/AssignTasksRCSScheduler.java @@ -134,7 +134,7 @@ @Scheduled(cron = "0/3 * * * * ? ") public void executeIn() { List<TaskWrk> taskWrks = taskWrkService.selectList(new EntityWrapper<TaskWrk>() - .eq("wrk_sts", 1).eq("io_type", 2)); + .eq("wrk_sts", 1).eq("io_type", 1)); for(TaskWrk taskWrk:taskWrks){ HashMap<String, Object> headParam = new HashMap<>(); String response = ""; diff --git a/src/main/java/com/zy/asrs/task/TaskLogScheduler.java b/src/main/java/com/zy/asrs/task/TaskLogScheduler.java index f780841..c54e0fb 100644 --- a/src/main/java/com/zy/asrs/task/TaskLogScheduler.java +++ b/src/main/java/com/zy/asrs/task/TaskLogScheduler.java @@ -1,28 +1,18 @@ package com.zy.asrs.task; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.exception.CoolException; import com.zy.asrs.domain.enums.TaskStatusType; import com.zy.asrs.entity.*; -import com.zy.asrs.entity.param.TaskOverToWms; -import com.zy.asrs.entity.param.TaskStatusFeedbackParam; import com.zy.asrs.service.*; import com.zy.asrs.service.impl.TaskWrkLogServiceImpl; -import com.zy.asrs.utils.PostMesDataUtils; -import com.zy.common.utils.HttpHandler; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; -import java.io.IOException; import java.util.Date; -import java.util.HashMap; import java.util.List; -import java.util.Map; /** * 瀹氭椂灏嗕换鍔�(瀹屾垚銆佸彇娑�)杞垚鏃ュ織 @@ -34,90 +24,157 @@ @Autowired private TaskWrkService taskWrkService; @Autowired - private CommandInfoService commandInfoService; - @Autowired - private ApiLogService apiLogService; - @Autowired - private BasDevpService basDevpService; - - @Autowired - private StaDescService staDescService; - @Autowired private LocMastService locMastService; @Autowired - private TaskWrkLogServiceImpl wrkLogService; - - @Value("${wms.url}") - private String wmsUrl; - @Value("${wms.movePath}") - private String movePath; - @Value("${wms.inboundTaskApplyPath}") - private String inboundTaskApplyPath; - @Value("${wms.TaskExecCallback}") - private String TaskExecCallback; - @Value("${wms.taskStatusFeedbackPath}") - private String taskStatusFeedbackPath; + private TaskWrkLogServiceImpl taskWrkLogService; @Scheduled(cron = "0/3 * * * * ? ") - public void execute() throws IOException { - - //鍏ュ簱9杞巻鍙叉。 - List<TaskWrk> taskWrkList = taskWrkService.selectList(new EntityWrapper<TaskWrk>().eq("wrk_sts", 9)); + public void executeIn() { + List<TaskWrk> taskWrkList = taskWrkService.selectList(new EntityWrapper<TaskWrk>().eq("wrk_sts", 8)); for (TaskWrk taskWrk : taskWrkList) { + Date now = new Date(); + if (taskWrk.getIoType() == 1) { + if (taskWrk.getOriginStartPoint().equals("1")) { + //鏇存柊婧愬簱浣嶇姸鎬佷负绌哄簱浣� + LocMast locMast = locMastService.selectByLocNo("0900601"); + locMast.setLocSts("O"); + locMastService.updateById(locMast); + } + + //鏇存柊鐩爣搴撶姸鎬佷负鍦ㄥ簱 + LocMast locMast2 = locMastService.selectByLocNo(taskWrk.getTargetPoint()); + locMast2.setLocSts("F"); + locMastService.updateById(locMast2); + + taskWrk.setModiTime(now);//鎿嶄綔鏃堕棿 + taskWrk.setModiUser(9998L);//鎿嶄綔鍛� + taskWrkService.updateById(taskWrk); + } else if (taskWrk.getIoType() == 3) { + //鏇存柊婧愬簱浣嶇姸鎬佷负绌哄簱浣� + LocMast locMast = locMastService.selectByLocNo(taskWrk.getStartPoint()); + locMast.setLocSts("O"); + locMastService.updateById(locMast); + + //鏇存柊鐩爣搴撶姸鎬佷负鍦ㄥ簱 + LocMast locMast2 = locMastService.selectByLocNo(taskWrk.getTargetPoint()); + locMast2.setLocSts("F"); + locMastService.updateById(locMast2); + + taskWrk.setModiTime(now);//鎿嶄綔鏃堕棿 + taskWrk.setModiUser(9998L);//鎿嶄綔鍛� + taskWrkService.updateById(taskWrk); + }else { + throw new CoolException("浠诲姟绫诲瀷寮傚父"); + } + TaskWrkLog taskWrkLog = new TaskWrkLog(taskWrk); - if (!wrkLogService.insert(taskWrkLog)) { + if (!taskWrkLogService.insert(taskWrkLog)) { throw new CoolException("杞巻鍙叉。澶辫触" + taskWrkLog); } if (!taskWrkService.deleteById(taskWrk)) { throw new CoolException("浠诲姟妗e垹闄ゅけ璐�" + taskWrkLog); } - } + } -// for (TaskWrk taskWrk : taskWrkService.selectToBeHistoryData()) { -// HashMap<String, Object> headParam = new HashMap<>(); -// if (taskWrk.getStatus().equals(TaskStatusType.OVER.id) || taskWrk.getStatus() == 7) {//瀹屾垚 -// headParam.put("Result", 1); -// } else if (taskWrk.getStatus().equals(TaskStatusType.CANCEL.id)) { -// headParam.put("Result", 2); -// } -// String response = ""; -// Boolean bool = false; -// try { -// headParam.put("TaskNo", taskWrk.getTaskNo()); -// log.info("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms={}", taskWrk); -// response = new HttpHandler.Builder() -// // .setHeaders(headParam) -// .setUri(wmsUrl) -// .setPath(TaskExecCallback) -// .setJson(JSON.toJSONString(headParam)) -// .build() -// .doPost(); -// JSONObject jsonObject = JSON.parseObject(response); -// TaskWrkLog taskWrkLog = new TaskWrkLog(taskWrk); -// if(jsonObject.get("ReturnStatus").equals(0)){ -// taskWrkLog.setWrkSts(8); -// if (!wrkLogService.insert(taskWrkLog)) { -// throw new CoolException("杞巻鍙叉。澶辫触" + taskWrkLog); -// } -// if (!taskWrkService.deleteById(taskWrk)) { -// throw new CoolException("浠诲姟妗e垹闄ゅけ璐�" + taskWrkLog); -// } -// bool = true; -// } -// } catch (Exception e) { -// log.error("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms澶辫触{},杩斿洖鍊�={}", taskWrk, response); -// } finally { -// apiLogService.save("wcs瀹屾垚鎴栬�呭彇娑堜换鍔′笂鎶ms" -// , wmsUrl + TaskExecCallback -// , null -// , "127.0.0.1" -// , JSON.toJSONString(headParam) -// , response -// , bool -// ); -// } -// } + @Scheduled(cron = "0/3 * * * * ? ") + public void executeOut() { + List<TaskWrk> taskWrkList = taskWrkService.selectList(new EntityWrapper<TaskWrk>().eq("wrk_sts", 18)); + for (TaskWrk taskWrk : taskWrkList) { + Date now = new Date(); + if (taskWrk.getIoType() == 2) { + if (taskWrk.getTargetPoint().equals("101")) { + //鏇存柊搴撲綅鐘舵�佷负鍦ㄥ簱 + LocMast locMast = locMastService.selectByLocNo("1100601"); + locMast.setLocSts("F"); + locMastService.updateById(locMast); + } + + //鏇存柊婧愬簱鐘舵�佷负绌哄簱浣� + LocMast locMast2 = locMastService.selectByLocNo(taskWrk.getStartPoint()); + locMast2.setLocSts("O"); + locMastService.updateById(locMast2); + + taskWrk.setModiTime(now);//鎿嶄綔鏃堕棿 + taskWrk.setModiUser(9998L);//鎿嶄綔鍛� + taskWrkService.updateById(taskWrk); + }else { + throw new CoolException("浠诲姟绫诲瀷寮傚父"); + } + + TaskWrkLog taskWrkLog = new TaskWrkLog(taskWrk); + if (!taskWrkLogService.insert(taskWrkLog)) { + throw new CoolException("杞巻鍙叉。澶辫触" + taskWrkLog); + } + if (!taskWrkService.deleteById(taskWrk)) { + throw new CoolException("浠诲姟妗e垹闄ゅけ璐�" + taskWrkLog); + } + } + } + + @Scheduled(cron = "0/3 * * * * ? ") + public void executeCancel() { + List<TaskWrk> taskWrkList = taskWrkService.selectList(new EntityWrapper<TaskWrk>().eq("status", TaskStatusType.CANCEL.id)); + for (TaskWrk taskWrk : taskWrkList) { + Date now = new Date(); + if(taskWrk.getIoType() == 1) { + if (taskWrk.getOriginStartPoint().equals("1")) { + //鏇存柊婧愬簱浣嶇姸鎬佷负鍦ㄥ簱 + LocMast locMast = locMastService.selectByLocNo("0900601"); + locMast.setLocSts("F"); + locMastService.updateById(locMast); + } + + //鏇存柊鐩爣搴撶姸鎬佷负绌哄簱 + LocMast locMast2 = locMastService.selectByLocNo(taskWrk.getTargetPoint()); + locMast2.setLocSts("O"); + locMastService.updateById(locMast2); + + taskWrk.setModiTime(now);//鎿嶄綔鏃堕棿 + taskWrk.setModiUser(9998L);//鎿嶄綔鍛� + taskWrkService.updateById(taskWrk); + } else if (taskWrk.getIoType() == 2) { + if (taskWrk.getTargetPoint().equals("101")) { + //鏇存柊搴撲綅鐘舵�佷负绌哄簱 + LocMast locMast = locMastService.selectByLocNo("1100601"); + locMast.setLocSts("O"); + locMastService.updateById(locMast); + } + + //鏇存柊婧愬簱鐘舵�佷负鍦ㄥ簱 + LocMast locMast2 = locMastService.selectByLocNo(taskWrk.getStartPoint()); + locMast2.setLocSts("F"); + locMastService.updateById(locMast2); + + taskWrk.setModiTime(now);//鎿嶄綔鏃堕棿 + taskWrk.setModiUser(9998L);//鎿嶄綔鍛� + taskWrkService.updateById(taskWrk); + } else if (taskWrk.getIoType() == 3) { + //鏇存柊婧愬簱浣嶇姸鎬佷负鍦ㄥ簱 + LocMast locMast = locMastService.selectByLocNo(taskWrk.getStartPoint()); + locMast.setLocSts("F"); + locMastService.updateById(locMast); + + //鏇存柊鐩爣搴撶姸鎬佷负绌哄簱浣� + LocMast locMast2 = locMastService.selectByLocNo(taskWrk.getTargetPoint()); + locMast2.setLocSts("O"); + locMastService.updateById(locMast2); + + taskWrk.setModiTime(now);//鎿嶄綔鏃堕棿 + taskWrk.setModiUser(9998L);//鎿嶄綔鍛� + taskWrkService.updateById(taskWrk); + } else { + throw new CoolException("浠诲姟绫诲瀷寮傚父"); + } + + TaskWrkLog taskWrkLog = new TaskWrkLog(taskWrk); + if (!taskWrkLogService.insert(taskWrkLog)) { + throw new CoolException("杞巻鍙叉。澶辫触" + taskWrkLog); + } + if (!taskWrkService.deleteById(taskWrk)) { + throw new CoolException("浠诲姟妗e垹闄ゅけ璐�" + taskWrkLog); + } + } } } -- Gitblit v1.9.1