需求 44430 待开票业务方案

tags/yfai-mes-ext-v3.0^2
臧学普 4 months ago
parent adb0cf7a8b
commit ed761df83d

@ -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<MesCustomerCarModelDetail> 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<MesCustomerCarModel> 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());

@ -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<MesPartProdGroupDetail> 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<MesPartProdGro
ValidatorBean.checkNotNull(item.getPartNo(), "零件号不能为空");
ValidatorBean.checkNotNull(item.getCustPartNo(), "客户零件号不能为空");
boolean check = check(item.getOrganizeCode(), item.getCustPartNo(), item.getPartProdGroupCode());
if (!check){
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("待开票表及客户零件表不存在客户零件号【%s】请检查数据",
item.getCustPartNo())
.build();
}
DdlPackBean custBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(item.getPartProdGroupCode(), "partProdGroupCode", custBean);
DdlPreparedPack.getStringEqualPack(item.getCustPartNo(), "custPartNo", custBean);
@ -53,6 +74,29 @@ public class MesPartProdGroupDetailService extends BaseMesService<MesPartProdGro
}
}
private boolean check(String organizeCode,String custPartNo,String partProdGroupCode){
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(partProdGroupCode,"partProdGroupCode", ddlPackBean);
List<MesPartProdGroup> 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<MesPartProdGroupDetail> beanList) {

@ -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<MesPartShippingGroupDetail> 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<MesPartShippingGroup> 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);

@ -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<MesPartTransferDetail> 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<MesPartTransfer
// ValidatorBean.checkNotNull(item.getCustCode(), "custCode不能为空" );+
// ValidatorBean.checkNotNull(item.getMessageNo(), "messageNo不能为空");
// ValidatorBean.checkNotNull(item.getCustOrganizeCode(), "custOrganizeCode不能为空" );
boolean result = check(item.getCustCode(), item.getCustPartNo(), item.getOrganizeCode());
if (!result) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("待开票表及客户零件表不存在客户代码【%s】 的客户零件号【%s】请检查数据",
item.getCustPartNo(),item.getPartNo())
.build();
}
//唯一性校验
DdlPackBean packBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(item.getPartNo(),"partNo",packBean);

@ -5,19 +5,20 @@ 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.MesErpWorkCenter;
import cn.estsh.i3plus.pojo.mes.bean.MesPartShippingGroup;
import cn.estsh.i3plus.pojo.mes.bean.MesPartTransfer;
import cn.estsh.i3plus.pojo.mes.bean.MesProdShiftRecord;
import cn.estsh.i3plus.pojo.mes.bean.*;
import cn.estsh.i3plus.pojo.mes.repository.MesCustPartInvoicedRepository;
import cn.estsh.i3plus.pojo.mes.repository.MesCustomerPartRepository;
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;
@Service
@Slf4j
public class MesPartTransferService extends BaseMesService<MesPartTransfer> 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<MesPartTransfer> impl
.build();
}
}
@Override
protected void onUpdateBean(MesPartTransfer item) {
// 数据校验

Loading…
Cancel
Save