diff --git a/lms/nladmin-system/src/main/java/org/nl/AppRun.java b/lms/nladmin-system/src/main/java/org/nl/AppRun.java index 82688bca3..a7c66f3c1 100644 --- a/lms/nladmin-system/src/main/java/org/nl/AppRun.java +++ b/lms/nladmin-system/src/main/java/org/nl/AppRun.java @@ -1,8 +1,6 @@ package org.nl; import cn.dev33.satoken.annotation.SaIgnore; -import com.alicp.jetcache.anno.config.EnableCreateCacheAnnotation; -import com.alicp.jetcache.anno.config.EnableMethodCache; import org.dromara.dynamictp.core.spring.EnableDynamicTp; import org.mybatis.spring.annotation.MapperScan; import org.nl.modules.wql.util.SpringContextHolder; @@ -30,8 +28,6 @@ import org.springframework.web.bind.annotation.RestController; }) @ServletComponentScan //https://blog.csdn.net/qq_36850813/article/details/101194250 @EnableJpaAuditing(auditorAwareRef = "auditorAware") -@EnableMethodCache(basePackages = "org.nl") -@EnableCreateCacheAnnotation @MapperScan("org.nl.**.mapper") public class AppRun { diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/service/impl/VehicleTwoServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/service/impl/VehicleTwoServiceImpl.java index 88741d8b5..6a1c80275 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/service/impl/VehicleTwoServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/service/impl/VehicleTwoServiceImpl.java @@ -178,6 +178,7 @@ public class VehicleTwoServiceImpl implements VehicleTwoService { whereJson.put("bill_type", IOSEnum.IN_TYPE.code("改切入库")); } whereJson.put("box_no", whereJson.getString("box_no")); + JSONArray resultJSONArray = WQLObject.getWQLObject("pdm_bi_subpackagerelation").query("package_box_sn = '" + whereJson.getString("material_barcode") + "' AND status = '0'").getResultJSONArray(0); if (ObjectUtil.isEmpty(resultJSONArray)) { throw new BadRequestException("未查询到子卷包装信息!"); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/impl/PdmBiSubpackagerelationServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/impl/PdmBiSubpackagerelationServiceImpl.java index 7565f3037..1a305919e 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/impl/PdmBiSubpackagerelationServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/impl/PdmBiSubpackagerelationServiceImpl.java @@ -808,9 +808,9 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl 1) { - throw new BadRequestException("暂时只能选择一个子卷"); - } + // if (packagerelationList.size() > 1) { + // throw new BadRequestException("暂时只能选择一个子卷"); + // } //检查是否存在已分配规格的子卷号 List isOutBox = packagerelationList.stream().filter(r -> r.getStatus().equals("0")).collect(Collectors.toList()); if (isOutBox.size() > 0) { @@ -867,7 +867,7 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl schBaseTaskList = new ArrayList<>(); //确定起点,安装装箱组标识加入任务队列 djqPoints.forEach(r -> { //校验重复任务 List taskList = taskService.list(new LambdaQueryWrapper().eq(SchBaseTask::getVehicle_code, r.getContainer_name()).eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("待检区->装箱区")) - .eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")).lt(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED)); + .eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")).lt(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode())); if (CollectionUtils.isEmpty(taskList)) { JSONObject jo = new JSONObject(); jo.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("待检区->装箱区")); @@ -938,14 +938,14 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl装箱区任务队列正在创建被锁住。"); - } - } finally { - if (tryLock) { - lock.unlock(); - } - } + // } else { + // log.info("待检区->装箱区任务队列正在创建被锁住。"); + // } + // } finally { + // if (tryLock) { + // lock.unlock(); + // } + // } } 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 5414f5254..ed6789d1b 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 @@ -111,7 +111,11 @@ 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("任务不存在!"); + throw new BadRequestException("该任务未执行或不存在!"); } //取货任务 if (actionType.equals(PackageInfoIvtEnum.TASK_ACTION_TYPE.code("取货完成"))) { @@ -507,6 +510,22 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl ivtList = packageinfoivtService.list(new LambdaQueryWrapper() + .eq(BstIvtPackageinfoivt::getIs_used, PackageInfoIvtEnum.IS_USED.code("启用")) + .eq(BstIvtPackageinfoivt::getPoint_code, baseTask.getPoint_code2())); + if (CollectionUtils.isEmpty(ivtList)) { + throw new BadRequestException("任务编号为:" + baseTask.getTask_code() + "取货完成的目标点位不存在!"); + } + if (ivtList.get(0).getIvt_status().equals(PackageInfoIvtEnum.IVT_STATUS.code("空"))) { + //增加点位库存 + bstIvtPackageinfoivtMapper.update(null, new UpdateWrapper() + .set("container_name", baseTask.getVehicle_code()) + .set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("有子卷")) + .eq("point_code", baseTask.getPoint_code2())); + } else { + throw new BadRequestException("该点位已有库存!"); + } } } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/task/service/IschBaseTaskService.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/task/service/IschBaseTaskService.java index 0f374651a..a8b801739 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/task/service/IschBaseTaskService.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/task/service/IschBaseTaskService.java @@ -1,16 +1,14 @@ package org.nl.b_lms.sch.task.service; -import org.nl.b_lms.bst.ivt.cutpointivt.service.dao.BstIvtCutpointivt; -import org.nl.b_lms.sch.task.dao.SchBaseTask; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; +import org.nl.b_lms.sch.task.dao.SchBaseTask; +import org.nl.common.domain.query.PageQuery; import java.util.List; import java.util.Map; import java.util.Set; -import com.baomidou.mybatisplus.core.metadata.IPage; -import org.nl.common.domain.query.PageQuery; - /** * {@code @Description:} 任务表(SchBaseTask)服务接口层 @@ -69,10 +67,18 @@ public interface IschBaseTaskService extends IService { /** * 查找当前设备有没有送轴的任务 + * * @param resourceName / * @return / */ List getTaskByPlanQzzNoAndDevice(String resourceName); + + + + /** + *校验相同任务类型 + */ + List getExistTasks(String taskType1, String taskType2, String taskType3); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/task/service/impl/SchBaseTaskServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/task/service/impl/SchBaseTaskServiceImpl.java index 1ef1e9fbe..3d70fe6f5 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/task/service/impl/SchBaseTaskServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/task/service/impl/SchBaseTaskServiceImpl.java @@ -6,19 +6,18 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.nl.b_lms.bst.ivt.cutpointivt.service.dao.BstIvtCutpointivt; +import org.apache.commons.lang3.StringUtils; import org.nl.b_lms.sch.task.dao.SchBaseTask; import org.nl.b_lms.sch.task.dao.mapper.SchBaseTaskMapper; 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.utils.SecurityUtils; import org.nl.wms.sch.manage.TaskStatusEnum; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; /** @@ -133,5 +132,18 @@ public class SchBaseTaskServiceImpl extends ServiceImpl getExistTasks(String taskType1, String taskType2, String taskType3) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.lt(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode()); + queryWrapper.eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")); + List taskTypes = new ArrayList<>(Arrays.asList(taskType1, taskType2, taskType3)); + taskTypes.removeIf(StringUtils::isBlank); + if (!taskTypes.isEmpty()) { + queryWrapper.in(SchBaseTask::getTask_type, taskTypes); + } + return this.list(queryWrapper); + } + + } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/DjqTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/DjqTask.java index cb6ef8ebc..ca0e66a51 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/DjqTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/DjqTask.java @@ -11,6 +11,7 @@ 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; @@ -52,8 +53,6 @@ public class DjqTask extends AbstractAcsTask { @Resource private IbstIvtPackageinfoivtService packageinfoivtService; @Resource - private MzhcwTask mzhcwTask; - @Resource private TaskQueueManager taskQueueManager; @@ -73,7 +72,7 @@ public class DjqTask extends AbstractAcsTask { .task_type(r.getAcs_task_type()) .start_device_code(r.getPoint_code1()) .next_device_code(r.getPoint_code2()) - .vehicle_code(r.getVehicle_code()) + //.vehicle_code(r.getVehicle_code()) .priority(r.getPriority()) .remark(r.getRemark()) .product_area(r.getProduct_area()) @@ -98,15 +97,17 @@ public class DjqTask extends AbstractAcsTask { } if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { log.info("任务编号为:" + schBaseTask.getTask_code() + "的任务完成接口在" + schBaseTask.getUpdate_time() + "被调用---------------------------------------------"); - //1.更改任务状态为完成 - schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode()); - //2.改变起点点位状态,二次分配,取货完成就改起点库存 + //1.改变起点点位状态,二次分配,取货完成就改起点库存 //packageinfoivtService.update(new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1())); - //3更新库存记录 - packageinfoivtService.update(new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("有子卷")).set("container_name", schBaseTask.getVehicle_code()).eq("point_code", schBaseTask.getPoint_code2())); - //清除首次分配目标点位 + //2.更新库存记录 + //管制品重新质检 + String ivtStatus = StringUtils.isBlank(schBaseTask.getRequest_param()) ? PackageInfoIvtEnum.IVT_STATUS.code("有子卷") : schBaseTask.getRequest_param(); + packageinfoivtService.update(new UpdateWrapper().set("ivt_status", ivtStatus).set("container_name", schBaseTask.getVehicle_code()).eq("point_code", schBaseTask.getPoint_code2())); + //3.更改任务状态为完成 + schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode()); + //4.清除首次分配目标点位 schBaseTask.setPoint_code3(""); - //4.判断是否存在确定起点的输送线->满轴缓存位任务,存在就下发任务 + //5.判断是否存在确定起点的输送线->满轴缓存位任务,存在就下发任务 // List taskList = taskService.list(new LambdaQueryWrapper() // //确定起点未下发 // .eq(SchBaseTask::getTask_status, TaskStatusEnum.SURE_START.getCode()) 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 f710727d7..e5061c496 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 @@ -53,9 +53,6 @@ public class DjqToKzjhcwTask extends AbstractAcsTask { private IbstIvtPackageinfoivtService packageinfoivtService; - @Resource - private SsxDjwTask ssxDjwTask; - @Override public List addTask() { @@ -95,30 +92,30 @@ public class DjqToKzjhcwTask extends AbstractAcsTask { 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.改变起点点位状态 - packageinfoivtService.update(new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1())); - //清除首次分配目标点位 - schBaseTask.setPoint_code4(""); - //更新库存记录 - 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()); - // taskService.update(task); - // //任务下发 - // ssxDjwTask.immediateNotifyAcs(task.getTask_id().toString()); - // } + log.info("任务编号为:" + schBaseTask.getTask_code() + "的任务完成接口在" + schBaseTask.getUpdate_time() + "被调用---------------------------------------------"); + //1.改变起点点位状态 + packageinfoivtService.update(new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1())); + //2.更新库存记录 + packageinfoivtService.update(new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空载具")).eq("point_code", schBaseTask.getPoint_code2())); + //3.更改任务状态为完成 + schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode()); + //4.清除首次分配目标点位 + schBaseTask.setPoint_code4(""); + //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()); + // taskService.update(task); + // //任务下发 + // ssxDjwTask.immediateNotifyAcs(task.getTask_id().toString()); + // } } // 取消 if (status.equals(IOSEnum.IS_NOTANDYES.code("否"))) { 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 e31991ab5..874045bba 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 @@ -48,8 +48,6 @@ public class GzqTask extends AbstractAcsTask { private IschBaseTaskService taskService; @Resource private IbstIvtPackageinfoivtService packageinfoivtService; - @Resource - private MzhcwTask mzhcwTask; @Override public List addTask() { @@ -99,7 +97,7 @@ public class GzqTask extends AbstractAcsTask { //2.改变起点点位状态 packageinfoivtService.update(new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1())); //更新库存记录 - packageinfoivtService.update(new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("有子卷")).set("container_name", schBaseTask.getVehicle_code()).eq("point_code", schBaseTask.getPoint_code2())); + 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() // //确定起点未下发 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 8339d89e4..4180e8542 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 @@ -53,8 +53,7 @@ public class GzqToKzjhcwTask extends AbstractAcsTask { private IbstIvtPackageinfoivtService packageinfoivtService; - @Resource - private SsxDjwTask ssxDjwTask; + @Override 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 59b4d5c1e..bbdcf0c1c 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 @@ -93,7 +93,9 @@ public class MzhcwTask extends AbstractAcsTask { .next_device_code(r.getPoint_code2()) .start_device_code2(r.getPoint_code3()) .next_device_code2(r.getPoint_code4()) - .vehicle_code(r.getVehicle_code()) + //四个点任务与两个点任务类型区分 + .agv_action_type(r.getVehicle_code2()) + .vehicle_code(r.getVehicle_code()) .priority(r.getPriority()) .remark(r.getRemark()) .product_area(r.getProduct_area()) @@ -127,23 +129,32 @@ public class MzhcwTask extends AbstractAcsTask { //createTaskToDjq(schBaseTask); //4.创建空载具到输送线任务,完成后需要创建空载具缓存位->输送线任务 if (schBaseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"))) { - //如果是输送线->满轴缓存位任务 - List kzjPointList = packageinfoivtService - .list(new LambdaUpdateWrapper() - .eq(BstIvtPackageinfoivt::getIs_used, PackageInfoIvtEnum.IS_USED.code("启用")) - .eq(BstIvtPackageinfoivt::getPoint_status, PackageInfoIvtEnum.POINT_STATUS.code("空载具缓存位")) - .eq(BstIvtPackageinfoivt::getIvt_status, PackageInfoIvtEnum.IVT_STATUS.code("空载具")) - .orderByDesc(BstIvtPackageinfoivt::getSort_seq)); - JSONObject toSsxTask = new JSONObject(); - 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()); + //校验任务是否存在 + List existTask = taskService.getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"),null,null); + if (CollectionUtils.isEmpty(existTask)) { + //如果是输送线->满轴缓存位任务 + List kzjPointList = packageinfoivtService + .list(new LambdaUpdateWrapper() + .eq(BstIvtPackageinfoivt::getIs_used, PackageInfoIvtEnum.IS_USED.code("启用")) + .eq(BstIvtPackageinfoivt::getPoint_status, PackageInfoIvtEnum.POINT_STATUS.code("空载具缓存位")) + .eq(BstIvtPackageinfoivt::getIvt_status, PackageInfoIvtEnum.IVT_STATUS.code("空载具")) + .orderByDesc(BstIvtPackageinfoivt::getSort_seq)); + JSONObject toSsxTask = new JSONObject(); + 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.isEmpty(kzjPointList)) { + toSsxTask.put("task_status", TaskStatusEnum.SURE_END.getCode()); + //确定终点为输送线点位 + toSsxTask.put("point_code2", schBaseTask.getPoint_code1()); + } else { + toSsxTask.put("task_status", TaskStatusEnum.START_AND_POINT.getCode()); + //直接创建搬运空载具任务 + toSsxTask.put("point_code1", kzjPointList.get(0).getPoint_code()); + //终点为输送线点位 + toSsxTask.put("point_code2", schBaseTask.getPoint_code1()); + } ssxDjwTask.createTask(toSsxTask); } } else { 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 3b1475089..b2b73e1ae 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 @@ -69,7 +69,7 @@ public class SsxDjwTask extends AbstractAcsTask { .next_device_code(r.getPoint_code2()) .start_device_code2(r.getPoint_code3()) .next_device_code2(r.getPoint_code4()) - .vehicle_code(r.getVehicle_code()) + //.vehicle_code(r.getVehicle_code()) .priority(r.getPriority()) .remark(r.getRemark()) .agv_action_type(PackageInfoIvtEnum.AGV_ACTION_TYPE.code("普通任务")) 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 56348cb13..dd5ab5d4c 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 @@ -11,7 +11,6 @@ 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.pdm.bi.slittingproductionplan.service.IPdmBiSlittingproductionplanService; import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingproductionplan; import org.nl.b_lms.pdm.subpackagerelation.dao.PdmBiSubpackagerelation; @@ -51,10 +50,7 @@ import java.util.List; @Slf4j public class ZxDjwTask extends AbstractAcsTask { - @Resource - private DjqToKzjhcwTask djqToKzjhcwTask; - @Resource - private DjqTask djqTask; + @Resource private BstIvtBoxinfoMapper bstIvtBoxinfoMapper; @Resource @@ -124,17 +120,14 @@ public class ZxDjwTask extends AbstractAcsTask { packageinfoivtService.update(new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空载具")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1())); //3.判断是否最后一个子卷:相同木箱号的子卷包装关系如果生成状态:0,且个数等于1且子卷号等于当前载具号,就是最后一个子卷 List packagerelationList = subpackageRelationService.list(new LambdaQueryWrapper().eq(PdmBiSubpackagerelation::getPackage_box_sn, schBaseTask.getVehicle_code2()).eq(PdmBiSubpackagerelation::getStatus, "0")); - //所有木箱已装箱 - if (CollectionUtils.isEmpty(packagerelationList)) { + if (packagerelationList.size() == 1 && packagerelationList.get(0).getContainer_name().equals(schBaseTask.getVehicle_code())) { + //4.更改木箱信息为已装箱:1 BstIvtBoxinfo bstIvtBoxinfo = bstIvtBoxinfoMapper.selectOne(new LambdaQueryWrapper().eq(BstIvtBoxinfo::getBox_no, schBaseTask.getVehicle_code2()).ne(BstIvtBoxinfo::getIs_packing, "1")); if (bstIvtBoxinfo == null) { throw new BadRequestException("子卷包装关系为已装箱或找该任务的木箱号不存在!"); } - //4.更改木箱信息为已装箱:1 bstIvtBoxinfo.setIs_packing(IOSEnum.IS_NOTANDYES.code("是")); bstIvtBoxinfoMapper.updateById(bstIvtBoxinfo); - } - if (packagerelationList.size() == 1 && packagerelationList.get(0).getContainer_name().equals(schBaseTask.getVehicle_code())) { //5.最后一个子卷,清除装箱位木箱信息 packageinfoivtService.update(new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code2())); } 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 a88f5d232..3688e9f53 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 @@ -11,7 +11,6 @@ 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.nl.b_lms.pdm.bi.slittingproductionplan.service.IPdmBiSlittingproductionplanService; import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingproductionplan; import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.mapper.PdmBiSlittingproductionplanMapper; import org.nl.b_lms.pdm.subpackagerelation.dao.PdmBiSubpackagerelation; @@ -64,9 +63,6 @@ public class ZxqTask extends AbstractAcsTask { @Resource private IpdmBiSubpackagerelationService subpackageRelationService; - @Resource - private IPdmBiSlittingproductionplanService productionPlanService; - @Resource private PdmBiSlittingproductionplanMapper pdmBiSlittingproductionplanMapper; @Resource 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 0d730c437..aa906b853 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 @@ -56,6 +56,7 @@ public class AutoExecuteWaitTask { */ @SneakyThrows public void executeWaitTask() { + log.info(THIS_CLASS+"-放满与取空桁架定时任务开始执行扫描。"); RLock lock = redissonClient.getLock(THIS_CLASS); boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS); try { @@ -80,7 +81,7 @@ public class AutoExecuteWaitTask { if (CollectionUtils.isEmpty(kzjPointList)) { return; } - List existTaskList = getExistTasks(taskType, task.getVehicle_code()); + List existTaskList = taskService.getExistTasks(taskType,null,null); if (existTaskList.size() > 1) { throw new BadRequestException("存在多个子卷号相同的任务!"); } @@ -99,7 +100,7 @@ public class AutoExecuteWaitTask { return; } //校验相同是否存在相同子卷号任务 - List existTaskList = getExistTasks(taskType, task.getVehicle_code()); + List existTaskList = taskService.getExistTasks(taskType,null,null); //如果有就不创建,没有就创建 if (existTaskList.size() > 1) { throw new BadRequestException("存在多个子卷号相同的任务!"); @@ -121,15 +122,4 @@ public class AutoExecuteWaitTask { } } - //校验相同子卷号的任务 - private List getExistTasks(String taskType, String containerName) { - String startTime = LocalDate.now().atStartOfDay().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); - return taskService.list(new LambdaQueryWrapper() - .eq(SchBaseTask::getTask_type, taskType) - .eq(SchBaseTask::getVehicle_code, containerName) - .gt(SchBaseTask::getCreate_time, startTime) - .eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")) - - ); - } } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendDjqToGzq.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendDjqToGzq.java index 50e260042..e645d33bd 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendDjqToGzq.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendDjqToGzq.java @@ -44,6 +44,7 @@ public class AutoSendDjqToGzq { */ @SneakyThrows public void sendDjqToGzq() { + log.info(THIS_CLASS+"-待检区->管制区定时任务开始执行扫描。"); RLock lock = redissonClient.getLock(THIS_CLASS); boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS); try { diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendGzqToDjq.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendGzqToDjq.java index 6d5d44777..73f33c605 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendGzqToDjq.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendGzqToDjq.java @@ -8,6 +8,7 @@ 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.tasks.first_floor_area.DjqTask; +import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; import org.nl.common.enums.PackageInfoIvtEnum; import org.redisson.api.RLock; import org.redisson.api.RedissonClient; @@ -44,6 +45,7 @@ public class AutoSendGzqToDjq { */ @SneakyThrows public void sendGzqToDjq() { + log.info(THIS_CLASS+"-管制区->待检区定时任务开始执行扫描。"); RLock lock = redissonClient.getLock(THIS_CLASS); boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS); try { @@ -60,6 +62,8 @@ public class AutoSendGzqToDjq { } JSONObject task = new JSONObject(); task.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("管制区->待检区")); + //区分管制品重新检测为合格品 + task.put("request_param", PackageInfoIvtEnum.IVT_STATUS.code("合格品")); task.put("vehicle_code", gzqPackageinfoivtList.get(0).getContainer_name()); task.put("point_code1", gzqPackageinfoivtList.get(0).getPoint_code()); task.put("point_code2", djqPackageinfoivtList.get(0).getPoint_code()); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendMzToDjq.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendMzToDjq.java index a58a76f63..ea8debdf8 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendMzToDjq.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendMzToDjq.java @@ -62,14 +62,13 @@ public class AutoSendMzToDjq { @SneakyThrows public void sendMzqToDjq2() { + log.info(THIS_CLASS+"-满轴->待检区定时任务开始执行扫描。"); RLock lock = redissonClient.getLock(THIS_CLASS); boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS); try { if (tryLock) { - String pointCode2 = null; - JSONObject task = new JSONObject(); //满轴有子卷且过滤未完成任务 - List mzqPackageinfoivtList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("满轴缓存位"), PackageInfoIvtEnum.IVT_STATUS.code("有子卷"), PackageInfoIvtEnum.TASK_POINT_TYPE.code("取货分配"), PackageInfoIvtEnum.SORT_TYPE.code("降序"), ""); + List mzqPackageinfoivtList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("满轴缓存位"), PackageInfoIvtEnum.IVT_STATUS.code("有子卷"), PackageInfoIvtEnum.TASK_POINT_TYPE.code("四个点任务放货"), PackageInfoIvtEnum.SORT_TYPE.code("降序"), ""); if (CollectionUtils.isEmpty(mzqPackageinfoivtList)) { return; } @@ -78,6 +77,8 @@ public class AutoSendMzToDjq { if (CollectionUtils.isEmpty(djqPackageinfoivtList)) { return; } + String pointCode2; + JSONObject task = new JSONObject(); pointCode2 = djqPackageinfoivtList.get(0).getPoint_code(); task.put("vehicle_code2", PackageInfoIvtEnum.AGV_ACTION_TYPE.code("取货二次分配")); task.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("满轴缓存位->待检区")); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendToZxq.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendToZxq.java index 7292bb5f8..c5f0e41e5 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendToZxq.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendToZxq.java @@ -1,13 +1,14 @@ package org.nl.b_lms.sch.tasks.first_floor_area.auto; -import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; +import lombok.SneakyThrows; 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.tasks.first_floor_area.ZxqTask; import org.nl.common.enums.PackageInfoIvtEnum; +import org.redisson.api.RedissonClient; import org.springframework.stereotype.Component; import javax.annotation.Resource; @@ -22,6 +23,9 @@ import java.util.stream.Collectors; @RequiredArgsConstructor public class AutoSendToZxq { + private final String THIS_CLASS = AutoSendToZxq.class.getName(); + @Resource + private RedissonClient redissonClient; @Resource private IbstIvtPackageinfoivtService packageinfoivtService; @Resource @@ -41,7 +45,13 @@ public class AutoSendToZxq { /** * 二次分配任务 */ + @SneakyThrows public void sendDjqToZxq() { + log.info(THIS_CLASS + "-待检区->装箱区定时任务开始执行扫描。"); + // RLock lock = redissonClient.getLock(THIS_CLASS); + // boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS); + // try { + // if (tryLock) { //装箱区有空位,去待检区消费合格品子卷 List bstIvtPackageinfoivtList = packageinfoivtService.checkEndPointTask( PackageInfoIvtEnum.POINT_STATUS.code("装箱区"), @@ -57,6 +67,14 @@ public class AutoSendToZxq { //taskQueueManager.processTasks(ivtList); taskQueue.processTasks(ivtList); } - + // } else { + // log.info("满轴->待检区agv自动搬运任务正在创建被锁住。"); + // } + // } finally { + // if (tryLock) { + // lock.unlock(); + // } + // } } + } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendVehicleToDjq.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendVehicleToDjq.java index 530608998..b20c1d841 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendVehicleToDjq.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendVehicleToDjq.java @@ -43,6 +43,7 @@ public class AutoSendVehicleToDjq { @SneakyThrows public void sendVehicleToDjqOrGzq1() { + log.info(THIS_CLASS+"-装箱区->待检区或管制区补空任务开始执行扫描。"); RLock lock = redissonClient.getLock(THIS_CLASS); boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS); try { @@ -55,7 +56,7 @@ public class AutoSendVehicleToDjq { return; } //待检区有空位且过滤未完成任务 - List djqPackageinfoivtList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("待检区"), PackageInfoIvtEnum.IVT_STATUS.code("空"), PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货任务"), PackageInfoIvtEnum.SORT_TYPE.code("降序"), ""); + List djqPackageinfoivtList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("待检区"), PackageInfoIvtEnum.IVT_STATUS.code("空"), PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货任务"), PackageInfoIvtEnum.SORT_TYPE.code("升序"), ""); if (CollectionUtils.isNotEmpty(djqPackageinfoivtList)) { pointCode2 = djqPackageinfoivtList.get(0).getPoint_code(); task.put("vehicle_code2", PackageInfoIvtEnum.AGV_ACTION_TYPE.code("普通任务")); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendVehicleToKzj.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendVehicleToKzj.java index 87891753d..71b062186 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendVehicleToKzj.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendVehicleToKzj.java @@ -47,7 +47,7 @@ public class AutoSendVehicleToKzj { @SneakyThrows public void toKzjHcw() { //存在空载具缓存位无空载具的点位 - List kzjIvtList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("空载具缓存位"), PackageInfoIvtEnum.IVT_STATUS.code("空"), PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货任务"), PackageInfoIvtEnum.SORT_TYPE.code("降序"), ""); + List kzjIvtList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("空载具缓存位"), PackageInfoIvtEnum.IVT_STATUS.code("空"), PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货分配"), PackageInfoIvtEnum.SORT_TYPE.code("降序"), ""); if (CollectionUtils.isEmpty(kzjIvtList)) { return; } @@ -80,20 +80,21 @@ public class AutoSendVehicleToKzj { */ @SneakyThrows public void toKzjHcw2() { + log.info(THIS_CLASS+"-待检区或管制区->空载具缓存位补空任务开始执行扫描。"); RLock lock = redissonClient.getLock(THIS_CLASS); boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS); try { if (tryLock) { //存在空载具缓存位无空载具的点位 - String pointCode1 = null; - JSONObject task = new JSONObject(); List kzjIvtList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("空载具缓存位"), null, PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货分配"), PackageInfoIvtEnum.SORT_TYPE.code("降序"), ""); if (CollectionUtils.isEmpty(kzjIvtList)) { return; } + String pointCode1 = null; + JSONObject task = new JSONObject(); boolean hasEmptyVehicle = true; Optional emptyList = kzjIvtList.stream() - .filter(n -> n.getIvt_status().equals(PackageInfoIvtEnum.IVT_STATUS.code("空"))) + .filter(n -> n.getIvt_status().equals(PackageInfoIvtEnum.IVT_STATUS.code("空载具"))) .findFirst(); //判断点位外层是否有空载具 if (emptyList.isPresent()) { diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendZxToDjw.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendZxToDjw.java index 882bd9d38..245c0225c 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendZxToDjw.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendZxToDjw.java @@ -48,6 +48,7 @@ import static org.nl.wms.util.TaskUtil.getMaxNum; @Component @RequiredArgsConstructor public class AutoSendZxToDjw { + private final String THIS_CLASS = AutoSendZxToDjw.class.getName(); private final RedissonClient redissonClient; @Resource @@ -112,6 +113,7 @@ public class AutoSendZxToDjw { } //获取与该木箱号匹配的子卷号 String containerName = relationList.get(0).getContainer_name(); + log.info(THIS_CLASS+"-装箱区->装箱对接位任务开始执行扫描。"); RLock lock = redissonClient.getLock(containerName); boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS); try { diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/TaskQueue.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/TaskQueue.java index bdc1b9062..82634d156 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/TaskQueue.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/TaskQueue.java @@ -62,15 +62,12 @@ public class TaskQueue { private void executeTask(SchBaseTask task, String pointCode) { if (task != null) { - List taskList = taskService.list(new LambdaQueryWrapper().eq(SchBaseTask::getTask_id, task.getTask_id()) - .eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")).lt(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode())); - //被取消或删除的任务不再执行 - //if (CollectionUtils.isEmpty(taskList)) { task.setPoint_code2(pointCode); + log.info("待检区->装箱区agv任务编号为:"+task.getTask_code()+",任务状态为:"+task.getTask_status()+"任务开始下发。"); task.setTask_status(TaskStatusEnum.START_AND_POINT.getCode()); taskService.updateById(task); zxqTask.immediateNotifyAcs(null); - //} + log.info("待检区->装箱区agv任务编号为:"+task.getTask_code()+",任务状态为:"+task.getTask_status()+"下发完成。"); //同步删除子卷包装关系 LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(PdmBiSubpackagerelation::getContainer_name, task.getVehicle_code()); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/InBoxManageServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/InBoxManageServiceImpl.java index 17c421e4f..1f3c460e7 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/InBoxManageServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/InBoxManageServiceImpl.java @@ -300,7 +300,7 @@ public class InBoxManageServiceImpl implements InBoxManageService { @Override public void returnIn(JSONObject whereJson) { // 载具表 - ///api/twoPda/vehicle/returnIn + //api/twoPda/vehicle/returnIn /* * 查询mes木箱信息,插入木箱信息表 */ diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/InBussManageServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/InBussManageServiceImpl.java index 67444f733..a43430456 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/InBussManageServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/InBussManageServiceImpl.java @@ -4,12 +4,11 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONAware; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import lombok.extern.log4j.Log4j; import org.apache.commons.lang3.StringUtils; -import org.checkerframework.checker.units.qual.A; 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.database.service.IBstIvtBoxinfoService; @@ -18,21 +17,18 @@ import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; import org.nl.b_lms.storage_manage.ios.service.iostorInv.IStIvtIostorinvService; import org.nl.b_lms.storage_manage.ios.service.iostorInv.IStIvtIostorinvdisService; import org.nl.b_lms.storage_manage.ios.service.iostorInv.IStIvtIostorinvdtlService; -import org.nl.b_lms.storage_manage.ios.service.iostorInv.dao.StIvtIostorinv; import org.nl.b_lms.storage_manage.ios.service.iostorInv.dao.StIvtIostorinvdis; import org.nl.b_lms.storage_manage.ios.service.iostorInv.dao.StIvtIostorinvdtl; import org.nl.b_lms.storage_manage.ios.service.iostorInv.dao.mapper.StIvtIostorinvMapper; import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.InBussManageService; -import org.nl.common.utils.MapOf; import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; -import org.nl.wms.sch.service.TaskService; +import org.nl.wms.ext.mes.service.LmsToMesService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.lang.reflect.Array; import java.util.*; import java.util.stream.Collectors; @@ -45,6 +41,7 @@ import java.util.stream.Collectors; * @since 2023-11-10 */ @Service +@Log4j public class InBussManageServiceImpl implements InBussManageService { @Autowired @@ -65,6 +62,10 @@ public class InBussManageServiceImpl implements InBussManageService { @Autowired private IBstIvtBoxinfoService iBstIvtBoxinfoService; + @Autowired + private LmsToMesService lmsToMesService; + + /** * 不需要查询的排集合 */ @@ -228,13 +229,15 @@ public class InBussManageServiceImpl implements InBussManageService { public void inTask(JSONObject jsonObject) { // 子卷包装关系表 WQLObject subTab = WQLObject.getWQLObject("pdm_bi_subpackagerelation"); - + // 载具扩展属性表 + WQLObject veExtTab = WQLObject.getWQLObject("md_pb_storagevehicleext"); + // 载具表 + WQLObject vehicleTab = WQLObject.getWQLObject("MD_PB_StorageVehicleInfo"); // 处理子卷号 String material_barcode = jsonObject.getString("material_barcode"); if (ObjectUtil.isEmpty(material_barcode)) { throw new BadRequestException("子卷号不能为空!"); } - if (ObjectUtil.isEmpty(jsonObject.getString("device_code"))) { throw new BadRequestException("设备号不能为空!"); } @@ -252,6 +255,47 @@ public class InBussManageServiceImpl implements InBussManageService { new QueryWrapper().lambda() .eq(BstIvtBoxinfo::getBox_no, subList.get(0).getString("package_box_sn")) ); + String vehicleType; + if (boxDao != null) { + vehicleType = boxDao.getVehicle_type(); + } else { + //查询mes木箱信息,插入木箱信息表 + try { + JSONObject jo = new JSONObject(); + jo.put("box_no", subList.get(0).getString("package_box_sn")); + lmsToMesService.momGetPackingInfo(jo); + } catch (Exception ex) { + throw new BadRequestException("MES系统未查询到木箱信息!"); + } + BstIvtBoxinfo boxDao1 = iBstIvtBoxinfoService.getOne( + new QueryWrapper().lambda() + .eq(BstIvtBoxinfo::getBox_no, subList.get(0).getString("package_box_sn")) + ); + vehicleType = boxDao1.getVehicle_type(); + } + //处理托盘扩展信息 + JSONObject jsonVehicle = vehicleTab.query("storagevehicle_code = '" + jsonObject.getString("vehicle_code") + "'") + .uniqueResult(0); + if (ObjectUtil.isEmpty(jsonVehicle)) { + throw new BadRequestException("载具不存在!"); + } + JSONObject ext_jo = veExtTab.query("storagevehicle_code = '" + jsonVehicle.getString("storagevehicle_code") + "'").uniqueResult(0); + if (ObjectUtil.isEmpty(ext_jo)) { + JSONObject jsonVeExt = new JSONObject(); + jsonVeExt.put("storagevehicleext_id", org.nl.common.utils.IdUtil.getLongId()); + jsonVeExt.put("storagevehicle_id", jsonVehicle.getLongValue("storagevehicle_id")); + jsonVeExt.put("storagevehicle_code", jsonVehicle.getString("storagevehicle_code")); + jsonVeExt.put("storagevehicle_type", jsonVehicle.getString("storagevehicle_type")); + jsonVeExt.put("pcsn", subList.get(0).getString("package_box_sn")); + jsonVeExt.put("device_uuid", org.nl.common.utils.IdUtil.getLongId()); + jsonVeExt.put("update_time", DateUtil.now()); + veExtTab.insert(jsonVeExt); + } else { + ext_jo.put("pcsn", subList.get(0).getString("package_box_sn")); + ext_jo.put("device_uuid", org.nl.common.utils.IdUtil.getLongId()); + ext_jo.put("update_time", DateUtil.now()); + veExtTab.update(ext_jo); + } // 主表 JSONObject mst = new JSONObject(); mst.put("stor_id", IOSEnum.STOR_ID.code("二期")); @@ -261,14 +305,11 @@ public class InBussManageServiceImpl implements InBussManageService { mst.put("bill_type", jsonObject.getString("bill_type")); mst.put("biz_date", DateUtil.today()); mst.put("remark", ""); - // 明细 ArrayList tableData = new ArrayList<>(); for (int i = 0; i < subList.size(); i++) { JSONObject json = subList.get(i); - LinkedHashMap jsonDtl = new LinkedHashMap<>(); - jsonDtl.put("package_box_sn", json.getString("package_box_sn")); jsonDtl.put("thickness", json.getString("thickness")); jsonDtl.put("plan_qty", json.getString("net_weight")); @@ -287,13 +328,11 @@ public class InBussManageServiceImpl implements InBussManageService { tableData.add(jsonDtl); } mst.put("tableData", tableData); - // 判断是否已经生成过入库单 String package_box_sn = (String) tableData.get(0).get("package_box_sn"); JSONObject param = new JSONObject(); param.put("package_box_sn",package_box_sn); JSONObject iosMst = stIvtIostorinvMapper.queryBoxMst(param); - String iostorinv_id; if (ObjectUtil.isNotEmpty(iosMst)) { iostorinv_id = iosMst.getString("iostorinv_id"); @@ -325,7 +364,7 @@ public class InBussManageServiceImpl implements InBussManageService { jsonDiv.put("stor_id", IOSEnum.STOR_ID.code("二期")); jsonDiv.put("material_barcode", jsonObject.getString("material_barcode")); jsonDiv.put("vehicle_code", jsonObject.getString("vehicle_code")); - jsonDiv.put("vehicle_type", boxDao.getVehicle_type()); + jsonDiv.put("vehicle_type", vehicleType); iStIvtIostorinvService.divStruct(jsonDiv); } diff --git a/lms/nladmin-system/src/main/java/org/nl/common/enums/PackageInfoIvtEnum.java b/lms/nladmin-system/src/main/java/org/nl/common/enums/PackageInfoIvtEnum.java index bc6ab7623..35b95b94a 100644 --- a/lms/nladmin-system/src/main/java/org/nl/common/enums/PackageInfoIvtEnum.java +++ b/lms/nladmin-system/src/main/java/org/nl/common/enums/PackageInfoIvtEnum.java @@ -41,7 +41,7 @@ public enum PackageInfoIvtEnum { //起点终点类型 - TASK_POINT_TYPE(MapOf.of("取货任务", "1", "放货任务", "2", "取货分配", "3", "放货分配", "4", "取货任务取货分配", "5", "放货任务放货分配", "6")), + TASK_POINT_TYPE(MapOf.of("取货任务", "1", "放货任务", "2", "取货分配", "3", "放货分配", "4", "取货任务取货分配", "5", "放货任务放货分配", "6", "四个点任务放货", "7")), //等待点类型 WAIT_POINT_TYPE(MapOf.of("满轴区等待点", "1", "待检区等待点", "2")), diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/param/impl/SysParamServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/system/service/param/impl/SysParamServiceImpl.java index 215bb577b..ecaf104e8 100644 --- a/lms/nladmin-system/src/main/java/org/nl/system/service/param/impl/SysParamServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/param/impl/SysParamServiceImpl.java @@ -3,10 +3,6 @@ package org.nl.system.service.param.impl; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; -import com.alicp.jetcache.anno.CachePenetrationProtect; -import com.alicp.jetcache.anno.CacheType; -import com.alicp.jetcache.anno.CacheUpdate; -import com.alicp.jetcache.anno.Cached; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -77,7 +73,6 @@ public class SysParamServiceImpl extends ServiceImpl impl } @Override - @CacheUpdate(name="paramCache-", key="#param.code", value="#param") @Transactional(rollbackFor = Exception.class) public void update(Param param) { Param paramObj = paramMapper.selectById(param.getId()); @@ -102,8 +97,6 @@ public class SysParamServiceImpl extends ServiceImpl impl } @Override - /*@CachePenetrationProtect - @Cached(name="paramCache-",key = "#code", expire = 3600, cacheType = CacheType.REMOTE)*/ public Param findByCode(String code) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("code", code); 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 388ddcf47..0def92324 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 @@ -1,6 +1,5 @@ package org.nl.wms.ext.acs.service.impl; -import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.NumberUtil; @@ -27,7 +26,6 @@ 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.TwoBoxExcepTask; import org.nl.b_lms.sch.tasks.TwoExceptionInTask; -import org.nl.b_lms.sch.tasks.TwoOutHeapTask; 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.sch.tasks.slitter.service.SlitterService; @@ -38,8 +36,8 @@ import org.nl.b_lms.storage_manage.ios.enums.TASKEnum; import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.*; import org.nl.common.enums.NoticeTypeEnum; import org.nl.common.enums.PackageInfoIvtEnum; -import org.nl.modules.common.exception.BadRequestException; import org.nl.common.utils.CodeUtil; +import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.SpringContextHolder; @@ -71,14 +69,11 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.lang.reflect.Method; import java.time.LocalDate; -import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.*; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; -import java.util.stream.Collectors; - @Service @RequiredArgsConstructor @Slf4j @@ -1842,7 +1837,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { } } else { //如果满轴位没有可用的空点位,先创建一个桁架任务但是不下发,等这边空出来点位,判断是否有这种桁架任务然后补发; - List existTaskList = getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"), containerName); + List existTaskList = taskService.getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"),PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"), PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)")); //如果有就不创建,没有就创建 if (CollectionUtils.isEmpty(existTaskList)) { //只确定起点NBJ1002 @@ -1850,13 +1845,17 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { jo2.put("acs_task_type", PackageInfoIvtEnum.ACS_TASK_TYPE.code("桁架任务")); jo2.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位")); jo2.put("point_code1", "NBJ1002"); - jo.put("task_status", TaskStatusEnum.SURE_START.getCode()); + jo2.put("vehicle_code", containerName); + jo2.put("task_status", TaskStatusEnum.SURE_START.getCode()); jo2.put("is_send", false); mzhcwTask.createTask(jo2); + result.put("status", HttpStatus.OK.value()); + result.put("message", "反馈成功!"); + }else{ + log.info("已存在任务编号为:"+existTaskList.get(0).getTask_code()+"未完成的桁架任务,请检查!"); + result.put("status", HttpStatus.BAD_REQUEST.value()); + result.put("message", "已存在任务编号为:"+existTaskList.get(0).getTask_code()+"未完成的桁架任务,请检查!"); } - result.put("data", containerName); - result.put("status", HttpStatus.BAD_REQUEST.value()); - result.put("message", "满轴缓存位暂无空位!"); } } else { log.info("二楼到一楼成品子卷到达一楼输送线任务正在创建被锁住。"); @@ -1872,19 +1871,20 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { return result; } + /** + * 无空载具下发确定终点的补空桁架任务 + */ private JSONObject createTask2(String containerName, JSONObject jo) { JSONObject result = new JSONObject(); result.put("data", containerName); //如果空载具缓存位确少空载具,创建输送线->满轴缓存位两个点任务 - List existTaskList = getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位")); - List existTaskList1 = getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"), containerName); + List existTaskList1 = taskService.getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"),PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"), PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)")); if (CollectionUtils.isEmpty(existTaskList1)) { jo.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位")); jo.put("is_send", true); mzhcwTask.createTask(jo); //空载具缓存位缺少空载具,下发一个确定终点的空载具缓存位->输送线任务 - List existTasks = getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)")); - List existTask1 = getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"), containerName); + List existTask1 = taskService.getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"),null,null); if (CollectionUtils.isEmpty(existTask1)) { JSONObject jo1 = new JSONObject(); //创建确定终点任务 @@ -1899,8 +1899,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { result.put("status", HttpStatus.OK.value()); result.put("message", "反馈成功!"); } else { + log.info("已存在任务编号为:"+existTaskList1.get(0).getTask_code()+"未完成的桁架任务,请检查!"); + result.put("message", "已存在任务编号为:"+existTaskList1.get(0).getTask_code()+"未完成的桁架任务,请检查!"); result.put("status", HttpStatus.BAD_REQUEST.value()); - result.put("message", "该子卷号:" + containerName + "桁架任务已存在,二楼下一楼存在相同子卷号,请检查!"); } return result; } @@ -1909,8 +1910,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { JSONObject result = new JSONObject(); result.put("data", containerName); // 创建前先判断是否有已创建相同任务 - List existTaskList = getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务")); - List existTaskList1 = getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"), containerName); + List existTaskList1 = taskService.getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"),PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"), PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)")); if (CollectionUtils.isEmpty(existTaskList1)) { jo.put("point_code3", pointCode3); //终点为输送线点位 @@ -1921,30 +1921,14 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { result.put("status", HttpStatus.OK.value()); result.put("message", "反馈成功!"); } else { + log.info("已存在任务编号为:"+existTaskList1.get(0).getTask_code()+"未完成的桁架任务,请检查!"); + result.put("message", "已存在任务编号为:"+existTaskList1.get(0).getTask_code()+"未完成的桁架任务,请检查!"); result.put("status", HttpStatus.BAD_REQUEST.value()); - result.put("message", "该子卷号:" + containerName + "桁架任务已存在,二楼下一楼存在相同子卷号,请检查!"); } return result; } - private List getExistTasks(String taskType) { - return taskService.list(new LambdaUpdateWrapper() - .eq(SchBaseTask::getTask_type, taskType) - .lt(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode()) - .eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否"))); - } - private List getExistTasks(String taskType, String containerName) { - String startTime = LocalDate.now().atStartOfDay().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); - return taskService.list(new LambdaQueryWrapper() - .eq(SchBaseTask::getTask_type, taskType) - .eq(SchBaseTask::getVehicle_code, containerName) - //.gt(SchBaseTask::getCreate_time, startTime) - .lt(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode()) - .eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")) - - ); - } @Override diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/AcsUtil.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/AcsUtil.java index 79a096006..9ec8369f8 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/AcsUtil.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/AcsUtil.java @@ -26,7 +26,6 @@ public class AcsUtil { String isConnect = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("is_connect_acs").getValue(); JSONObject result = new JSONObject(); if (StrUtil.equals("0", isConnect)) { - result.put("status", HttpStatus.OK.value()); result.put("message", "下发成功,但未连接ACS!"); result.put("data", new JSONObject()); @@ -62,7 +61,6 @@ public class AcsUtil { String msg = e.getMessage(); //ConnectException: Connection refused: connect //网络不通 - System.out.println(msg); result.put("status", HttpStatus.BAD_REQUEST); result.put("message", "网络不通,操作失败!"); result.put("data", new JSONObject()); @@ -129,7 +127,6 @@ public class AcsUtil { String msg = e.getMessage(); //ConnectException: Connection refused: connect //网络不通 - System.out.println(msg); result.put("status", HttpStatus.BAD_REQUEST); result.put("message", "网络不通,操作失败!"); result.put("data", new JSONObject()); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/util/TaskUtil.java b/lms/nladmin-system/src/main/java/org/nl/wms/util/TaskUtil.java index ee99d3ee8..cf1bcee29 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/util/TaskUtil.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/util/TaskUtil.java @@ -1,11 +1,18 @@ package org.nl.wms.util; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import org.apache.commons.lang3.StringUtils; import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingproductionplan; import org.nl.b_lms.sch.task.dao.SchBaseTask; +import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; import org.nl.modules.common.exception.BadRequestException; import org.nl.wms.sch.manage.TaskStatusEnum; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.List; + public class TaskUtil { /** @@ -52,4 +59,5 @@ public class TaskUtil { } return maxNum; } + } \ No newline at end of file