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 b32e45ef1..b00fe3f61 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 @@ -20,6 +20,7 @@ import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.InBussMana import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.InVehicleManageService; import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.wql.core.bean.WQLObject; +import org.nl.wms.basedata.st.service.StructattrService; import org.nl.wms.ext.acs.service.WmsToAcsService; import org.nl.wms.ext.mes.service.LmsToMesService; import org.nl.wms.sch.manage.TaskStatusEnum; @@ -267,6 +268,20 @@ public class VehicleTwoServiceImpl implements VehicleTwoService { if (ObjectUtil.isEmpty(jsonExt)) { throw new BadRequestException("载具不存在!"+whereJson.getString("vehicle_code")); } + int hasTask = ischBaseTaskService.count(new QueryWrapper() + .eq("is_delete", "0") + .eq("vehicle_code2", whereJson.getString("vehicle_code")) + .lt("task_status", TaskStatusEnum.FINISHED.getCode())); + if (hasTask>0){ + throw new BadRequestException("托盘"+whereJson.getString("vehicle_code")+"存在执行的任务"); + } + String pcsn = jsonExt.getString("pcsn"); + if (StringUtils.isNotEmpty(pcsn)){ + JSONArray stIvtStructattr = WQLObject.getWQLObject("st_ivt_structattr").query("storagevehicle_code = '" + pcsn + "'").getResultJSONArray(0); + if (stIvtStructattr != null && stIvtStructattr.size() > 0) { + throw new BadRequestException("当前托盘"+whereJson.getString("vehicle_code")+"已经绑定木箱"+pcsn); + } + } jsonExt.put("pcsn", whereJson.getString("box_no")); extTab.update(jsonExt); 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 a6b87c50c..7cdb4c1e8 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 @@ -315,6 +315,10 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl collect = ivtList.stream().map(a -> a.getIvt_id()).collect(Collectors.toList()); + packageinfoivtService.update(new UpdateWrapper() + .set("update_time", DateUtil.now()) + .in("ivt_id",collect)); } @Override @@ -452,25 +456,25 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl { - try { - log.debug("----回传子卷包装关系----"); - String isConnect2 = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("IS_CONNECT_MES2").getValue(); - if ("1".equals(isConnect2)) { - JSONObject param_jo = new JSONObject(); - param_jo.put("box_no", boxSn); - param_jo.put("box_weight", subList.get(0).getBox_weight()); - - lmsToMesServiceImpl.BoxDataCollectionSubmit2(param_jo); - } - } catch (Exception e) { - log.error("验箱回传MES异常,BoxDataCollectionSubmit2给MES传输子卷包装关系异常,木箱号为:" + boxSn + ",异常信息:" + e); - } - }, pool); - } +// String is_labeling = iSysParamService.findByCode("is_checkbox").getValue(); +// if (is_labeling.equals("1")) { +// //给MES传输验箱结果 +// CompletableFuture.runAsync(() -> { +// try { +// log.debug("----回传子卷包装关系----"); +// String isConnect2 = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("IS_CONNECT_MES2").getValue(); +// if ("1".equals(isConnect2)) { +// JSONObject param_jo = new JSONObject(); +// param_jo.put("box_no", boxSn); +// param_jo.put("box_weight", subList.get(0).getBox_weight()); +// +// lmsToMesServiceImpl.BoxDataCollectionSubmit2(param_jo); +// } +// } catch (Exception e) { +// log.error("验箱回传MES异常,BoxDataCollectionSubmit2给MES传输子卷包装关系异常,木箱号为:" + boxSn + ",异常信息:" + e); +// } +// }, pool); +// } } private void checkEntityList(JSONObject whereJson, List packagerelationList) { 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 4e9eecd57..d3c6d4b7f 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 @@ -686,6 +686,7 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl() .set("container_name", baseTask.getVehicle_code()) + .set("update_time", DateUtil.now()) .set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("有子卷")) .eq("point_code", baseTask.getPoint_code2())); //标记任务放货完成 @@ -766,6 +767,7 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl updateWrapper = new UpdateWrapper<>(); updateWrapper.eq("point_code", pointCode); updateWrapper.set("ivt_status", "0"); + updateWrapper.set("update_time", DateUtil.now()); updateWrapper.set("container_name", null); bstIvtPackageinfoivtMapper.update(null, updateWrapper); log.info("一楼装箱区二次分配清空库存" + baseTask.getTask_code() + ",执行成功,点位:" + pointCode + "子卷号:" + baseTask.getVehicle_code()); 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 710190b06..7c7ce2c56 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 @@ -89,20 +89,21 @@ public class DjqTask extends AbstractAcsTask { @Override @Transactional(rollbackFor = Exception.class) public void updateTaskStatus(JSONObject taskObj, String status) { + String now = DateUtil.now(); SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false); if (TaskUtil.checkParams(schBaseTask, THIS_CLASS, TaskStatusEnum.FINISHED.getCode())) return; LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper() .eq(SchBaseTask::getTask_id, taskObj.getString("task_id")) .set(SchBaseTask::getUpdate_optid, SecurityUtils.getCurrentUserId()) .set(SchBaseTask::getUpdate_optname, SecurityUtils.getCurrentUsername()) - .set(SchBaseTask::getUpdate_time, DateUtil.now()); + .set(SchBaseTask::getUpdate_time, now); if (TaskStatusEnum.EXECUTING.getCode().equals(status)) { // 更新任务状态为执行中 if (TaskUtil.checkParams(schBaseTask, THIS_CLASS, TaskStatusEnum.EXECUTING.getCode())) return; updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.EXECUTING.getCode()); } if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { - log.info("任务编号为:" + schBaseTask.getTask_code() + "的任务完成接口在" + DateUtil.now() + "被调用---------------------------------------------"); + log.info("任务编号为:" + schBaseTask.getTask_code() + "的任务完成接口在" + now + "被调用---------------------------------------------"); //1.校验agv任务取货完成信号 if (StringUtils.isNotBlank(schBaseTask.getRequest_param())) { if (!schBaseTask.getRequest_param().equals("98") && !schBaseTask.getRequest_param().equals("99")) { @@ -120,7 +121,7 @@ public class DjqTask extends AbstractAcsTask { //如果起点库存未清空,则清空 if (ivtPoint.getContainer_name() != null && schBaseTask.getVehicle_code() != null) { if (ivtPoint.getContainer_name().equals(schBaseTask.getVehicle_code())) { - packageinfoivtService.update(null, new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1())); + packageinfoivtService.update(null, new UpdateWrapper().set("update_time", now).set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1())); } } //3.更新终点库存记录 @@ -129,18 +130,23 @@ public class DjqTask extends AbstractAcsTask { if (schBaseTask.getRequest_param().equals("98")) { //管制区送空载具任务 ivtStatus = PackageInfoIvtEnum.IVT_STATUS.code("空载具"); - packageinfoivtService.update(null, new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1())); + packageinfoivtService.update(null, new UpdateWrapper().set("update_time", now).set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1())); } else if (schBaseTask.getRequest_param().equals("99")) { //管制品重新质检 ivtStatus = PackageInfoIvtEnum.IVT_STATUS.code("合格品"); - packageinfoivtService.update(null, new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1())); + packageinfoivtService.update(null, new UpdateWrapper().set("update_time", now).set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1())); } else { ivtStatus = PackageInfoIvtEnum.IVT_STATUS.code("有子卷"); } } else { ivtStatus = PackageInfoIvtEnum.IVT_STATUS.code("有子卷"); } - packageinfoivtService.update(null, new UpdateWrapper().set("ivt_status", ivtStatus).set("container_name", schBaseTask.getVehicle_code()).eq("point_code", schBaseTask.getPoint_code2())); + packageinfoivtService.update(null, + new UpdateWrapper() + .set("ivt_status", ivtStatus) + .set("update_time", now) + .set("container_name", schBaseTask.getVehicle_code()) + .eq("point_code", schBaseTask.getPoint_code2())); //4.更改任务状态为完成 updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode()); //5.更新并清除预分配位 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 23a01a86c..b7fca5b12 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 @@ -85,6 +85,7 @@ public class DjqToKzjhcwTask extends AbstractAcsTask { @Override @Transactional(rollbackFor = Exception.class) public void updateTaskStatus(JSONObject taskObj, String status) { + DateUtil.now() SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false); if (TaskUtil.checkParams(schBaseTask, THIS_CLASS, TaskStatusEnum.FINISHED.getCode())) return; LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper() @@ -100,9 +101,9 @@ public class DjqToKzjhcwTask extends AbstractAcsTask { if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { log.info("任务编号为:" + schBaseTask.getTask_code() + "的任务完成接口在" + DateUtil.now() + "被调用---------------------------------------------"); //1.改变起点点位状态 - packageinfoivtService.update(null, new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1())); + packageinfoivtService.update(null, new UpdateWrapper().set("update_time", DateUtil.now()).set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1())); //2.更新库存记录 - packageinfoivtService.update(null, new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空载具")).eq("point_code", schBaseTask.getPoint_code2())); + packageinfoivtService.update(null, new UpdateWrapper().set("update_time", DateUtil.now()).set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空载具")).eq("point_code", schBaseTask.getPoint_code2())); //3.更改任务状态为完成 updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode()); //4.更新并清除预分配位 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 69b2dc2a1..dbe3886ef 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 @@ -81,24 +81,25 @@ public class GzqTask extends AbstractAcsTask { @Override @Transactional(rollbackFor = Exception.class) public void updateTaskStatus(JSONObject taskObj, String status) { + String now = DateUtil.now(); SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false); if (TaskUtil.checkParams(schBaseTask, THIS_CLASS,TaskStatusEnum.FINISHED.getCode())) return; LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper() .eq(SchBaseTask::getTask_id, taskObj.getString("task_id")) .set(SchBaseTask::getUpdate_optid, SecurityUtils.getCurrentUserId()) .set(SchBaseTask::getUpdate_optname, SecurityUtils.getCurrentUsername()) - .set(SchBaseTask::getUpdate_time, DateUtil.now()); + .set(SchBaseTask::getUpdate_time, now); if (TaskStatusEnum.EXECUTING.getCode().equals(status)) { // 更新任务状态为执行中 if (TaskUtil.checkParams(schBaseTask, THIS_CLASS, TaskStatusEnum.EXECUTING.getCode())) return; updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.EXECUTING.getCode()); } if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { - log.info("任务编号为:" + schBaseTask.getTask_code() + "的任务完成接口在" +DateUtil.now() + "被调用---------------------------------------------"); + log.info("任务编号为:" + schBaseTask.getTask_code() + "的任务完成接口在" + now + "被调用---------------------------------------------"); //1.改变起点点位状态 - packageinfoivtService.update(null, new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1())); + packageinfoivtService.update(null, new UpdateWrapper().set("update_time", now).set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1())); //2.更新库存记录 - packageinfoivtService.update(null, new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("管制品")).set("container_name", schBaseTask.getVehicle_code()).eq("point_code", schBaseTask.getPoint_code2())); + packageinfoivtService.update(null, new UpdateWrapper().set("update_time", now).set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("管制品")).set("container_name", schBaseTask.getVehicle_code()).eq("point_code", schBaseTask.getPoint_code2())); //3.更改任务状态为完成 updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode()); //4.判断是否存在任务组任务 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 3be91596c..160cfca9e 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 @@ -87,13 +87,14 @@ public class GzqToKzjhcwTask extends AbstractAcsTask { @Override @Transactional(rollbackFor = Exception.class) public void updateTaskStatus(JSONObject taskObj, String status) { + String now = DateUtil.now(); SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false); if (TaskUtil.checkParams(schBaseTask, THIS_CLASS, TaskStatusEnum.FINISHED.getCode())) return; LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper() .eq(SchBaseTask::getTask_id, taskObj.getString("task_id")) .set(SchBaseTask::getUpdate_optid, SecurityUtils.getCurrentUserId()) .set(SchBaseTask::getUpdate_optname, SecurityUtils.getCurrentUsername()) - .set(SchBaseTask::getUpdate_time, DateUtil.now()); + .set(SchBaseTask::getUpdate_time, now); if (TaskStatusEnum.EXECUTING.getCode().equals(status)) { // 更新任务状态为执行中 if (TaskUtil.checkParams(schBaseTask, THIS_CLASS, TaskStatusEnum.EXECUTING.getCode())) return; @@ -102,9 +103,9 @@ public class GzqToKzjhcwTask extends AbstractAcsTask { if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { log.info("任务编号为:" + schBaseTask.getTask_code() + "的任务完成接口在" + schBaseTask.getUpdate_time() + "被调用---------------------------------------------"); //1.改变起点点位状态 - packageinfoivtService.update(null, new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1())); + packageinfoivtService.update(null, new UpdateWrapper().set("update_time", now).set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1())); //2.更新库存记录 - packageinfoivtService.update(null, new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空载具")).eq("point_code", schBaseTask.getPoint_code2())); + packageinfoivtService.update(null, new UpdateWrapper().set("update_time", now).set("update_time", now).set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空载具")).eq("point_code", schBaseTask.getPoint_code2())); //3.更改任务状态为完成 updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode()); //4.更新并清除预分配位 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 59635c86b..a23245b98 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 @@ -109,13 +109,14 @@ public class MzhcwTask extends AbstractAcsTask { @Override @Transactional(rollbackFor = Exception.class) public void updateTaskStatus(JSONObject taskObj, String status) { + String now = DateUtil.now(); SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false); if (TaskUtil.checkParams(schBaseTask, THIS_CLASS, TaskStatusEnum.FINISHED.getCode())) return; LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper() .eq(SchBaseTask::getTask_id, taskObj.getString("task_id")) .set(SchBaseTask::getUpdate_optid, SecurityUtils.getCurrentUserId()) .set(SchBaseTask::getUpdate_optname, SecurityUtils.getCurrentUsername()) - .set(SchBaseTask::getUpdate_time, DateUtil.now()); + .set(SchBaseTask::getUpdate_time, now); // 执行中 if (TaskStatusEnum.EXECUTING.getCode().equals(status)) { // 更新任务状态为执行中 @@ -124,31 +125,31 @@ public class MzhcwTask extends AbstractAcsTask { } // 完成 if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { - log.info("任务编号为:" + schBaseTask.getTask_code() + "的任务完成接口在" + DateUtil.now() + "被调用---------------------------------------------"); + log.info("任务编号为:" + schBaseTask.getTask_code() + "的任务完成接口在" + now + "被调用---------------------------------------------"); //1.更改任务状态为完成 updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode()); //2.校验桁架任务取放货完成信号 if (StringUtils.isNotBlank(schBaseTask.getCar_no())) { //桁架放货完成信号未发送 if (!schBaseTask.getCar_no().equals(PackageInfoIvtEnum.TASK_ACTION_TYPE.code("放货完成"))) { - packageinfoivtService.update(null, new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("有子卷")).set("container_name", schBaseTask.getVehicle_code()).eq("point_code", schBaseTask.getPoint_code2())); + packageinfoivtService.update(null, new UpdateWrapper().set("update_time", now).set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("有子卷")).set("container_name", schBaseTask.getVehicle_code()).eq("point_code", schBaseTask.getPoint_code2())); log.info(schBaseTask.getTask_code() + "检查检查->输送线点位-满轴缓存位,桁架放货完成信号未发送!已在手动点击完成时增加满轴位:" + schBaseTask.getPoint_code2() + "的库存,子卷号为:"+schBaseTask.getVehicle_code()); } } else { //桁架放货完成信号未发送 - packageinfoivtService.update(null, new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("有子卷")).set("container_name", schBaseTask.getVehicle_code()).eq("point_code", schBaseTask.getPoint_code2())); + packageinfoivtService.update(null, new UpdateWrapper().set("update_time", now).set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("有子卷")).set("container_name", schBaseTask.getVehicle_code()).eq("point_code", schBaseTask.getPoint_code2())); log.info(schBaseTask.getTask_code() + "检查检查->输送线点位-满轴缓存位,桁架放货完成信号未发送!已在手动点击完成时增加满轴位:" + schBaseTask.getPoint_code2() + "的库存,子卷号为:"+schBaseTask.getVehicle_code()); } if (schBaseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"))) { if (StringUtils.isNotBlank(schBaseTask.getRequest_param())) { //桁架取货完成信号未发送 if (!schBaseTask.getRequest_param().equals(PackageInfoIvtEnum.TASK_ACTION_TYPE.code("取货完成"))) { - packageinfoivtService.update(null, new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code3())); + packageinfoivtService.update(null, new UpdateWrapper().set("update_time", now).set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code3())); log.info(schBaseTask.getTask_code() + "检查检查->四个点任务,桁架取货完成信号未发送!已在手动点击完成时清除空载具位:" + schBaseTask.getPoint_code3() + "的库存"); } } else { //桁架取货完成信号未发送 - packageinfoivtService.update(null, new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code3())); + packageinfoivtService.update(null, new UpdateWrapper().set("update_time", now).set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code3())); log.info(schBaseTask.getTask_code() + "检查检查->四个点任务,桁架取货完成信号未发送!已在手动点击完成时清除空载具位:" + schBaseTask.getPoint_code3() + "的库存"); } } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SendDjqKzjTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SendDjqKzjTask.java index f4f12a9ae..6d0ec80b0 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SendDjqKzjTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SendDjqKzjTask.java @@ -79,13 +79,14 @@ public class SendDjqKzjTask extends AbstractAcsTask { @Override @Transactional(rollbackFor = Exception.class) public void updateTaskStatus(JSONObject taskObj, String status) { + String now = DateUtil.now(); SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false); if (TaskUtil.checkParams(schBaseTask, THIS_CLASS, TaskStatusEnum.FINISHED.getCode())) return; LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper() .eq(SchBaseTask::getTask_id, taskObj.getString("task_id")) .set(SchBaseTask::getUpdate_optid, SecurityUtils.getCurrentUserId()) .set(SchBaseTask::getUpdate_optname, SecurityUtils.getCurrentUsername()) - .set(SchBaseTask::getUpdate_time, DateUtil.now()); + .set(SchBaseTask::getUpdate_time, now); if (TaskStatusEnum.EXECUTING.getCode().equals(status)) { // 更新任务状态为执行中 if (TaskUtil.checkParams(schBaseTask, THIS_CLASS, TaskStatusEnum.EXECUTING.getCode())) return; @@ -93,11 +94,11 @@ public class SendDjqKzjTask extends AbstractAcsTask { updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.EXECUTING.getCode()); } if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { - log.info("任务编号为:" + schBaseTask.getTask_code() + "的任务完成接口在" +DateUtil.now() + "被调用---------------------------------------------"); + log.info("任务编号为:" + schBaseTask.getTask_code() + "的任务完成接口在" + now + "被调用---------------------------------------------"); //1.改变起点点位状态 - packageinfoivtService.update(null, new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1())); + packageinfoivtService.update(null, new UpdateWrapper().set("update_time", now).set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1())); //2.更新库存记录 - packageinfoivtService.update(null, new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空载具")).eq("point_code", schBaseTask.getPoint_code2())); + packageinfoivtService.update(null, new UpdateWrapper().set("update_time", now).set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空载具")).eq("point_code", schBaseTask.getPoint_code2())); //3.更改任务状态为完成 updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode()); //4.判断是否存在任务组任务 diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SendGzqKzjTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SendGzqKzjTask.java index 37642d602..7d1dc9601 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SendGzqKzjTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SendGzqKzjTask.java @@ -79,24 +79,25 @@ public class SendGzqKzjTask extends AbstractAcsTask { @Override @Transactional(rollbackFor = Exception.class) public void updateTaskStatus(JSONObject taskObj, String status) { + String now = DateUtil.now(); SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false); if (TaskUtil.checkParams(schBaseTask, THIS_CLASS, TaskStatusEnum.FINISHED.getCode())) return; LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper() .eq(SchBaseTask::getTask_id, taskObj.getString("task_id")) .set(SchBaseTask::getUpdate_optid, SecurityUtils.getCurrentUserId()) .set(SchBaseTask::getUpdate_optname, SecurityUtils.getCurrentUsername()) - .set(SchBaseTask::getUpdate_time, DateUtil.now()); + .set(SchBaseTask::getUpdate_time, now); if (TaskStatusEnum.EXECUTING.getCode().equals(status)) { // 更新任务状态为执行中 if (TaskUtil.checkParams(schBaseTask, THIS_CLASS, TaskStatusEnum.EXECUTING.getCode())) return; updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.EXECUTING.getCode()); } if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { - log.info("任务编号为:" + schBaseTask.getTask_code() + "的任务完成接口在" +DateUtil.now() + "被调用---------------------------------------------"); + log.info("任务编号为:" + schBaseTask.getTask_code() + "的任务完成接口在" + now + "被调用---------------------------------------------"); //1.改变起点点位状态 - packageinfoivtService.update(null, new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1())); + packageinfoivtService.update(null, new UpdateWrapper().set("update_time", now).set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1())); //2.更新库存记录 - packageinfoivtService.update(null, new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空载具")).eq("point_code", schBaseTask.getPoint_code2())); + packageinfoivtService.update(null, new UpdateWrapper().set("update_time", now).set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空载具")).eq("point_code", schBaseTask.getPoint_code2())); //3.更改任务状态为完成 updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode()); //4.判断是否存在任务组任务 diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ShiftingTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ShiftingTask.java index 2421b8ee5..7fbba725d 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ShiftingTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ShiftingTask.java @@ -78,24 +78,25 @@ public class ShiftingTask extends AbstractAcsTask { @Override @Transactional(rollbackFor = Exception.class) public void updateTaskStatus(JSONObject taskObj, String status) { + String now = DateUtil.now(); SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false); if (TaskUtil.checkParams(schBaseTask, THIS_CLASS, TaskStatusEnum.FINISHED.getCode())) return; LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper() .eq(SchBaseTask::getTask_id, taskObj.getString("task_id")) .set(SchBaseTask::getUpdate_optid, SecurityUtils.getCurrentUserId()) .set(SchBaseTask::getUpdate_optname, SecurityUtils.getCurrentUsername()) - .set(SchBaseTask::getUpdate_time, DateUtil.now()); + .set(SchBaseTask::getUpdate_time, now); if (TaskStatusEnum.EXECUTING.getCode().equals(status)) { // 更新任务状态为执行中 if (TaskUtil.checkParams(schBaseTask, THIS_CLASS, TaskStatusEnum.EXECUTING.getCode())) return; updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.EXECUTING.getCode()); } if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { - log.info("任务编号为:" + schBaseTask.getTask_code() + "的任务完成接口在" +DateUtil.now() + "被调用---------------------------------------------"); + log.info("任务编号为:" + schBaseTask.getTask_code() + "的任务完成接口在" + now + "被调用---------------------------------------------"); //1.改变起点点位状态 // packageinfoivtService.update(null, new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1())); //2.更新终点库存记录,点位状态存到material_code终 - packageinfoivtService.update(null, new UpdateWrapper().set("ivt_status", schBaseTask.getMaterial_code()).set("container_name", schBaseTask.getVehicle_code()).eq("point_code", schBaseTask.getPoint_code2())); + packageinfoivtService.update(null, new UpdateWrapper().set("update_time", now).set("ivt_status", schBaseTask.getMaterial_code()).set("container_name", schBaseTask.getVehicle_code()).eq("point_code", schBaseTask.getPoint_code2())); //3.更改任务状态为完成 updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode()); //4.判断是否存在任务组任务 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 79f711aff..5eb163a79 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 @@ -83,32 +83,33 @@ public class SsxDjwTask extends AbstractAcsTask { @Override @Transactional(rollbackFor = Exception.class) public void updateTaskStatus(JSONObject taskObj, String status) { + String now = DateUtil.now(); SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false); if (TaskUtil.checkParams(schBaseTask, THIS_CLASS, TaskStatusEnum.FINISHED.getCode())) return; LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper() .eq(SchBaseTask::getTask_id, taskObj.getString("task_id")) .set(SchBaseTask::getUpdate_optid, SecurityUtils.getCurrentUserId()) .set(SchBaseTask::getUpdate_optname, SecurityUtils.getCurrentUsername()) - .set(SchBaseTask::getUpdate_time, DateUtil.now()); + .set(SchBaseTask::getUpdate_time, now); if (TaskStatusEnum.EXECUTING.getCode().equals(status)) { // 更新任务状态为执行中 if (TaskUtil.checkParams(schBaseTask, THIS_CLASS, TaskStatusEnum.EXECUTING.getCode())) return; updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.EXECUTING.getCode()); } if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { - log.info("任务编号为:" + schBaseTask.getTask_code() + "的任务完成接口在" +DateUtil.now() + "被调用---------------------------------------------"); + log.info("任务编号为:" + schBaseTask.getTask_code() + "的任务完成接口在" + now + "被调用---------------------------------------------"); //1.更改任务状态为完成 updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode()); //2.校验桁架任务取货完成信号 if (StringUtils.isNotBlank(schBaseTask.getRequest_param())) { //桁架取货完成信号未发送 if (!schBaseTask.getRequest_param().equals(PackageInfoIvtEnum.TASK_ACTION_TYPE.code("取货完成"))) { - packageinfoivtService.update(null,new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1())); + packageinfoivtService.update(null,new UpdateWrapper().set("update_time", now).set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1())); log.info(schBaseTask.getTask_code() + "检查检查->空载具缓存位-输送线,桁架取货完成信号未发送!已在手动点击完成时清除空载具位:"+schBaseTask.getPoint_code1()+"的库存"); } } else { //桁架取货完成信号未发送 - packageinfoivtService.update(null,new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1())); + packageinfoivtService.update(null,new UpdateWrapper().set("update_time", now).set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1())); log.info(schBaseTask.getTask_code() + "检查检查->空载具缓存位-输送线,桁架取货完成信号未发送!已在手动点击完成时清除空载具位:"+schBaseTask.getPoint_code1()+"的库存"); } //3.改变起点点位状态 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 178696b53..3eb7e997a 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 @@ -108,20 +108,21 @@ public class ZxDjwTask extends AbstractAcsTask { @Override @Transactional(rollbackFor = Exception.class) public void updateTaskStatus(JSONObject taskObj, String status) { + String now = DateUtil.now(); SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false); if (TaskUtil.checkParams(schBaseTask, THIS_CLASS, TaskStatusEnum.FINISHED.getCode())) return; LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper() .eq(SchBaseTask::getTask_id, taskObj.getString("task_id")) .set(SchBaseTask::getUpdate_optid, SecurityUtils.getCurrentUserId()) .set(SchBaseTask::getUpdate_optname, SecurityUtils.getCurrentUsername()) - .set(SchBaseTask::getUpdate_time, DateUtil.now()); + .set(SchBaseTask::getUpdate_time, now); if (TaskStatusEnum.EXECUTING.getCode().equals(status)) { // 更新任务状态为执行中 if (TaskUtil.checkParams(schBaseTask, THIS_CLASS, TaskStatusEnum.EXECUTING.getCode())) return; updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.EXECUTING.getCode()); } if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { - log.info("任务编号为:" + schBaseTask.getTask_code() + "的任务完成接口在" +DateUtil.now() + "被调用---------------------------------------------"); + log.info("任务编号为:" + schBaseTask.getTask_code() + "的任务完成接口在" + now + "被调用---------------------------------------------"); List containerInfo = productionPlanService.list(new LambdaUpdateWrapper() .eq(PdmBiSlittingproductionplan::getContainer_name, schBaseTask.getVehicle_code()).eq(PdmBiSlittingproductionplan::getIs_delete, IOSEnum.IS_NOTANDYES.code("否"))); if (containerInfo == null) { @@ -132,7 +133,7 @@ public class ZxDjwTask extends AbstractAcsTask { //1.更改任务状态为完成 updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode()); //2.改变起点点位状态 - packageinfoivtService.update(null, new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空载具")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1())); + packageinfoivtService.update(null, new UpdateWrapper().set("update_time", now).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 (packagerelationList.size() == 1 && packagerelationList.get(0).getContainer_name().equals(schBaseTask.getVehicle_code())) { @@ -144,7 +145,7 @@ public class ZxDjwTask extends AbstractAcsTask { bstIvtBoxinfo.setIs_packing(IOSEnum.IS_NOTANDYES.code("是")); bstIvtBoxinfoMapper.updateById(bstIvtBoxinfo); //5.最后一个子卷,清除装箱位木箱信息 - packageinfoivtService.update(null, new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code2())); + packageinfoivtService.update(null, new UpdateWrapper().set("update_time", now).set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code2())); //装箱位所在区域 String block = packageinfoivtService.list(new LambdaQueryWrapper().eq(BstIvtPackageinfoivt::getPoint_code,schBaseTask.getPoint_code2())).get(0).getBlock(); //6.创建装箱区->待检区或管制区补空任务 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 52bad24fd..ce24c7c32 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 @@ -108,20 +108,21 @@ public class ZxqTask extends AbstractAcsTask { @Override @Transactional(rollbackFor = Exception.class) public void updateTaskStatus(JSONObject taskObj, String status) { + String now = DateUtil.now(); SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false); if (TaskUtil.checkParams(schBaseTask, THIS_CLASS, TaskStatusEnum.FINISHED.getCode())) return; LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper() .eq(SchBaseTask::getTask_id, taskObj.getString("task_id")) .set(SchBaseTask::getUpdate_optid, SecurityUtils.getCurrentUserId()) .set(SchBaseTask::getUpdate_optname, SecurityUtils.getCurrentUsername()) - .set(SchBaseTask::getUpdate_time, DateUtil.now()); + .set(SchBaseTask::getUpdate_time, now); if (TaskStatusEnum.EXECUTING.getCode().equals(status)) { // 更新任务状态为执行中 if (TaskUtil.checkParams(schBaseTask, THIS_CLASS, TaskStatusEnum.EXECUTING.getCode())) return; updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.EXECUTING.getCode()); } if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { - log.info("任务编号为:" + schBaseTask.getTask_code() + "的任务完成接口在" +DateUtil.now() + "被调用---------------------------------------------"); + log.info("任务编号为:" + schBaseTask.getTask_code() + "的任务完成接口在" + now + "被调用---------------------------------------------"); // PdmBiSlittingproductionplan containerInfo = productionPlanService.getOne(new LambdaUpdateWrapper() // .eq(PdmBiSlittingproductionplan::getContainer_name, schBaseTask.getVehicle_code())); // if (containerInfo == null) { @@ -131,9 +132,9 @@ public class ZxqTask extends AbstractAcsTask { // } //1.改变起点点位状态 //提交检查,后续需要acs反馈取货完成信号,在二次分配中清除点位库存 - packageinfoivtService.update(null, new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1())); + packageinfoivtService.update(null, new UpdateWrapper().set("update_time", now).set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1())); //2.更新库存记录 - packageinfoivtService.update(null, new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("合格品")).set("container_name", schBaseTask.getVehicle_code()).eq("point_code", schBaseTask.getPoint_code2())); + packageinfoivtService.update(null, new UpdateWrapper().set("update_time", now).set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("合格品")).set("container_name", schBaseTask.getVehicle_code()).eq("point_code", schBaseTask.getPoint_code2())); //3.更改任务状态为完成 updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode()); //4.判断是否存在任务组任务 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 307abc0b0..4c8f77df5 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 @@ -26,11 +26,16 @@ import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.SpringContextHolder; import org.nl.system.service.param.impl.SysParamServiceImpl; +import org.nl.wms.ext.mes.service.impl.LmsToMesServiceImpl; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; import java.util.*; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ThreadPoolExecutor; import java.util.stream.Collectors; /** @@ -60,6 +65,13 @@ public class InBussManageServiceImpl implements InBussManageService { @Autowired private IschBaseTaskService ischBaseTaskService; + @Autowired + private LmsToMesServiceImpl lmsToMesServiceImpl; + + @Resource + @Qualifier("threadPoolExecutor") + private ThreadPoolExecutor pool; + /** * 不需要查询的排集合 @@ -136,7 +148,6 @@ public class InBussManageServiceImpl implements InBussManageService { "AND height IN " + jsonObject.getString("height") + "AND sect_id = '" + jsonObject.getString("sect_id") + "' AND block_num = '"+block_num+"'") .getResultJSONArray(0); - } @@ -286,9 +297,24 @@ public class InBussManageServiceImpl implements InBussManageService { jsonDtl.put("is_active", IOSEnum.IS_SEND.code("是")); tableData.add(jsonDtl); } + String package_box_sn = (String) tableData.get(0).get("package_box_sn"); + + CompletableFuture.runAsync(() -> { + try { + String isConnect2 = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("IS_CONNECT_MES2").getValue(); + if ("1".equals(isConnect2)) { + JSONObject param_jo = new JSONObject(); + param_jo.put("box_no", package_box_sn); + param_jo.put("box_weight", subList.get(0).getString("box_weight")); + lmsToMesServiceImpl.BoxDataCollectionSubmit2(param_jo); + } + } catch (Exception e) { + log.error("验箱回传MES异常,BoxDataCollectionSubmit2给MES传输子卷包装关系异常,木箱号为:" + package_box_sn + ",异常信息:" + e); + } + }, pool); + 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); 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 e605c2fa5..0cd5d58d8 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 @@ -2038,35 +2038,49 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { if (whereJson.getIntValue("weight") <= 0) { throw new BadRequestException("上报的重量不能为0!"); } + List errorMsg = new ArrayList<>(); JSONObject jsonObject = ComPareUtil.CompareWhight(whereJson); Boolean inbound = jsonObject.getBoolean("inbound"); Boolean compaerResult = jsonObject.getBoolean("compaer_result"); String box_no = jsonObject.getString("box_no"); Integer box_weight = jsonObject.getIntValue("box_weight"); Integer current_weight = jsonObject.getIntValue("current_weight"); - if (compaerResult && inbound) { - whereJson.put("bill_type", IOSEnum.IN_TYPE.code("生产入库")); - //"material_barcode":"C1101,","device_code":"RK1018","weight":500.95,"vehicle_code":"B01401","type":"1" - int count = taskService.count(new QueryWrapper() - .eq("point_code1", whereJson.getString("device_code")) - .eq("task_type", "010703") - .eq("vehicle_code2", whereJson.getString("vehicle_code")) - .eq("is_delete", "0") - .lt("task_status", TaskStatusEnum.EXECUTING.getCode())); - if (count>0){ - log.info("acs申请入库任务以存在直接跳过"+whereJson.getString("vehicle_code")); - result.put("status", HttpStatus.OK.value()); - result.put("message", "acs申请入库任务以存在直接跳过!"); - return result; + + int count = taskService.count(new QueryWrapper() + .eq("point_code1", whereJson.getString("device_code")) + .eq("vehicle_code2", whereJson.getString("vehicle_code")) + .eq("is_delete", "0") + .lt("task_status", TaskStatusEnum.EXECUTING.getCode())); + JSONObject jsonExt = WQLObject.getWQLObject("md_pb_storagevehicleext").query("storagevehicle_code = '" + whereJson.getString("vehicle_code") + "'").uniqueResult(0); + if (ObjectUtil.isEmpty(jsonExt)) { + errorMsg.add("载具无数据"+whereJson.getString("vehicle_code")); + }else { + String pcsn = jsonExt.getString("pcsn"); + if (StringUtils.isNotEmpty(pcsn)){ + JSONArray stIvtStructattr = WQLObject.getWQLObject("st_ivt_structattr").query("storagevehicle_code = '" + pcsn + "'").getResultJSONArray(0); + if (stIvtStructattr != null && stIvtStructattr.size() > 0) { + errorMsg.add("载具"+whereJson.getString("vehicle_code")+"已绑定"+pcsn); + } } + } + if (!compaerResult){ + errorMsg.add("称重"+current_weight+"不匹配"+box_weight); + } + if (!inbound){ + errorMsg.add("手动至异常口"); + } + if (count>0){ + errorMsg.add(whereJson.getString("vehicle_code")+"存在任务"); + } + //"material_barcode":"C1101,","device_code":"RK1018","weight":500.95,"vehicle_code":"B01401","type":"1" + if (CollectionUtils.isEmpty(errorMsg)) { + whereJson.put("bill_type", IOSEnum.IN_TYPE.code("生产入库")); inBussManageService.inTask(whereJson); } else { - if (!compaerResult){ - iPdmBiContainerinboundService - .update(new UpdateWrapper() - .set("remark","称重"+current_weight+"与木箱重量"+box_weight+"不匹配") - .eq("box",box_no)); - } + iPdmBiContainerinboundService + .update(new UpdateWrapper() + .set("remark",errorMsg.toString()) + .eq("box",box_no)); //更新子卷入库备注信息 JSONObject jsonTaskParam = new JSONObject(); //创建异常任务去异常入库口 @@ -2165,6 +2179,13 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { if (ObjectUtil.isEmpty(jsonVehicle)) { throw new BadRequestException("载具不存在!"); } + int hasTask = taskService.count(new QueryWrapper() + .eq("is_delete", "0") + .eq("vehicle_code2", whereJson.getString("vehicle_code")) + .lt("task_status", TaskStatusEnum.FINISHED.getCode())); + if (hasTask>0){ + throw new BadRequestException("托盘"+whereJson.getString("vehicle_code")+"存在执行的任务"); + } JSONObject ext_jo = veExtTab.query("storagevehicle_code = '" + jsonVehicle.getString("storagevehicle_code") + "'").uniqueResult(0); if (ObjectUtil.isEmpty(ext_jo)) { JSONObject jsonVeExt = new JSONObject(); @@ -2177,6 +2198,13 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { jsonVeExt.put("update_time", DateUtil.now()); veExtTab.insert(jsonVeExt); } else { + String pcsn = ext_jo.getString("pcsn"); + if (StringUtils.isNotEmpty(pcsn)){ + JSONArray stIvtStructattr = WQLObject.getWQLObject("st_ivt_structattr").query("storagevehicle_code = '" + pcsn + "'").getResultJSONArray(0); + if (stIvtStructattr != null && stIvtStructattr.size() > 0) { + throw new BadRequestException("当前托盘"+whereJson.getString("vehicle_code")+"已经绑定木箱"+pcsn); + } + } ext_jo.put("pcsn", whereJson.getString("box_no")); ext_jo.put("device_uuid", org.nl.common.utils.IdUtil.getLongId()); ext_jo.put("update_time", DateUtil.now());