From dd594702803518c476143b6b261fabac50b4728e Mon Sep 17 00:00:00 2001 From: "xiangwei.zhang" <752558143@qq.com> Date: Thu, 10 Apr 2025 12:00:52 +0800 Subject: [PATCH 1/4] =?UTF-8?q?46256=20PCN=EF=BC=9A=E8=BF=94=E5=B7=A5?= =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E9=A1=B5=E9=9D=A2=EF=BC=8C=E7=82=B9=E5=87=BB?= =?UTF-8?q?=E8=BF=94=E5=B7=A5=E5=AE=8C=E6=88=90=E5=90=8E=EF=BC=8C=E6=95=B0?= =?UTF-8?q?=E9=87=8F=E5=AD=97=E6=AE=B5=E4=B8=BA0=EF=BC=8C=E4=BA=A7?= =?UTF-8?q?=E7=BA=BF=E4=BB=A3=E7=A0=81=E4=B8=BA=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../serviceimpl/base/MesReworkTaskServiceImpl.java | 11 ++++++++++ .../busi/MesProductionRecordService.java | 25 ++++++++++++++++------ 2 files changed, 30 insertions(+), 6 deletions(-) diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesReworkTaskServiceImpl.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesReworkTaskServiceImpl.java index fd9e154..0ac189f 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesReworkTaskServiceImpl.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesReworkTaskServiceImpl.java @@ -33,6 +33,7 @@ import cn.estsh.i3plus.pojo.mes.repository.*; import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.exception.ImppBusiException; +import cn.estsh.impp.framework.boot.util.ResultBean; import cn.estsh.impp.framework.boot.util.SpringContextsUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; @@ -1181,6 +1182,15 @@ public class MesReworkTaskServiceImpl implements IMesReworkTaskService { private void doCreateReworkMove(MesReworkTaskRequestModel requestModel,String srcLocate, String destLocate,String workCenterCode,String partNo,Long partInspectionId) { MesPartSap mesPartSap = mesPartService.getMesPartSapByPartNo(partNo, requestModel.getOrganizeCode()); + + GenSerialNoModel serialNoModel = new GenSerialNoModel("INPUT_DEFECT_ZRSUM"); + serialNoModel.setPartNo(mesPartSap.getPartNo()); + ResultBean rb = syncFuncService.syncSerialNo(serialNoModel, requestModel.getUserName(), requestModel.getOrganizeCode(), 1); + String zrsum = ""; + if (null != rb && !CollectionUtils.isEmpty(rb.getResultList())) { + zrsum = (rb.getResultList().get(0)).toString(); + } + MesMove move = new MesMove(); move.setMatnr(mesPartSap.getPartNo()); move.setOrganizeCode(requestModel.getOrganizeCode()); @@ -1189,6 +1199,7 @@ public class MesReworkTaskServiceImpl implements IMesReworkTaskService { move.setUmlgo(destLocate); move.setPartInspectionId(partInspectionId); move.setMenge(requestModel.getReworkedQty()); + move.setZrsum(zrsum); move.setMeins(mesPartSap.getUnit()); move.setPostDate(TimeTool.getToday()); move.setPostTime(TimeTool.getTimeShortWithColon()); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesProductionRecordService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesProductionRecordService.java index b731f7e..aef56de 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesProductionRecordService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesProductionRecordService.java @@ -134,11 +134,17 @@ public class MesProductionRecordService implements IMesProductionRecordService { public void updateProductionRecord(String organizeCode, String userName, Long id, String errorMsg) { DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); DdlPreparedPack.getNumEqualPack(id, "id", ddlPackBean); -// DdlPreparedPack.getStringEqualPack(sn, "productSn", ddlPackBean); - productionRecordRepository.updateByProperties(new String[]{"modifyUser", "modifyDatetime","reportStatus", "remark"}, - new Object[]{userName, DateUtil.format(new Date(), MesPcnExtConstWords.DATE_FORMAT_SSS), MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_40.getValue(), errorMsg },ddlPackBean); - } + MesProductionRecord mesProductionRecord = productionRecordRepository.getByProperty(ddlPackBean); + if (mesProductionRecord !=null && Objects.equals(mesProductionRecord.getReportStatus(), MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_40.getValue())) { + productionRecordRepository.updateByPropertiesNoSync(new String[]{"modifyUser", "modifyDatetime","reportStatus", "remark"}, + new Object[]{userName, DateUtil.format(new Date(), MesPcnExtConstWords.DATE_FORMAT_SSS), MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_40.getValue(), errorMsg },ddlPackBean); + } else { + productionRecordRepository.updateByProperties(new String[]{"modifyUser", "modifyDatetime","reportStatus", "remark"}, + new Object[]{userName, DateUtil.format(new Date(), MesPcnExtConstWords.DATE_FORMAT_SSS), MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_40.getValue(), errorMsg },ddlPackBean); + + } + } @Override public ResultBean queryMesProductionRecordReport(String organizeCode, String productSn) { @@ -255,9 +261,16 @@ public class MesProductionRecordService implements IMesProductionRecordService { recordList.forEach(record->{ DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(record.getOrganizeCode()); DdlPreparedPack.getNumEqualPack(record.getId(), "id", ddlPackBean); - productionRecordRao.updateByPropertiesNoSync(new String[]{"modifyUser", "modifyDatetime", "reportStatus","remark","systemSyncStatus","systemSyncDatetime"}, - new Object[]{userName, DateUtil.format(new Date(), MesPcnExtConstWords.DATE_FORMAT_SSS), reportStatus,msg,CommonEnumUtil.FALSE,""}, ddlPackBean); + MesProductionRecord mesProductionRecord = productionRecordRepository.getByProperty(ddlPackBean); + if (mesProductionRecord !=null && Objects.equals(mesProductionRecord.getReportStatus(), MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_40.getValue())) { + productionRecordRao.updateByPropertiesNoSync(new String[]{"modifyUser", "modifyDatetime", "reportStatus","remark"}, + new Object[]{userName, DateUtil.format(new Date(), MesPcnExtConstWords.DATE_FORMAT_SSS), reportStatus,msg}, ddlPackBean); + } else { + productionRecordRao.updateByPropertiesNoSync(new String[]{"modifyUser", "modifyDatetime", "reportStatus","remark","systemSyncStatus","systemSyncDatetime"}, + new Object[]{userName, DateUtil.format(new Date(), MesPcnExtConstWords.DATE_FORMAT_SSS), reportStatus,msg,CommonEnumUtil.FALSE,""}, ddlPackBean); + + } }); } From 64b9c12fa2a4b74e91aff427d60768757c0de369 Mon Sep 17 00:00:00 2001 From: "xiangwei.zhang" <752558143@qq.com> Date: Thu, 10 Apr 2025 13:54:52 +0800 Subject: [PATCH 2/4] =?UTF-8?q?46256=20PCN=EF=BC=9A=E8=BF=94=E5=B7=A5?= =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E9=A1=B5=E9=9D=A2=EF=BC=8C=E7=82=B9=E5=87=BB?= =?UTF-8?q?=E8=BF=94=E5=B7=A5=E5=AE=8C=E6=88=90=E5=90=8E=EF=BC=8C=E6=95=B0?= =?UTF-8?q?=E9=87=8F=E5=AD=97=E6=AE=B5=E4=B8=BA0=EF=BC=8C=E4=BA=A7?= =?UTF-8?q?=E7=BA=BF=E4=BB=A3=E7=A0=81=E4=B8=BA=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mes/pcn/apiservice/serviceimpl/base/MesReworkTaskServiceImpl.java | 2 ++ .../pcn/apiservice/serviceimpl/busi/MesInputDefectRecordService.java | 1 + 2 files changed, 3 insertions(+) diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesReworkTaskServiceImpl.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesReworkTaskServiceImpl.java index 0ac189f..7d7a0c8 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesReworkTaskServiceImpl.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesReworkTaskServiceImpl.java @@ -292,6 +292,7 @@ public class MesReworkTaskServiceImpl implements IMesReworkTaskService { public void doReworkSuccess(MesReworkTaskRequestModel requestModel) { MesReworkTask mesReworkTask = getMesReworkTask(requestModel); + /** * 获取返工单信息 */ @@ -364,6 +365,7 @@ public class MesReworkTaskServiceImpl implements IMesReworkTaskService { if (mesPartInspection != null) { workCenterCode = mesPartInspection.getWorkCenterCode(); } + requestModel.setReworkedQty(mesReworkTask.getQty()); if (MesExtEnumUtil.NC_TYPE.REWORK.getValue() == requestModel.getType()) { if (!headModel && !CollectionUtils.isEmpty(mesPartModels) && mesPartModels.size() > 0) { String destLocateNo = getDestLocateNo(requestModel.getOrganizeCode(), mesPartInspection.getId()); 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 665dd30..00a6f07 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 @@ -238,6 +238,7 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService public void savePartInspection(MesPartInspectionInputModel model) { MesProduceSn produceSn = getProduceSn(model.getSn(), model.getOrganizeCode()); + model.setWorkCenterCode(produceSn.getWorkCenterCode()); if (null != produceSn && StringUtils.isEmpty(model.getPartNo())) model.setPartNo(produceSn.getPartNo()); //武汉 会输入客户条码 boolean isWorkOrderQcStatus=false; From ad4c284b58c7a56fb7d46969b2470331ef70801e Mon Sep 17 00:00:00 2001 From: "xiangwei.zhang" <752558143@qq.com> Date: Thu, 10 Apr 2025 15:37:02 +0800 Subject: [PATCH 3/4] =?UTF-8?q?46229=20PCN=EF=BC=9A=E5=AE=A2=E9=80=80?= =?UTF-8?q?=E5=93=81=E7=94=B5=E5=AD=90=E5=8C=96=E6=A3=80=E9=AA=8C=EF=BC=8C?= =?UTF-8?q?=E6=8E=92=E5=BA=8F=E7=BA=BF=E9=9C=80=E8=A6=81=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E6=89=AB=E6=8F=8F=E5=AE=A2=E6=88=B7=E6=9D=A1=E7=A0=81=E5=92=8C?= =?UTF-8?q?=E5=B7=A5=E5=8D=95=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../apiservice/serviceimpl/base/MesReworkTaskServiceImpl.java | 3 ++- .../pcn/apiservice/serviceimpl/busi/MesProduceSnExtService.java | 9 +++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesReworkTaskServiceImpl.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesReworkTaskServiceImpl.java index 7d7a0c8..2c09905 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesReworkTaskServiceImpl.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesReworkTaskServiceImpl.java @@ -364,6 +364,7 @@ public class MesReworkTaskServiceImpl implements IMesReworkTaskService { String workCenterCode = ""; if (mesPartInspection != null) { workCenterCode = mesPartInspection.getWorkCenterCode(); + requestModel.setSn(mesPartInspection.getSn()); } requestModel.setReworkedQty(mesReworkTask.getQty()); if (MesExtEnumUtil.NC_TYPE.REWORK.getValue() == requestModel.getType()) { @@ -1207,7 +1208,7 @@ public class MesReworkTaskServiceImpl implements IMesReworkTaskService { move.setPostTime(TimeTool.getTimeShortWithColon()); move.setMoveType(MesExtEnumUtil.MOVE_TYPE.RETURN_MOVE.getValue()); move.setProductSn(requestModel.getSn()); - move.setWorkCenter(workCenterCode); + move.setWorkCenter(prodOrgExtService.getErpWorkCenterCode(requestModel.getOrganizeCode(), workCenterCode)); ConvertBean.serviceModelInitialize(move, requestModel.getUserName()); moveRepository.insert(move); } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesProduceSnExtService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesProduceSnExtService.java index 52d5752..85a5178 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesProduceSnExtService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesProduceSnExtService.java @@ -67,8 +67,13 @@ public class MesProduceSnExtService implements IMesProduceSnExtService { DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); DdlPreparedPack.getStringEqualPack(productSn, MesPcnExtConstWords.PRODUCT_SN, packBean); - - return produceSnRepository.findByHqlWhere(packBean); + List snList = produceSnRepository.findByHqlWhere(packBean); + if (CollectionUtils.isEmpty(snList)) { + DdlPackBean packCustSnBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getStringEqualPack(productSn, MesPcnExtConstWords.CUST_SN, packCustSnBean); + snList = produceSnRepository.findByHqlWhere(packCustSnBean); + } + return snList; } //根据零件条码查询零件条码信息, 创建时间倒序 From 8b4febd729af9cdeb5e07b41bc988c017963faf0 Mon Sep 17 00:00:00 2001 From: "xiangwei.zhang" <752558143@qq.com> Date: Thu, 10 Apr 2025 15:40:07 +0800 Subject: [PATCH 4/4] =?UTF-8?q?46229=20PCN=EF=BC=9A=E5=AE=A2=E9=80=80?= =?UTF-8?q?=E5=93=81=E7=94=B5=E5=AD=90=E5=8C=96=E6=A3=80=E9=AA=8C=EF=BC=8C?= =?UTF-8?q?=E6=8E=92=E5=BA=8F=E7=BA=BF=E9=9C=80=E8=A6=81=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E6=89=AB=E6=8F=8F=E5=AE=A2=E6=88=B7=E6=9D=A1=E7=A0=81=E5=92=8C?= =?UTF-8?q?=E5=B7=A5=E5=8D=95=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pcn/apiservice/controller/base/MesWhiteController.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/base/MesWhiteController.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/base/MesWhiteController.java index 1b0ae92..49442ae 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/base/MesWhiteController.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/base/MesWhiteController.java @@ -5,6 +5,7 @@ import cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi.MesConfigService; import cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi.MesProduceSnExtService; import cn.estsh.impp.framework.boot.util.ResultBean; import cn.hutool.json.JSONUtil; +import com.alibaba.fastjson.JSONObject; import io.swagger.annotations.Api; import jodd.util.Base64; import lombok.extern.slf4j.Slf4j; @@ -43,7 +44,7 @@ public class MesWhiteController { @PostMapping("/picture") public ResultBean savePicture(@RequestBody MesPictureModel model){ - log.info("castle-保存图片开始"); + log.info("castle-保存图片开始 model={}", JSONObject.toJSONString(model)); String localUrl = mesConfigService.getCfgValue(model.getOrganizeCode(), "LOCAL_PICTURE_ABS_URL"); String fileName = localUrl+model.getFileName(); File file = new File(fileName); @@ -60,10 +61,14 @@ public class MesWhiteController { if (!StringUtils.isBlank(model.getRemoteUserName()) && !StringUtils.isBlank(model.getRemoteNginxUrl()) ){ // 构建scp命令 log.info("castle-保存图片开始-scp命令"); - String scpCommand = String.format("scp -P %s %s %s@%s:%s", model.getRemotePort() ,fileName, model.getRemoteUserName(), model.getRemoteNginxUrl(), localUrl); + String scpCommand = String.format("scp %s %s@%s:%s" ,fileName, model.getRemoteUserName(), model.getRemoteNginxUrl(), localUrl); + log.info("castle-保存图片开始-scp命令开始={}",scpCommand); + try { Runtime.getRuntime().exec(scpCommand); - } catch (IOException e) { + log.info("castle-保存图片开始-scp命令结束={}",scpCommand); + + } catch (Exception e) { log.error("调用scp命令失败,请手动同步图片:{}",fileName); } }