diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/numberrule/ChengDuSimpleYearNumberRuleStrategyService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/numberrule/ChengDuSimpleYearNumberRuleStrategyService.java index d6fe3b9..8ed6966 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/numberrule/ChengDuSimpleYearNumberRuleStrategyService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/numberrule/ChengDuSimpleYearNumberRuleStrategyService.java @@ -3,11 +3,16 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.numberrule; import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesCustomerPartService; import cn.estsh.i3plus.ext.mes.pcn.apiservice.util.MesPcnException; import cn.estsh.i3plus.mes.pcn.api.iservice.busi.INumberRulePackAttributeStrategyService; +import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; +import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; +import cn.estsh.i3plus.pojo.mes.bean.MesCustPartInvoiced; import cn.estsh.i3plus.pojo.mes.bean.MesCustomerPart; import cn.estsh.i3plus.pojo.mes.model.GenSerialNoModel; +import cn.estsh.i3plus.pojo.mes.repository.MesCustPartInvoicedRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; +import org.springframework.util.StringUtils; import java.text.SimpleDateFormat; import java.util.Date; @@ -26,6 +31,8 @@ public class ChengDuSimpleYearNumberRuleStrategyService implements INumberRulePa @Autowired private IMesCustomerPartService mesCustomerPartService; + @Autowired + private MesCustPartInvoicedRepository partInvoicedRao; @Override public GenSerialNoModel execute(GenSerialNoModel genSerialNoModel) { @@ -35,7 +42,14 @@ public class ChengDuSimpleYearNumberRuleStrategyService implements INumberRulePa if (Objects.isNull(customerPart)) { MesPcnException.throwMesBusiException("请检查客户零件信息,零件[%s]客户零件关系未维护", genSerialNoModel.getPartNo()); } - genSerialNoModel.setCustPartNo(customerPart.getCustPartNo()); + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(genSerialNoModel.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(genSerialNoModel.getPartNo(), "partNo", ddlPackBean); + MesCustPartInvoiced invoiced = partInvoicedRao.getByProperty(ddlPackBean); + if (invoiced != null && !StringUtils.isEmpty(invoiced.getCustPartNo())) { + genSerialNoModel.setCustPartNo(invoiced.getCustPartNo()); + } else { + genSerialNoModel.setCustPartNo(customerPart.getCustPartNo()); + } Date date = new Date(); genSerialNoModel.setYear(getYear(date)); return genSerialNoModel;