From aca0eef36393363e00373f04feeed1a4239a8d0b Mon Sep 17 00:00:00 2001 From: liyongde <1419499670@qq.com> Date: Wed, 6 Aug 2025 17:27:24 +0800 Subject: [PATCH] =?UTF-8?q?opt:=20=E4=BB=BB=E5=8A=A1=E5=AE=8C=E6=88=90?= =?UTF-8?q?=E4=BA=BA=E3=80=81=E5=8D=95=E6=8D=AE=E6=96=B0=E5=A2=9E=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E4=B8=8D=E5=AF=B9=E5=BA=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/PdaJBServiceImpl.java | 13 +++++++++ .../service/dto/PmFormDataParam.java | 4 +-- .../service/impl/PmFormDataServiceImpl.java | 18 ++++++------- .../service/dao/mapper/SchBasePointMapper.xml | 12 +++++++-- .../service/util/tasks/jb/JbBackAgvTask.java | 26 ++++++++++-------- .../service/util/tasks/jb/JbDownAgvTask.java | 27 +++++++++++-------- .../service/util/tasks/jb/JbUpAgvTask.java | 1 + .../service/impl/InBillServiceImpl.java | 1 - 8 files changed, 66 insertions(+), 36 deletions(-) diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/sch_manage/service/impl/PdaJBServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/sch_manage/service/impl/PdaJBServiceImpl.java index 82d92ac..8a59550 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/sch_manage/service/impl/PdaJBServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/sch_manage/service/impl/PdaJBServiceImpl.java @@ -146,6 +146,19 @@ public class PdaJBServiceImpl implements PdaJBService { if (!"1".equals(workorder.getWorkorder_status())) { throw new BadRequestException("该工单不是未生产,无法开工!"); } + // 判断任务 + // 存在任务就不继续 + List list = taskService.list(new LambdaQueryWrapper() + .lt(SchBaseTask::getTask_status, TaskStatus.FINISHED.getCode()) + .eq(SchBaseTask::getIs_delete, false) + .and(ll -> ll.like(SchBaseTask::getPoint_code1, pointCode).or() + .like(SchBaseTask::getPoint_code2, pointCode).or() + .like(SchBaseTask::getPoint_code3, pointCode).or() + .like(SchBaseTask::getPoint_code4, pointCode).or())); + if (list.size() > 0) { + throw new BadRequestException(pointCode + " 该点位已存在任务!"); + } + // 出库的仓位 Structattr outStructAttr = structattrService.getByCode(workorder.getStruct_code()); if (ObjectUtil.isEmpty(outStructAttr)) { diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/dto/PmFormDataParam.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/dto/PmFormDataParam.java index ea5e6cf..20e34e6 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/dto/PmFormDataParam.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/dto/PmFormDataParam.java @@ -119,8 +119,8 @@ public class PmFormDataParam extends BaseQuery { * 说明 */ private String remark; - private String supper_code; - private String supper_name; + private String supp_code; + private String supp_name; /** * 是否完结 */ diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/impl/PmFormDataServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/impl/PmFormDataServiceImpl.java index dca2887..61eceae 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/impl/PmFormDataServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/impl/PmFormDataServiceImpl.java @@ -91,21 +91,21 @@ public class PmFormDataServiceImpl extends ServiceImpl().eq(MdPbMeasureunit::getMeasure_unit_id, params.getUnit_id())); - if (ObjectUtil.isEmpty(mdPbMeasureunit)) { - throw new BadRequestException("没有该计量单位信息"); - } +// MdPbMeasureunit mdPbMeasureunit = iMdPbMeasureunitService.getOne(new LambdaQueryWrapper().eq(MdPbMeasureunit::getMeasure_unit_id, params.getUnit_id())); +// if (ObjectUtil.isEmpty(mdPbMeasureunit)) { +// throw new BadRequestException("没有该计量单位信息"); +// } BsrealStorattr bsrealStorattr = iBsrealStorattrService.findById(params.getStor_id()); if (ObjectUtil.isEmpty(bsrealStorattr)) { throw new BadRequestException("没有该仓库信息"); } - MdCsSupplierbase supp = supplierbaseService.getByCode(params.getSupper_code()); + MdCsSupplierbase supp = supplierbaseService.getByCode(params.getSupp_code()); if (ObjectUtil.isEmpty(supp)) { throw new BadRequestException("供应商信息不存在!"); } - params.setSupper_name(supp.getSupp_name()); + params.setSupp_name(supp.getSupp_name()); params.setStor_name(bsrealStorattr.getStor_name()); - params.setUnit_name(mdPbMeasureunit.getUnit_name()); +// params.setUnit_name(mdPbMeasureunit.getUnit_name()); pmFormDataMapper.insert(getBasicInfo(params, true)); } @@ -125,11 +125,11 @@ public class PmFormDataServiceImpl extends ServiceImpl - AND (p.ing_task_code IS NOT NULL AND p.ing_task_code ]]> '') + AND 0 ]]> (SELECT COUNT(*) FROM sch_base_task t + WHERE t.task_status 5 + AND t.is_delete = false AND (t.point_code1 = p.point_code + OR t.point_code2 = p.point_code OR t.point_code3 = p.point_code + OR t.point_code4 = p.point_code )) - AND (p.ing_task_code IS NULL OR p.ing_task_code = '') + AND 0 = (SELECT COUNT(*) FROM sch_base_task t + WHERE t.task_status 5 + AND t.is_delete = false AND (t.point_code1 = p.point_code + OR t.point_code2 = p.point_code OR t.point_code3 = p.point_code + OR t.point_code4 = p.point_code )) diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/jb/JbBackAgvTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/jb/JbBackAgvTask.java index 2311ec4..d6d3cf8 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/jb/JbBackAgvTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/jb/JbBackAgvTask.java @@ -8,6 +8,7 @@ import lombok.extern.slf4j.Slf4j; import org.nl.common.exception.BadRequestException; import org.nl.common.utils.IdUtil; import org.nl.common.utils.SecurityUtils; +import org.nl.wms.sch_manage.enums.TaskFinishedTypeEnum; import org.nl.wms.sch_manage.enums.TaskStatus; import org.nl.wms.sch_manage.service.ISchBaseTaskService; import org.nl.wms.sch_manage.service.ISchBaseTaskconfigService; @@ -15,6 +16,7 @@ import org.nl.wms.sch_manage.service.dao.SchBaseTask; import org.nl.wms.sch_manage.service.dao.SchBaseTaskconfig; import org.nl.wms.sch_manage.service.util.AbstractTask; import org.nl.wms.sch_manage.service.util.AcsTaskDto; +import org.nl.wms.sch_manage.service.util.TaskUtils; import org.nl.wms.warehouse_manage.enums.IOSEnum; import org.nl.wms.warehouse_manage.inAndOut.service.IInBillService; import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInvDis; @@ -105,13 +107,14 @@ public class JbBackAgvTask extends AbstractTask { if (status.equals(TaskStatus.EXECUTING)) { taskObj.setTask_status(TaskStatus.EXECUTING.getCode()); taskObj.setRemark("执行中"); + TaskUtils.setUpdateByAcs(taskObj); taskService.updateById(taskObj); } if (status.equals(TaskStatus.FINISHED)) { - this.finishTask(taskObj); + this.finishTask(taskObj, TaskFinishedTypeEnum.AUTO_ACS); } if (status.equals(TaskStatus.CANCELED)) { - this.cancelTask(taskObj); + this.cancelTask(taskObj, TaskFinishedTypeEnum.AUTO_ACS); } } @@ -121,7 +124,7 @@ public class JbBackAgvTask extends AbstractTask { if (ObjectUtil.isEmpty(taskObj)) { throw new BadRequestException("该任务不存在"); } - this.finishTask(taskObj); + this.finishTask(taskObj, TaskFinishedTypeEnum.MANUAL_PC); } @Override @@ -133,24 +136,25 @@ public class JbBackAgvTask extends AbstractTask { if (!TaskStatus.CREATE.getCode().equals(taskObj.getTask_status())) { throw new BadRequestException("任务状态必须为生成才能取消任务"); } - this.cancelTask(taskObj); + this.cancelTask(taskObj, TaskFinishedTypeEnum.MANUAL_PC); } - private void finishTask(SchBaseTask taskObj) { + private void finishTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) { // 任务完成 taskObj.setTask_status(TaskStatus.FINISHED.getCode()); taskObj.setRemark("已完成"); + taskObj.setFinished_type(taskFinishedType.getCode()); + TaskUtils.setUpdateByType(taskObj, taskFinishedType); taskService.updateById(taskObj); inBillService.taskFinish(taskObj); } - private void cancelTask(SchBaseTask taskObj) { + private void cancelTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) { // 取消任务 - taskService.update(new LambdaUpdateWrapper() - .set(SchBaseTask::getTask_status, TaskStatus.CANCELED.getCode()) - .set(SchBaseTask::getRemark, "已取消") - .eq(SchBaseTask::getTask_id, taskObj.getTask_id()) - ); + taskObj.setTask_status(TaskStatus.CANCELED.getCode()); + taskObj.setRemark("已取消"); + TaskUtils.setUpdateByType(taskObj, taskFinishedType); + taskService.updateById(taskObj); //分配表清除任务 ioStorInvDisMapper.update(new IOStorInvDis(),new LambdaUpdateWrapper<>(IOStorInvDis.class) .set(IOStorInvDis::getTask_id,null) diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/jb/JbDownAgvTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/jb/JbDownAgvTask.java index 53b7d84..fb7c91e 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/jb/JbDownAgvTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/jb/JbDownAgvTask.java @@ -11,6 +11,7 @@ import org.nl.common.exception.BadRequestException; import org.nl.common.utils.IdUtil; import org.nl.common.utils.SecurityUtils; import org.nl.wms.pm_manage.service.dao.PdmBdWorkorder; +import org.nl.wms.sch_manage.enums.TaskFinishedTypeEnum; import org.nl.wms.sch_manage.enums.TaskStatus; import org.nl.wms.sch_manage.service.ISchBasePointService; import org.nl.wms.sch_manage.service.ISchBaseTaskService; @@ -20,6 +21,7 @@ import org.nl.wms.sch_manage.service.dao.SchBaseTask; import org.nl.wms.sch_manage.service.dao.SchBaseTaskconfig; import org.nl.wms.sch_manage.service.util.AbstractTask; import org.nl.wms.sch_manage.service.util.AcsTaskDto; +import org.nl.wms.sch_manage.service.util.TaskUtils; import org.nl.wms.warehouse_manage.enums.IOSEnum; import org.nl.wms.warehouse_manage.inAndOut.service.IInBillService; import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInvDis; @@ -117,23 +119,23 @@ public class JbDownAgvTask extends AbstractTask { if (status.equals(TaskStatus.EXECUTING)) { taskObj.setTask_status(TaskStatus.EXECUTING.getCode()); taskObj.setRemark("执行中"); + TaskUtils.setUpdateByAcs(taskObj); taskService.updateById(taskObj); } if (status.equals(TaskStatus.FINISHED)) { - this.finishTask(taskObj); + this.finishTask(taskObj, TaskFinishedTypeEnum.AUTO_ACS); } if (status.equals(TaskStatus.CANCELED)) { - this.cancelTask(taskObj); + this.cancelTask(taskObj, TaskFinishedTypeEnum.AUTO_ACS); } } - private void cancelTask(SchBaseTask taskObj) { + private void cancelTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) { // 取消任务 - taskService.update(new LambdaUpdateWrapper() - .set(SchBaseTask::getTask_status, TaskStatus.CANCELED.getCode()) - .set(SchBaseTask::getRemark, "已取消") - .eq(SchBaseTask::getTask_id, taskObj.getTask_id()) - ); + taskObj.setTask_status(TaskStatus.CANCELED.getCode()); + taskObj.setRemark("已取消"); + TaskUtils.setUpdateByType(taskObj, taskFinishedType); + taskService.updateById(taskObj); //分配表清除任务 ioStorInvDisMapper.update(new IOStorInvDis(),new LambdaUpdateWrapper<>(IOStorInvDis.class) .set(IOStorInvDis::getTask_id,null) @@ -144,7 +146,7 @@ public class JbDownAgvTask extends AbstractTask { ); } - private void finishTask(SchBaseTask taskObj) { + private void finishTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) { // 任务完成 taskObj.setRemark("该任务已完成,等待最后一条任务完成后全部完成!"); if ("1".equals(taskObj.getTask_group_seq().toString())) { @@ -169,12 +171,15 @@ public class JbDownAgvTask extends AbstractTask { pointService.updateById(khgPoint); SchBaseTask task = new SchBaseTask(); task.setTask_status(TaskStatus.FINISHED.getCode()); + TaskUtils.setUpdateByType(task, taskFinishedType); task.setRemark("任务执行完毕"); + task.setFinished_type(taskFinishedType.getCode()); taskService.update(task, new LambdaQueryWrapper() .eq(SchBaseTask::getTask_group_id, taskObj.getTask_group_id())); inBillService.taskFinish(taskObj); return; } + TaskUtils.setUpdateByType(taskObj, taskFinishedType); taskService.updateById(taskObj); } @@ -184,7 +189,7 @@ public class JbDownAgvTask extends AbstractTask { if (ObjectUtil.isEmpty(taskObj)) { throw new BadRequestException("该任务不存在"); } - this.finishTask(taskObj); + this.finishTask(taskObj, TaskFinishedTypeEnum.MANUAL_PC); } @Override @@ -196,7 +201,7 @@ public class JbDownAgvTask extends AbstractTask { if (!TaskStatus.CREATE.getCode().equals(taskObj.getTask_status())) { throw new BadRequestException("任务状态必须为生成才能取消任务"); } - this.cancelTask(taskObj); + this.cancelTask(taskObj, TaskFinishedTypeEnum.MANUAL_PC); } @Override diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/jb/JbUpAgvTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/jb/JbUpAgvTask.java index 7df47bf..f438e65 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/jb/JbUpAgvTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/jb/JbUpAgvTask.java @@ -145,6 +145,7 @@ public class JbUpAgvTask extends AbstractTask { // 任务完成 taskObj.setTask_status(TaskStatus.FINISHED.getCode()); taskObj.setRemark("已完成"); + taskObj.setFinished_type(taskFinishedType.getCode()); TaskUtils.setUpdateByType(taskObj, taskFinishedType); taskService.updateById(taskObj); outBillService.taskFinish(taskObj); diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/inAndOut/service/impl/InBillServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/inAndOut/service/impl/InBillServiceImpl.java index 34076f9..024e24c 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/inAndOut/service/impl/InBillServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/inAndOut/service/impl/InBillServiceImpl.java @@ -676,7 +676,6 @@ public class InBillServiceImpl extends ServiceImpl i SchBasePoint parentPoint = pointService.getById(rkPoint.getParent_point_code()); // 2、创建任务(4条任务、优先级需要获取所有的任务中的最小值并且-1,默认8) // 获取工单对应的区域的出入点 - // todo: 不对 SchBasePoint intoPoint = pointService.getNotTaskByRegionAndType(parentPoint.getRegion_code(), "2"); SchBasePoint emptyPoint = pointService.getNotTaskByRegionAndType(parentPoint.getRegion_code(), "5"); SchBasePoint fullPoint = pointService.getNotTaskByRegionAndType(parentPoint.getRegion_code(), "6");