来料加工
This commit is contained in:
@@ -178,18 +178,34 @@ public class EntrustOrderDetailDO extends BusinessBaseDO {
|
|||||||
private Integer lineNumber;
|
private Integer lineNumber;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 金属元素缩写
|
* 收货金属元素缩写
|
||||||
*/
|
*/
|
||||||
@TableField("ELEM_ABBR")
|
@TableField("ELEM_ABBR")
|
||||||
private String elementAbbreviation;
|
private String elementAbbreviation;
|
||||||
/**
|
/**
|
||||||
* 金属元素名称
|
* 收货金属元素名称
|
||||||
*/
|
*/
|
||||||
@TableField("ELEM_NAME")
|
@TableField("ELEM_NAME")
|
||||||
private String elementName;
|
private String elementName;
|
||||||
/**
|
/**
|
||||||
* 金属元素编码
|
* 收货金属元素编码
|
||||||
*/
|
*/
|
||||||
@TableField("ELEM_NUM")
|
@TableField("ELEM_NUM")
|
||||||
private String elementNumber;
|
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 com.zt.plat.module.contractorder.dal.dataobject.contract.ContractMainDO;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 合同主信息 Mapper
|
* 合同主信息 Mapper
|
||||||
*
|
*
|
||||||
@@ -18,6 +20,13 @@ import org.apache.ibatis.annotations.Mapper;
|
|||||||
@Mapper
|
@Mapper
|
||||||
public interface ContractMainMapper extends BaseMapperX<ContractMainDO> {
|
public interface ContractMainMapper extends BaseMapperX<ContractMainDO> {
|
||||||
default PageResult<ContractMainDO> selectContractPage(ContractPageReqVO reqVO) {
|
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>()
|
return selectPage(reqVO, new LambdaQueryWrapperX<ContractMainDO>()
|
||||||
.likeIfPresent(ContractMainDO::getContractName, reqVO.getContractName())
|
.likeIfPresent(ContractMainDO::getContractName, reqVO.getContractName())
|
||||||
.likeIfPresent(ContractMainDO::getContractPaperNumber, reqVO.getContractPaperNumber())
|
.likeIfPresent(ContractMainDO::getContractPaperNumber, reqVO.getContractPaperNumber())
|
||||||
@@ -27,11 +36,18 @@ public interface ContractMainMapper extends BaseMapperX<ContractMainDO> {
|
|||||||
.likeIfPresent(ContractMainDO::getSalesCompanyName, reqVO.getSalesCompanyName())
|
.likeIfPresent(ContractMainDO::getSalesCompanyName, reqVO.getSalesCompanyName())
|
||||||
.eqIfPresent(ContractMainDO::getBasicAmount, reqVO.getBasicAmount())
|
.eqIfPresent(ContractMainDO::getBasicAmount, reqVO.getBasicAmount())
|
||||||
.eqIfPresent(ContractMainDO::getStatus, reqVO.getStatus())
|
.eqIfPresent(ContractMainDO::getStatus, reqVO.getStatus())
|
||||||
.eqIfPresent(ContractMainDO::getBusinessType, reqVO.getBusinessType())
|
.inIfPresent(ContractMainDO::getBusinessType, businessTypeArray)
|
||||||
.orderByDesc(ContractMainDO::getCreateTime));
|
.orderByDesc(ContractMainDO::getCreateTime));
|
||||||
}
|
}
|
||||||
|
|
||||||
default PageResult<ContractMainDO> selectContractPageNoPermission(ContractPageReqVO reqVO) {
|
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>()
|
return selectPage(reqVO, new LambdaQueryWrapperX<ContractMainDO>()
|
||||||
.likeIfPresent(ContractMainDO::getContractName, reqVO.getContractName())
|
.likeIfPresent(ContractMainDO::getContractName, reqVO.getContractName())
|
||||||
.likeIfPresent(ContractMainDO::getContractPaperNumber, reqVO.getContractPaperNumber())
|
.likeIfPresent(ContractMainDO::getContractPaperNumber, reqVO.getContractPaperNumber())
|
||||||
@@ -41,7 +57,7 @@ public interface ContractMainMapper extends BaseMapperX<ContractMainDO> {
|
|||||||
.likeIfPresent(ContractMainDO::getSalesCompanyName, reqVO.getSalesCompanyName())
|
.likeIfPresent(ContractMainDO::getSalesCompanyName, reqVO.getSalesCompanyName())
|
||||||
.eqIfPresent(ContractMainDO::getBasicAmount, reqVO.getBasicAmount())
|
.eqIfPresent(ContractMainDO::getBasicAmount, reqVO.getBasicAmount())
|
||||||
.eqIfPresent(ContractMainDO::getStatus, reqVO.getStatus())
|
.eqIfPresent(ContractMainDO::getStatus, reqVO.getStatus())
|
||||||
.eqIfPresent(ContractMainDO::getBusinessType, reqVO.getBusinessType())
|
.inIfPresent(ContractMainDO::getBusinessType, businessTypeArray)
|
||||||
.eqIfPresent(ContractMainDO::getErpSalesCompanyNumber, reqVO.getErpSalesCompanyNumber())
|
.eqIfPresent(ContractMainDO::getErpSalesCompanyNumber, reqVO.getErpSalesCompanyNumber())
|
||||||
.eqIfPresent(ContractMainDO::getErpPurchaseCompanyNumber, reqVO.getErpPurchaseCompanyNumber())
|
.eqIfPresent(ContractMainDO::getErpPurchaseCompanyNumber, reqVO.getErpPurchaseCompanyNumber())
|
||||||
.orderByDesc(ContractMainDO::getCreateTime));
|
.orderByDesc(ContractMainDO::getCreateTime));
|
||||||
|
|||||||
@@ -49,7 +49,8 @@ public class EntrustOrderDetailServiceImpl implements EntrustOrderDetailService
|
|||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private ElementService elementService;
|
private ElementService elementService;
|
||||||
|
@Resource
|
||||||
|
private MaterialInfomationApi materialInfomationApi;
|
||||||
@Resource
|
@Resource
|
||||||
private EntrustOrderDetailMapper entrustOrderDetailMapper;
|
private EntrustOrderDetailMapper entrustOrderDetailMapper;
|
||||||
|
|
||||||
@@ -57,7 +58,9 @@ public class EntrustOrderDetailServiceImpl implements EntrustOrderDetailService
|
|||||||
public EntrustOrderDetailRespVO createEntrustOrderDetail(EntrustOrderDetailSaveReqVO createReqVO) {
|
public EntrustOrderDetailRespVO createEntrustOrderDetail(EntrustOrderDetailSaveReqVO createReqVO) {
|
||||||
// 插入
|
// 插入
|
||||||
EntrustOrderDetailDO entrustOrderDetail = BeanUtils.toBean(createReqVO, EntrustOrderDetailDO.class);
|
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);
|
entrustOrderDetailMapper.insert(entrustOrderDetail);
|
||||||
// 返回
|
// 返回
|
||||||
return BeanUtils.toBean(entrustOrderDetail, EntrustOrderDetailRespVO.class);
|
return BeanUtils.toBean(entrustOrderDetail, EntrustOrderDetailRespVO.class);
|
||||||
@@ -69,7 +72,9 @@ public class EntrustOrderDetailServiceImpl implements EntrustOrderDetailService
|
|||||||
validateEntrustOrderDetailExists(updateReqVO.getId());
|
validateEntrustOrderDetailExists(updateReqVO.getId());
|
||||||
// 更新
|
// 更新
|
||||||
EntrustOrderDetailDO updateObj = BeanUtils.toBean(updateReqVO, EntrustOrderDetailDO.class);
|
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);
|
entrustOrderDetailMapper.updateById(updateObj);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -190,7 +195,7 @@ public class EntrustOrderDetailServiceImpl implements EntrustOrderDetailService
|
|||||||
@Override
|
@Override
|
||||||
public List<EntrustOrderDetailRespVO> insertBatchSomeColumn(List<EntrustOrderDetailSaveReqVO> entrustOrderOrderDetails) {
|
public List<EntrustOrderDetailRespVO> insertBatchSomeColumn(List<EntrustOrderDetailSaveReqVO> entrustOrderOrderDetails) {
|
||||||
List<EntrustOrderDetailDO> entrustOrderDetail = BeanUtils.toBean(entrustOrderOrderDetails, EntrustOrderDetailDO.class);
|
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);
|
entrustOrderDetailMapper.insertBatch(entrustOrderDetail);
|
||||||
return BeanUtils.toBean(entrustOrderDetail, EntrustOrderDetailRespVO.class);
|
return BeanUtils.toBean(entrustOrderDetail, EntrustOrderDetailRespVO.class);
|
||||||
}
|
}
|
||||||
@@ -198,7 +203,7 @@ public class EntrustOrderDetailServiceImpl implements EntrustOrderDetailService
|
|||||||
@Override
|
@Override
|
||||||
public void updateBatchSomeColumn(List<EntrustOrderDetailSaveReqVO> entrustOrderOrderDetails) {
|
public void updateBatchSomeColumn(List<EntrustOrderDetailSaveReqVO> entrustOrderOrderDetails) {
|
||||||
List<EntrustOrderDetailDO> updateList = BeanUtils.toBean(entrustOrderOrderDetails, EntrustOrderDetailDO.class);
|
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);
|
entrustOrderDetailMapper.insertOrUpdate(updateList);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -231,17 +236,40 @@ public class EntrustOrderDetailServiceImpl implements EntrustOrderDetailService
|
|||||||
return mtrlZhongtongCode;
|
return mtrlZhongtongCode;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setElemInfo(EntrustOrderDetailDO entrustOrderDetailDO) {
|
private void setElemInfo(EntrustOrderDetailDO entrustOrderDetailDO, String receiveAbbr, String sendAbbr) {
|
||||||
if (entrustOrderDetailDO.getElementAbbreviation() == null) {
|
if (entrustOrderDetailDO.getElementAbbreviation() == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
ElementDO elementBySymbol = elementService.getElementBySymbol(entrustOrderDetailDO.getElementAbbreviation());
|
ElementDO receiveAbbrElementBySymbol = elementService.getElementBySymbol(receiveAbbr);
|
||||||
if (elementBySymbol != null) {
|
if (receiveAbbrElementBySymbol != null) {
|
||||||
entrustOrderDetailDO.setElementName(elementBySymbol.getName());
|
entrustOrderDetailDO.setElementAbbreviation(receiveAbbr);
|
||||||
entrustOrderDetailDO.setElementNumber(elementBySymbol.getCoding());
|
entrustOrderDetailDO.setElementName(receiveAbbrElementBySymbol.getName());
|
||||||
|
entrustOrderDetailDO.setElementNumber(receiveAbbrElementBySymbol.getCoding());
|
||||||
} else {
|
} 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