diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/auto/GHCMLTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/auto/GHCMLTask.java index 4a85f5e..bd59035 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/auto/GHCMLTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/auto/GHCMLTask.java @@ -5,6 +5,7 @@ import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.dromara.dynamictp.common.util.StringUtil; @@ -38,6 +39,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import javax.annotation.Resource; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.time.temporal.ChronoUnit; import java.util.Arrays; import java.util.List; import java.util.concurrent.TimeUnit; @@ -139,7 +143,7 @@ public class GHCMLTask extends AbstractTask { if (ObjectUtil.isEmpty(point)) { throw new BadRequestException("暂存区域[" + task.getPoint_code1() + "]未找到所需点位!"); } - log.info("当前任务{}找到预计终点{}",task.getTask_id(),point.getPoint_code()); + log.info("当前任务{}找到预计终点{}", task.getTask_id(), point.getPoint_code()); // 设置组盘 - 需要的话由子类自行实现 task.setGroup_id(setGroupPlate(jsonObject)); // 设置等待点并修改创建成功状态 @@ -148,9 +152,26 @@ public class GHCMLTask extends AbstractTask { task.setTask_status(TaskStatus.CREATED.getCode()); task.setRemark(""); task.setRequest_param(JSONObject.toJSONString(jsonObject)); + List qlTask = taskService.list(new LambdaQueryWrapper() + .eq(SchBaseTask::getPoint_code2, task.getPoint_code1()) + .eq(SchBaseTask::getTask_status, TaskStatus.FINISHED.getCode()) + .eq(SchBaseTask::getIs_delete,false) + .ge(SchBaseTask::getCreate_time, + LocalDateTime.now().toLocalDate().atStartOfDay().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")) + ) + .eq(SchBaseTask::getVehicle_code, startPoint.getVehicle_code()) + .orderByDesc(SchBaseTask::getCreate_time) + .last("limit 1")); + if (ObjectUtil.isEmpty(qlTask)) { + throw new BadRequestException("创建失败,找不到[" + task.getPoint_code1() + "]完成的前置GHCQLTask任务!"); + } + //更新绑定前置任务固化室点位 -> 固化室出口标识 + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper() + .eq(SchBaseTask::getTask_id, qlTask.get(0).getTask_id()) + .set(SchBaseTask::getTask_group_id, task.getTask_id()); + taskService.update(updateWrapper); TaskUtils.setUpdateByAcs(task); taskService.save(task); - PointUtils.setUpdateByAcs(point); pointService.updateById(point); diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/auto/GHCQLTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/auto/GHCQLTask.java index 9e766b8..c8b2a04 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/auto/GHCQLTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/auto/GHCQLTask.java @@ -38,6 +38,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import javax.annotation.Resource; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.time.temporal.ChronoUnit; import java.util.Arrays; import java.util.List; import java.util.Set; @@ -94,24 +97,13 @@ public class GHCQLTask extends AbstractTask { if (ObjectUtils.isEmpty(ghsExitList)) { return; } - //过滤未完成的固化室出库任务的点位 - List taskList = taskService.list(new LambdaQueryWrapper() - .in(SchBaseTask::getPoint_code1, ghsExitList) - .lt(SchBaseTask::getTask_status, TaskStatus.FINISHED.getCode()) - ); - if (ObjectUtils.isNotEmpty(taskList)) { - taskList.stream().map(SchBaseTask::getPoint_code1).forEach(ghsExitList::remove); - } - if (ObjectUtils.isEmpty(ghsExitList)) { - return; - } AbstractTask task = taskFactory.getTask(TASK_CONFIG_CODE); - ghsExitList.forEach(point -> { + ghsExitList.forEach(r -> { try { JSONObject param = new JSONObject(); param.put("config_code", TASK_CONFIG_CODE); param.put("requestNo", "LMS" + IdUtil.simpleUUID()); - param.put("device_code", point); + param.put("device_code", r); param.put("create_mode", GeneralDefinition.AUTO_CREATION); task.apply(param); } catch (Exception e) { @@ -130,6 +122,17 @@ public class GHCQLTask extends AbstractTask { @Override protected void createCompletion(SchBaseTask task) { + List qlTask = taskService.list(new LambdaQueryWrapper() + .eq(SchBaseTask::getPoint_code2, task.getPoint_code2()) + .eq(SchBaseTask::getConfig_code,"GHCQLTask") + .eq(SchBaseTask::getIs_delete,false) + .eq(SchBaseTask::getTask_status, TaskStatus.FINISHED.getCode()) + .orderByDesc(SchBaseTask::getCreate_time).last("limit 1")); + if (ObjectUtil.isNotEmpty(qlTask)) { + if (qlTask.get(0).getTask_group_id() == null) { + throw new BadRequestException("创建失败,任务号[" + qlTask.get(0).getTask_code() + "]找不到相关的后置任务GHCMLTask任务!"); + } + } // 配置信息 SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper() .eq(SchBaseTaskconfig::getConfig_code, TASK_CONFIG_CODE)); @@ -160,7 +163,6 @@ public class GHCQLTask extends AbstractTask { task.setGroup_id(point.getGroup_id()); task.setRemark(""); taskService.save(task); - point.setIng_task_code(task.getTask_code()); PointUtils.setUpdateByAcs(point); pointService.updateById(point); diff --git a/lms/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml b/lms/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml index d093f36..fe5bb31 100644 --- a/lms/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml +++ b/lms/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml @@ -6,7 +6,7 @@ spring: druid: db-type: com.alibaba.druid.pool.DruidDataSource driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy - url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:xftn_lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true + url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:lms_xftn}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true # url: jdbc:log4jdbc:mysql://${DB_HOST:47.111.78.178}:${DB_PORT:3306}/${DB_NAME:stand_lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true username: ${DB_USER:root} password: ${DB_PWD:123456} diff --git a/lms/nladmin-ui/src/views/wms/sch/task/index.vue b/lms/nladmin-ui/src/views/wms/sch/task/index.vue index d29d07d..5e6e2a7 100644 --- a/lms/nladmin-ui/src/views/wms/sch/task/index.vue +++ b/lms/nladmin-ui/src/views/wms/sch/task/index.vue @@ -16,7 +16,7 @@ v-model="query.task_code" clearable style="width: 180px" - placeholder="任务号" + placeholder="请输入任务号" @keyup.enter.native="crud.toQuery" /> @@ -26,16 +26,34 @@ v-model="query.vehicle_code" clearable style="width: 180px" - placeholder="载具号" + placeholder="请输入载具号" @keyup.enter.native="crud.toQuery" /> - + + + + + + + @@ -85,7 +103,7 @@ - + @@ -179,12 +197,12 @@ - + - - - + + + - - + +