diff --git a/ruoyi-admin/src/main/java/com/ruoyi/common/TaskType.java b/ruoyi-admin/src/main/java/com/ruoyi/common/TaskType.java index 42e93db..8fe3efc 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/common/TaskType.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/common/TaskType.java @@ -1,5 +1,10 @@ package com.ruoyi.common; +import java.util.HashMap; +import java.util.Map; + +import static java.util.Map.entry; + public class TaskType { /** @@ -21,7 +26,7 @@ public class TaskType { public static final String TASKTYPE_PICK_BACK_STR = "3"; /** - * 拣选回流 + * 盘点回流 */ public static final int TASKTYPE_INVENTORY_BACK = 4; public static final String TASKTYPE_INVENTORY_BACK_STR = "4"; @@ -57,7 +62,7 @@ public class TaskType { public static final String TASKTYPE_STOCKOUT_MANUAL_STR = "23"; /** - * 盘点 + * 盘点出库 */ public static final int TASKTYPE_STOCKOUT_INVENTORY = 26; public static final String TASKTYPE_STOCKOUT_INVENTORY_STR = "26"; @@ -69,4 +74,20 @@ public class TaskType { public static final String TASKTYPE_STOCKOUT_CONTAINER_STR = "27"; + + public static final Map TASKTYPE_MAP = new HashMap<>(Map.ofEntries( + entry(TASKTYPE_STOCKIN, "常规入库"), + entry(TASKTYPE_STOCKIN_EMPTY_TRAY, "空托入库"), + entry(TASKTYPE_PICK_BACK, "拣选回流"), + entry(TASKTYPE_INVENTORY_BACK, "盘点回流"), + entry(TASKTYPE_PICK_STOCK_MOVE, "移库"), + entry(TASKTYPE_STOCKOUT, "整托出库"), + entry(TASKTYPE_STOCKOUT_PICKING, "拣选出库"), + entry(TASKTYPE_STOCKOUT_EMPTY_TRAY, "空容器出库"), + entry(TASKTYPE_STOCKOUT_MANUAL, "指定货位出库"), + entry(TASKTYPE_STOCKOUT_INVENTORY, "盘点出库"), + entry(TASKTYPE_STOCKOUT_CONTAINER, "有货容器出库") + )); + + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/common/WcsUrl.java b/ruoyi-admin/src/main/java/com/ruoyi/common/WcsUrl.java index bbcdcea..adfc1a1 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/common/WcsUrl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/common/WcsUrl.java @@ -30,7 +30,7 @@ public class WcsUrl { public static final String CANCEL_WCS_MYDOJOB = "http://localhost:8081/wcs2wms/api/cancelMydoJob"; /** 请求wcs手动完成作业 */ - public static final String MANUAL_COMPLETE_WCS_MYDOJOB = "http://localhost:8081/wcs2wms/api/manualCompleteMydoJob"; + public static final String MANUAL_COMPLETE_WCS_MYDOJOB = "http://localhost:8081/wcs2wms/api/manualCompleteMydoJobByJobId"; } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/scheduleTask/MydoJobHandler.java b/ruoyi-admin/src/main/java/com/ruoyi/scheduleTask/MydoJobHandler.java index db63b8f..e432298 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/scheduleTask/MydoJobHandler.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/scheduleTask/MydoJobHandler.java @@ -196,6 +196,8 @@ public class MydoJobHandler { if (mydoJobs.isEmpty()) return; for (MydoJob mydoJob : mydoJobs) { + + cancelWcsJob(mydoJob); //任务子表 List details = mydoJobDetailService.selectMydoJobDetailByJobId(mydoJob.getJobId()); if (!details.isEmpty()){ @@ -237,6 +239,7 @@ public class MydoJobHandler { mydoJobService.deleteMydoJobByJobId(mydoJob.getJobId()); log.info("【账务处理-入库】任务作废,移除作业信息,更新货位状态,作业号:{}", mydoJob.getJobId()); + return; } @@ -259,6 +262,8 @@ public class MydoJobHandler { if (mydoJobs.isEmpty()) return; for (MydoJob mydoJob : mydoJobs) { + + cancelWcsJob(mydoJob); //任务子表 List details = mydoJobDetailService.selectMydoJobDetailByJobId(mydoJob.getJobId()); if (!details.isEmpty()){ @@ -325,6 +330,8 @@ public class MydoJobHandler { if (mydoJobs.isEmpty()) return; for (MydoJob mydoJob : mydoJobs) { + + cancelWcsJob(mydoJob); //任务子表 List details = mydoJobDetailService.selectMydoJobDetailByJobId(mydoJob.getJobId()); if (!details.isEmpty()){ @@ -382,6 +389,8 @@ public class MydoJobHandler { for (MydoJob mydoJob : mydoJobs) { if (mydoJob.getInOrOut() != TaskType.TASKTYPE_STOCKOUT_INVENTORY && mydoJob.getInOrOut() != TaskType.TASKTYPE_INVENTORY_BACK) continue; + cancelWcsJob(mydoJob); + //库存子表 List stocks = basStockService.selectBasStockListByTrayCode(mydoJob.getTrayCode()); if (!stocks.isEmpty()){ @@ -593,6 +602,7 @@ public class MydoJobHandler { if (mydoJobs.isEmpty()) return; for (MydoJob mydoJob : mydoJobs) { + manualCompleteWcsJob(mydoJob); //任务子表 List details = mydoJobDetailService.selectMydoJobDetailByJobId(mydoJob.getJobId()); if (!details.isEmpty()){ @@ -708,6 +718,8 @@ public class MydoJobHandler { if (mydoJobs.isEmpty()) return; for (MydoJob mydoJob : mydoJobs) { + + manualCompleteWcsJob(mydoJob); //任务子表 List details = mydoJobDetailService.selectMydoJobDetailByJobId(mydoJob.getJobId()); if (!details.isEmpty()){ @@ -776,6 +788,8 @@ public class MydoJobHandler { if (mydoJobs.isEmpty()) return; for (MydoJob mydoJob : mydoJobs) { + + manualCompleteWcsJob(mydoJob); //任务子表 List details = mydoJobDetailService.selectMydoJobDetailByJobId(mydoJob.getJobId()); if (!details.isEmpty()){ @@ -832,6 +846,8 @@ public class MydoJobHandler { for (MydoJob mydoJob : mydoJobs) { if (mydoJob.getInOrOut() != TaskType.TASKTYPE_STOCKOUT_INVENTORY && mydoJob.getInOrOut() != TaskType.TASKTYPE_INVENTORY_BACK) continue; + manualCompleteWcsJob(mydoJob); + //库存子表 List stocks = basStockService.selectBasStockListByTrayCode(mydoJob.getTrayCode()); if (!stocks.isEmpty()){ @@ -876,7 +892,6 @@ public class MydoJobHandler { - //==================================================================================================== //==================================================================================================== //==================================================================================================== @@ -892,9 +907,35 @@ public class MydoJobHandler { } + /** + * 请求wcs取消作业 + * @param mydoJob + */ + void cancelWcsJob(MydoJob mydoJob){ + //初始化参数 + HashMap paramMap = new HashMap<>(); + paramMap.put("jobId", mydoJob.getJobId()); + String taskType = TaskType.TASKTYPE_MAP.get(mydoJob.getInOrOut()); + AjaxResult ajaxResult = apiWcsService.cancelWcsMydoJob(paramMap); + if (ajaxResult.isSuccess()){ + log.info("【账务处理】请求手动<取消>wcs作业,作业号:{},任务类型:{}", mydoJob.getJobId(), taskType); + } + } - void cancelWcsJob(){ + /** + * 请求wcs手动完成作业 + * @param mydoJob + */ + void manualCompleteWcsJob(MydoJob mydoJob){ + //初始化参数 + HashMap paramMap = new HashMap<>(); + paramMap.put("jobId", mydoJob.getJobId()); + String taskType = TaskType.TASKTYPE_MAP.get(mydoJob.getInOrOut()); + AjaxResult ajaxResult = apiWcsService.manualCompleteWcsMydoJob(paramMap); + if (ajaxResult.isSuccess()){ + log.info("【账务处理】请求手动<完成>wcs作业,作业号:{},任务类型:{}", mydoJob.getJobId(), taskType); + } }