From 1a72a6cb78f648d042f1088f5a326a29d1f378eb Mon Sep 17 00:00:00 2001 From: gongbaoxiong <751575283@qq.com> Date: Tue, 2 Jul 2024 13:12:34 +0800 Subject: [PATCH] =?UTF-8?q?opt:=E4=BC=98=E5=8C=96=E4=B8=80=E6=A5=BC?= =?UTF-8?q?=E8=A3=85=E7=AE=B1=E5=8C=BA=E4=BB=BB=E5=8A=A1=E7=B1=BB=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/BstIvtPackageinfoivtServiceImpl.java | 50 +++++++++++------ .../sch/tasks/first_floor_area/DjqTask.java | 52 ++++++++---------- .../first_floor_area/DjqToKzjhcwTask.java | 53 ++++++++---------- .../sch/tasks/first_floor_area/GzqTask.java | 53 ++++++++---------- .../first_floor_area/GzqToKzjhcwTask.java | 55 ++++++++----------- .../sch/tasks/first_floor_area/MzhcwTask.java | 23 ++++---- .../first_floor_area/SendDjqKzjTask.java | 18 +++--- .../first_floor_area/SendGzqKzjTask.java | 20 +++---- .../tasks/first_floor_area/SsxDjwTask.java | 18 +++--- .../sch/tasks/first_floor_area/ZxDjwTask.java | 20 +++---- .../sch/tasks/first_floor_area/ZxqTask.java | 33 ++++++----- .../auto/AutoExecuteWaitTask.java | 4 -- .../java/org/nl/common/utils/TaskUtils.java | 2 - .../acs/service/impl/AcsToWmsServiceImpl.java | 7 ++- .../wms/sch/service/impl/TaskServiceImpl.java | 2 +- 15 files changed, 197 insertions(+), 213 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/impl/BstIvtPackageinfoivtServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/impl/BstIvtPackageinfoivtServiceImpl.java index 058f32b31..18603daeb 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/impl/BstIvtPackageinfoivtServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/impl/BstIvtPackageinfoivtServiceImpl.java @@ -1,34 +1,33 @@ package org.nl.b_lms.sch.point.service.impl; +import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; -import com.baomidou.mybatisplus.core.toolkit.support.SFunction; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; -import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; -import org.redisson.api.RLock; -import org.redisson.api.RedissonClient; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt; import org.nl.b_lms.sch.point.dao.mapper.BstIvtPackageinfoivtMapper; import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService; -import cn.hutool.core.date.DateUtil; import org.nl.b_lms.sch.task.dao.SchBaseTask; import org.nl.b_lms.sch.task.service.IschBaseTaskService; +import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; +import org.nl.common.domain.query.PageQuery; import org.nl.common.enums.PackageInfoIvtEnum; import org.nl.common.utils.SecurityUtils; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.nl.modules.common.exception.BadRequestException; import org.nl.wms.sch.manage.TaskStatusEnum; +import org.redisson.api.RLock; +import org.redisson.api.RedissonClient; import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; -import com.baomidou.mybatisplus.core.metadata.IPage; -import org.nl.common.domain.query.PageQuery; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; @@ -38,8 +37,6 @@ import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; import java.util.stream.Stream; -import static java.util.Collections.emptyList; - /** * {@code @Description:} 装箱区点位库存表(BstIvtPackageInfoIvt)服务实现层 @@ -82,6 +79,9 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl taskList; Set pointSets; if (pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("取货任务")) || pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货任务"))) { @@ -90,9 +90,9 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl() .eq(SchBaseTask::getTask_code, taskCode) + .eq(SchBaseTask::getIs_delete, IOSEnum.IS_SEND.code("否")) .eq(SchBaseTask::getTask_status, TaskStatusEnum.EXECUTING.getCode())); if (baseTask == null) { throw new BadRequestException("该任务未执行或不存在!"); @@ -277,9 +278,13 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl kzjIvtList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("空载具缓存位"), null, null, PackageInfoIvtEnum.SORT_TYPE.code("降序"), ""); + BigDecimal sortSeq = kzjIvtList.stream().filter(r -> r.getPoint_code().equals(pointCode)).collect(Collectors.toList()).get(0).getSort_seq(); + return kzjIvtList.stream() + .anyMatch(r -> r.getSort_seq().compareTo(sortSeq) < 0 && + r.getIvt_status().equals(PackageInfoIvtEnum.IVT_STATUS.code("空载具"))); + } + private BstIvtPackageinfoivt getBstIvtPackageinfoivt(String actionType, String taskPointType, SchBaseTask baseTask) { BstIvtPackageinfoivt newPoint; //1取货任务2放货任务 @@ -350,6 +367,7 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false); - if (TaskUtil.checkParams(schBaseTask,THIS_CLASS)) return; + if (TaskUtil.checkParams(schBaseTask, THIS_CLASS)) return; + TaskUtils.updateOptMessageByTask(schBaseTask); if (TaskStatusEnum.EXECUTING.getCode().equals(status)) { // 更新任务状态为执行中 schBaseTask.setTask_status(TaskStatusEnum.EXECUTING.getCode()); } if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { + log.info("任务编号为:" + schBaseTask.getTask_code() + "的任务完成接口在" + schBaseTask.getUpdate_time() + "被调用---------------------------------------------"); //1.更改任务状态为完成 schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode()); //2.改变起点点位状态,二次分配,取货完成就改起点库存 @@ -106,24 +107,21 @@ public class DjqTask extends AbstractAcsTask { //清除首次分配目标点位 schBaseTask.setPoint_code3(""); //4.判断是否存在确定起点的输送线->满轴缓存位任务,存在就下发任务 - List taskList = taskService.list(new LambdaQueryWrapper() - //确定起点未下发 - .eq(SchBaseTask::getTask_status, TaskStatusEnum.SURE_START.getCode()) - .eq(SchBaseTask::getPoint_code1, "NBJ1002") - .eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位")) - .eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")) - ); - if (CollectionUtils.isNotEmpty(taskList)) { - SchBaseTask task = taskList.get(0); - task.setPoint_code2(schBaseTask.getPoint_code1()); - task.setTask_status(TaskStatusEnum.START_AND_POINT.getCode()); - task.setUpdate_time(DateUtil.now()); - task.setUpdate_optid(SecurityUtils.getCurrentUserId()); - task.setUpdate_optname(SecurityUtils.getCurrentNickName()); - taskService.update(task); - //任务下发 - mzhcwTask.immediateNotifyAcs(task.getTask_id().toString()); - } + // List taskList = taskService.list(new LambdaQueryWrapper() + // //确定起点未下发 + // .eq(SchBaseTask::getTask_status, TaskStatusEnum.SURE_START.getCode()) + // .eq(SchBaseTask::getPoint_code1, "NBJ1002") + // .eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位")) + // .eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")) + // ); + // if (CollectionUtils.isNotEmpty(taskList)) { + // SchBaseTask task = taskList.get(0); + // task.setPoint_code2(schBaseTask.getPoint_code1()); + // task.setTask_status(TaskStatusEnum.START_AND_POINT.getCode()); + // taskService.update(task); + // //任务下发 + // mzhcwTask.immediateNotifyAcs(task.getTask_id().toString()); + // } //5搬运装箱区 //sendDjqToZxq(schBaseTask); } @@ -134,10 +132,9 @@ public class DjqTask extends AbstractAcsTask { } //任务被标记为取消 schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是")); + schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + schBaseTask.setRemark("任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。"); } - schBaseTask.setUpdate_time(DateUtil.now()); - schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId()); - schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName()); taskService.update(schBaseTask); } @@ -225,11 +222,10 @@ public class DjqTask extends AbstractAcsTask { if (schBaseTask == null) { throw new BadRequestException("满轴缓存位 -> 待检区取消接口任务号为空!"); } - schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + TaskUtils.updateOptMessageByTask(schBaseTask); schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是")); - schBaseTask.setUpdate_time(DateUtil.now()); - schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId()); - schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName()); + schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + schBaseTask.setRemark("任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。"); taskService.update(schBaseTask); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/DjqToKzjhcwTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/DjqToKzjhcwTask.java index 1fdca90f7..f710727d7 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/DjqToKzjhcwTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/DjqToKzjhcwTask.java @@ -6,13 +6,10 @@ import cn.hutool.core.util.BooleanUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt; import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService; import org.nl.b_lms.sch.task.dao.SchBaseTask; @@ -21,6 +18,7 @@ import org.nl.b_lms.sch.task.service.IschBaseTaskService; import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; import org.nl.common.enums.PackageInfoIvtEnum; import org.nl.common.utils.SecurityUtils; +import org.nl.common.utils.TaskUtils; import org.nl.modules.common.exception.BadRequestException; import org.nl.wms.sch.AcsTaskDto; import org.nl.wms.sch.manage.AbstractAcsTask; @@ -33,7 +31,6 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; -import java.util.stream.Collectors; /** @@ -92,11 +89,13 @@ public class DjqToKzjhcwTask extends AbstractAcsTask { public void updateTaskStatus(JSONObject taskObj, String status) { SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false); if (TaskUtil.checkParams(schBaseTask,THIS_CLASS)) return; + TaskUtils.updateOptMessageByTask(schBaseTask); if (TaskStatusEnum.EXECUTING.getCode().equals(status)) { // 更新任务状态为执行中 schBaseTask.setTask_status(TaskStatusEnum.EXECUTING.getCode()); } - if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { + if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { + log.info("任务编号为:"+schBaseTask.getTask_code()+"的任务完成接口在"+schBaseTask.getUpdate_time()+"被调用---------------------------------------------"); //1.更改任务状态为完成 schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode()); //2.改变起点点位状态 @@ -106,23 +105,20 @@ public class DjqToKzjhcwTask extends AbstractAcsTask { //更新库存记录 packageinfoivtService.update(new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空载具")).eq("point_code", schBaseTask.getPoint_code2())); //3.待检区或管制区搬运空载具到空载具缓存位完毕,判断是否存在确定终点的空载具缓存位->输送线任务,存在就下发任务 - List taskList = taskService.list(new LambdaQueryWrapper() - //确定终点未下发 - .eq(SchBaseTask::getTask_status, TaskStatusEnum.SURE_END.getCode()) - .eq(SchBaseTask::getPoint_code2, "NBJ1002") - .eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)")).eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")) - ); - if (CollectionUtils.isNotEmpty(taskList)) { - SchBaseTask task = taskList.get(0); - task.setPoint_code1(schBaseTask.getPoint_code2()); - task.setTask_status(TaskStatusEnum.START_AND_POINT.getCode()); - task.setUpdate_time(DateUtil.now()); - task.setUpdate_optid(SecurityUtils.getCurrentUserId()); - task.setUpdate_optname(SecurityUtils.getCurrentNickName()); - taskService.update(task); - //任务下发 - ssxDjwTask.immediateNotifyAcs(task.getTask_id().toString()); - } + // List taskList = taskService.list(new LambdaQueryWrapper() + // //确定终点未下发 + // .eq(SchBaseTask::getTask_status, TaskStatusEnum.SURE_END.getCode()) + // .eq(SchBaseTask::getPoint_code2, "NBJ1002") + // .eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)")).eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")) + // ); + // if (CollectionUtils.isNotEmpty(taskList)) { + // SchBaseTask task = taskList.get(0); + // task.setPoint_code1(schBaseTask.getPoint_code2()); + // task.setTask_status(TaskStatusEnum.START_AND_POINT.getCode()); + // taskService.update(task); + // //任务下发 + // ssxDjwTask.immediateNotifyAcs(task.getTask_id().toString()); + // } } // 取消 if (status.equals(IOSEnum.IS_NOTANDYES.code("否"))) { @@ -130,12 +126,10 @@ public class DjqToKzjhcwTask extends AbstractAcsTask { throw new BadRequestException("任务已执行不能取消"); } //任务被标记为取消 - schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是")); + schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + schBaseTask.setRemark("任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。"); } - schBaseTask.setUpdate_time(DateUtil.now()); - schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId()); - schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName()); taskService.update(schBaseTask); } @@ -207,11 +201,10 @@ public class DjqToKzjhcwTask extends AbstractAcsTask { if (schBaseTask == null) { throw new BadRequestException("待检区->空载具缓存位取消接口任务号为空!"); } - schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + TaskUtils.updateOptMessageByTask(schBaseTask); schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是")); - schBaseTask.setUpdate_time(DateUtil.now()); - schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId()); - schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName()); + schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + schBaseTask.setRemark("任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。"); taskService.update(schBaseTask); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/GzqTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/GzqTask.java index bf00f8ee2..e31991ab5 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/GzqTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/GzqTask.java @@ -6,12 +6,10 @@ import cn.hutool.core.util.BooleanUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections4.CollectionUtils; import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt; import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService; import org.nl.b_lms.sch.task.dao.SchBaseTask; @@ -20,6 +18,7 @@ import org.nl.b_lms.sch.task.service.IschBaseTaskService; import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; import org.nl.common.enums.PackageInfoIvtEnum; import org.nl.common.utils.SecurityUtils; +import org.nl.common.utils.TaskUtils; import org.nl.modules.common.exception.BadRequestException; import org.nl.wms.sch.AcsTaskDto; import org.nl.wms.sch.manage.AbstractAcsTask; @@ -88,11 +87,13 @@ public class GzqTask extends AbstractAcsTask { public void updateTaskStatus(JSONObject taskObj, String status) { SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false); if (TaskUtil.checkParams(schBaseTask,THIS_CLASS)) return; + TaskUtils.updateOptMessageByTask(schBaseTask); if (TaskStatusEnum.EXECUTING.getCode().equals(status)) { // 更新任务状态为执行中 schBaseTask.setTask_status(TaskStatusEnum.EXECUTING.getCode()); } - if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { + if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { + log.info("任务编号为:"+schBaseTask.getTask_code()+"的任务完成接口在"+schBaseTask.getUpdate_time()+"被调用---------------------------------------------"); //1.更改任务状态为完成 schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode()); //2.改变起点点位状态 @@ -100,24 +101,21 @@ public class GzqTask extends AbstractAcsTask { //更新库存记录 packageinfoivtService.update(new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("有子卷")).set("container_name", schBaseTask.getVehicle_code()).eq("point_code", schBaseTask.getPoint_code2())); //3.判断是否存在确定起点的输送线->满轴缓存位任务,存在就下发任务 - List taskList = taskService.list(new LambdaQueryWrapper() - //确定起点未下发 - .eq(SchBaseTask::getTask_status, TaskStatusEnum.SURE_START.getCode()) - .eq(SchBaseTask::getPoint_code1, "NBJ1002") - .eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位")) - .eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")) - ); - if (CollectionUtils.isNotEmpty(taskList)) { - SchBaseTask task = taskList.get(0); - task.setPoint_code2(schBaseTask.getPoint_code1()); - task.setTask_status(TaskStatusEnum.START_AND_POINT.getCode()); - task.setUpdate_time(DateUtil.now()); - task.setUpdate_optid(SecurityUtils.getCurrentUserId()); - task.setUpdate_optname(SecurityUtils.getCurrentNickName()); - taskService.update(task); - //任务下发 - mzhcwTask.immediateNotifyAcs(task.getTask_id().toString()); - } + // List taskList = taskService.list(new LambdaQueryWrapper() + // //确定起点未下发 + // .eq(SchBaseTask::getTask_status, TaskStatusEnum.SURE_START.getCode()) + // .eq(SchBaseTask::getPoint_code1, "NBJ1002") + // .eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位")) + // .eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")) + // ); + // if (CollectionUtils.isNotEmpty(taskList)) { + // SchBaseTask task = taskList.get(0); + // task.setPoint_code2(schBaseTask.getPoint_code1()); + // task.setTask_status(TaskStatusEnum.START_AND_POINT.getCode()); + // taskService.update(task); + // //任务下发 + // mzhcwTask.immediateNotifyAcs(task.getTask_id().toString()); + // } } // 取消 if (status.equals(IOSEnum.IS_NOTANDYES.code("否"))) { @@ -125,12 +123,10 @@ public class GzqTask extends AbstractAcsTask { throw new BadRequestException("任务已执行不能取消"); } //任务被标记为取消 - schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是")); + schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + schBaseTask.setRemark("任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。"); } - schBaseTask.setUpdate_time(DateUtil.now()); - schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId()); - schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName()); taskService.update(schBaseTask); } @@ -201,11 +197,10 @@ public class GzqTask extends AbstractAcsTask { if (schBaseTask == null) { throw new BadRequestException("满轴缓存位 -> 管制区取消接口任务号为空!"); } - schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + TaskUtils.updateOptMessageByTask(schBaseTask); schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是")); - schBaseTask.setUpdate_time(DateUtil.now()); - schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId()); - schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName()); + schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + schBaseTask.setRemark("任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。"); taskService.update(schBaseTask); } } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/GzqToKzjhcwTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/GzqToKzjhcwTask.java index ceb7a4833..8339d89e4 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/GzqToKzjhcwTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/GzqToKzjhcwTask.java @@ -6,13 +6,10 @@ import cn.hutool.core.util.BooleanUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt; import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService; import org.nl.b_lms.sch.task.dao.SchBaseTask; @@ -21,6 +18,7 @@ import org.nl.b_lms.sch.task.service.IschBaseTaskService; import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; import org.nl.common.enums.PackageInfoIvtEnum; import org.nl.common.utils.SecurityUtils; +import org.nl.common.utils.TaskUtils; import org.nl.modules.common.exception.BadRequestException; import org.nl.wms.sch.AcsTaskDto; import org.nl.wms.sch.manage.AbstractAcsTask; @@ -33,7 +31,6 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; -import java.util.stream.Collectors; /** @@ -91,12 +88,14 @@ public class GzqToKzjhcwTask extends AbstractAcsTask { @Transactional(rollbackFor = Exception.class) public void updateTaskStatus(JSONObject taskObj, String status) { SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false); - if (TaskUtil.checkParams(schBaseTask,THIS_CLASS)) return; + if (TaskUtil.checkParams(schBaseTask, THIS_CLASS)) return; + TaskUtils.updateOptMessageByTask(schBaseTask); if (TaskStatusEnum.EXECUTING.getCode().equals(status)) { // 更新任务状态为执行中 schBaseTask.setTask_status(TaskStatusEnum.EXECUTING.getCode()); } - if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { + if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { + log.info("任务编号为:"+schBaseTask.getTask_code()+"的任务完成接口在"+schBaseTask.getUpdate_time()+"被调用---------------------------------------------"); //1.更改任务状态为完成 schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode()); //2.改变起点点位状态 @@ -106,23 +105,20 @@ public class GzqToKzjhcwTask extends AbstractAcsTask { //更新库存记录 packageinfoivtService.update(new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空载具")).eq("point_code", schBaseTask.getPoint_code2())); //3.待检区或管制区搬运空载具到空载具缓存位完毕,判断是否存在确定终点的空载具缓存位->输送线任务,存在就下发任务 - List taskList = taskService.list(new LambdaQueryWrapper() - //确定终点未下发 - .eq(SchBaseTask::getTask_status, TaskStatusEnum.SURE_END.getCode()) - .eq(SchBaseTask::getPoint_code2, "NBJ1002") - .eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)")).eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")) - ); - if (CollectionUtils.isNotEmpty(taskList)) { - SchBaseTask task = taskList.get(0); - task.setPoint_code1(schBaseTask.getPoint_code2()); - task.setTask_status(TaskStatusEnum.START_AND_POINT.getCode()); - task.setUpdate_time(DateUtil.now()); - task.setUpdate_optid(SecurityUtils.getCurrentUserId()); - task.setUpdate_optname(SecurityUtils.getCurrentNickName()); - taskService.update(task); - //任务下发 - ssxDjwTask.immediateNotifyAcs(task.getTask_id().toString()); - } + // List taskList = taskService.list(new LambdaQueryWrapper() + // //确定终点未下发 + // .eq(SchBaseTask::getTask_status, TaskStatusEnum.SURE_END.getCode()) + // .eq(SchBaseTask::getPoint_code2, "NBJ1002") + // .eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)")).eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")) + // ); + // if (CollectionUtils.isNotEmpty(taskList)) { + // SchBaseTask task = taskList.get(0); + // task.setPoint_code1(schBaseTask.getPoint_code2()); + // task.setTask_status(TaskStatusEnum.START_AND_POINT.getCode()); + // taskService.update(task); + // //任务下发 + // ssxDjwTask.immediateNotifyAcs(task.getTask_id().toString()); + // } } // 取消 if (status.equals(IOSEnum.IS_NOTANDYES.code("否"))) { @@ -130,12 +126,10 @@ public class GzqToKzjhcwTask extends AbstractAcsTask { throw new BadRequestException("任务已执行不能取消"); } //任务被标记为取消 - schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是")); + schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + schBaseTask.setRemark("任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。"); } - schBaseTask.setUpdate_time(DateUtil.now()); - schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId()); - schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName()); taskService.update(schBaseTask); } @@ -207,11 +201,10 @@ public class GzqToKzjhcwTask extends AbstractAcsTask { if (schBaseTask == null) { throw new BadRequestException("管制区->空载具缓存位取消接口任务号为空!"); } - schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + TaskUtils.updateOptMessageByTask(schBaseTask); schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是")); - schBaseTask.setUpdate_time(DateUtil.now()); - schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId()); - schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName()); + schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + schBaseTask.setRemark("任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。"); taskService.update(schBaseTask); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/MzhcwTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/MzhcwTask.java index 38a4f0b52..59b4d5c1e 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/MzhcwTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/MzhcwTask.java @@ -23,6 +23,7 @@ import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; import org.nl.common.enums.ContainerLevelEnum; import org.nl.common.enums.PackageInfoIvtEnum; import org.nl.common.utils.SecurityUtils; +import org.nl.common.utils.TaskUtils; import org.nl.modules.common.exception.BadRequestException; import org.nl.wms.sch.AcsTaskDto; import org.nl.wms.sch.manage.AbstractAcsTask; @@ -109,13 +110,15 @@ public class MzhcwTask extends AbstractAcsTask { public void updateTaskStatus(JSONObject taskObj, String status) { SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false); if (TaskUtil.checkParams(schBaseTask,THIS_CLASS)) return; + TaskUtils.updateOptMessageByTask(schBaseTask); // 执行中 if (TaskStatusEnum.EXECUTING.getCode().equals(status)) { // 更新任务状态为执行中 schBaseTask.setTask_status(TaskStatusEnum.EXECUTING.getCode()); } // 完成 - if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { + if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { + log.info("任务编号为:"+schBaseTask.getTask_code()+"的任务完成接口在"+schBaseTask.getUpdate_time()+"被调用---------------------------------------------"); //1.更改任务状态为完成 schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode()); //2.更新库存记录 @@ -135,15 +138,13 @@ public class MzhcwTask extends AbstractAcsTask { toSsxTask.put("acs_task_type", PackageInfoIvtEnum.ACS_TASK_TYPE.code("桁架任务")); toSsxTask.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)")); toSsxTask.put("vehicle_code", schBaseTask.getVehicle_code()); - //判断空载具缓存位是否有空载具库存,有就叫桁架去任一位置搬空载具 + //判断空载具缓存位是否有空载具库存,有就叫桁架去任一位置搬空载具,如果暂时没有空载具,定时任务会不断判断是否有空载具 if (CollectionUtils.isNotEmpty(kzjPointList)) { //直接创建搬运空载具任务 toSsxTask.put("point_code1", kzjPointList.get(0).getPoint_code()); //终点为输送线点位 toSsxTask.put("point_code2", schBaseTask.getPoint_code1()); ssxDjwTask.createTask(toSsxTask); - } else { - //sendVehicle(schBaseTask); } } else { //四个点任务,改变pointCode3点位状态 @@ -156,12 +157,11 @@ public class MzhcwTask extends AbstractAcsTask { throw new BadRequestException("任务已执行不能取消"); } // 更新任务表删除字段 - schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是")); + schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + schBaseTask.setRemark("任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。"); + } - schBaseTask.setUpdate_time(DateUtil.now()); - schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId()); - schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName()); taskService.update(schBaseTask); } @@ -357,11 +357,10 @@ public class MzhcwTask extends AbstractAcsTask { if (schBaseTask == null) { throw new BadRequestException("输送线点位 -> 满轴缓存位取消接口任务号为空!"); } - schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + TaskUtils.updateOptMessageByTask(schBaseTask); schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是")); - schBaseTask.setUpdate_time(DateUtil.now()); - schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId()); - schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName()); + schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + schBaseTask.setRemark("任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。"); taskService.update(schBaseTask); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SendDjqKzjTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SendDjqKzjTask.java index 4db51c7d2..61c116723 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SendDjqKzjTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SendDjqKzjTask.java @@ -18,6 +18,7 @@ import org.nl.b_lms.sch.task.service.IschBaseTaskService; import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; import org.nl.common.enums.PackageInfoIvtEnum; import org.nl.common.utils.SecurityUtils; +import org.nl.common.utils.TaskUtils; import org.nl.modules.common.exception.BadRequestException; import org.nl.wms.sch.AcsTaskDto; import org.nl.wms.sch.manage.AbstractAcsTask; @@ -82,11 +83,13 @@ public class SendDjqKzjTask extends AbstractAcsTask { public void updateTaskStatus(JSONObject taskObj, String status) { SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false); if (TaskUtil.checkParams(schBaseTask,THIS_CLASS)) return; + TaskUtils.updateOptMessageByTask(schBaseTask); if (TaskStatusEnum.EXECUTING.getCode().equals(status)) { // 更新任务状态为执行中 schBaseTask.setTask_status(TaskStatusEnum.EXECUTING.getCode()); } - if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { + if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { + log.info("任务编号为:"+schBaseTask.getTask_code()+"的任务完成接口在"+schBaseTask.getUpdate_time()+"被调用---------------------------------------------"); //1.更改任务状态为完成 schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode()); //2.改变起点点位状态 @@ -100,12 +103,10 @@ public class SendDjqKzjTask extends AbstractAcsTask { throw new BadRequestException("任务已执行不能取消"); } //任务被标记为取消 - schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是")); + schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + schBaseTask.setRemark("任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。"); } - schBaseTask.setUpdate_time(DateUtil.now()); - schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId()); - schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName()); taskService.update(schBaseTask); } @@ -177,11 +178,10 @@ public class SendDjqKzjTask extends AbstractAcsTask { if (schBaseTask == null) { throw new BadRequestException("装箱区->待检区送空载具取消接口任务号为空!"); } - schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + TaskUtils.updateOptMessageByTask(schBaseTask); schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是")); - schBaseTask.setUpdate_time(DateUtil.now()); - schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId()); - schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName()); + schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + schBaseTask.setRemark("任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。"); taskService.update(schBaseTask); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SendGzqKzjTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SendGzqKzjTask.java index 129a0ff98..035eea245 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SendGzqKzjTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SendGzqKzjTask.java @@ -18,6 +18,7 @@ import org.nl.b_lms.sch.task.service.IschBaseTaskService; import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; import org.nl.common.enums.PackageInfoIvtEnum; import org.nl.common.utils.SecurityUtils; +import org.nl.common.utils.TaskUtils; import org.nl.modules.common.exception.BadRequestException; import org.nl.wms.sch.AcsTaskDto; import org.nl.wms.sch.manage.AbstractAcsTask; @@ -81,12 +82,14 @@ public class SendGzqKzjTask extends AbstractAcsTask { @Transactional(rollbackFor = Exception.class) public void updateTaskStatus(JSONObject taskObj, String status) { SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false); - if (TaskUtil.checkParams(schBaseTask,THIS_CLASS)) return; + if (TaskUtil.checkParams(schBaseTask, THIS_CLASS)) return; + TaskUtils.updateOptMessageByTask(schBaseTask); if (TaskStatusEnum.EXECUTING.getCode().equals(status)) { // 更新任务状态为执行中 schBaseTask.setTask_status(TaskStatusEnum.EXECUTING.getCode()); } - if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { + if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { + log.info("任务编号为:"+schBaseTask.getTask_code()+"的任务完成接口在"+schBaseTask.getUpdate_time()+"被调用---------------------------------------------"); //1.更改任务状态为完成 schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode()); //2.改变起点点位状态 @@ -100,12 +103,10 @@ public class SendGzqKzjTask extends AbstractAcsTask { throw new BadRequestException("任务已执行不能取消"); } //任务被标记为取消 - schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是")); + schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + schBaseTask.setRemark("任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。"); } - schBaseTask.setUpdate_time(DateUtil.now()); - schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId()); - schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName()); taskService.update(schBaseTask); } @@ -177,11 +178,10 @@ public class SendGzqKzjTask extends AbstractAcsTask { if (schBaseTask == null) { throw new BadRequestException("装箱区->管制区送空载具取消接口任务号为空!"); } - schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + TaskUtils.updateOptMessageByTask(schBaseTask); schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是")); - schBaseTask.setUpdate_time(DateUtil.now()); - schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId()); - schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName()); + schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + schBaseTask.setRemark("任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。"); taskService.update(schBaseTask); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SsxDjwTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SsxDjwTask.java index 4305ce66b..3b1475089 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SsxDjwTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SsxDjwTask.java @@ -18,6 +18,7 @@ import org.nl.b_lms.sch.task.service.IschBaseTaskService; import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; import org.nl.common.enums.PackageInfoIvtEnum; import org.nl.common.utils.SecurityUtils; +import org.nl.common.utils.TaskUtils; import org.nl.modules.common.exception.BadRequestException; import org.nl.wms.sch.AcsTaskDto; import org.nl.wms.sch.manage.AbstractAcsTask; @@ -85,11 +86,13 @@ public class SsxDjwTask extends AbstractAcsTask { public void updateTaskStatus(JSONObject taskObj, String status) { SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false); if (TaskUtil.checkParams(schBaseTask,THIS_CLASS)) return; + TaskUtils.updateOptMessageByTask(schBaseTask); if (TaskStatusEnum.EXECUTING.getCode().equals(status)) { // 更新任务状态为执行中 schBaseTask.setTask_status(TaskStatusEnum.EXECUTING.getCode()); } - if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { + if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { + log.info("任务编号为:"+schBaseTask.getTask_code()+"的任务完成接口在"+schBaseTask.getUpdate_time()+"被调用---------------------------------------------"); //1.更改任务状态为完成 schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode()); //2.改变起点点位状态 @@ -117,14 +120,10 @@ public class SsxDjwTask extends AbstractAcsTask { throw new BadRequestException("任务已执行不能取消"); } //任务被标记为取消 - schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是")); schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); - schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是")); + schBaseTask.setRemark("任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。"); } - schBaseTask.setUpdate_time(DateUtil.now()); - schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId()); - schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName()); taskService.update(schBaseTask); } @@ -194,11 +193,10 @@ public class SsxDjwTask extends AbstractAcsTask { if (schBaseTask == null) { throw new BadRequestException("空载具缓存位 -> 输送线取消接口任务号为空!"); } - schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + TaskUtils.updateOptMessageByTask(schBaseTask); schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是")); - schBaseTask.setUpdate_time(DateUtil.now()); - schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId()); - schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName()); + schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + schBaseTask.setRemark("任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。"); taskService.update(schBaseTask); } } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ZxDjwTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ZxDjwTask.java index aad21b5dc..56348cb13 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ZxDjwTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ZxDjwTask.java @@ -26,6 +26,7 @@ import org.nl.b_lms.storage_manage.database.service.dao.mapper.BstIvtBoxinfoMapp import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; import org.nl.common.enums.PackageInfoIvtEnum; import org.nl.common.utils.SecurityUtils; +import org.nl.common.utils.TaskUtils; import org.nl.modules.common.exception.BadRequestException; import org.nl.wms.sch.AcsTaskDto; import org.nl.wms.sch.manage.AbstractAcsTask; @@ -103,11 +104,13 @@ public class ZxDjwTask extends AbstractAcsTask { public void updateTaskStatus(JSONObject taskObj, String status) { SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false); if (TaskUtil.checkParams(schBaseTask,THIS_CLASS)) return; + TaskUtils.updateOptMessageByTask(schBaseTask); if (TaskStatusEnum.EXECUTING.getCode().equals(status)) { // 更新任务状态为执行中 schBaseTask.setTask_status(TaskStatusEnum.EXECUTING.getCode()); } - if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { + if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { + log.info("任务编号为:"+schBaseTask.getTask_code()+"的任务完成接口在"+schBaseTask.getUpdate_time()+"被调用---------------------------------------------"); PdmBiSlittingproductionplan containerInfo = productionPlanService.getOne(new LambdaUpdateWrapper() .eq(PdmBiSlittingproductionplan::getContainer_name, schBaseTask.getVehicle_code())); if (containerInfo == null) { @@ -149,13 +152,10 @@ public class ZxDjwTask extends AbstractAcsTask { throw new BadRequestException("任务已执行不能取消"); } //任务被标记为取消 - schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是")); - schBaseTask.setRemark("任务被强制取消,不执行任何逻辑!"); + schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + schBaseTask.setRemark("任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。"); } - schBaseTask.setUpdate_time(DateUtil.now()); - schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId()); - schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName()); taskService.update(schBaseTask); } @@ -228,12 +228,10 @@ public class ZxDjwTask extends AbstractAcsTask { if (schBaseTask == null) { throw new BadRequestException("装箱区 -> 装箱对接位取消接口任务号为空!"); } - schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + TaskUtils.updateOptMessageByTask(schBaseTask); schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是")); - schBaseTask.setUpdate_time(DateUtil.now()); - schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId()); - schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName()); - schBaseTask.setRemark("任务被强制取消,不执行任何逻辑!"); + schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + schBaseTask.setRemark("任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。"); taskService.update(schBaseTask); } } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ZxqTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ZxqTask.java index 5e587ed3a..69c7a397b 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ZxqTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ZxqTask.java @@ -26,6 +26,7 @@ import org.nl.b_lms.storage_manage.database.service.dao.mapper.BstIvtBoxinfoMapp import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; import org.nl.common.enums.PackageInfoIvtEnum; import org.nl.common.utils.SecurityUtils; +import org.nl.common.utils.TaskUtils; import org.nl.modules.common.exception.BadRequestException; import org.nl.system.service.param.ISysParamService; import org.nl.wms.sch.AcsTaskDto; @@ -33,7 +34,6 @@ import org.nl.wms.sch.manage.AbstractAcsTask; import org.nl.wms.sch.manage.TaskStatusEnum; import org.nl.wms.util.TaskUtil; import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -114,19 +114,21 @@ public class ZxqTask extends AbstractAcsTask { @Transactional(rollbackFor = Exception.class) public void updateTaskStatus(JSONObject taskObj, String status) { SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false); - if (TaskUtil.checkParams(schBaseTask,THIS_CLASS)) return; + if (TaskUtil.checkParams(schBaseTask, THIS_CLASS)) return; + TaskUtils.updateOptMessageByTask(schBaseTask); if (TaskStatusEnum.EXECUTING.getCode().equals(status)) { // 更新任务状态为执行中 schBaseTask.setTask_status(TaskStatusEnum.EXECUTING.getCode()); } if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { -// PdmBiSlittingproductionplan containerInfo = productionPlanService.getOne(new LambdaUpdateWrapper() -// .eq(PdmBiSlittingproductionplan::getContainer_name, schBaseTask.getVehicle_code())); -// if (containerInfo == null) { -// throw new BadRequestException("该子卷信息不存在!"); -// } else if (StrUtil.isEmpty(containerInfo.getContainer_name())) { -// throw new BadRequestException("子卷号不能为空!"); -// } + log.info("任务编号为:" + schBaseTask.getTask_code() + "的任务完成接口在" + schBaseTask.getUpdate_time() + "被调用---------------------------------------------"); + // PdmBiSlittingproductionplan containerInfo = productionPlanService.getOne(new LambdaUpdateWrapper() + // .eq(PdmBiSlittingproductionplan::getContainer_name, schBaseTask.getVehicle_code())); + // if (containerInfo == null) { + // throw new BadRequestException("该子卷信息不存在!"); + // } else if (StrUtil.isEmpty(containerInfo.getContainer_name())) { + // throw new BadRequestException("子卷号不能为空!"); + // } //1.更改任务状态为完成 schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode()); //2.改变起点点位状态 @@ -142,12 +144,10 @@ public class ZxqTask extends AbstractAcsTask { throw new BadRequestException("任务已执行不能取消"); } //任务被标记为取消 - schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是")); + schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + schBaseTask.setRemark("任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。"); } - schBaseTask.setUpdate_time(DateUtil.now()); - schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId()); - schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName()); taskService.update(schBaseTask); } @@ -300,11 +300,10 @@ public class ZxqTask extends AbstractAcsTask { if (schBaseTask == null) { throw new BadRequestException("待检区 -> 装箱区取消接口任务号为空!"); } - schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + TaskUtils.updateOptMessageByTask(schBaseTask); schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是")); - schBaseTask.setUpdate_time(DateUtil.now()); - schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId()); - schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName()); + schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + schBaseTask.setRemark("任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。"); taskService.update(schBaseTask); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoExecuteWaitTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoExecuteWaitTask.java index 8b4ee434d..65523ca45 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoExecuteWaitTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoExecuteWaitTask.java @@ -1,6 +1,5 @@ package org.nl.b_lms.sch.tasks.first_floor_area.auto; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import lombok.RequiredArgsConstructor; @@ -10,7 +9,6 @@ import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt; import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService; import org.nl.b_lms.sch.task.dao.SchBaseTask; import org.nl.b_lms.sch.task.service.IschBaseTaskService; -import org.nl.b_lms.sch.tasks.first_floor_area.DjqTask; import org.nl.b_lms.sch.tasks.first_floor_area.MzhcwTask; import org.nl.b_lms.sch.tasks.first_floor_area.SsxDjwTask; import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; @@ -22,9 +20,7 @@ import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.time.LocalDate; import java.time.format.DateTimeFormatter; -import java.util.Comparator; import java.util.List; -import java.util.stream.Collectors; @Slf4j diff --git a/lms/nladmin-system/src/main/java/org/nl/common/utils/TaskUtils.java b/lms/nladmin-system/src/main/java/org/nl/common/utils/TaskUtils.java index c6b46e373..58ee6a3ea 100644 --- a/lms/nladmin-system/src/main/java/org/nl/common/utils/TaskUtils.java +++ b/lms/nladmin-system/src/main/java/org/nl/common/utils/TaskUtils.java @@ -47,8 +47,6 @@ public class TaskUtils { /** * 根据任务维护分切点位库存 - * @param taskObj 任务 - * @param endPointObj 点位 * @param status 状态 */ public static void pointMaintenanceInventory(SchBaseTask task, BstIvtCutpointivt target, String status) { diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index 8be367f54..f33bc3516 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -1792,7 +1792,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { // 如果满轴位没有可用的空点位,先创建一个桁架任务但是不下发,等这边空出来点位,判断是否有这种桁架任务然后补发; // 这个情况是有agv任务在搬去待检区或管制区的路上,还没有更新任务状态;需要查询是否有这种任务,等这个任务更新完后, // 再补发之前创建的输送线到满轴缓存位任务; - log.info("二楼到一楼,成品子卷到达一楼输送线,sendProductToFirstFloor--------------------------:" + whereJson.toString()); + log.info("二楼到一楼,成品子卷到达一楼输送线接口sendProductToFirstFloor被调用--------------------------:" + whereJson.toString()); if (StringUtils.isBlank(whereJson.getString("device_code")) || StringUtils.isBlank(whereJson.getString("material_barcode"))) { throw new BadRequestException("接口sendProductToFirstFloor,目标站点或子卷号参数为空!"); } @@ -1855,15 +1855,16 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { result.put("message", "满轴缓存位暂无空位!"); } } else { - log.info("二楼到一楼,成品子卷到达一楼输送线,异常,任务正在创建中"); + log.info("二楼到一楼成品子卷到达一楼输送线任务正在创建被锁住。"); result.put("status", HttpStatus.BAD_REQUEST.value()); - result.put("message", "任务正在创建中!"); + result.put("message", "二楼到一楼成品子卷到达一楼输送线任务正在创建被锁住。"); } } finally { if (tryLock) { lock.unlock(); } } + log.info("二楼到一楼,成品子卷到达一楼输送线接口sendProductToFirstFloor调用成功--------------------------:" + result.toString()); return result; } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/TaskServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/TaskServiceImpl.java index a3d4170ee..227d248ca 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/TaskServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/TaskServiceImpl.java @@ -134,7 +134,7 @@ public class TaskServiceImpl implements TaskService { taskObj.put("update_optid", SecurityUtils.getCurrentUserId()); taskObj.put("update_optname", SecurityUtils.getCurrentUsername()); taskObj.put("update_time", DateUtil.now()); - taskObj.put("remark", "任务被强制完成,不执行任何逻辑!"); + taskObj.put("remark", "任务被用户:" + SecurityUtils.getCurrentUsername() + "在:" + DateUtil.now() + "强制完成。"); WQLObject.getWQLObject("SCH_BASE_Task").update(taskObj); } else { // 任务处理类