BOM替代料接口增加修改字段:bcanreplace、freplacetype、bisdisplace

This commit is contained in:
mzr 2025-09-21 09:18:51 +08:00
parent 84207f18d9
commit 99213dbf93
1 changed files with 24 additions and 14 deletions

View File

@ -13,7 +13,6 @@ import nc.itf.bd.bom.bom0202.IBomBillQueryService;
import nc.jdbc.framework.generator.IdGenerator;
import nc.mmbd.utils.factoryparam.MMBDFactoryParameter;
import nc.uif.pub.exception.UifException;
import nc.util.mmf.framework.base.MMArrayUtil;
import nc.util.mmf.framework.base.MMStringUtil;
import nc.util.mmf.framework.base.MMValueCheck;
import nc.vo.bd.bom.bom0202.entity.AggBomVO;
@ -24,6 +23,7 @@ import nc.vo.pub.BusinessException;
import nc.vo.pub.VOStatus;
import nc.vo.pub.lang.UFBoolean;
import nc.vo.pub.lang.UFDouble;
import nc.ws.opm.pub.utils.result.APIErrCodeEnum;
import nccloud.api.mmbd.bom.IAPIBomBusinessService;
import nccloud.api.rest.utils.ResultMessageUtil;
import nccloud.framework.core.exception.ExceptionUtils;
@ -125,8 +125,6 @@ public class BomResource extends AbstractNCCRestResource {
return ResultMessageUtil.exceptionToJSON("传入数据异常,未传入更新数据", "1");
} else {
try {
IAPIBomBusinessService service = (IAPIBomBusinessService) NCLocator.getInstance().lookup(IAPIBomBusinessService.class);
IBomBillQueryService qry = (IBomBillQueryService) NCLocator.getInstance().lookup(IBomBillQueryService.class);
IBomBillMaintainService bomBillMaintainService = (IBomBillMaintainService) NCLocator.getInstance().lookup(IBomBillMaintainService.class);
@ -136,10 +134,15 @@ public class BomResource extends AbstractNCCRestResource {
String cbomid = (String) param.get("cbomid");
String targetCbomReplaceId = (String) param.get("cbom_replaceid"); // 目标替代ID
String targetCbomBid = (String) param.get("cbombid"); // 目标物料项ID
String freplacetype = param.get("freplacetype") + ""; // 替代类型
// 校验必要参数
if (MMValueCheck.isEmpty(cbomid) || MMValueCheck.isEmpty(targetCbomBid)) {
ExceptionUtils.wrapBusinessException("cbomid和cbombid为必传参数");
return ResultMessageUtil.exceptionToJSON("cbomid和cbombid为必传参数", APIErrCodeEnum.BUSINESSEXCCODE.getCode());
}
if (MMValueCheck.isEmpty(freplacetype) || !Arrays.asList("1", "2").contains(freplacetype)) {
return ResultMessageUtil.exceptionToJSON("传入替代类型为空或者值范围错误", APIErrCodeEnum.BUSINESSEXCCODE.getCode());
}
// 查询BOM数据
@ -157,6 +160,11 @@ public class BomResource extends AbstractNCCRestResource {
for (BomItemVO bomItemVO : bomItemVOS) {
// 匹配目标物料项
if (targetCbomBid.equals(bomItemVO.getCbom_bid())) {
bomItemVO.setStatus(VOStatus.UPDATED);
// bcanreplace 可替代
bomItemVO.setBcanreplace(UFBoolean.TRUE);
// freplacetype 替代类型 1=全部替代;2=部分替代;
bomItemVO.setFreplacetype(Integer.valueOf(freplacetype));
BomReplVO[] replVOS = bomItemVO.getRepl();
List<BomReplVO> replList = MMValueCheck.isEmpty(replVOS)
? new ArrayList<>()
@ -261,6 +269,8 @@ public class BomResource extends AbstractNCCRestResource {
// 提取属性设置为工具方法减少冗余
private void setReplVOProperties(BomReplVO replVO, Map<String, Object> param) throws UifException {
// bisdisplace 取代
replVO.setBisdisplace(UFBoolean.TRUE);
HYPubBO hybo = new HYPubBO();
// if (param.containsKey("pk_group")) {
// replVO.setPk_group((String) param.get("pk_group"));