diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/ISchBaseTaskService.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/ISchBaseTaskService.java index ff4bbeb..57efe96 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/ISchBaseTaskService.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/ISchBaseTaskService.java @@ -91,6 +91,13 @@ public interface ISchBaseTaskService extends IService { */ List findTasksByTaskStatus(String config_code, TaskStatus status); + /** + * 获取多个任务配置请求中的任务 + * @param config_code 任务配置 + * @return / + */ + List findApplyTasksByTaskStatus(String... config_code); + /** * 任务申请 * diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/impl/SchBaseTaskServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/impl/SchBaseTaskServiceImpl.java index 5aaf676..78d1237 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/impl/SchBaseTaskServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/impl/SchBaseTaskServiceImpl.java @@ -141,6 +141,18 @@ public class SchBaseTaskServiceImpl extends ServiceImpl findApplyTasksByTaskStatus(String... config_code) { + List configList = Arrays.stream(config_code).collect(Collectors.toList()); + LambdaQueryWrapper lam = new LambdaQueryWrapper<>(); + lam.in(SchBaseTask::getConfig_code, configList) + .eq(SchBaseTask::getTask_status, TaskStatus.APPLY.getCode()) + .ne(SchBaseTask::getIs_delete, true) + .orderByDesc(SchBaseTask::getConfig_code) + .orderByAsc(SchBaseTask::getCreate_time); + return schBaseTaskMapper.selectList(lam); + } + @Override public void create(SchBaseTask entity) { String currentUserId = SecurityUtils.getCurrentUserId(); diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/AbstractTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/AbstractTask.java index 7df746d..4eba7f5 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/AbstractTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/AbstractTask.java @@ -58,7 +58,7 @@ public abstract class AbstractTask { * * @throws BadRequestException */ - protected abstract void create() throws BadRequestException; + public abstract void create() throws BadRequestException; /** * 任务创建 @@ -66,7 +66,7 @@ public abstract class AbstractTask { * * @param task */ - protected void createCompletion(SchBaseTask task) { + public void createCompletion(SchBaseTask task) { } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/GeneralDefinition.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/GeneralDefinition.java index beef8a1..0edd2eb 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/GeneralDefinition.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/GeneralDefinition.java @@ -83,6 +83,10 @@ public class GeneralDefinition { * 对接位 */ public static final String DOCKING_POINT = "2"; + /** + * 检测位 + */ + public static final String CHECK_POINT = "4"; // 出入口 /** * 入口 diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/auto/RYKQLTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/auto/RYKQLTask.java index 347da59..96cb1a5 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/auto/RYKQLTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/auto/RYKQLTask.java @@ -46,7 +46,7 @@ // @Autowired // private ISysParamService paramService; // @Override -// protected void create() throws BadRequestException { +// public void create() throws BadRequestException { // // } // diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/dtk/CTQKTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/dtk/CTQKTask.java index 76a15d0..5eda411 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/dtk/CTQKTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/dtk/CTQKTask.java @@ -50,7 +50,7 @@ public class CTQKTask extends AbstractTask { private DTKMapper dtkMapper; @Override - protected void create() throws BadRequestException { + public void create() throws BadRequestException { // 获取任务 List tasks = taskService.findTasksByTaskStatus(TASK_CONFIG_CODE, TaskStatus.APPLY); // 配置信息 @@ -86,7 +86,7 @@ public class CTQKTask extends AbstractTask { @Override @Transactional(rollbackFor = Exception.class) - protected void createCompletion(SchBaseTask task) { + public void createCompletion(SchBaseTask task) { // 配置信息 SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper() .eq(SchBaseTaskconfig::getConfig_code, TASK_CONFIG_CODE)); diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/dtk/DTSKTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/dtk/DTSKTask.java index cedf983..955f5d3 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/dtk/DTSKTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/dtk/DTSKTask.java @@ -49,7 +49,7 @@ public class DTSKTask extends AbstractTask { private DTKMapper dtkMapper; @Override - protected void create() throws BadRequestException { + public void create() throws BadRequestException { // 获取任务 List tasks = taskService.findTasksByTaskStatus(TASK_CONFIG_CODE, TaskStatus.APPLY); // 配置信息 @@ -84,7 +84,7 @@ public class DTSKTask extends AbstractTask { @Override @Transactional(rollbackFor = Exception.class) - protected void createCompletion(SchBaseTask task) { + public void createCompletion(SchBaseTask task) { // 配置信息 SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper() .eq(SchBaseTaskconfig::getConfig_code, TASK_CONFIG_CODE)); diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJMKTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJMKTask.java index 9d35b5e..f5d7457 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJMKTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJMKTask.java @@ -63,7 +63,7 @@ public class FJMKTask extends AbstractTask { private WmsToAcsService wmsToAcsService; @Override - protected void create() throws BadRequestException { + public void create() throws BadRequestException { // 获取任务 List tasks = taskService.findTasksByTaskStatus(TASK_CONFIG_CODE, TaskStatus.APPLY); // 配置信息 @@ -136,7 +136,7 @@ public class FJMKTask extends AbstractTask { @Override @Transactional(rollbackFor = Exception.class) - protected void createCompletion(SchBaseTask task) { + public void createCompletion(SchBaseTask task) { // 配置信息 SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper() .eq(SchBaseTaskconfig::getConfig_code, TASK_CONFIG_CODE)); diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJQKTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJQKTask.java index 3131c00..c3ab83d 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJQKTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJQKTask.java @@ -62,7 +62,7 @@ public class FJQKTask extends AbstractTask { @Override @Transactional(rollbackFor = Exception.class) - protected void create() throws BadRequestException { + public void create() throws BadRequestException { // 获取任务 List tasks = taskService.findTasksByTaskStatus(TASK_CONFIG_CODE, TaskStatus.APPLY); // 配置信息 @@ -114,7 +114,7 @@ public class FJQKTask extends AbstractTask { @Override @Transactional(rollbackFor = Exception.class) - protected void createCompletion(SchBaseTask task) { + public void createCompletion(SchBaseTask task) { // 配置信息 SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper() .eq(SchBaseTaskconfig::getConfig_code, TASK_CONFIG_CODE)); diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJQLTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJQLTask.java index 4a6785b..e518b4b 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJQLTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJQLTask.java @@ -66,7 +66,7 @@ public class FJQLTask extends AbstractTask { private IPdmBdProductionProcessTrackingService processTrackingService; @Override - protected void create() throws BadRequestException { + public void create() throws BadRequestException { // 获取任务 List tasks = taskService.findTasksByTaskStatus(TASK_CONFIG_CODE, TaskStatus.APPLY); // 配置信息 @@ -110,7 +110,7 @@ public class FJQLTask extends AbstractTask { @Override @Transactional(rollbackFor = Exception.class) - protected void createCompletion(SchBaseTask task) { + public void createCompletion(SchBaseTask task) { // 配置信息 SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper() .eq(SchBaseTaskconfig::getConfig_code, TASK_CONFIG_CODE)); diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJQZRKTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJQZRKTask.java index f62a79f..0bc69bd 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJQZRKTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJQZRKTask.java @@ -59,7 +59,7 @@ public class FJQZRKTask extends AbstractTask { private ISchBaseVehiclematerialgroupService vehiclematerialgroupService; @Override - protected void create() throws BadRequestException { + public void create() throws BadRequestException { // 最后一坨不需要呼叫空盘 // 获取任务 List tasks = taskService.findTasksByTaskStatus(TASK_CONFIG_CODE, TaskStatus.APPLY); @@ -96,7 +96,7 @@ public class FJQZRKTask extends AbstractTask { @Override @Transactional(rollbackFor = Exception.class) - protected void createCompletion(SchBaseTask task) { + public void createCompletion(SchBaseTask task) { // 配置信息 SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper() .eq(SchBaseTaskconfig::getConfig_code, TASK_CONFIG_CODE)); diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJRKTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJRKTask.java index 63529ac..9a72daf 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJRKTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJRKTask.java @@ -60,7 +60,7 @@ public class FJRKTask extends AbstractTask { private FJMapper fjMapper; @Override - protected void create() throws BadRequestException { + public void create() throws BadRequestException { // 最后一坨不需要呼叫空盘 // 获取任务 List tasks = taskService.findTasksByTaskStatus(TASK_CONFIG_CODE, TaskStatus.APPLY); @@ -97,7 +97,7 @@ public class FJRKTask extends AbstractTask { @Override @Transactional(rollbackFor = Exception.class) - protected void createCompletion(SchBaseTask task) { + public void createCompletion(SchBaseTask task) { // 配置信息 SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper() .eq(SchBaseTaskconfig::getConfig_code, TASK_CONFIG_CODE)); diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJSKTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJSKTask.java index 92cf149..1d700cc 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJSKTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJSKTask.java @@ -61,7 +61,7 @@ public class FJSKTask extends AbstractTask { private ISchBaseVehiclematerialgroupService vehiclematerialgroupService; @Override - protected void create() throws BadRequestException { + public void create() throws BadRequestException { // 获取任务 List tasks = taskService.findTasksByTaskStatus(TASK_CONFIG_CODE, TaskStatus.APPLY); // 配置信息 @@ -98,7 +98,7 @@ public class FJSKTask extends AbstractTask { @Override @Transactional(rollbackFor = Exception.class) - protected void createCompletion(SchBaseTask task) { + public void createCompletion(SchBaseTask task) { // 配置信息 SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper() .eq(SchBaseTaskconfig::getConfig_code, TASK_CONFIG_CODE)); diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJSLTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJSLTask.java index 90d2995..1434565 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJSLTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJSLTask.java @@ -57,7 +57,7 @@ public class FJSLTask extends AbstractTask { private ISysNoticeService noticeService; @Override - protected void create() throws BadRequestException { + public void create() throws BadRequestException { // 获取任务 List tasks = taskService.findTasksByTaskStatus(TASK_CONFIG_CODE, TaskStatus.APPLY); // 配置信息 @@ -94,7 +94,7 @@ public class FJSLTask extends AbstractTask { @Override @Transactional(rollbackFor = Exception.class) - protected void createCompletion(SchBaseTask task) { + public void createCompletion(SchBaseTask task) { // 配置信息 SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper() .eq(SchBaseTaskconfig::getConfig_code, TASK_CONFIG_CODE)); diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/gtx/HCSSXMLTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/gtx/HCSSXMLTask.java new file mode 100644 index 0000000..5ed439c --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/gtx/HCSSXMLTask.java @@ -0,0 +1,173 @@ +package org.nl.wms.sch.task_manage.task.tasks.gtx; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import lombok.extern.slf4j.Slf4j; +import org.nl.common.exception.BadRequestException; +import org.nl.system.service.notice.ISysNoticeService; +import org.nl.wms.sch.point.service.ISchBasePointService; +import org.nl.wms.sch.point.service.dao.SchBasePoint; +import org.nl.wms.sch.task.service.ISchBaseTaskService; +import org.nl.wms.sch.task.service.ISchBaseTaskconfigService; +import org.nl.wms.sch.task.service.dao.SchBaseTask; +import org.nl.wms.sch.task.service.dao.SchBaseTaskconfig; +import org.nl.wms.sch.task_manage.AbstractTask; +import org.nl.wms.sch.task_manage.GeneralDefinition; +import org.nl.wms.sch.task_manage.enums.NoticeTypeEnum; +import org.nl.wms.sch.task_manage.enums.TaskFinishedTypeEnum; +import org.nl.wms.sch.task_manage.task.TaskType; +import org.nl.wms.sch.task_manage.task.core.TaskStatus; +import org.nl.wms.sch.task_manage.task.tasks.gtx.mapper.HCSSXMapper; +import org.nl.wms.util.PointUtils; +import org.nl.wms.util.TaskUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @Author: lyd + * @Description: 双层输/压机加急送线满料->入窑口 + * @Date: 2024/1/11 + */ +@Component(value = "HCSSXMLTask") +@TaskType("HCSSXMLTask") +@Slf4j +public class HCSSXMLTask extends AbstractTask { + + private static final String TASK_CONFIG_CODE = "HCSSXMLTask"; + private static final String YZ_TASK_CONFIG_CODE = "YZMLTask"; + @Autowired + private ISchBasePointService pointService; + @Autowired + private ISchBaseTaskService taskService; + @Autowired + private ISchBaseTaskconfigService taskConfigService; + @Autowired + private HCSSXMapper hcssxMapper; + @Autowired + private ISysNoticeService noticeService; + + @Override + public void create() throws BadRequestException { + // 需要找压制、双层输送线的半条任务。 + // 获取任务 + List tasks = taskService.findApplyTasksByTaskStatus(TASK_CONFIG_CODE, YZ_TASK_CONFIG_CODE); + // 配置信息 + SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper() + .eq(SchBaseTaskconfig::getConfig_code, TASK_CONFIG_CODE)); + for (SchBaseTask task : tasks) { + TaskUtils.setUpdateByAcs(task); + List nextRegionStr = Arrays.stream(taskConfig.getNext_region_str().split(",")) + .collect(Collectors.toList()); + // 找终点 + SchBasePoint point = findNextPoint(nextRegionStr); + if (ObjectUtil.isEmpty(point)) { + task.setRemark("入窑口未找到所需点位!"); + taskService.updateById(task); + // 消息通知 + noticeService.createNotice(task.getTask_code() + " - " + task.getRemark(), + task.getConfig_code() + task.getTask_code(), + NoticeTypeEnum.WARN.getCode()); + continue; + } + // 设置终点并修改创建成功状态 + task.setPoint_code2(point.getPoint_code()); + task.setTask_status(TaskStatus.CREATED.getCode()); + task.setRemark(""); + TaskUtils.setUpdateByAcs(task); + taskService.updateById(task); + + point.setIng_task_code(task.getTask_code()); + PointUtils.setUpdateByAcs(point); + pointService.updateById(point); + } + } + + private SchBasePoint findNextPoint(List nextRegionStr) { + List list = hcssxMapper.findPointForGZY(nextRegionStr); + return list.size() > 0 ? list.get(0) : null; + } + + @Override + protected void updateStatus(String task_code, TaskStatus status) { + // 校验任务 + SchBaseTask taskObj = taskService.getByCode(task_code); + if (taskObj.getTask_status().equals(TaskStatus.FINISHED.getCode())) { + throw new BadRequestException("该任务已完成!"); + } + if (taskObj.getTask_status().equals(TaskStatus.CANCELED.getCode())) { + throw new BadRequestException("该任务已取消!"); + } + // 根据传来的类型去对任务进行操作 + 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, TaskFinishedTypeEnum.AUTO_ACS); + } + if (status.equals(TaskStatus.CANCELED)) { + this.cancelTask(taskObj, TaskFinishedTypeEnum.AUTO_ACS); + } + } + + @Override + public void forceFinish(String task_code) { + SchBaseTask taskObj = taskService.getByCode(task_code); + if (ObjectUtil.isEmpty(taskObj)) { + throw new BadRequestException("该任务不存在"); + } + this.finishTask(taskObj, TaskFinishedTypeEnum.MANUAL_PC); + } + + @Override + public void cancel(String task_code) { + SchBaseTask taskObj = taskService.getByCode(task_code); + if (ObjectUtil.isEmpty(taskObj)) { + throw new BadRequestException("该任务不存在"); + } + this.cancelTask(taskObj, TaskFinishedTypeEnum.MANUAL_PC); + } + + @Transactional(rollbackFor = Exception.class) + public void finishTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) { + String endPoint = taskObj.getPoint_code2(); + SchBasePoint endPointObj = pointService.selectByIdLock(endPoint); + if (ObjectUtil.isNotEmpty(endPointObj)) { + // 终点解锁 + endPointObj.setIng_task_code(""); + PointUtils.setUpdateByType(endPointObj, taskFinishedType); + pointService.updateById(endPointObj); + } + // 任务完成 + taskObj.setTask_status(TaskStatus.FINISHED.getCode()); + taskObj.setRemark(GeneralDefinition.TASK_FINISH); + taskObj.setFinished_type(taskFinishedType.getCode()); + TaskUtils.setUpdateByType(taskObj, taskFinishedType); + taskService.updateById(taskObj); + } + + @Transactional(rollbackFor = Exception.class) + public void cancelTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) { + // 获取参数 + String endPoint = taskObj.getPoint_code2(); + SchBasePoint endPointObj = pointService.getById(endPoint); + // 终点解锁 + if (ObjectUtil.isNotEmpty(endPointObj)) { + endPointObj.setIng_task_code(""); + PointUtils.setUpdateByType(endPointObj, taskFinishedType); + pointService.updateById(endPointObj); + } + taskObj.setRemark(GeneralDefinition.TASK_CANCEL); + taskObj.setTask_status(TaskStatus.CANCELED.getCode()); + taskObj.setFinished_type(taskFinishedType.getCode()); + TaskUtils.setUpdateByType(taskObj, taskFinishedType); + taskService.updateById(taskObj); + } +} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/gtx/mapper/HCSSXMapper.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/gtx/mapper/HCSSXMapper.java new file mode 100644 index 0000000..796df2a --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/gtx/mapper/HCSSXMapper.java @@ -0,0 +1,19 @@ +package org.nl.wms.sch.task_manage.task.tasks.gtx.mapper; + +import org.nl.wms.sch.point.service.dao.SchBasePoint; + +import java.util.List; + +/** + * @Author: lyd + * @Description: + * @Date: 2024/1/11 + */ +public interface HCSSXMapper { + /** + * 获取干燥窑终点 + * @param regionCode / + * @return / + */ + List findPointForGZY(List regionCode); +} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/gtx/mapper/HCSSXMapper.xml b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/gtx/mapper/HCSSXMapper.xml new file mode 100644 index 0000000..784f51a --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/gtx/mapper/HCSSXMapper.xml @@ -0,0 +1,20 @@ + + + + + + diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/hn/HNMLTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/hn/HNMLTask.java index 50db449..48af39d 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/hn/HNMLTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/hn/HNMLTask.java @@ -100,7 +100,7 @@ public class HNMLTask extends AbstractTask { */ @Override @Transactional(rollbackFor = Exception.class) - protected void create() { + public void create() { // 获取任务 List tasks = taskService.findTasksByTaskStatus(TASK_CONFIG_CODE, TaskStatus.APPLY); // 配置信息 diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/hn/HNQKTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/hn/HNQKTask.java index 109e38b..2199e04 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/hn/HNQKTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/hn/HNQKTask.java @@ -52,7 +52,7 @@ // */ // @Override // @Transactional(rollbackFor = Exception.class) -// protected void create() { +// public void create() { // // 获取任务 // List tasks = taskService.findTasksByTaskStatus(TASK_CONFIG_CODE, TaskStatus.APPLY); // // 配置信息 diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/yao/CYZCTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/yao/CYZCTask.java index 9423475..5fccd56 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/yao/CYZCTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/yao/CYZCTask.java @@ -64,7 +64,7 @@ public class CYZCTask extends AbstractTask { @Override @Transactional(rollbackFor = Exception.class) - protected void create() throws BadRequestException { + public void create() throws BadRequestException { // 获取任务 List tasks = taskService.findTasksByTaskStatus(TASK_CONFIG_CODE, TaskStatus.APPLY); // 配置信息 @@ -101,7 +101,7 @@ public class CYZCTask extends AbstractTask { @Override @Transactional(rollbackFor = Exception.class) - protected void createCompletion(SchBaseTask task) { + public void createCompletion(SchBaseTask task) { // 配置信息 SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper() .eq(SchBaseTaskconfig::getConfig_code, TASK_CONFIG_CODE)); diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/yao/GZYQLTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/yao/GZYQLTask.java index 68c34d7..e75be6f 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/yao/GZYQLTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/yao/GZYQLTask.java @@ -55,7 +55,7 @@ public class GZYQLTask extends AbstractTask { private YZMapper yzMapper; @Override - protected void create() throws BadRequestException { + public void create() throws BadRequestException { // 获取任务 List tasks = taskService.findTasksByTaskStatus(TASK_CONFIG_CODE, TaskStatus.APPLY); // 配置信息 @@ -96,7 +96,7 @@ public class GZYQLTask extends AbstractTask { @Override @Transactional(rollbackFor = Exception.class) - protected void createCompletion(SchBaseTask task) { + public void createCompletion(SchBaseTask task) { // 配置信息 SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper() .eq(SchBaseTaskconfig::getConfig_code, TASK_CONFIG_CODE)); diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/yz/YZQKTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/yz/YZQKTask.java index b27a7bb..ae17f44 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/yz/YZQKTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/yz/YZQKTask.java @@ -50,7 +50,7 @@ public class YZQKTask extends AbstractTask { @Override @Transactional(rollbackFor = Exception.class) - protected void createCompletion(SchBaseTask task) { + public void createCompletion(SchBaseTask task) { // 配置信息 SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper() .eq(SchBaseTaskconfig::getConfig_code, TASK_CONFIG_CODE)); @@ -80,7 +80,7 @@ public class YZQKTask extends AbstractTask { @Override @Transactional(rollbackFor = Exception.class) - protected void create() { + public void create() { // 获取任务 List tasks = taskService.findTasksByTaskStatus(TASK_CONFIG_CODE, TaskStatus.APPLY); // 配置信息 diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/yz/YZQLTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/yz/YZQLTask.java index ccfcc79..96ad618 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/yz/YZQLTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/yz/YZQLTask.java @@ -55,7 +55,7 @@ // private YZMapper yzMapper; // // @Override -// protected void create() throws BadRequestException { +// public void create() throws BadRequestException { // // 获取任务 // List tasks = taskService.findTasksByTaskStatus(TASK_CONFIG_CODE, TaskStatus.APPLY); // // 配置信息 diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/yz/YZSKTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/yz/YZSKTask.java index d444235..b98c874 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/yz/YZSKTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/yz/YZSKTask.java @@ -50,7 +50,7 @@ public class YZSKTask extends AbstractTask { @Override @Transactional(rollbackFor = Exception.class) - protected void createCompletion(SchBaseTask task) { + public void createCompletion(SchBaseTask task) { // 配置信息 SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper() .eq(SchBaseTaskconfig::getConfig_code, TASK_CONFIG_CODE)); @@ -84,7 +84,7 @@ public class YZSKTask extends AbstractTask { @Override @Transactional(rollbackFor = Exception.class) - protected void create() throws BadRequestException { + public void create() throws BadRequestException { // 获取任务 List tasks = taskService.findTasksByTaskStatus(TASK_CONFIG_CODE, TaskStatus.APPLY); // 配置信息 diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/yz/YZSLTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/yz/YZSLTask.java index 35b23c1..21a91f3 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/yz/YZSLTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/yz/YZSLTask.java @@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import lombok.extern.slf4j.Slf4j; import org.nl.common.exception.BadRequestException; +import org.nl.config.SpringContextHolder; import org.nl.system.service.notice.ISysNoticeService; import org.nl.wms.database.brick.service.IMdBaseBrickInfoService; import org.nl.wms.ext.mes.service.WmsToMesService; @@ -72,49 +73,20 @@ public class YZSLTask extends AbstractTask { @Autowired private WmsToMesService wmsToMesService; + /** + * 创建任务 + * @throws BadRequestException / + * @see org.nl.wms.sch.task_manage.task.tasks.gtx.HCSSXMLTask + */ @Override @Transactional(rollbackFor = Exception.class) - protected void create() throws BadRequestException { - // 获取任务 - List tasks = taskService.findTasksByTaskStatus(TASK_CONFIG_CODE, TaskStatus.APPLY); - // 配置信息 - SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper() - .eq(SchBaseTaskconfig::getConfig_code, TASK_CONFIG_CODE)); - for (SchBaseTask task : tasks) { - TaskUtils.setUpdateByAcs(task); - List nextRegionStr = Arrays.stream(taskConfig.getNext_region_str().split(",")) - .collect(Collectors.toList()); - // 找终点 - String requestParam = task.getRequest_param(); - JSONObject jsonObject = JSONObject.parseObject(requestParam); - SchBasePoint point = findNextPoint(nextRegionStr, jsonObject); - if (ObjectUtil.isEmpty(point)) { - task.setRemark("压机[" + task.getPoint_code1() + "]未找到所需点位!"); - taskService.updateById(task); - // 消息通知 - noticeService.createNotice(task.getRemark(), TASK_CONFIG_CODE + task.getTask_code(), - NoticeTypeEnum.WARN.getCode()); - continue; - } - // 设置终点并修改创建成功状态 - task.setPoint_code2(point.getPoint_code()); - task.setTask_status(TaskStatus.CREATED.getCode()); - task.setRemark(""); - TaskUtils.setUpdateByAcs(task); - taskService.updateById(task); - - point.setIng_task_code(task.getTask_code()); - PointUtils.setUpdateByAcs(point); - pointService.updateById(point); - - //下发 - //this.renotifyAcs(task); - } + public void create() throws BadRequestException { + // 非加急不会有半条任务,因此,此处无用;加急半条任务由滚筒线业务类处理 } @Override @Transactional(rollbackFor = Exception.class) - protected void createCompletion(SchBaseTask task) { + public void createCompletion(SchBaseTask task) { // 配置信息 SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper() .eq(SchBaseTaskconfig::getConfig_code, TASK_CONFIG_CODE)); @@ -133,6 +105,15 @@ public class YZSLTask extends AbstractTask { NoticeTypeEnum.WARN.getCode()); throw new BadRequestException("压机[" + task.getPoint_code1() + "]未找到所需点位!"); } + // 特殊处理,创建半条任务 + if (ObjectUtil.isNotEmpty(point.getTask_warn()) && point.getTask_warn().equals(GeneralDefinition.NO)) { + // 加急工单就创建半条任务 + task.setTask_status(TaskStatus.APPLY.getCode()); + task.setRemark("加急工单任务"); + TaskUtils.setUpdateByAcs(task); + taskService.save(task); + return; + } // 设置终点并修改创建成功状态 task.setPoint_code2(point.getPoint_code()); task.setTask_status(TaskStatus.CREATED.getCode()); @@ -148,9 +129,10 @@ public class YZSLTask extends AbstractTask { /** * 判断是否加急:是->入窑口,否->双层缓存线 * - * @param nextRegionStr - * @param requestParam - * @return + * @param nextRegionStr / + * @param requestParam / + * @return / + * @see org.nl.wms.sch.task_manage.task.tasks.gtx.HCSSXMLTask */ private SchBasePoint findNextPoint(List nextRegionStr, JSONObject requestParam) { // 需要获取nextRegionStr @@ -169,16 +151,11 @@ public class YZSLTask extends AbstractTask { } // 判断是否加急,加急则去窑口,不加急就是去双层缓存输送线 if (one.getIs_urgent()) { - regionCode = nextRegionStr.get(1); - // 判断窑区是否可用 - SchBasePoint basePoint = pointService.getOne(new LambdaQueryWrapper() - .eq(SchBasePoint::getRegion_code, regionCode) - .eq(SchBasePoint::getPoint_type, GeneralDefinition.ENTRANCE) - .eq(SchBasePoint::getIs_used, true)); - // 如果窑口不能用,还是去双层输送线 - if (ObjectUtil.isEmpty(basePoint)) { - regionCode = nextRegionStr.get(0); - } + // 直接创建半条任务供缓存线任务类扫描 + // todo: 2判断窑内数量是否大于177,如果窑口不能用,还是去双层输送线 后话 + SchBasePoint warnPoint = new SchBasePoint(); + warnPoint.setTask_warn(GeneralDefinition.NO); + return warnPoint; } // 双层缓存货架的一上一下的区分 -> 上五下五区分 LambdaQueryWrapper lam = new QueryWrapper().lambda(); @@ -318,12 +295,6 @@ public class YZSLTask extends AbstractTask { String endPoint = taskObj.getPoint_code2(); SchBasePoint endPointObj = pointService.getById(endPoint); if (ObjectUtil.isNotEmpty(endPointObj)) { - // 终点解锁 - endPointObj.setIng_task_code(""); - // 终点清空 - PointUtils.setUpdateByType(endPointObj, taskFinishedType); - PointUtils.clearPointAndRetainNum(endPointObj); - pointService.updateById(endPointObj); // 组盘表数据改成已绑定 SchBaseVehiclematerialgroup vehiclematerialgroup = vehiclematerialgroupService.getById(taskObj.getGroup_id()); TaskUtils.setGroupUpdateByType(vehiclematerialgroup, taskFinishedType); @@ -348,6 +319,13 @@ public class YZSLTask extends AbstractTask { bdWorkorder.setReal_qty(NumberUtil.add(realQty, materialQty)); TaskUtils.setWorkOrderUpdateByType(bdWorkorder, taskFinishedType); workorderService.updateById(bdWorkorder); + // 终点解锁 + endPointObj.setIng_task_code(""); + PointUtils.setUpdateByType(endPointObj, taskFinishedType); + if (!bdWorkorder.getIs_urgent()) { + PointUtils.clearPointAndRetainNum(endPointObj); + } + pointService.updateById(endPointObj); } // 任务完成 taskObj.setTask_status(TaskStatus.FINISHED.getCode());