diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/service/WcsService.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/service/WcsService.java index eb5e25c..93b0a22 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/service/WcsService.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/service/WcsService.java @@ -19,6 +19,11 @@ public interface WcsService { */ Result wcsTaskAssign(TaskHeader taskHeader); + /** + * 取消WCS任务 + */ + Result cancelWcsTask(TaskHeader taskHeader); + WcsTask switchTaskTypeToWcs(WcsTask wcsTask); /** diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/service/WcsServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/service/WcsServiceImpl.java index 2b8f3ac..7b71b87 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/service/WcsServiceImpl.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/service/WcsServiceImpl.java @@ -7,6 +7,7 @@ import java.util.stream.Collectors; import javax.annotation.Resource; import org.jeecg.common.api.vo.Result; +import org.jeecg.common.exception.JeecgBootException; import org.jeecg.modules.wms.api.wcs.entity.MaterialInfoEntity; import org.jeecg.modules.wms.api.wcs.entity.TaskReentryEntity; import org.jeecg.modules.wms.api.wcs.entity.WarecellDomain; @@ -42,7 +43,6 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.alibaba.fastjson.JSON; -import org.jeecg.common.exception.JeecgBootException; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -408,7 +408,32 @@ public class WcsServiceImpl implements WcsService { } } LogRecordContext.putVariable("taskHeader", taskHeader);// 操作日志收集 - return Result.ok("下发成功"); + return Result.ok("下发任务成功"); + } + + @Override + public Result cancelWcsTask(TaskHeader taskHeader) { + WcsTask wcsTask = new WcsTask(); + wcsTask.setTaskNo(String.valueOf(taskHeader.getId())); + String value = parameterConfigurationService.getValueByCode(QuantityConstant.RULE_CONNECT_WCS); + if (StringUtils.isEmpty(value)) { + throw new JeecgBootException("下发任务时,没有找到连接WCS的数据配置"); + } + int connectWCS = Integer.parseInt(value); + if (connectWCS == QuantityConstant.RULE_WCS_CONNECT) { + String url = addressService.getUrlByParam(QuantityConstant.ADDRESS_WCS_TASK_CANCEL); + String jsonParam = JSON.toJSONString(wcsTask); + System.out.println(jsonParam); + String body = OkHttpUtils.sendPostByJsonStr(url, jsonParam); + if (StringUtils.isEmpty(body)) { + throw new JeecgBootException("接口地址错误或返回为空"); + } + Result result = JSON.parseObject(body, Result.class); + if (result.getCode() != QuantityConstant.HTTP_OK) { + return Result.error(result.getMessage()); + } + } + return Result.ok("取消任务成功"); } // wcs任务类型 入库 = 100 , 出库 = 300,分拣出库 = 400 ,移库 = 800,换站=1000 diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java index 6a3325a..72b0b30 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java @@ -882,6 +882,12 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea if (taskHeader.getStatus().equals(QuantityConstant.TASK_STATUS_COMPLETED)) { return Result.ok("任务(" + taskId + ")任务已经是完成的!"); } + if (taskHeader.getStatus().intValue() > QuantityConstant.TASK_STATUS_BUILD) { + Result result = wcsService.cancelWcsTask(taskHeader); + if (!result.isSuccess()) { + return result; + } + } int taskType = taskHeader.getTaskType().intValue(); int preTaskNo = taskId; String warehouseCode = taskHeader.getWarehouseCode(); @@ -1119,6 +1125,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea inventoryHeader.setContainerCode(containerCode); inventoryHeader.setLocationCode(toLocationCode); inventoryHeader.setTotalWeight(taskHeader.getWeight()); + inventoryHeader.setCreateBy(taskHeader.getCreateBy()); inventoryHeader.setContainerStatus(QuantityConstant.STATUS_CONTAINER_SOME); inventoryHeader.setEnable(QuantityConstant.STATUS_ENABLE); if (!inventoryHeaderService.save(inventoryHeader)) { diff --git a/huaheng-wms-core/src/main/java/org/jeecg/utils/interceptor/HuahengBatisInterceptor.java b/huaheng-wms-core/src/main/java/org/jeecg/utils/interceptor/HuahengBatisInterceptor.java index 1a8c9db..634402a 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/utils/interceptor/HuahengBatisInterceptor.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/utils/interceptor/HuahengBatisInterceptor.java @@ -109,12 +109,12 @@ public class HuahengBatisInterceptor implements Interceptor { try { if ("updateBy".equals(field.getName())) { // 获取登录用户信息 - if (sysUser != null) { - // 登录账号 - field.setAccessible(true); - field.set(parameter, HuahengJwtUtil.getCurrentOperator()); - field.setAccessible(false); - } +// if (sysUser != null) { + // 登录账号 + field.setAccessible(true); + field.set(parameter, HuahengJwtUtil.getCurrentOperator()); + field.setAccessible(false); +// } } if ("updateTime".equals(field.getName())) { field.setAccessible(true);