From 86a6b595fdd7e5c39092b683c6755a8ba2213b51 Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Wed, 15 Jan 2025 21:43:24 +0800 Subject: [PATCH] =?UTF-8?q?44517=20=E8=A3=85=E7=AE=B1=E9=98=B2=E9=94=99?= =?UTF-8?q?=E5=90=8E=E5=90=90=E6=9D=A1=E7=A0=81=E9=9C=80=E6=B1=82=EF=BC=88?= =?UTF-8?q?=E8=8A=9C=E6=B9=96=EF=BC=89=E4=B8=B4=E6=97=B6=E4=BF=9D=E5=AD=98?= =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MesFunctionPackageProgressService.java | 31 +++++++++++----------- .../step/MesPackageNoGenerateStepService.java | 26 +++++++++--------- .../method/IMesPackageNoGenerateStepService.java | 19 +++++-------- 3 files changed, 34 insertions(+), 42 deletions(-) diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/function/MesFunctionPackageProgressService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/function/MesFunctionPackageProgressService.java index 64e3fd8..edc54a2 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/function/MesFunctionPackageProgressService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/function/MesFunctionPackageProgressService.java @@ -18,6 +18,8 @@ import com.alibaba.fastjson.JSONObject; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; @@ -80,49 +82,52 @@ public class MesFunctionPackageProgressService extends BaseSwsService implements resultBean.writeDbLog(MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_LOG_TYPE.PICK.getValue()).scanInfo(packageDataContext.getPackageNo()); if (null == packageDataContext) { - return doPackResultMap(reqBean, resultBean, resultMap, + return packResultMap(reqBean, resultBean, resultMap, String.format("生产线[%s]工位[%s]强制打包失败,参数异常!", reqBean.getWorkCenterCode(), reqBean.getWorkCellCode())); } if (CollectionUtils.isEmpty(packageDataContextMap) || !packageDataContextMap.containsKey(packageDataContext.getPartNo())) { - return doPackResultMap(reqBean, resultBean, resultMap, + return packResultMap(reqBean, resultBean, resultMap, String.format("生产线[%s]工位[%s]强制打包失败,当前已无零件号[%s]未封箱状态的包装信息!", reqBean.getWorkCenterCode(), reqBean.getWorkCellCode(), packageDataContext.getPartNo())); } List packageDataContextList = JSONObject.parseArray(packageDataContextMap.get(packageDataContext.getPartNo()), MesPackageDataContext.class); if (CollectionUtils.isEmpty(packageDataContextList) || !packageDataContextList.get(0).getPackageNo().equals(packageDataContext.getPackageNo())) { - return doPackResultMap(reqBean, resultBean, resultMap, + return packResultMap(reqBean, resultBean, resultMap, String.format("生产线[%s]工位[%s]强制打包失败,打包进度列表中已经不存在包装条码[%s],请刷新重试!", reqBean.getWorkCenterCode(), reqBean.getWorkCellCode(), packageDataContext.getPackageNo())); } MesPackage packageDb = packageNoGenerateStepService.getMesPackage(reqBean.getOrganizeCode(), packageDataContextList.get(0).getPackageId()); if (null == packageDb) { - return doPackResultMap(reqBean, resultBean, resultMap, + return packResultMap(reqBean, resultBean, resultMap, String.format("生产线[%s]工位[%s]强制打包失败,包装条码[%s]信息已经不存在,请刷新重试!", reqBean.getWorkCenterCode(), reqBean.getWorkCellCode(), packageDataContext.getPackageNo())); } StepResult stepResult = StepResult.getSuccessComplete(); try { - doForcePrint(reqBean, resultBean, stepResult, packageDataContextList, packageDb, packageDataContextMap); + packageNoGenerateStepService.doForcePrint(reqBean, resultBean, stepResult, packageDataContextList, packageDb); } catch (ImppBusiException e) { stepResult.msg(e.getMessage()); } catch (Exception e) { stepResult.msg(e.getMessage()); } if (!StringUtils.isEmpty(stepResult.getMsg())) { - return doPackResultMap(reqBean, resultBean, resultMap, + return packResultMap(reqBean, resultBean, resultMap, String.format("生产线[%s]工位[%s]强制打包失败,%s", reqBean.getWorkCenterCode(), reqBean.getWorkCellCode(), stepResult.getMsg())); } + packageDataContextMap.remove(packageDataContext.getPartNo()); + productionCustomContextStepService.dispatchPackageDataContext(reqBean, packageDataContextMap); + resultList = resultList.stream().filter(o -> (null != o && !o.getPackageNo().equals(packageDataContext.getPackageNo()))).collect(Collectors.toList()); if (CollectionUtils.isEmpty(resultList)) resultMap.remove(MesPcnExtConstWords.DATA); else resultMap.put(MesPcnExtConstWords.DATA, resultList); resultMap.put(MesPcnExtConstWords.DATA_TYPE, MesPcnEnumUtil.STATION_DATA_TYPE.TEXT.getValue()); - return doPackResultMap(reqBean, resultBean, resultMap, String.format("零件号[%s]强制封箱成功!", packageDataContext.getPartNo())); + return packResultMap(reqBean, resultBean, resultMap, String.format("零件号[%s]强制封箱成功!", packageDataContext.getPartNo())); } - private Object doPackResultMap(StationRequestBean reqBean, StationResultBean resultBean, Map resultMap, String message) { + private Object packResultMap(StationRequestBean reqBean, StationResultBean resultBean, Map resultMap, String message) { this.sendMessage(reqBean, resultBean, message, MesPcnEnumUtil.STATION_BUSI_TYPE.RUNNING_INFO, MesPcnEnumUtil.STATION_DATA_TYPE.EXP_TEXT); resultMap.put(MesPcnExtConstWords.MESSAGE, message); return resultMap; @@ -130,14 +135,8 @@ public class MesFunctionPackageProgressService extends BaseSwsService implements private void doForcePrint(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult, List packageDataContextList, MesPackage packageDb, Map packageDataContextMap) { - packageNoGenerateStepService.savePackageDb(reqBean, packageDb, packageDataContextList.size(), true, false); - List packageList = new ArrayList<>(); - packageList.add(packageDb); - MesProduceSnPrintModel printModel = packageNoGenerateStepService.printProduceSn(reqBean, resultBean, stepResult, packageDataContextList.get(0), null, null, packageList, true); - packageNoGenerateStepService.doPrint(reqBean, printModel); - packageNoGenerateStepService.savePackageDbById(reqBean, packageDb); - packageDataContextMap.remove(packageDb.getPartNo()); - productionCustomContextStepService.dispatchPackageDataContext(reqBean, packageDataContextMap); + + } } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesPackageNoGenerateStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesPackageNoGenerateStepService.java index 5913cde..0ff1e78 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesPackageNoGenerateStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesPackageNoGenerateStepService.java @@ -179,8 +179,7 @@ public class MesPackageNoGenerateStepService extends BaseStepService implements //判断存在包装信息则进行打印 if (!CollectionUtils.isEmpty(stepResult.getDataCollection())) { - MesProduceSnPrintModel printModel = printProduceSn(reqBean, resultBean, stepResult, packageRuleContext, labelTemplate, strategyService, (List) stepResult.getDataCollection(), false); - doPrint(reqBean, printModel); + doPrintPackageNo(reqBean, resultBean, stepResult, packageRuleContext, labelTemplate, strategyService, (List) stepResult.getDataCollection(), false); } } @@ -354,8 +353,7 @@ public class MesPackageNoGenerateStepService extends BaseStepService implements } //判断包装条码是否存在ID进行新增或者更新操作, 如果满足标包则标记满包状态跟打印状态 - @Override - public MesPackage savePackageDb(StationRequestBean reqBean, MesPackage packageDb, Integer curQty, Boolean isSealed, Boolean isSave) { + private MesPackage savePackageDb(StationRequestBean reqBean, MesPackage packageDb, Integer curQty, Boolean isSealed, Boolean isSave) { if (!StringUtils.isEmpty(packageDb.getId())) { //下面直接根据ID进行修改, 所以此处置为游离态 @@ -379,8 +377,7 @@ public class MesPackageNoGenerateStepService extends BaseStepService implements return packageDb; } - @Override - public void savePackageDbById(StationRequestBean reqBean, MesPackage packageDb) { + private void savePackageDbById(StationRequestBean reqBean, MesPackage packageDb) { packageRepository.updateByPropertiesNoSync( new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.ID}, new Object[]{reqBean.getOrganizeCode(), packageDb.getId()}, @@ -455,8 +452,7 @@ public class MesPackageNoGenerateStepService extends BaseStepService implements return null; } - @Override - public MesProduceSnPrintModel printProduceSn(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult, MesPackageRuleContext packageRuleContext, + private void doPrintPackageNo(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult, MesPackageRuleContext packageRuleContext, MesLabelTemplate labelTemplate, IPrintTemplateStrategyService strategyService, List packageList, Boolean isAsyn) { if (null == strategyService) { //查询模版信息 @@ -492,11 +488,6 @@ public class MesPackageNoGenerateStepService extends BaseStepService implements } else MesPcnException.throwBusiException("%s %s!", webMsg, e.toString()); } - return printModel; - } - - @Override - public void doPrint(StationRequestBean reqBean, MesProduceSnPrintModel printModel) { if (CollectionUtils.isEmpty(printModel.getPrintContextList())) return; //发送打印信息 @@ -511,4 +502,13 @@ public class MesPackageNoGenerateStepService extends BaseStepService implements printedSnLogRepository.saveAll(printModel.getMesPrintedSnLogList()); } + @Override + public void doForcePrint(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult, List packageDataContextList, MesPackage packageDb) { + savePackageDb(reqBean, packageDb, packageDataContextList.size(), true, false); + List packageList = new ArrayList<>(); + packageList.add(packageDb); + doPrintPackageNo(reqBean, resultBean, stepResult, packageDataContextList.get(0), null, null, packageList, true); + savePackageDbById(reqBean, packageDb); + } + } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/method/IMesPackageNoGenerateStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/method/IMesPackageNoGenerateStepService.java index 72f7a1a..ac30557 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/method/IMesPackageNoGenerateStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/method/IMesPackageNoGenerateStepService.java @@ -1,13 +1,13 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.step.method; -import cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.print.IPrintTemplateStrategyService; -import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesPackageRuleContext; -import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesProduceSnPrintModel; -import cn.estsh.i3plus.pojo.mes.bean.MesLabelTemplate; +import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesPackageDataContext; import cn.estsh.i3plus.pojo.mes.bean.MesPackage; import cn.estsh.i3plus.pojo.mes.model.StationRequestBean; import cn.estsh.i3plus.pojo.mes.model.StationResultBean; import cn.estsh.i3plus.pojo.mes.model.StepResult; +import cn.estsh.impp.framework.boot.exception.ImppBusiException; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; import java.util.List; @@ -15,13 +15,6 @@ public interface IMesPackageNoGenerateStepService { MesPackage getMesPackage(String organizeCode, Long packageId); - MesPackage savePackageDb(StationRequestBean reqBean, MesPackage packageDb, Integer curQty, Boolean isSealed, Boolean isSave); - - void savePackageDbById(StationRequestBean reqBean, MesPackage packageDb); - - MesProduceSnPrintModel printProduceSn(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult, MesPackageRuleContext packageRuleContext, - MesLabelTemplate labelTemplate, IPrintTemplateStrategyService strategyService, List packageList, Boolean isAsyn); - - void doPrint(StationRequestBean reqBean, MesProduceSnPrintModel printModel); - + @Transactional(propagation = Propagation.NESTED, rollbackFor = {ImppBusiException.class, Exception.class}) + void doForcePrint(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult, List packageDataContextList, MesPackage packageDb); }