来料加工
This commit is contained in:
@@ -178,18 +178,34 @@ public class EntrustOrderDetailDO extends BusinessBaseDO {
|
||||
private Integer lineNumber;
|
||||
|
||||
/**
|
||||
* 金属元素缩写
|
||||
* 收货金属元素缩写
|
||||
*/
|
||||
@TableField("ELEM_ABBR")
|
||||
private String elementAbbreviation;
|
||||
/**
|
||||
* 金属元素名称
|
||||
* 收货金属元素名称
|
||||
*/
|
||||
@TableField("ELEM_NAME")
|
||||
private String elementName;
|
||||
/**
|
||||
* 金属元素编码
|
||||
* 收货金属元素编码
|
||||
*/
|
||||
@TableField("ELEM_NUM")
|
||||
private String elementNumber;
|
||||
|
||||
/**
|
||||
* 发货金属元素缩写
|
||||
*/
|
||||
@TableField("SND_ELEM_ABBR")
|
||||
private String sendElementAbbreviation;
|
||||
/**
|
||||
* 发货金属元素名称
|
||||
*/
|
||||
@TableField("SND_ELEM_NAME")
|
||||
private String sendElementName;
|
||||
/**
|
||||
* 发货金属元素编码
|
||||
*/
|
||||
@TableField("SND_ELEM_NUM")
|
||||
private String sendElementNumber;
|
||||
}
|
||||
@@ -10,6 +10,8 @@ import com.zt.plat.module.contractorder.api.vo.contract.ContractPageReqVO;
|
||||
import com.zt.plat.module.contractorder.dal.dataobject.contract.ContractMainDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* 合同主信息 Mapper
|
||||
*
|
||||
@@ -18,6 +20,13 @@ import org.apache.ibatis.annotations.Mapper;
|
||||
@Mapper
|
||||
public interface ContractMainMapper extends BaseMapperX<ContractMainDO> {
|
||||
default PageResult<ContractMainDO> selectContractPage(ContractPageReqVO reqVO) {
|
||||
String businessType = reqVO.getBusinessType();
|
||||
String[] businessTypeArray = (businessType != null && !businessType.isEmpty())
|
||||
? Arrays.stream(businessType.split(","))
|
||||
.map(String::trim)
|
||||
.filter(s -> !s.isEmpty())
|
||||
.toArray(String[]::new)
|
||||
: null;
|
||||
return selectPage(reqVO, new LambdaQueryWrapperX<ContractMainDO>()
|
||||
.likeIfPresent(ContractMainDO::getContractName, reqVO.getContractName())
|
||||
.likeIfPresent(ContractMainDO::getContractPaperNumber, reqVO.getContractPaperNumber())
|
||||
@@ -27,11 +36,18 @@ public interface ContractMainMapper extends BaseMapperX<ContractMainDO> {
|
||||
.likeIfPresent(ContractMainDO::getSalesCompanyName, reqVO.getSalesCompanyName())
|
||||
.eqIfPresent(ContractMainDO::getBasicAmount, reqVO.getBasicAmount())
|
||||
.eqIfPresent(ContractMainDO::getStatus, reqVO.getStatus())
|
||||
.eqIfPresent(ContractMainDO::getBusinessType, reqVO.getBusinessType())
|
||||
.inIfPresent(ContractMainDO::getBusinessType, businessTypeArray)
|
||||
.orderByDesc(ContractMainDO::getCreateTime));
|
||||
}
|
||||
|
||||
default PageResult<ContractMainDO> selectContractPageNoPermission(ContractPageReqVO reqVO) {
|
||||
String businessType = reqVO.getBusinessType();
|
||||
String[] businessTypeArray = (businessType != null && !businessType.isEmpty())
|
||||
? Arrays.stream(businessType.split(","))
|
||||
.map(String::trim)
|
||||
.filter(s -> !s.isEmpty())
|
||||
.toArray(String[]::new)
|
||||
: null;
|
||||
return selectPage(reqVO, new LambdaQueryWrapperX<ContractMainDO>()
|
||||
.likeIfPresent(ContractMainDO::getContractName, reqVO.getContractName())
|
||||
.likeIfPresent(ContractMainDO::getContractPaperNumber, reqVO.getContractPaperNumber())
|
||||
@@ -41,7 +57,7 @@ public interface ContractMainMapper extends BaseMapperX<ContractMainDO> {
|
||||
.likeIfPresent(ContractMainDO::getSalesCompanyName, reqVO.getSalesCompanyName())
|
||||
.eqIfPresent(ContractMainDO::getBasicAmount, reqVO.getBasicAmount())
|
||||
.eqIfPresent(ContractMainDO::getStatus, reqVO.getStatus())
|
||||
.eqIfPresent(ContractMainDO::getBusinessType, reqVO.getBusinessType())
|
||||
.inIfPresent(ContractMainDO::getBusinessType, businessTypeArray)
|
||||
.eqIfPresent(ContractMainDO::getErpSalesCompanyNumber, reqVO.getErpSalesCompanyNumber())
|
||||
.eqIfPresent(ContractMainDO::getErpPurchaseCompanyNumber, reqVO.getErpPurchaseCompanyNumber())
|
||||
.orderByDesc(ContractMainDO::getCreateTime));
|
||||
|
||||
@@ -49,7 +49,8 @@ public class EntrustOrderDetailServiceImpl implements EntrustOrderDetailService
|
||||
|
||||
@Resource
|
||||
private ElementService elementService;
|
||||
|
||||
@Resource
|
||||
private MaterialInfomationApi materialInfomationApi;
|
||||
@Resource
|
||||
private EntrustOrderDetailMapper entrustOrderDetailMapper;
|
||||
|
||||
@@ -57,7 +58,9 @@ public class EntrustOrderDetailServiceImpl implements EntrustOrderDetailService
|
||||
public EntrustOrderDetailRespVO createEntrustOrderDetail(EntrustOrderDetailSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
EntrustOrderDetailDO entrustOrderDetail = BeanUtils.toBean(createReqVO, EntrustOrderDetailDO.class);
|
||||
setElemInfo(entrustOrderDetail);
|
||||
String receiveAbbr = getMaterialElementAbbreviation(entrustOrderDetail.getReceiveMaterialNumber());
|
||||
String sendAbbr = getMaterialElementAbbreviation(entrustOrderDetail.getSendMaterialNumber());
|
||||
setElemInfo(entrustOrderDetail,receiveAbbr,sendAbbr);
|
||||
entrustOrderDetailMapper.insert(entrustOrderDetail);
|
||||
// 返回
|
||||
return BeanUtils.toBean(entrustOrderDetail, EntrustOrderDetailRespVO.class);
|
||||
@@ -69,7 +72,9 @@ public class EntrustOrderDetailServiceImpl implements EntrustOrderDetailService
|
||||
validateEntrustOrderDetailExists(updateReqVO.getId());
|
||||
// 更新
|
||||
EntrustOrderDetailDO updateObj = BeanUtils.toBean(updateReqVO, EntrustOrderDetailDO.class);
|
||||
setElemInfo(updateObj);
|
||||
String receiveAbbr = getMaterialElementAbbreviation(updateObj.getReceiveMaterialNumber());
|
||||
String sendAbbr = getMaterialElementAbbreviation(updateObj.getSendMaterialNumber());
|
||||
setElemInfo(updateObj, receiveAbbr, sendAbbr);
|
||||
entrustOrderDetailMapper.updateById(updateObj);
|
||||
}
|
||||
|
||||
@@ -190,7 +195,7 @@ public class EntrustOrderDetailServiceImpl implements EntrustOrderDetailService
|
||||
@Override
|
||||
public List<EntrustOrderDetailRespVO> insertBatchSomeColumn(List<EntrustOrderDetailSaveReqVO> entrustOrderOrderDetails) {
|
||||
List<EntrustOrderDetailDO> entrustOrderDetail = BeanUtils.toBean(entrustOrderOrderDetails, EntrustOrderDetailDO.class);
|
||||
entrustOrderDetail.forEach(this::setElemInfo);
|
||||
entrustOrderDetail.forEach(detail -> setElemInfo(detail, getMaterialElementAbbreviation(detail.getReceiveMaterialNumber()), getMaterialElementAbbreviation(detail.getSendMaterialNumber())));
|
||||
entrustOrderDetailMapper.insertBatch(entrustOrderDetail);
|
||||
return BeanUtils.toBean(entrustOrderDetail, EntrustOrderDetailRespVO.class);
|
||||
}
|
||||
@@ -198,7 +203,7 @@ public class EntrustOrderDetailServiceImpl implements EntrustOrderDetailService
|
||||
@Override
|
||||
public void updateBatchSomeColumn(List<EntrustOrderDetailSaveReqVO> entrustOrderOrderDetails) {
|
||||
List<EntrustOrderDetailDO> updateList = BeanUtils.toBean(entrustOrderOrderDetails, EntrustOrderDetailDO.class);
|
||||
updateList.forEach(this::setElemInfo);
|
||||
updateList.forEach(detail -> setElemInfo(detail, getMaterialElementAbbreviation(detail.getReceiveMaterialNumber()), getMaterialElementAbbreviation(detail.getSendMaterialNumber())));
|
||||
entrustOrderDetailMapper.insertOrUpdate(updateList);
|
||||
}
|
||||
|
||||
@@ -231,17 +236,40 @@ public class EntrustOrderDetailServiceImpl implements EntrustOrderDetailService
|
||||
return mtrlZhongtongCode;
|
||||
}
|
||||
|
||||
private void setElemInfo(EntrustOrderDetailDO entrustOrderDetailDO) {
|
||||
private void setElemInfo(EntrustOrderDetailDO entrustOrderDetailDO, String receiveAbbr, String sendAbbr) {
|
||||
if (entrustOrderDetailDO.getElementAbbreviation() == null) {
|
||||
return;
|
||||
}
|
||||
ElementDO elementBySymbol = elementService.getElementBySymbol(entrustOrderDetailDO.getElementAbbreviation());
|
||||
if (elementBySymbol != null) {
|
||||
entrustOrderDetailDO.setElementName(elementBySymbol.getName());
|
||||
entrustOrderDetailDO.setElementNumber(elementBySymbol.getCoding());
|
||||
ElementDO receiveAbbrElementBySymbol = elementService.getElementBySymbol(receiveAbbr);
|
||||
if (receiveAbbrElementBySymbol != null) {
|
||||
entrustOrderDetailDO.setElementAbbreviation(receiveAbbr);
|
||||
entrustOrderDetailDO.setElementName(receiveAbbrElementBySymbol.getName());
|
||||
entrustOrderDetailDO.setElementNumber(receiveAbbrElementBySymbol.getCoding());
|
||||
} else {
|
||||
log.warn("元素【{}】不存在,订单ID【{}】", entrustOrderDetailDO.getElementAbbreviation(), entrustOrderDetailDO.getOrderId());
|
||||
log.warn("收货元素【{}】不存在,订单ID【{}】", entrustOrderDetailDO.getElementAbbreviation(), entrustOrderDetailDO.getOrderId());
|
||||
}
|
||||
ElementDO senDElementBySymbol = elementService.getElementBySymbol(receiveAbbr);
|
||||
if (senDElementBySymbol != null) {
|
||||
entrustOrderDetailDO.setSendElementAbbreviation(sendAbbr);
|
||||
entrustOrderDetailDO.setSendElementName(senDElementBySymbol.getName());
|
||||
entrustOrderDetailDO.setSendElementNumber(senDElementBySymbol.getCoding());
|
||||
} else {
|
||||
log.warn("发货元素【{}】不存在,订单ID【{}】", entrustOrderDetailDO.getElementAbbreviation(), entrustOrderDetailDO.getOrderId());
|
||||
}
|
||||
|
||||
}
|
||||
//通过物料编码查询物料对应的金属元素缩写
|
||||
public String getMaterialElementAbbreviation(String materialNumber) {
|
||||
MaterialInfomationPageReqDTO pageReqDTO = new MaterialInfomationPageReqDTO();
|
||||
pageReqDTO.setCode(materialNumber);
|
||||
pageReqDTO.setPageSize(10000);
|
||||
pageReqDTO.setPageNo(1);
|
||||
CommonResult<PageResult<MaterialInfomationRespDTO>> materialInfomationPage = materialInfomationApi.getMaterialInfomationPage(pageReqDTO);
|
||||
if (materialInfomationPage == null || materialInfomationPage.getData() == null || materialInfomationPage.getData().getList().isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
MaterialInfomationRespDTO materialInfomationRespDTO = materialInfomationPage.getData().getList().get(0);
|
||||
Map<String, Object> flatAttributes = materialInfomationRespDTO.getFlatAttributes();
|
||||
return flatAttributes.getOrDefault("elementAbbreviation", "").toString();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user