From 190f21d99b5fc5271874133d167bee934dac6fe5 Mon Sep 17 00:00:00 2001 From: zhangzq Date: Thu, 23 Apr 2026 20:04:39 +0800 Subject: [PATCH] =?UTF-8?q?opt:=E4=BC=98=E5=8C=96=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...anguage-all.jar => language-all-0.0.1.jar} | Bin lms/nladmin-system/pom.xml | 2 +- .../pda/controller/VehicleTwoController.java | 12 +- .../PdmBiSubpackagerelationServiceImpl.java | 15 +- .../service/IbstIvtPackageinfoivtService.java | 6 +- .../impl/BstIvtPackageinfoivtServiceImpl.java | 180 ++++++------------ .../storage_manage/ios/enums/IOSEnum.java | 12 +- .../acs/service/impl/AcsToWmsServiceImpl.java | 4 +- 8 files changed, 86 insertions(+), 145 deletions(-) rename lms/nladmin-system/libs/{language-all.jar => language-all-0.0.1.jar} (100%) diff --git a/lms/nladmin-system/libs/language-all.jar b/lms/nladmin-system/libs/language-all-0.0.1.jar similarity index 100% rename from lms/nladmin-system/libs/language-all.jar rename to lms/nladmin-system/libs/language-all-0.0.1.jar diff --git a/lms/nladmin-system/pom.xml b/lms/nladmin-system/pom.xml index e682f6b..ce426ff 100644 --- a/lms/nladmin-system/pom.xml +++ b/lms/nladmin-system/pom.xml @@ -65,7 +65,7 @@ 0.0.1 system - ${project.basedir}/libs/language-all.jar + ${project.basedir}/libs/language-all-0.0.1.jar diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/controller/VehicleTwoController.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/controller/VehicleTwoController.java index ccf3802..29ba4b6 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/controller/VehicleTwoController.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/controller/VehicleTwoController.java @@ -67,23 +67,25 @@ public class VehicleTwoController { @PostMapping("/updatePackageInfo") - @Log("一楼待检区-管制区子卷质检") + @Log("待检区-子卷质检") @SaIgnore public ResponseEntity updatePackageInfo(@RequestBody JSONObject whereJson) { - return new ResponseEntity<>(bstIvtPackageInfoIvtService.update(whereJson), HttpStatus.OK); + bstIvtPackageInfoIvtService.updateQC(whereJson); + return new ResponseEntity<>(HttpStatus.OK); } @PostMapping("/updatePackageInfo2") - @Log("一楼待检区-管制点管理") + @Log("待检区-地面点管理") @SaIgnore public ResponseEntity updatePackageInfo2(@RequestBody JSONObject whereJson) { - return new ResponseEntity<>(bstIvtPackageInfoIvtService.update2(whereJson), HttpStatus.OK); + bstIvtPackageInfoIvtService.allReginPoint(whereJson); + return new ResponseEntity<>(HttpStatus.OK); } @PostMapping("/toEndSub") - @Log("二期子卷包装解绑") + @Log("子卷包装解绑") @SaIgnore public ResponseEntity toEndSub(@RequestBody JSONObject whereJson) { Map result = subpackagerelationService.toEndSubpackagerelation(whereJson.getString("container_name")); 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 8363c90..41c0410 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 @@ -279,9 +279,9 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl bstIvtBoxstacks1 = boxstackMapper.selectList(new QueryWrapper().eq("box_spec", whereJson.getString("checked")) - .eq("point_status", BoxStackEnum.POINT_STATUS.code("缓存区")).orderByAsc("current_layer_count")); + List bstIvtBoxstacks1 = boxstackMapper.selectList(new QueryWrapper() + .eq("box_spec", whereJson.getString("checked")) + .eq("point_status", BoxStackEnum.POINT_STATUS.code("缓存区")) + .orderByAsc("current_layer_count")); if (CollUtil.isEmpty(bstIvtBoxstacks1)) { throw new BadRequestException("缓存区无可用木箱,请新建备货计划"); } @@ -508,7 +510,8 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl dtoList; + final String containerName = whereJson.getString("container_name"); + if (StringUtils.isEmpty(containerName)){ + throw new BadRequestException("container_name不能为空"); + } + //"合格品","3","管制品","4" UpdateWrapper updateWrapper = new UpdateWrapper<>(); JSONObject jo = new JSONObject(); //是否开启mes质检 String isOnMes = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("is_mes_package").getValue(); //子卷质检合格品和管制品 - if (StringUtils.isNotBlank(whereJson.getString("container_name"))) { - if (whereJson.getString("ivt_status").equals(PackageInfoIvtEnum.IVT_STATUS.code("空")) || whereJson.getString("ivt_status").equals(PackageInfoIvtEnum.IVT_STATUS.code("空载具")) || whereJson.getString("ivt_status").equals(PackageInfoIvtEnum.IVT_STATUS.code("有子卷"))) { - throw new BadRequestException("质检结果只能为合格品或管制品"); + if (whereJson.getString("ivt_status").equals(PackageInfoIvtEnum.IVT_STATUS.code("管制品"))) { + PdmBiSubpackagerelation one = subpackagerelationService.getOne(new QueryWrapper() + .eq("container_name", containerName)); + if (one!=null){ + throw new BadRequestException("包装关系存在,请先解绑MES及LMS包装关系"); } - if (whereJson.getString("ivt_status").equals(PackageInfoIvtEnum.IVT_STATUS.code("管制品"))) { - PdmBiSubpackagerelation one = subpackagerelationService.getOne(new QueryWrapper() - .eq("container_name", whereJson.getString("container_name"))); - if (one!=null){ - throw new BadRequestException("包装关系存在,请先解绑MES及LMS包装关系"); - } - } - dtoList = bstIvtPackageinfoivtMapper.selectList(new LambdaQueryWrapper().eq(BstIvtPackageinfoivt::getContainer_name, whereJson.getString("container_name"))); - if (ObjectUtils.isEmpty(dtoList)) { - throw new BadRequestException("子卷号或点位信息有误,请核对是否存在!"); - } - if (dtoList.size() > 1) { - result.put("status", org.springframework.http.HttpStatus.BAD_REQUEST.value()); - result.put("message", "存在多个相同子卷号或点位信息有误,请核对是否存在!"); - return result; - } - BstIvtPackageinfoivt packageinfoivt = dtoList.get(0); - String pointCode = packageinfoivt.getPoint_code(); - if (pointCode.equals("ZXQ_135") || pointCode.equals("ZXQ_136")) { - throw new BadRequestException("管制点设置子卷状态时需要选择点位"); - } - if (whereJson.getString("ivt_status").equals(PackageInfoIvtEnum.IVT_STATUS.code("合格品"))) { - if (packageinfoivt.getIvt_status().equals(PackageInfoIvtEnum.IVT_STATUS.code("管制品"))){ - throw new BadRequestException("当前子卷已设置为管制品"); - } - //获取子卷最新信息 - jo.put("container_name", whereJson.getString("container_name")); - if (isOnMes.equals(IOSEnum.IS_NOTANDYES.code("是"))) { - lmsToMesService.getInspectionResult(jo); - //子卷下料信息MES传递给LMS - iPdmBiContainerinfoService.createSubInfoByContainer(whereJson.getString("container_name")); - } - - - } - PdmProductSpecServiceImpl.doRecord(SpecEnum.ZJ,MapOf.of("质检结果",whereJson.getString("ivt_status")),Boolean.TRUE,null, packageinfoivt.getContainer_name()); - updateWrapper.set("container_name", packageinfoivt.getContainer_name()); - updateWrapper.set("ivt_status", whereJson.getString("ivt_status")); - } else { - result.put("status", org.springframework.http.HttpStatus.BAD_REQUEST.value()); - result.put("message", "请输入子卷号或管制点位信息!"); - return result; } - String pointCode = dtoList.get(0).getPoint_code(); - if (dtoList.get(0).getPoint_status().equals(PackageInfoIvtEnum.POINT_STATUS.code("满轴缓存位"))){ - throw new BadRequestException("满轴缓存位无法设置子卷状态"); + BstIvtPackageinfoivt packageinfoivt = this.getOne(new LambdaQueryWrapper().eq(BstIvtPackageinfoivt::getContainer_name, containerName)); + if (packageinfoivt == null) { + throw new BadRequestException("子卷号或点位信息有误,请核对是否存在!"); } - List schBaseTasks = taskService.checkHaveTask(pointCode); + List schBaseTasks = taskService.checkHaveTask(packageinfoivt.getPoint_code()); if (!CollectionUtils.isEmpty(schBaseTasks)){ - throw new BadRequestException("当前点位"+dtoList.get(0).getPoint_name()+"正在执行搬运任务"+schBaseTasks.stream().map(SchBaseTask::getTask_code).collect(Collectors.joining(","))); + throw new BadRequestException("当前点位"+packageinfoivt.getPoint_code()+"正在执行搬运任务"+schBaseTasks.stream().map(SchBaseTask::getTask_code).collect(Collectors.joining(","))); } - updateWrapper.eq("point_code", pointCode); + if (whereJson.getString("ivt_status").equals(PackageInfoIvtEnum.IVT_STATUS.code("合格品"))) { + if (packageinfoivt.getIvt_status().equals(PackageInfoIvtEnum.IVT_STATUS.code("管制品"))){ + throw new BadRequestException("当前子卷已设置为管制品"); + } + //获取子卷最新信息 + jo.put("container_name", containerName); + if (isOnMes.equals(IOSEnum.IS_NOTANDYES.code("是"))) { + lmsToMesService.getInspectionResult(jo); + //子卷下料信息MES传递给LMS-同步子卷包装关系 + iPdmBiContainerinfoService.createSubInfoByContainer(containerName); + } + } + updateWrapper.set("container_name", packageinfoivt.getContainer_name()); + updateWrapper.set("ivt_status", whereJson.getString("ivt_status")); + updateWrapper.eq("point_code", packageinfoivt.getPoint_code()); updateWrapper.set("update_optid", Long.valueOf(SecurityUtils.getCurrentUserId())); updateWrapper.set("update_optname", SecurityUtils.getCurrentNickName()); updateWrapper.set("update_time", DateUtil.now()); bstIvtPackageinfoivtMapper.update(null, updateWrapper); - result.put("status", org.springframework.http.HttpStatus.OK.value()); - result.put("message", "检验成功!"); - return result; + PdmProductSpecServiceImpl.doRecord(SpecEnum.ZJ,MapOf.of("质检结果",whereJson.getString("ivt_status")),Boolean.TRUE,null, packageinfoivt.getContainer_name()); } - + /** + * 整体子卷区域点管理 + * 4-24变更 + * 1.管制点作用:空载具拉回,点位释放,管制点不做复合动作 + * 2.印尼管制区管制点为整个区域,需要通过扫码方式而不是选点 + */ @Override - @Transactional(rollbackFor = Exception.class) - public JSONObject update2(JSONObject whereJson) { + public void allReginPoint(JSONObject whereJson) { + //"空","0","空载具","1","有子卷","2" JSONObject result = new JSONObject(); if (StringUtils.isBlank(whereJson.getString("ivt_status"))) { throw new BadRequestException("子卷检验结果为空"); } - //"空","0","空载具","1","有子卷","2","合格品","3","管制品","4",人工卷,"5" - List dtoList; - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - JSONObject jo = new JSONObject(); - //是否开启mes - String isOnMes = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("is_on_mes").getValue(); - //复称 - if (StringUtils.isNotBlank(whereJson.getString("container_name")) && StringUtils.isNotBlank(whereJson.getString("pointCode"))) { - dtoList = bstIvtPackageinfoivtMapper.selectList(new LambdaQueryWrapper().eq(BstIvtPackageinfoivt::getPoint_code, whereJson.getString("pointCode").equals("1") ? "ZXQ_135" : "ZXQ_136")); - if (whereJson.getString("ivt_status").equals(PackageInfoIvtEnum.IVT_STATUS.code("合格品"))) { - //获取子卷最新信息 - jo.put("container_name", whereJson.getString("container_name")); - if (isOnMes.equals(IOSEnum.IS_NOTANDYES.code("是"))) { - lmsToMesService.getInspectionResult(jo); - //子卷下料信息MES传递给LMS - iPdmBiContainerinfoService.createSubInfoByContainer(whereJson.getString("container_name")); - } else { - packageData(whereJson); - } - updateWrapper.set("container_name", whereJson.getString("container_name")); - updateWrapper.set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("合格品")); - } else { - result.put("status", org.springframework.http.HttpStatus.BAD_REQUEST.value()); - result.put("message", "该点位只能放复称的合格品!"); - return result; - } + if (StringUtils.isNotBlank(whereJson.getString("pointCode"))){ + throw new BadRequestException("子卷检验结果为空"); } - //取放空载具 - else if (StringUtils.isNotBlank(whereJson.getString("pointCode")) && StringUtils.isBlank(whereJson.getString("container_name"))) { - if (whereJson.getString("ivt_status").equals(PackageInfoIvtEnum.IVT_STATUS.code("合格品")) || whereJson.getString("ivt_status").equals(PackageInfoIvtEnum.IVT_STATUS.code("管制品"))) { - throw new BadRequestException("人工管制点只能设置空载具或空点位"); - } - String pointCode = whereJson.getString("pointCode"); - if (StringUtils.isEmpty(pointCode)){ - throw new BadRequestException("人工管制点不能为空"); - } - HashMap of = MapOf.of("1", "ZXQ_135", "2", "ZXQ_136"); - // "ZXQ_135" : "ZXQ_136"; - JSONObject task = new JSONObject(); - task.put("point_code1", of.get(pointCode)); - int count = taskService.count(new QueryWrapper() - .eq("is_delete", "0") - .eq("point_code1", of.get(pointCode)) - .lt("task_status", TaskStatusEnum.FINISHED.getCode())); - if (count>0){ - throw new BadRequestException("当前人工管制点存在任务,稍后操作"); - } - - dtoList = bstIvtPackageinfoivtMapper.selectList(new LambdaQueryWrapper().eq(BstIvtPackageinfoivt::getPoint_code, whereJson.getString("pointCode").equals("1") ? "ZXQ_135" : "ZXQ_136")); - updateWrapper.set("container_name", null); - updateWrapper.set("ivt_status", whereJson.getString("ivt_status")); - } else { - result.put("status", org.springframework.http.HttpStatus.BAD_REQUEST.value()); - result.put("message", "请输入子卷号或管制点位信息!"); - return result; - } - String pointCode = dtoList.get(0).getPoint_code(); - if (dtoList.get(0).getPoint_status().equals(PackageInfoIvtEnum.POINT_STATUS.code("满轴缓存位"))){ - throw new BadRequestException("满轴缓存位无法设置子卷状态"); - } - List schBaseTasks = taskService.checkHaveTask(pointCode); + List schBaseTasks = taskService.checkHaveTask(whereJson.getString("pointCode")); if (!CollectionUtils.isEmpty(schBaseTasks)){ - throw new BadRequestException("当前点位"+dtoList.get(0).getPoint_name()+"正在执行搬运任务"+schBaseTasks.stream().map(SchBaseTask::getTask_code).collect(Collectors.joining(","))); + throw new BadRequestException("当前点位"+whereJson.getString("pointCode")+"正在执行搬运任务"+schBaseTasks.stream().map(SchBaseTask::getTask_code).collect(Collectors.joining(","))); } - updateWrapper.eq("point_code", pointCode); + if (whereJson.getString("ivt_status").equals(PackageInfoIvtEnum.IVT_STATUS.code("有子卷")) + && StringUtils.isEmpty(whereJson.getString("container_name"))) { + throw new BadRequestException("设置有子卷时需输入子卷号"); + } + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.set("container_name", whereJson.getString("container_name")); + updateWrapper.set("ivt_status", whereJson.getString("ivt_status")); + updateWrapper.eq("point_code", whereJson.getString("pointCode")); updateWrapper.set("update_optid", Long.valueOf(SecurityUtils.getCurrentUserId())); updateWrapper.set("update_optname", SecurityUtils.getCurrentNickName()); updateWrapper.set("update_time", DateUtil.now()); bstIvtPackageinfoivtMapper.update(null, updateWrapper); - result.put("status", org.springframework.http.HttpStatus.OK.value()); - result.put("message", "检验成功!"); - return result; } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/enums/IOSEnum.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/enums/IOSEnum.java index 270ba7a..e8dbb08 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/enums/IOSEnum.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/enums/IOSEnum.java @@ -113,10 +113,18 @@ public enum IOSEnum { OUT_HANGER(MapOf.of("行架位1", "CK2013","行架位2", "CK2017")), // 点位 - POINT_CODE(MapOf.of("退货入库位", "THRKDJW1", "2020","CK2020", "2022","CK2022","木箱装箱位","CK2024")), + POINT_CODE(MapOf.of("退货入库位", "THRKDJW1", "2020","CK2020", "2022","CK2022","木箱装箱开盒盖位","CK2024")), //acs申请任务 - ACSTOLMS_TYPE(MapOf.of("成品入库任务", "1","空盘入库","2","空盘出库","3","异常处理位","4","木箱入库","5","退货入库","6","贴标","1","捆扎","2","子卷装箱","7")), + ACSTOLMS_TYPE(MapOf.of("成品入库任务", "1" + ,"空盘入库","2","空盘出库" + ,"3","异常处理位","4" + ,"木箱入库","5" + ,"退货入库","6" + ,"贴标","1" + ,"捆扎","2" + ,"木箱装箱开盒盖位","7" + ,"退货异常申请行架对接位至NG位","9")), // acs外部系统用户 EXT_ACS(MapOf.of("acs", "2","kc","康成")), 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 ee258dc..d78cc81 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 @@ -1428,7 +1428,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { whereJson.put("material_barcode", material_barcodes); inBussManageService.inTask(whereJson); - } else if (type.equals(IOSEnum.ACSTOLMS_TYPE.code("子卷装箱"))) { + } else if (type.equals(IOSEnum.ACSTOLMS_TYPE.code("木箱装箱开盒盖位"))) { //校验 List pdmBiSubpackagerelations = pdmBiSubpackagerelationMapper.selectList(new QueryWrapper().eq("package_box_sn", whereJson.getString("material_barcode")).eq("status", "0")); if (ObjectUtil.isEmpty(pdmBiSubpackagerelations)){ @@ -1441,7 +1441,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { JSONObject jsonParam = new JSONObject(); jsonParam.put("start_device_code",whereJson.getString("device_code")); - jsonParam.put("next_device_code",IOSEnum.POINT_CODE.code("木箱装箱位")); + jsonParam.put("next_device_code",IOSEnum.POINT_CODE.code("木箱装箱开盒盖位")); jsonParam.put("vehicle_code2",mdPdStorageVehicleInfo.getStoragevehicle_code()); jsonParam.put("vehicle_code",whereJson.getString("material_barcode")); jsonParam.put("task_status", TaskStatusEnum.START_AND_POINT.getCode());