From ce464505d423a5b0ea0e4e19c85f94e14c63c9bb Mon Sep 17 00:00:00 2001 From: yxw Date: Wed, 3 Jan 2024 11:02:18 +0800 Subject: [PATCH] =?UTF-8?q?38753=2023032=E2=80=94PCN=E7=AB=AF=E3=80=90?= =?UTF-8?q?=E8=BF=94=E4=BF=AE=E4=BD=9C=E4=B8=9A=E3=80=91=E7=82=B9=E5=87=BB?= =?UTF-8?q?=E2=80=9D=E7=BB=B4=E4=BF=AE=E5=AE=8C=E6=88=90=E2=80=9C=EF=BC=8C?= =?UTF-8?q?=E9=87=8D=E5=A4=8D=E6=89=AB=E6=8F=8F=E6=9D=A1=E7=A0=81=EF=BC=8C?= =?UTF-8?q?=E7=82=B9=E5=87=BB=E7=BB=B4=E4=BF=AE=E5=AE=8C=E6=88=90=E5=90=8E?= =?UTF-8?q?=EF=BC=8C=E4=BC=9A=E9=87=8D=E5=A4=8D=E7=94=9F=E6=88=90mes=5Frep?= =?UTF-8?q?air=5Ftask=E7=9A=84=E6=95=B0=E6=8D=AE=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ext/mes/pcn/api/base/ISxRepairWorkService.java | 2 +- .../controller/base/SxRepairWorkController.java | 3 +- .../controller/base/jx/RepairJudgeController.java | 2 +- .../serviceimpl/base/SxRepairWorkService.java | 66 ++++++++++++++-------- .../ext/mes/pcn/pojo/model/ProduceSnExtModel.java | 3 + 5 files changed, 49 insertions(+), 27 deletions(-) diff --git a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/ISxRepairWorkService.java b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/ISxRepairWorkService.java index b64212b..5a0367f 100644 --- a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/ISxRepairWorkService.java +++ b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/ISxRepairWorkService.java @@ -169,7 +169,7 @@ public interface ISxRepairWorkService { * @param modifyUser 修改人 */ @ApiOperation(value = "本体返修-维修完成", notes = "本体返修-维修完成") - void updateRepairComplete(String serialNumber, String organizeCode, String modifyUser); + String updateRepairComplete(String serialNumber, String organizeCode, String modifyUser); /** diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/base/SxRepairWorkController.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/base/SxRepairWorkController.java index 284c65c..92f638a 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/base/SxRepairWorkController.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/base/SxRepairWorkController.java @@ -379,8 +379,7 @@ public class SxRepairWorkController extends MesPcnBaseController { @ApiOperation(value = "本体返修-维修完成", notes = "本体返修-维修完成") public ResultBean updateRepairComplete(String serialNumber, String organizeCode, String modifyUser) { try { - sxRepairWorkService.updateRepairComplete(serialNumber, organizeCode, modifyUser); - return ResultBean.success(LocaleUtils.getLocaleRes("操作成功")).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + return ResultBean.success(LocaleUtils.getLocaleRes(sxRepairWorkService.updateRepairComplete(serialNumber, organizeCode, modifyUser))).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { return ResultBean.fail(busExcep); } catch (Exception e) { diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/base/jx/RepairJudgeController.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/base/jx/RepairJudgeController.java index aa3a006..7d45021 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/base/jx/RepairJudgeController.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/base/jx/RepairJudgeController.java @@ -29,7 +29,7 @@ public class RepairJudgeController extends MesPcnBaseController { private IRepairJudgeService repairJudgeService; @GetMapping(value = "/query") - @ApiOperation(value = "按条件分页查询业务配置信息") + @ApiOperation(value = "按条件分页查询维修判定类型信息") public ResultBean queryRepairJudgeList(String organizeCode) { try { return ResultBean.success("查询成功").setResultList(repairJudgeService.queryRepairJudgeList(organizeCode)) diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/SxRepairWorkService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/SxRepairWorkService.java index d085da6..5988dec 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/SxRepairWorkService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/SxRepairWorkService.java @@ -127,6 +127,9 @@ public class SxRepairWorkService implements ISxRepairWorkService { @Override public ProduceSnExtModel getProduceSnFrozenBySn(String serialNumber, String organizeCode) { + // 是否为已过终检条码 + boolean isFinalCheckAfterSn = false; + MesProduceSnMcRecord produceSnMcRecordDb = produceSnMcRecordService.getProduceSnMcRecordDb(organizeCode, serialNumber); MesProduceSnExt produceSnExt = null; @@ -155,6 +158,8 @@ public class SxRepairWorkService implements ISxRepairWorkService { produceSnExt = produceSnExtService.getProduceSnExtByProductSn(organizeCode, serialNumber); + isFinalCheckAfterSn = true; + if (produceSnExt == null) { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode()) @@ -230,6 +235,14 @@ public class SxRepairWorkService implements ISxRepairWorkService { produceSnExtModel.setSerialNumber(produceSnExtModel.getProductSn()); } + // lastWorkOrderNo 为空 代表为试制上线管理码 + List badCellDetailList = getMesBadCellDetails(organizeCode, isFinalCheckAfterSn, produceSnMcRecordDb, produceSnExt, produceSnExt.getLastWorkOrderNo()); + + badCellDetailList = CollectionUtils.isEmpty(badCellDetailList) ? null : + badCellDetailList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getRepairStatus()) && MesPcnExtEnumUtil.MES_REPAIR_STATUS.NO_REPAIR.getValue() == o.getRepairStatus())).collect(Collectors.toList()); + if (CollectionUtils.isEmpty(badCellDetailList) && produceSnExt.getOperateType() == MesPcnExtEnumUtil.SN_OPERATE_TYPE.REPAIR.getValue()) produceSnExtModel.setIsRepairComplete(true); + else produceSnExtModel.setIsRepairComplete(false); + return produceSnExtModel; } @@ -800,7 +813,7 @@ public class SxRepairWorkService implements ISxRepairWorkService { } @Override - public void updateRepairComplete(String serialNumber, String organizeCode, String modifyUser) { + public String updateRepairComplete(String serialNumber, String organizeCode, String modifyUser) { // 是否为已过终检条码 boolean isFinalCheckAfterSn = false; @@ -839,28 +852,7 @@ public class SxRepairWorkService implements ISxRepairWorkService { .build(); } - List badCellDetailList; - - // lastWorkOrderNo 为空 代表为试制上线管理码 - if (StringUtils.isEmpty(produceSnExt.getLastWorkOrderNo())) { - badCellDetailList = badCellDetailRepository.findByProperty( - new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.WORK_ORDER_NO, MesPcnExtConstWords.THIRD_PARTY_PID}, - new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), workOrderNo, StringUtils.isEmpty(produceSnMcRecordDb.getId())}); - } else if (produceSnExt.getLastWorkOrderNo().equals(produceSnExt.getWorkOrderNo())){ - if (isFinalCheckAfterSn) { - badCellDetailList = badCellDetailRepository.findByProperty( - new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.WORK_ORDER_NO, MesPcnExtConstWords.PRODUCT_SN}, - new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), workOrderNo, produceSnExt.getProductSn()}); - } else { - badCellDetailList = badCellDetailRepository.findByProperty( - new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.WORK_ORDER_NO, MesPcnExtConstWords.SERIAL_NUMBER}, - new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), workOrderNo, produceSnExt.getSerialNumber()}); - } - } else { - badCellDetailList = badCellDetailRepository.findByProperty( - new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.WORK_ORDER_NO, MesPcnExtConstWords.PRODUCT_SN}, - new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), workOrderNo, produceSnExt.getProductSn()}); - } + List badCellDetailList = getMesBadCellDetails(organizeCode, isFinalCheckAfterSn, produceSnMcRecordDb, produceSnExt, workOrderNo); badCellDetailList = CollectionUtils.isEmpty(badCellDetailList) ? null : badCellDetailList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getRepairStatus()) && MesPcnExtEnumUtil.MES_REPAIR_STATUS.NO_REPAIR.getValue() == o.getRepairStatus())).collect(Collectors.toList()); @@ -872,6 +864,8 @@ public class SxRepairWorkService implements ISxRepairWorkService { .build(); } + if ((produceSnExt.getOperateType() == MesPcnExtEnumUtil.SN_OPERATE_TYPE.QUALIFIED.getValue()) || (produceSnMcRecordDb != null && produceSnMcRecordDb.getOperateType() == MesPcnExtEnumUtil.SN_OPERATE_TYPE.QUALIFIED.getValue())) return "该条码已完成返修,可上线"; + MesWorkCenterExt workCenterExt = getMesWorkCenterExt(organizeCode, produceSnExt.getWorkCenterCode()); if (produceSnMcRecordDb != null) { @@ -933,6 +927,32 @@ public class SxRepairWorkService implements ISxRepairWorkService { } log.info("updateRepairComplete --- 解绑关键件结果:{}" , unbindKeyResult); + + return "操作成功"; + } + + private List getMesBadCellDetails(String organizeCode, boolean isFinalCheckAfterSn, MesProduceSnMcRecord produceSnMcRecordDb, MesProduceSnExt produceSnExt, String workOrderNo) { + List badCellDetailList; + if (StringUtils.isEmpty(produceSnExt.getLastWorkOrderNo())) { + badCellDetailList = badCellDetailRepository.findByProperty( + new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.WORK_ORDER_NO, MesPcnExtConstWords.THIRD_PARTY_PID}, + new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), workOrderNo, StringUtils.isEmpty(produceSnMcRecordDb.getId())}); + } else if (produceSnExt.getLastWorkOrderNo().equals(produceSnExt.getWorkOrderNo())){ + if (isFinalCheckAfterSn) { + badCellDetailList = badCellDetailRepository.findByProperty( + new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.WORK_ORDER_NO, MesPcnExtConstWords.PRODUCT_SN}, + new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), workOrderNo, produceSnExt.getProductSn()}); + } else { + badCellDetailList = badCellDetailRepository.findByProperty( + new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.WORK_ORDER_NO, MesPcnExtConstWords.SERIAL_NUMBER}, + new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), workOrderNo, produceSnExt.getSerialNumber()}); + } + } else { + badCellDetailList = badCellDetailRepository.findByProperty( + new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.WORK_ORDER_NO, MesPcnExtConstWords.PRODUCT_SN}, + new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), workOrderNo, produceSnExt.getProductSn()}); + } + return badCellDetailList; } /** diff --git a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/ProduceSnExtModel.java b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/ProduceSnExtModel.java index 976c649..5ca3ca3 100644 --- a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/ProduceSnExtModel.java +++ b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/ProduceSnExtModel.java @@ -141,6 +141,9 @@ public class ProduceSnExtModel implements Serializable { @ApiParam("质保书码") private String qualityAssureCode; + @ApiParam("是否维修完成") + private Boolean isRepairComplete; + public ProduceSnExtModel() {} public ProduceSnExtModel(Long id, String serialNumber, String partNo, String partNameRdd, Double qty, Integer qcStatus,