任务完成处理优化

This commit is contained in:
lsymicc
2026-09-16 16:00:14 +08:00
parent 82a8dfcaa9
commit 03e00d97e9
3 changed files with 67 additions and 5 deletions

View File

@@ -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<Integer, String> 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, "有货容器出库")
));
}

View File

@@ -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";
}

View File

@@ -196,6 +196,8 @@ public class MydoJobHandler {
if (mydoJobs.isEmpty()) return;
for (MydoJob mydoJob : mydoJobs) {
cancelWcsJob(mydoJob);
//任务子表
List<MydoJobDetail> 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<MydoJobDetail> 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<MydoJobDetail> 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<BasStock> 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<MydoJobDetail> 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<MydoJobDetail> 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<MydoJobDetail> 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<BasStock> 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<String, Object> 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<String, Object> 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);
}
}