From 2f35f544d0f0e0694755e28dc54ca117ce62d8c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?LML=E4=B8=B6?= Date: Sun, 12 May 2024 17:27:21 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B4=A8=E9=87=8F=20=E7=BC=BA=E9=99=B7?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=20NC=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ext/mes/pcn/api/busi/IMesNcProcessingService.java | 2 +- .../controller/busi/MesNcProcessingController.java | 2 +- .../serviceimpl/busi/MesInputDefectRecordService.java | 19 ++++++++++++++++--- .../serviceimpl/busi/MesNcProcessingService.java | 12 +++++++++++- 4 files changed, 29 insertions(+), 6 deletions(-) diff --git a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesNcProcessingService.java b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesNcProcessingService.java index 73e5153..484377b 100644 --- a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesNcProcessingService.java +++ b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesNcProcessingService.java @@ -17,7 +17,7 @@ public interface IMesNcProcessingService { public MesNcProcessingModel queryProduceSn(String serialNumber, String org); @ApiOperation(value = "NC处理") - public void saveNc(String serialNumber,String person, Integer type, String org); + public void saveNc(String serialNumber,Integer person, Integer type, String org); } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/MesNcProcessingController.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/MesNcProcessingController.java index e709085..e731afc 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/MesNcProcessingController.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/MesNcProcessingController.java @@ -44,7 +44,7 @@ public class MesNcProcessingController { @PostMapping("/save-nc") @ApiOperation(value = "NC处理") - public ResultBean saveNc(@RequestBody String serialNumber, String person, Integer type) { + public ResultBean saveNc(@RequestBody String serialNumber, Integer person, Integer type) { try { // 数据校验 diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesInputDefectRecordService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesInputDefectRecordService.java index 56e5fd4..e986279 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesInputDefectRecordService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesInputDefectRecordService.java @@ -163,9 +163,13 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService @Override public void saveDefectRecord(List defectRecordList, String org) { + //检查条码 + MesProduceSn produceSn = checkProduceSn(defectRecordList.get(0).getSerialNumber(), org); + + produceSn.setQcStatus(MesPcnExtEnumUtil.PRODUCE_QC_STATUS.SUSPICIOUS.getValue()); DdlPackBean packBean = DdlPackBean.getDdlPackBean(org); - DdlPreparedPack.getStringEqualPack(defectRecordList.get(0).getPartNo(), "partNo", packBean); + DdlPreparedPack.getStringEqualPack(produceSn.getPartNo(), "partNo", packBean); MesPart part = partRepository.getByProperty(packBean); //保存数据 @@ -179,7 +183,11 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService zrsum = (rb.getResultList().get(0)).toString(); } + ConvertBean.serviceModelUpdate(produceSn, AuthUtil.getSessionUser().getUserName()); + produceSnRepository.save(produceSn); + MesMove move = new MesMove(); + move.setMatnr(part.getPartNo()); move.setOrganizeCode(org); move.setFactoryCode(org); move.setLgort(configService.getCfgValue(org, "LGORT")); @@ -187,6 +195,8 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService move.setMenge(defectRecordList.size()); move.setMeins(part.getUnit()); move.setZrsum(zrsum); + move.setPostDate(TimeTool.getToday()); + move.setPostTime(TimeTool.getTimeShortWithColon()); ConvertBean.serviceModelInitialize(move, AuthUtil.getSessionUser().getUserName()); moveRepository.save(move); } @@ -194,7 +204,8 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService private MesProduceSn checkProduceSn(String serialNumber, String org) { //根据扫描的条码查询条码是否存在 DdlPackBean packBean = DdlPackBean.getDdlPackBean(org); - DdlPreparedPack.getStringEqualPack(serialNumber, "serialNumber", packBean); + DdlPreparedPack.getStringEqualPack(serialNumber, "productSn", packBean); + DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.DESC.getValue()}, new String[]{"createDatetime"}, packBean); MesProduceSn produceSn = produceSnRepository.getByProperty(packBean); //若不存在则提示条码不存在 @@ -210,7 +221,9 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService //todo //是否需要判断条码质量状态 -// if() + if (produceSn.getQcStatus() != MesPcnExtEnumUtil.PRODUCE_QC_STATUS.QUALIFIED.getValue()) { + throw new ImppBusiException(String.format("【%s】此条码状态为【%s】,请选择【%s】状态的条码", serialNumber, produceSn.getSnStatus(), MesPcnExtEnumUtil.PRODUCE_SN_STATUS.OFFLINE.getValue())); + } return produceSn; } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesNcProcessingService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesNcProcessingService.java index 9b0883d..8fdb319 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesNcProcessingService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesNcProcessingService.java @@ -7,6 +7,7 @@ import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesNcProcessingModel; import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtEnumUtil; import cn.estsh.i3plus.mes.pcn.api.iservice.busi.ISyncFuncService; import cn.estsh.i3plus.platform.common.convert.ConvertBean; +import cn.estsh.i3plus.platform.common.tool.TimeTool; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; @@ -108,7 +109,7 @@ public class MesNcProcessingService implements IMesNcProcessingService { } @Override - public void saveNc(String serialNumber, String person, Integer type, String org) { + public void saveNc(String serialNumber, Integer person, Integer type, String org) { //检查不良条码 List defectRecordList = queryDefectRecord(serialNumber, org); @@ -128,6 +129,7 @@ public class MesNcProcessingService implements IMesNcProcessingService { if (type == MesPcnExtEnumUtil.NC_TYPE.REWORK.getValue()) { MesMove move = new MesMove(); + move.setMatnr(part.getPartNo()); move.setOrganizeCode(org); move.setFactoryCode(org); move.setLgort(configService.getCfgValue(org, "UMLGO")); @@ -135,6 +137,8 @@ public class MesNcProcessingService implements IMesNcProcessingService { move.setMenge(defectRecordList.size()); move.setMeins(part.getUnit()); move.setZrsum(zrsum); + move.setPostDate(TimeTool.getToday()); + move.setPostTime(TimeTool.getTimeShortWithColon()); ConvertBean.serviceModelInitialize(move, AuthUtil.getSessionUser().getUserName()); moveRepository.save(move); } @@ -180,6 +184,12 @@ public class MesNcProcessingService implements IMesNcProcessingService { throw new ImppBusiException(String.format("【%s】此条码不存在可疑品记录,请检查数据", serialNumber)); } + defectRecordList.forEach(k -> { + if (k.getNcType() != 0) { + throw new ImppBusiException(String.format("【%s】此条码已经过NC处理,请检查数据", serialNumber)); + } + }); + return defectRecordList; }