From 78fb82c88a69fc3ce0db6fcd9db126ce41ce3f47 Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Mon, 30 Sep 2024 14:43:45 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=84=E5=88=99=E5=B9=B6=E6=88=AA=E5=8F=96?= =?UTF-8?q?=E5=8F=B3=E4=BE=A7=E6=B5=81=E6=B0=B4=E8=A3=85=E9=85=8D=E4=BB=B6?= =?UTF-8?q?=E8=A7=84=E5=88=99,=20=E7=94=9F=E6=88=90=E9=9B=B6=E4=BB=B6?= =?UTF-8?q?=E6=9D=A1=E7=A0=81=E5=B7=A5=E6=AD=A5=E9=9C=80=E8=A6=81=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E6=AD=A4=E6=B5=81=E6=B0=B4=E7=94=9F=E6=88=90=E6=96=B0?= =?UTF-8?q?=E7=9A=84=E9=9B=B6=E4=BB=B6=E6=9D=A1=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...esNumberRuleStrategySubstringSerialService.java | 42 ++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/numberrule/MesNumberRuleStrategySubstringSerialService.java diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/numberrule/MesNumberRuleStrategySubstringSerialService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/numberrule/MesNumberRuleStrategySubstringSerialService.java new file mode 100644 index 0000000..8cf159b --- /dev/null +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/numberrule/MesNumberRuleStrategySubstringSerialService.java @@ -0,0 +1,42 @@ +package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.numberrule; + +import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionDispatchContextStepService; +import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProdTempDataContext; +import cn.estsh.i3plus.mes.pcn.api.iservice.busi.INumberRulePackAttributeStrategyService; +import cn.estsh.i3plus.pojo.mes.model.GenSerialNoModel; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import org.springframework.util.CollectionUtils; +import org.springframework.util.StringUtils; + +import java.util.List; +import java.util.Optional; + +/** + * @Description : 使用规则并截取右侧流水装配件规则截取的流水号作为条码的流水号 + * @Reference : + * @Author : wangjie + * @CreateDate 2024/9/26 19:24 + * @Modify: + **/ +@Component +public class MesNumberRuleStrategySubstringSerialService implements INumberRulePackAttributeStrategyService { + + @Autowired + private IMesProductionDispatchContextStepService productionDispatchContextStepService; + + @Override + public GenSerialNoModel execute(GenSerialNoModel genSerialNoModel) { + + //规则并截取右侧流水装配件规则, 生成零件条码工步需要使用此流水生成新的零件条码 + List prodTempDataContextList = productionDispatchContextStepService.getProdTempDataContext(genSerialNoModel.getOrganizeCode(), genSerialNoModel.getWorkCenterCode(), genSerialNoModel.getWorkCellCode()); + + Optional optional = CollectionUtils.isEmpty(prodTempDataContextList) ? null : + prodTempDataContextList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getForeignKey()) && o.getForeignKey().compareTo(genSerialNoModel.getForeignKey()) == 0)).findFirst(); + + if (null != optional && optional.isPresent() && !StringUtils.isEmpty(optional.get().getSerialNo())) genSerialNoModel.appendSerialno(optional.get().getSerialNo()); + + return genSerialNoModel; + + } +}