From ed761df83d80926738777a3ea1c3520017da0be3 Mon Sep 17 00:00:00 2001 From: "castle.zang" Date: Wed, 25 Dec 2024 17:19:27 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9C=80=E6=B1=82=2044430=20=E5=BE=85=E5=BC=80?= =?UTF-8?q?=E7=A5=A8=E4=B8=9A=E5=8A=A1=E6=96=B9=E6=A1=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/MesCustomerCarModelDetailService.java | 50 +++++++++++++++++++++ .../base/MesPartProdGroupDetailService.java | 44 +++++++++++++++++++ .../base/MesPartShippingGroupDetailService.java | 51 ++++++++++++++++++++++ .../base/MesPartTransferDetailService.java | 37 +++++++++++++++- .../serviceimpl/base/MesPartTransferService.java | 11 +++-- 5 files changed, 188 insertions(+), 5 deletions(-) diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesCustomerCarModelDetailService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesCustomerCarModelDetailService.java index b0b1458..d428420 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesCustomerCarModelDetailService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesCustomerCarModelDetailService.java @@ -5,19 +5,69 @@ import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; +import cn.estsh.i3plus.pojo.mes.bean.MesCustomerCarModel; import cn.estsh.i3plus.pojo.mes.bean.MesCustomerCarModelDetail; +import cn.estsh.i3plus.pojo.mes.bean.MesPartShippingGroup; +import cn.estsh.i3plus.pojo.mes.repository.MesCustPartInvoicedRepository; +import cn.estsh.i3plus.pojo.mes.repository.MesCustomerCarModelRepository; +import cn.estsh.i3plus.pojo.mes.repository.MesCustomerPartRepository; +import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; + @Service @Slf4j public class MesCustomerCarModelDetailService extends BaseMesService implements IMesCustomerCarModelDetailService { + @Autowired + private MesCustPartInvoicedRepository mesCustPartInvoicedRao; + + @Autowired + private MesCustomerPartRepository customerPartRao; + + @Autowired + private MesCustomerCarModelRepository customerCarModelRao; + + private boolean check(String organizeCode,String custPartNo,String carModelCode){ + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getStringEqualPack(carModelCode,"carModelCode", ddlPackBean); + List carModelList = customerCarModelRao.findByHqlTopWhere(ddlPackBean, 1); + if (carModelList == null || carModelList.isEmpty()) { + return false; + } + String custCode = carModelList.get(0).getCustCode(); + DdlPackBean ddlPackBean1 = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getStringEqualPack(custCode,"custCode",ddlPackBean1); + DdlPreparedPack.getStringEqualPack(custPartNo,"custPartNo",ddlPackBean1); + + int count = mesCustPartInvoicedRao.findByHqlWhereCount(ddlPackBean1); + if (count > 0) { + return true; + }else { + DdlPackBean custPackBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getStringEqualPack(custCode,"custCode",custPackBean); + DdlPreparedPack.getStringEqualPack(custPartNo,"custPartNo",custPackBean); + int count1 = customerPartRao.findByHqlWhereCount(custPackBean); + return count1 > 0; + } + } protected void setPackQueryBean(MesCustomerCarModelDetail bean, DdlPackBean packBean) { DdlPreparedPack.getStringEqualPack(bean.getCarModelCode(),"carModelCode",packBean); } protected void onInsertBean(MesCustomerCarModelDetail item) { + boolean check = check(AuthUtil.getOrganizeCode(), item.getCustPartNo(), item.getCarModelCode()); + if (!check) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("待开票表及客户零件表不存在客户零件号【%s】,请检查数据", + item.getCustPartNo()) + .build(); + } // 数据校验 DdlPackBean roadPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartProdGroupDetailService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartProdGroupDetailService.java index 08b2e30..33485d7 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartProdGroupDetailService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartProdGroupDetailService.java @@ -9,9 +9,13 @@ import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; import cn.estsh.i3plus.pojo.mes.bean.MesPartProdGroup; import cn.estsh.i3plus.pojo.mes.bean.MesPartProdGroupDetail; import cn.estsh.i3plus.pojo.mes.bean.MesPartProduceType; +import cn.estsh.i3plus.pojo.mes.repository.MesCustPartInvoicedRepository; +import cn.estsh.i3plus.pojo.mes.repository.MesCustomerPartRepository; +import cn.estsh.i3plus.pojo.mes.repository.MesPartProdGroupRepository; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.util.ValidatorBean; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @@ -20,7 +24,14 @@ import java.util.List; @Slf4j public class MesPartProdGroupDetailService extends BaseMesService implements IMesPartProdGroupDetailService { + @Autowired + private MesPartProdGroupRepository partProdGroupRao; + @Autowired + private MesCustPartInvoicedRepository mesCustPartInvoicedRao; + + @Autowired + private MesCustomerPartRepository customerPartRao; protected void setPackQueryBean(MesPartProdGroupDetail bean, DdlPackBean packBean) { DdlPreparedPack.getStringEqualPack(bean.getPartProdGroupCode(), "partProdGroupCode", packBean); @@ -40,6 +51,16 @@ public class MesPartProdGroupDetailService extends BaseMesService mesPartProdGroupList = partProdGroupRao.findByHqlTopWhere(ddlPackBean, 1); + if (mesPartProdGroupList == null || mesPartProdGroupList.isEmpty()) { + return false; + } + String custCode = mesPartProdGroupList.get(0).getCustCode(); + DdlPackBean ddlPackBean1 = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getStringEqualPack(custCode,"custCode",ddlPackBean1); + DdlPreparedPack.getStringEqualPack(custPartNo,"custPartNo",ddlPackBean1); + + int count = mesCustPartInvoicedRao.findByHqlWhereCount(ddlPackBean1); + if (count > 0) { + return true; + }else { + DdlPackBean custPackBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getStringEqualPack(custCode,"custCode",custPackBean); + DdlPreparedPack.getStringEqualPack(custPartNo,"custPartNo",custPackBean); + int count1 = customerPartRao.findByHqlWhereCount(custPackBean); + return count1 > 0; + } + } @Override public void validateImport(List beanList) { diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartShippingGroupDetailService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartShippingGroupDetailService.java index 448feaa..b012f8a 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartShippingGroupDetailService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartShippingGroupDetailService.java @@ -5,10 +5,17 @@ import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; +import cn.estsh.i3plus.pojo.mes.bean.MesPartProdGroup; +import cn.estsh.i3plus.pojo.mes.bean.MesPartShippingGroup; import cn.estsh.i3plus.pojo.mes.bean.MesPartShippingGroupDetail; +import cn.estsh.i3plus.pojo.mes.repository.MesCustPartInvoicedRepository; +import cn.estsh.i3plus.pojo.mes.repository.MesCustomerPartRepository; +import cn.estsh.i3plus.pojo.mes.repository.MesPartShippingGroupRepository; +import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.util.ValidatorBean; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @@ -16,6 +23,50 @@ import java.util.List; @Service @Slf4j public class MesPartShippingGroupDetailService extends BaseMesService implements IMesPartShippingGroupDetailService { + @Autowired + private MesCustPartInvoicedRepository mesCustPartInvoicedRao; + + @Autowired + private MesCustomerPartRepository customerPartRao; + @Autowired + private MesPartShippingGroupRepository shippingGroupRao; + + private boolean check(String organizeCode,String custPartNo,String shippingGroupCode){ + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getStringEqualPack(shippingGroupCode,"partProdGroupCode", ddlPackBean); + List shippingGroupList = shippingGroupRao.findByHqlTopWhere(ddlPackBean, 1); + if (shippingGroupList == null || shippingGroupList.isEmpty()) { + return false; + } + String custCode = shippingGroupList.get(0).getCustCode(); + DdlPackBean ddlPackBean1 = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getStringEqualPack(custCode,"custCode",ddlPackBean1); + DdlPreparedPack.getStringEqualPack(custPartNo,"custPartNo",ddlPackBean1); + + int count = mesCustPartInvoicedRao.findByHqlWhereCount(ddlPackBean1); + if (count > 0) { + return true; + }else { + DdlPackBean custPackBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getStringEqualPack(custCode,"custCode",custPackBean); + DdlPreparedPack.getStringEqualPack(custPartNo,"custPartNo",custPackBean); + int count1 = customerPartRao.findByHqlWhereCount(custPackBean); + return count1 > 0; + } + } + + @Override + protected void onInsertBean(MesPartShippingGroupDetail item) { + boolean check = check(AuthUtil.getOrganizeCode(), item.getCustPartNo(), item.getShippingGroupCode()); + if (!check) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("待开票表及客户零件表不存在客户零件号【%s】,请检查数据", + item.getCustPartNo()) + .build(); + } + } protected void setPackQueryBean(MesPartShippingGroupDetail bean, DdlPackBean packBean) { DdlPreparedPack.getStringEqualPack(bean.getShippingGroupCode(), "shippingGroupCode", packBean); diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartTransferDetailService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartTransferDetailService.java index 6bb94ad..52a902f 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartTransferDetailService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartTransferDetailService.java @@ -10,11 +10,14 @@ import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentSpotCheck; import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentSpotCheckPart; import cn.estsh.i3plus.pojo.mes.bean.MesPartTransfer; import cn.estsh.i3plus.pojo.mes.bean.MesPartTransferDetail; +import cn.estsh.i3plus.pojo.mes.repository.MesCustPartInvoicedRepository; +import cn.estsh.i3plus.pojo.mes.repository.MesCustomerPartRepository; import cn.estsh.i3plus.pojo.mes.repository.MesPartTransferDetailRepository; import cn.estsh.i3plus.pojo.mes.repository.MesPartTransferRepository; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.util.ValidatorBean; import lombok.extern.slf4j.Slf4j; +import org.python.antlr.ast.Str; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -25,8 +28,32 @@ import java.util.List; public class MesPartTransferDetailService extends BaseMesService implements IMesPartTransferDetailService { @Autowired + private MesCustPartInvoicedRepository mesCustPartInvoicedRao; + + @Autowired + private MesCustomerPartRepository customerPartRao; + + @Autowired private MesPartTransferRepository partTransferRepository; + private boolean check(String custCode, String custPartNo, String organizeCode) { + + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getStringEqualPack(custCode,"custCode",ddlPackBean); + DdlPreparedPack.getStringEqualPack(custPartNo,"custPartNo",ddlPackBean); + + int count = mesCustPartInvoicedRao.findByHqlWhereCount(ddlPackBean); + if (count > 0) { + return true; + }else { + DdlPackBean custPackBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getStringEqualPack(custCode,"custCode",custPackBean); + DdlPreparedPack.getStringEqualPack(custPartNo,"custPartNo",custPackBean); + int count1 = customerPartRao.findByHqlWhereCount(custPackBean); + return count1 > 0; + } + } + protected void setPackQueryBean(MesPartTransferDetail bean, DdlPackBean packBean) { DdlPreparedPack.getNumEqualPack(bean.getPid(),"pid",packBean); DdlPreparedPack.getStringEqualPack(bean.getCustCode(),"custCode",packBean); @@ -46,7 +73,15 @@ public class MesPartTransferDetailService extends BaseMesService implements IMesPartTransferService { + @Override protected void setPackQueryBean(MesPartTransfer bean, DdlPackBean packBean) { DdlPreparedPack.getStringLikerPack(bean.getCustCode(), "custCode", packBean); @@ -48,6 +49,8 @@ public class MesPartTransferService extends BaseMesService impl .build(); } } + + @Override protected void onUpdateBean(MesPartTransfer item) { // 数据校验