From 403496e916f65a48f48ce17ceda9fe85c0dd0966 Mon Sep 17 00:00:00 2001 From: zhangzq Date: Sat, 29 Mar 2025 15:28:15 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E7=A9=BA=E6=9C=A8=E7=AE=B1=E5=87=BA?= =?UTF-8?q?=E5=BA=93=E5=A2=9E=E5=8A=A0=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PdmBiSubpackagerelationController.java | 14 ++++-- .../PdmBiSubpackagerelationServiceImpl.java | 13 +++-- .../org/nl/b_lms/sch/tasks/TwoOutBoxTask.java | 48 +++++++++++++++++++ .../util/impl/OutBoxManageServiceImpl.java | 11 ++++- 4 files changed, 76 insertions(+), 10 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/controller/PdmBiSubpackagerelationController.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/controller/PdmBiSubpackagerelationController.java index b2ed125e5..25d36fe4d 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/controller/PdmBiSubpackagerelationController.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/controller/PdmBiSubpackagerelationController.java @@ -9,6 +9,7 @@ import org.nl.b_lms.pdm.subpackagerelation.dao.PdmBiSubpackagerelation; import org.nl.b_lms.pdm.subpackagerelation.service.IpdmBiSubpackagerelationService; 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.TwoOutBoxTask; import org.nl.b_lms.sch.tasks.first_floor_area.auto.AutoSendVehicleToDjq; import org.nl.b_lms.sch.tasks.first_floor_area.auto.Prun; import org.nl.common.TableDataInfo; @@ -52,7 +53,7 @@ public class PdmBiSubpackagerelationController { private IpdmBiSubpackagerelationService pdmBiSubpackagerelationService; @Autowired - private IbstIvtPackageinfoivtService packageinfoivtService; + private TwoOutBoxTask twoOutBoxTask; @Autowired private AutoSendVehicleToDjq autoSendVehicleToDjq; @@ -248,9 +249,12 @@ public class PdmBiSubpackagerelationController { autoSendVehicleToDjq.getPointCode(task,PackageInfoIvtEnum.TASK_TYPE.code("补空(装箱区->待检区)")); return new ResponseEntity<>(HttpStatus.OK); } - - - - + @PostMapping("/ycgzd2") + @Log("异常管制点释放") + @SaIgnore + public ResponseEntity ycgzd2(@RequestBody JSONObject param) { + twoOutBoxTask.immediateNotifyAcs(null); + return null; + } } 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 b7b5adcc1..d965863e1 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 @@ -410,12 +410,18 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl() + List list = taskService.list(new QueryWrapper() .eq("is_delete", "0") .eq("point_code1", 浅Attr.getString("struct_code")) .lt("task_status", TaskStatusEnum.FINISHED.getCode())); - if (浅Task == 0){ - task_group_id = outBoxManageService.createBoxMove(浅Attr); + if (!CollectionUtils.isEmpty(list)){ + Optional any = list.stream().filter(a -> !a.getPoint_code2().equals("ZXQ_1_1")).findAny(); + if (any.isPresent()){ + SchBaseTask errorTask = any.get(); + throw new BadRequestException("当前木箱所在货位"+boxAttr.getString("struct_code")+"对应浅货位存在任务"+errorTask.getTask_code()); + }else { + task_group_id = outBoxManageService.createBoxMove(浅Attr); + } } }else { throw new BadRequestException("当前木箱所在货位"+boxAttr.getString("struct_code")+"对应浅货位存在任务"+浅Attr.getString("task_code")); @@ -436,7 +442,6 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl addTask() { /* @@ -81,7 +94,42 @@ public class TwoOutBoxTask extends AbstractAcsTask { break; } JSONObject json = arr.getJSONObject(i); + WQLObject attrTab = WQLObject.getWQLObject("st_ivt_structattr"); + JSONObject attr = attrTab.query("struct_code = '" + json.getString("point_code1") + "'").uniqueResult(0); + if (attr.getString("zdepth").equals(IOSEnum.ZDEPTH_STRUCT.code("深"))) { + JSONObject 浅Attr = attrTab + .query("zdepth = '1' and row_num = '"+attr.getString("row_num")+"' and col_num = '" + attr.getString("col_num") + "' and layer_num = '"+attr.getString("layer_num")+"'") + .uniqueResult(0); + if (ObjectUtil.isEmpty(浅Attr)){ + continue; + } + if (ObjectUtil.isEmpty(浅Attr.getString("storagevehicle_code"))){ + if (!浅Attr.getString("lock_type").equals(IOSEnum.LOCK_TYPE.code("未锁定"))) { + continue; + } + }else { + if (浅Attr.getString("lock_type").equals(IOSEnum.LOCK_TYPE.code("未锁定"))) { + // 判断浅货位木箱和深货位木箱是否相同规格 + outBoxManageService.createBoxMove(浅Attr); + } else if (浅Attr.getString("lock_type").equals(IOSEnum.LOCK_TYPE.code("验箱出库锁"))) { + List list = ischBaseTaskService.list(new QueryWrapper() + .eq("is_delete", "0") + .eq("point_code1", 浅Attr.getString("struct_code")) + .lt("task_status", TaskStatusEnum.FINISHED.getCode())); + Optional any = list.stream().filter(a -> !a.getPoint_code2().equals("ZXQ_1_1")).findAny(); + if (any.isPresent()){ + SchBaseTask errortask = any.get(); + log.error("twoOutTask has error task"+errortask.getTask_code()); + continue; + }else { + outBoxManageService.createBoxMove(浅Attr); + } + }else { + continue; + } + } + } char dtl_type = json.getString("task_type").charAt(json.getString("task_type").length() - 1); AcsTaskDto dto = AcsTaskDto.builder() .ext_task_id(json.getString("task_id")) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBoxManageServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBoxManageServiceImpl.java index 9ac694ab9..b7b191e30 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBoxManageServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBoxManageServiceImpl.java @@ -27,6 +27,7 @@ import org.nl.wms.sch.manage.TaskStatusEnum; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import java.util.ArrayList; @@ -261,7 +262,15 @@ public class OutBoxManageServiceImpl implements OutBoxManageService { if (ObjectUtil.isEmpty(jsonAttrNow)) { throw new BadRequestException("对应浅货位不存在或未启用!" + jsonTask.getString("point_code1")); } - + List list = ischBaseTaskService.list(new QueryWrapper() + .eq("point_code1", jsonAttrNow.getString("struct_code")) + .eq("point_code2", IOSEnum.OUT_POINT.code(jsonAttrNow.getString("row_num"))) + .eq("task_type", "010712") + .eq("is_delete", "0") + .lt("task_status", TaskStatusEnum.FINISHED.getCode())); + if (!CollectionUtils.isEmpty(list)){ + return list.get(0).getTask_id(); + } // 锁住仓位 jsonAttrNow.put("lock_type", IOSEnum.LOCK_TYPE.code("货位异常出库锁")); attrTab.update(jsonAttrNow);