From f07062bb4f4c064f42b7753fd89e140a9a924efe Mon Sep 17 00:00:00 2001 From: liyongde <1419499670@qq.com> Date: Tue, 18 Aug 2026 15:46:30 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E5=AE=9A=E6=97=B6=E5=99=A8?= =?UTF-8?q?=E8=A1=A5=E5=85=85=E5=85=A5=E8=A3=85=E7=AE=B1=E5=8C=BA=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/lms/enums/PackageTaskTypeEnum.java | 1 + .../packagepoint/PackagePointMapper.java | 12 ++++ .../nl/module/lms/job/box/BoxAutoJob.java | 19 ++++++ .../PackageBoxBusinessService.java | 5 ++ .../PackageBoxBusinessServiceImpl.java | 65 +++++++++++++++++-- .../packagepoint/PackagePointMapper.xml | 13 ++++ .../nl/module/task/api/TransportTaskApi.java | 20 ++++++ .../TransportTaskDestinationAssignReq.java | 38 +++++++++++ .../task/dto/TransportTaskQueryReq.java | 25 +++++++ .../module/task/api/TransportTaskApiImpl.java | 24 +++++++ .../transporttask/TransportTaskMapper.java | 31 +++++++++ .../transporttask/TransportTaskService.java | 18 +++++ .../TransportTaskServiceImpl.java | 27 ++++++++ .../transporttask/TransportTaskMapper.xml | 10 +++ 14 files changed, 304 insertions(+), 4 deletions(-) create mode 100644 nl-module-task/nl-module-task-api/src/main/java/cn/code/nl/module/task/dto/TransportTaskDestinationAssignReq.java create mode 100644 nl-module-task/nl-module-task-api/src/main/java/cn/code/nl/module/task/dto/TransportTaskQueryReq.java diff --git a/nl-module-lms/nl-module-lms-api/src/main/java/cn/code/nl/module/lms/enums/PackageTaskTypeEnum.java b/nl-module-lms/nl-module-lms-api/src/main/java/cn/code/nl/module/lms/enums/PackageTaskTypeEnum.java index 72db3be5..7e0c8285 100644 --- a/nl-module-lms/nl-module-lms-api/src/main/java/cn/code/nl/module/lms/enums/PackageTaskTypeEnum.java +++ b/nl-module-lms/nl-module-lms-api/src/main/java/cn/code/nl/module/lms/enums/PackageTaskTypeEnum.java @@ -11,6 +11,7 @@ import lombok.Getter; public enum PackageTaskTypeEnum { SUB_ROLL_DOWN_AGV("010601", "子卷下线到待检AGV任务"), SUB_ROLL_CALL_EMPTY_AGV("010602", "子卷下线补空架AGV任务"), + PACKAGE_AGV("010603", "装箱AGV任务"), ; /** * 字典键值 diff --git a/nl-module-lms/nl-module-lms-server/src/main/java/cn/code/nl/module/lms/dal/mysql/packagepoint/PackagePointMapper.java b/nl-module-lms/nl-module-lms-server/src/main/java/cn/code/nl/module/lms/dal/mysql/packagepoint/PackagePointMapper.java index 02624a53..0c9a9e03 100644 --- a/nl-module-lms/nl-module-lms-server/src/main/java/cn/code/nl/module/lms/dal/mysql/packagepoint/PackagePointMapper.java +++ b/nl-module-lms/nl-module-lms-server/src/main/java/cn/code/nl/module/lms/dal/mysql/packagepoint/PackagePointMapper.java @@ -42,6 +42,18 @@ public interface PackagePointMapper extends BaseMapperX { List selectAvailablePointList(@Param("pointType") String pointType, @Param("pointStatus") String pointStatus); + /** + * 按区块查询可用点位 + * + * @param pointType 点位类型 + * @param pointStatus 点位状态 + * @param block 区块 + * @return 可用点位列表 + */ + List selectAvailablePointListByBlock(@Param("pointType") String pointType, + @Param("pointStatus") String pointStatus, + @Param("block") String block); + /** * 尝试锁定点位 * diff --git a/nl-module-lms/nl-module-lms-server/src/main/java/cn/code/nl/module/lms/job/box/BoxAutoJob.java b/nl-module-lms/nl-module-lms-server/src/main/java/cn/code/nl/module/lms/job/box/BoxAutoJob.java index eba144c9..93743f6f 100644 --- a/nl-module-lms/nl-module-lms-server/src/main/java/cn/code/nl/module/lms/job/box/BoxAutoJob.java +++ b/nl-module-lms/nl-module-lms-server/src/main/java/cn/code/nl/module/lms/job/box/BoxAutoJob.java @@ -54,6 +54,7 @@ public class BoxAutoJob { XxlJobHelper.handleSuccess(msg); log.info(msg); } + /** * 待检区->装箱区定时器 */ @@ -70,4 +71,22 @@ public class BoxAutoJob { XxlJobHelper.handleSuccess(msg); log.info(msg); } + + + /** + * 自动装箱区桁架定时器 + */ + @XxlJob("autoPackageTrussTaskJob") + @TenantJob + public void autoPackageTrussTaskJob() { + log.info("自动装箱区桁架任务创建开始....."); + XxlJobHelper.log("自动装箱区桁架任务创建开始"); + + packageBoxBusinessService.autoPackageTrussTaskJob(); + + String msg = "自动装箱区桁架任务创建结束"; + XxlJobHelper.log(msg); + XxlJobHelper.handleSuccess(msg); + log.info(msg); + } } diff --git a/nl-module-lms/nl-module-lms-server/src/main/java/cn/code/nl/module/lms/service/packagepoint/PackageBoxBusinessService.java b/nl-module-lms/nl-module-lms-server/src/main/java/cn/code/nl/module/lms/service/packagepoint/PackageBoxBusinessService.java index 57140fd4..9daff252 100644 --- a/nl-module-lms/nl-module-lms-server/src/main/java/cn/code/nl/module/lms/service/packagepoint/PackageBoxBusinessService.java +++ b/nl-module-lms/nl-module-lms-server/src/main/java/cn/code/nl/module/lms/service/packagepoint/PackageBoxBusinessService.java @@ -21,4 +21,9 @@ public interface PackageBoxBusinessService { * 待检区->装箱区定时器 */ void autoSendPackageAgvTaskJob(); + + /** + * 自动装箱区桁架定时器 + */ + void autoPackageTrussTaskJob(); } diff --git a/nl-module-lms/nl-module-lms-server/src/main/java/cn/code/nl/module/lms/service/packagepoint/PackageBoxBusinessServiceImpl.java b/nl-module-lms/nl-module-lms-server/src/main/java/cn/code/nl/module/lms/service/packagepoint/PackageBoxBusinessServiceImpl.java index f1bcf64a..782d7a26 100644 --- a/nl-module-lms/nl-module-lms-server/src/main/java/cn/code/nl/module/lms/service/packagepoint/PackageBoxBusinessServiceImpl.java +++ b/nl-module-lms/nl-module-lms-server/src/main/java/cn/code/nl/module/lms/service/packagepoint/PackageBoxBusinessServiceImpl.java @@ -1,14 +1,20 @@ package cn.code.nl.module.lms.service.packagepoint; +import cn.code.nl.framework.common.util.json.JsonUtils; import cn.code.nl.module.lms.dal.dataobject.packagepoint.PackagePointDO; import cn.code.nl.module.lms.dal.mysql.packagepoint.PackagePointMapper; import cn.code.nl.module.lms.enums.BoxPointStatusEnum; import cn.code.nl.module.lms.enums.BoxPointTypeEnum; import cn.code.nl.module.lms.enums.PackageTaskTypeEnum; import cn.code.nl.module.task.api.TransportTaskApi; +import cn.code.nl.module.task.dto.TaskInfoDTO; +import cn.code.nl.module.task.dto.TransportTaskDestinationAssignReq; import cn.code.nl.module.task.dto.TransportTaskCreateReqDTO; +import cn.code.nl.module.task.dto.TransportTaskQueryReq; import cn.code.nl.module.task.enums.TaskOwnerServiceEnum; +import cn.code.nl.module.task.enums.TransportTaskStatusEnum; import jakarta.annotation.Resource; +import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -130,15 +136,54 @@ public class PackageBoxBusinessServiceImpl implements PackageBoxBusinessService createPackingToInspectionTask(packingSourceIterator, inspectionEmptyPointList.iterator()); } + /** + * 自动为装箱AGV任务分配装箱点 + */ @Override + @Transactional(rollbackFor = Exception.class) public void autoSendPackageAgvTaskJob() { - // 查找符合的任务:任务状态:10,taskType = 010603, + TransportTaskQueryReq queryReq = new TransportTaskQueryReq(); + queryReq.setTaskType(PackageTaskTypeEnum.PACKAGE_AGV.getCode()); + queryReq.setTaskStatus(TransportTaskStatusEnum.CREATED.getCode()); + List taskList = transportTaskApi.queryTransportTasks(queryReq).getCheckedData(); + if (CollectionUtils.isEmpty(taskList)) { + log.info("自动分配装箱任务目的点结束:没有待补齐的装箱AGV任务"); + return; + } - // 查找对应装箱区的空位(表:lms_package_point):没锁、状态是空位、点位类型是装箱点,block = 任务中的request_param:({"block": "1"})的block(1/2代表第一块或者第二块的任务)的值; + for (TaskInfoDTO task : taskList) { + PackageTaskRequestParam requestParam = JsonUtils.parseObject( + task.getRequestParam(), PackageTaskRequestParam.class); + List pointList = packagePointMapper.selectAvailablePointListByBlock( + BoxPointTypeEnum.PACKING_POINT.getCode(), BoxPointStatusEnum.EMPTY.getCode(), + requestParam.getBlock()); + PackagePointDO destinationPoint = lockNextDestinationPoint(pointList.iterator()); + if (destinationPoint == null) { + log.info("装箱AGV任务暂无可用装箱点,任务标识={},区块={}", + task.getTaskId(), requestParam.getBlock()); + continue; + } - // 补齐任务,将任务的pointCode2设置找到的装箱区的站点,任务状态设置成40 + TransportTaskDestinationAssignReq assignReq = new TransportTaskDestinationAssignReq(); + assignReq.setTaskId(task.getTaskId()); + assignReq.setPointCode2(destinationPoint.getPointCode()); + assignReq.setExpectedTaskStatus(TransportTaskStatusEnum.CREATED.getCode()); + assignReq.setTargetTaskStatus(TransportTaskStatusEnum.READY.getCode()); + boolean assigned = transportTaskApi.assignDestination(assignReq).getCheckedData(); + if (!assigned) { + packagePointMapper.unlockPoint(destinationPoint.getPointId(), destinationPoint.getPointStatus()); + log.info("装箱AGV任务已被其他调度抢占,释放装箱点,任务标识={},点位编码={}", + task.getTaskId(), destinationPoint.getPointCode()); + continue; + } - // 终点点位上锁 + log.info("装箱AGV任务目的点分配成功,任务标识={},区块={},目的点编码={}", + task.getTaskId(), requestParam.getBlock(), destinationPoint.getPointCode()); + } + } + + @Override + public void autoPackageTrussTaskJob() { } @@ -254,4 +299,16 @@ public class PackageBoxBusinessServiceImpl implements PackageBoxBusinessService } return null; } + + /** + * 装箱任务创建请求扩展参数 + */ + @Data + private static class PackageTaskRequestParam { + + /** + * 区块 + */ + private String block; + } } diff --git a/nl-module-lms/nl-module-lms-server/src/main/resources/mapper/packagepoint/PackagePointMapper.xml b/nl-module-lms/nl-module-lms-server/src/main/resources/mapper/packagepoint/PackagePointMapper.xml index 45765df3..a4e4e494 100644 --- a/nl-module-lms/nl-module-lms-server/src/main/resources/mapper/packagepoint/PackagePointMapper.xml +++ b/nl-module-lms/nl-module-lms-server/src/main/resources/mapper/packagepoint/PackagePointMapper.xml @@ -14,6 +14,19 @@ ORDER BY sort_seq, point_id + + UPDATE lms_package_point SET lock_status = '1', diff --git a/nl-module-task/nl-module-task-api/src/main/java/cn/code/nl/module/task/api/TransportTaskApi.java b/nl-module-task/nl-module-task-api/src/main/java/cn/code/nl/module/task/api/TransportTaskApi.java index b9629638..8939102a 100644 --- a/nl-module-task/nl-module-task-api/src/main/java/cn/code/nl/module/task/api/TransportTaskApi.java +++ b/nl-module-task/nl-module-task-api/src/main/java/cn/code/nl/module/task/api/TransportTaskApi.java @@ -2,7 +2,9 @@ package cn.code.nl.module.task.api; import cn.code.nl.framework.common.pojo.CommonResult; import cn.code.nl.module.task.dto.TaskInfoDTO; +import cn.code.nl.module.task.dto.TransportTaskDestinationAssignReq; import cn.code.nl.module.task.dto.TransportTaskCreateReqDTO; +import cn.code.nl.module.task.dto.TransportTaskQueryReq; import cn.code.nl.module.task.dto.UnfinishedTaskPointReqDTO; import cn.code.nl.module.task.dto.TaskCallbackResultReqDTO; import cn.code.nl.module.task.enums.ApiConstants; @@ -75,4 +77,22 @@ public interface TransportTaskApi { */ @PostMapping(PREFIX + "/hasUnfinishedByPointCodes") CommonResult hasUnfinishedByPointCodes(@Valid @RequestBody UnfinishedTaskPointReqDTO reqDTO); + + /** + * 根据任务类型和状态查询搬运任务 + * + * @param req 查询请求 + * @return 搬运任务列表 + */ + @PostMapping(PREFIX + "/queryTransportTasks") + CommonResult> queryTransportTasks(@Valid @RequestBody TransportTaskQueryReq req); + + /** + * 条件分配搬运任务目的点并推进任务状态 + * + * @param req 目的点分配请求 + * @return 是否分配成功 + */ + @PostMapping(PREFIX + "/assignDestination") + CommonResult assignDestination(@Valid @RequestBody TransportTaskDestinationAssignReq req); } diff --git a/nl-module-task/nl-module-task-api/src/main/java/cn/code/nl/module/task/dto/TransportTaskDestinationAssignReq.java b/nl-module-task/nl-module-task-api/src/main/java/cn/code/nl/module/task/dto/TransportTaskDestinationAssignReq.java new file mode 100644 index 00000000..e9736838 --- /dev/null +++ b/nl-module-task/nl-module-task-api/src/main/java/cn/code/nl/module/task/dto/TransportTaskDestinationAssignReq.java @@ -0,0 +1,38 @@ +package cn.code.nl.module.task.dto; + +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +import java.io.Serializable; + +/** + * 搬运任务目的点分配请求 + */ +@Data +public class TransportTaskDestinationAssignReq implements Serializable { + + /** + * 任务标识 + */ + @NotNull(message = "任务标识不能为空") + private Long taskId; + + /** + * 目的点编码 + */ + @NotEmpty(message = "目的点编码不能为空") + private String pointCode2; + + /** + * 期望任务状态 + */ + @NotEmpty(message = "期望任务状态不能为空") + private String expectedTaskStatus; + + /** + * 目标任务状态 + */ + @NotEmpty(message = "目标任务状态不能为空") + private String targetTaskStatus; +} diff --git a/nl-module-task/nl-module-task-api/src/main/java/cn/code/nl/module/task/dto/TransportTaskQueryReq.java b/nl-module-task/nl-module-task-api/src/main/java/cn/code/nl/module/task/dto/TransportTaskQueryReq.java new file mode 100644 index 00000000..74462f8a --- /dev/null +++ b/nl-module-task/nl-module-task-api/src/main/java/cn/code/nl/module/task/dto/TransportTaskQueryReq.java @@ -0,0 +1,25 @@ +package cn.code.nl.module.task.dto; + +import jakarta.validation.constraints.NotEmpty; +import lombok.Data; + +import java.io.Serializable; + +/** + * 搬运任务查询请求 + */ +@Data +public class TransportTaskQueryReq implements Serializable { + + /** + * 任务类型 + */ + @NotEmpty(message = "任务类型不能为空") + private String taskType; + + /** + * 任务状态 + */ + @NotEmpty(message = "任务状态不能为空") + private String taskStatus; +} diff --git a/nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/api/TransportTaskApiImpl.java b/nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/api/TransportTaskApiImpl.java index 60886db9..6ead55e6 100644 --- a/nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/api/TransportTaskApiImpl.java +++ b/nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/api/TransportTaskApiImpl.java @@ -2,7 +2,9 @@ package cn.code.nl.module.task.api; import cn.code.nl.framework.common.pojo.CommonResult; import cn.code.nl.module.task.dto.TaskInfoDTO; +import cn.code.nl.module.task.dto.TransportTaskDestinationAssignReq; import cn.code.nl.module.task.dto.TransportTaskCreateReqDTO; +import cn.code.nl.module.task.dto.TransportTaskQueryReq; import cn.code.nl.module.task.dto.UnfinishedTaskPointReqDTO; import cn.code.nl.module.task.dto.TaskCallbackResultReqDTO; import cn.code.nl.module.task.service.transporttask.TransportTaskCallbackService; @@ -86,4 +88,26 @@ public class TransportTaskApiImpl implements TransportTaskApi { public CommonResult hasUnfinishedByPointCodes(UnfinishedTaskPointReqDTO reqDTO) { return success(transportTaskService.hasUnfinishedByPointCodes(reqDTO.getPointCodes())); } + + /** + * 根据任务类型和状态查询搬运任务 + * + * @param req 查询请求 + * @return 搬运任务列表 + */ + @Override + public CommonResult> queryTransportTasks(TransportTaskQueryReq req) { + return success(transportTaskService.queryTransportTasks(req)); + } + + /** + * 条件分配搬运任务目的点并推进任务状态 + * + * @param req 目的点分配请求 + * @return 是否分配成功 + */ + @Override + public CommonResult assignDestination(TransportTaskDestinationAssignReq req) { + return success(transportTaskService.assignDestination(req)); + } } diff --git a/nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/dal/mysql/transporttask/TransportTaskMapper.java b/nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/dal/mysql/transporttask/TransportTaskMapper.java index 8e4cb43b..56b01ed4 100644 --- a/nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/dal/mysql/transporttask/TransportTaskMapper.java +++ b/nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/dal/mysql/transporttask/TransportTaskMapper.java @@ -126,6 +126,37 @@ public interface TransportTaskMapper extends BaseMapperX { */ long selectUnfinishedCountByPointCodes(@Param("pointCodes") List pointCodes); + /** + * 根据任务类型和状态查询搬运任务 + * + * @param taskType 任务类型 + * @param taskStatus 任务状态 + * @return 搬运任务列表 + */ + List selectListByTypeAndStatus(@Param("taskType") String taskType, + @Param("taskStatus") String taskStatus); + + /** + * 条件分配任务目的点并推进任务状态 + * + * @param taskId 任务标识 + * @param pointCode2 目的点编码 + * @param expectedTaskStatus 期望任务状态 + * @param targetTaskStatus 目标任务状态 + * @return 更新行数 + */ + default int assignDestination(Long taskId, String pointCode2, + String expectedTaskStatus, String targetTaskStatus) { + TransportTaskDO updateObj = new TransportTaskDO(); + updateObj.setPointCode2(pointCode2); + updateObj.setTaskStatus(targetTaskStatus); + + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); + wrapper.eq(TransportTaskDO::getTaskId, taskId) + .eq(TransportTaskDO::getTaskStatus, expectedTaskStatus); + return update(updateObj, wrapper); + } + /** * 条件更新任务状态(CAS 抢占) */ diff --git a/nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/service/transporttask/TransportTaskService.java b/nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/service/transporttask/TransportTaskService.java index 61d27127..bfbdb699 100644 --- a/nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/service/transporttask/TransportTaskService.java +++ b/nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/service/transporttask/TransportTaskService.java @@ -5,7 +5,9 @@ import jakarta.validation.*; import cn.code.nl.module.task.controller.admin.transporttask.vo.*; import cn.code.nl.module.task.dal.dataobject.transporttask.TransportTaskDO; import cn.code.nl.module.task.dto.TaskInfoDTO; +import cn.code.nl.module.task.dto.TransportTaskDestinationAssignReq; import cn.code.nl.module.task.dto.TransportTaskCreateReqDTO; +import cn.code.nl.module.task.dto.TransportTaskQueryReq; import cn.code.nl.framework.common.pojo.PageResult; import cn.code.nl.framework.common.pojo.PageParam; @@ -133,6 +135,22 @@ public interface TransportTaskService { */ boolean hasUnfinishedByPointCodes(List pointCodes); + /** + * 根据任务类型和状态查询搬运任务 + * + * @param req 查询请求 + * @return 搬运任务列表 + */ + List queryTransportTasks(TransportTaskQueryReq req); + + /** + * 条件分配搬运任务目的点并推进任务状态 + * + * @param req 目的点分配请求 + * @return 是否分配成功 + */ + boolean assignDestination(TransportTaskDestinationAssignReq req); + /** * 自动下发待下发任务到 ACS */ diff --git a/nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/service/transporttask/TransportTaskServiceImpl.java b/nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/service/transporttask/TransportTaskServiceImpl.java index 92908b59..1e9360b9 100644 --- a/nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/service/transporttask/TransportTaskServiceImpl.java +++ b/nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/service/transporttask/TransportTaskServiceImpl.java @@ -15,7 +15,9 @@ import cn.code.nl.module.task.dal.dataobject.transporttask.TransportTaskDO; import cn.code.nl.module.task.dal.mysql.transporttask.TransportTaskMapper; import cn.code.nl.module.task.dto.AcsFeedbackReqDTO; import cn.code.nl.module.task.dto.TaskInfoDTO; +import cn.code.nl.module.task.dto.TransportTaskDestinationAssignReq; import cn.code.nl.module.task.dto.TransportTaskCreateReqDTO; +import cn.code.nl.module.task.dto.TransportTaskQueryReq; import cn.code.nl.module.task.enums.CallbackStatusEnum; import cn.code.nl.module.task.enums.FinishedTypeEnum; import cn.code.nl.module.task.enums.TaskOperationTypeEnum; @@ -241,6 +243,31 @@ public class TransportTaskServiceImpl implements TransportTaskService { return transportTaskMapper.selectUnfinishedCountByPointCodes(pointCodes) > 0; } + /** + * 根据任务类型和状态查询搬运任务 + * + * @param req 查询请求 + * @return 搬运任务列表 + */ + @Override + public List queryTransportTasks(TransportTaskQueryReq req) { + List tasks = transportTaskMapper.selectListByTypeAndStatus( + req.getTaskType(), req.getTaskStatus()); + return TransportTaskConvert.INSTANCE.convertList(tasks); + } + + /** + * 条件分配搬运任务目的点并推进任务状态 + * + * @param req 目的点分配请求 + * @return 是否分配成功 + */ + @Override + public boolean assignDestination(TransportTaskDestinationAssignReq req) { + return transportTaskMapper.assignDestination(req.getTaskId(), req.getPointCode2(), + req.getExpectedTaskStatus(), req.getTargetTaskStatus()) > 0; + } + /** * 查询待下发任务,并委托下发管理器按生产区域下发到 ACS */ diff --git a/nl-module-task/nl-module-task-server/src/main/resources/mapper/transporttask/TransportTaskMapper.xml b/nl-module-task/nl-module-task-server/src/main/resources/mapper/transporttask/TransportTaskMapper.xml index c9b8708e..02886acd 100644 --- a/nl-module-task/nl-module-task-server/src/main/resources/mapper/transporttask/TransportTaskMapper.xml +++ b/nl-module-task/nl-module-task-server/src/main/resources/mapper/transporttask/TransportTaskMapper.xml @@ -27,4 +27,14 @@ ) + +