BOM接口同步其它仓库的代码

This commit is contained in:
mzr 2025-09-01 10:02:35 +08:00
parent 089685dea6
commit 2ddbae4c16
1 changed files with 44 additions and 36 deletions

View File

@ -6,6 +6,7 @@ import nc.bs.framework.common.NCLocator;
import nc.bs.logging.Log;
import nc.itf.bd.bom.bom0202.IBomBillMaintainService;
import nc.itf.bd.bom.bom0202.IBomBillQueryService;
import nc.itf.bd.vermatch.IBmrtMaintain;
import nc.itf.mmf.busi.measure.IMeasesureService;
import nc.itf.uif.pub.IUifService;
import nc.jdbc.framework.SQLParameter;
@ -15,6 +16,7 @@ import nc.md.persist.framework.MDPersistenceService;
import nc.mmbd.utils.factoryparam.MMBDFactoryParameter;
import nc.pubitf.uapbd.IMaterialPubService;
import nc.pubitf.uapbd.IMaterialPubService_C;
import nc.uap.utils.PubEnv;
import nc.ui.querytemplate.querytree.IQueryScheme;
import nc.util.bd.bom.openapi.BillFieldsCodeToPkUtil;
import nc.util.mmf.busi.measure.MeasureHelper;
@ -31,10 +33,14 @@ import nc.vo.bd.bom.bom0202.paramvo.BomMaterialParam;
import nc.vo.bd.material.MaterialVO;
import nc.vo.bd.material.MaterialVersionVO;
import nc.vo.bd.material.plan.MaterialPlanVO;
import nc.vo.bd.vermatch.entity.BomMatchRtVO;
import nc.vo.pmpub.project.ProjectHeadVO;
import nc.vo.pub.BusinessException;
import nc.vo.pub.CircularlyAccessibleValueObject;
import nc.vo.pub.ISuperVO;
import nc.vo.pub.SuperVO;
import nc.vo.pub.SuperVOUtil;
import nc.vo.pub.VOStatus;
import nc.vo.pub.lang.UFBoolean;
import nc.vo.pub.lang.UFDate;
import nc.vo.pub.lang.UFDateTime;
@ -181,7 +187,7 @@ public class APIBomBusinessServiceImpl implements IAPIBomBusinessService {
if ("gaoning".equals(userCode) || "C029".equals(orgCodeFlag)) {
for (AggBomVO aggvo : commitAggvoList) {
result = service.insertCommitBomWithParam(new AggBomVO[]{aggvo}, true, true);
// insertBomMatchRt(result);
insertBomMatchRt(result);
newAggVOList.add(result[0]);
}
return ResultMessageUtil.toJSON(newAggVOList.toArray(new AggBomVO[0]), "BOM±£´æ³É¹¦");
@ -273,41 +279,43 @@ public class APIBomBusinessServiceImpl implements IAPIBomBusinessService {
}
}
//
// private void insertBomMatchRt(AggBomVO[] result) throws BusinessException {
// AggBomVO aggBomVO = result[0];
// BomVO bomVO = (BomVO) aggBomVO.getParentVO();
// BomItemVO[] bomItemVOs = aggBomVO.getChildrenVO();
// SuperVOUtil.sortByAttributeName(bomItemVOs,"cbeginperiod",false);
//
// BomMatchRtVO bomMatchRtVO = new BomMatchRtVO();
// bomMatchRtVO.setStatus(VOStatus.NEW);
// bomMatchRtVO.setDr(0);
// bomMatchRtVO.setPk_group(PubEnv.getPk_group());
// bomMatchRtVO.setPk_org(bomVO.getPk_org());
// bomMatchRtVO.setPk_org_v(bomVO.getPk_org_v());
// bomMatchRtVO.setCmaterialid(bomVO.getHcmaterialid());
// bomMatchRtVO.setCmaterialvid(bomVO.getHcmaterialvid());
//
// String hversion = bomVO.getHversion();
// String whereSql = " project_code ='" + hversion + "' and pk_org='" + bomVO.getPk_org() + "' and nvl(dr,0)=0 ";
//// IBean bean = MDManageUtil.getBeanByContainedObject(new AggBomVO());
//// String hcprojectid = TranslateUtils.trancelateCodeToID(bean, "hcprojectid", hversion, PubEnv.getPk_group());
// List<ProjectHeadVO> projectList = (List<ProjectHeadVO>) new BaseDAO().retrieveByClause(ProjectHeadVO.class,
// whereSql);
// if (projectList != null && projectList.size() > 0) {
// bomMatchRtVO.setCprojectid(projectList.get(0).getPk_project());
// }
//
// bomMatchRtVO.setDeffectdate(bomItemVOs[0].getCbeginperiod());
// bomMatchRtVO.setDloseeffectdate(bomItemVOs[0].getCendperiod());
// bomMatchRtVO.setProduction(UFBoolean.TRUE);
// bomMatchRtVO.setEntrust(UFBoolean.FALSE);
// bomMatchRtVO.setCbomid(bomVO.getPrimaryKey());
// IBmrtMaintain iBmrtMaintain = NCLocator.getInstance().lookup(IBmrtMaintain.class);
// BomMatchRtVO[] insert = iBmrtMaintain.insert(new BomMatchRtVO[]{bomMatchRtVO});
// System.out.println(insert);
// }
private void insertBomMatchRt(AggBomVO[] result) throws BusinessException {
AggBomVO aggBomVO = result[0];
BomVO bomVO = (BomVO) aggBomVO.getParentVO();
BomItemVO[] bomItemVOs = aggBomVO.getChildrenVO();
SuperVOUtil.sortByAttributeName(bomItemVOs,"cbeginperiod",false);
BomMatchRtVO bomMatchRtVO = new BomMatchRtVO();
bomMatchRtVO.setStatus(VOStatus.NEW);
bomMatchRtVO.setDr(0);
bomMatchRtVO.setPk_group(PubEnv.getPk_group());
bomMatchRtVO.setPk_org(bomVO.getPk_org());
bomMatchRtVO.setPk_org_v(bomVO.getPk_org_v());
bomMatchRtVO.setCmaterialid(bomVO.getHcmaterialid());
bomMatchRtVO.setCmaterialvid(bomVO.getHcmaterialvid());
String hversion = bomVO.getHversion();
String whereSql = " project_code ='" + hversion + "' and pk_org='" + bomVO.getPk_org() + "' and nvl(dr,0)=0 ";
// IBean bean = MDManageUtil.getBeanByContainedObject(new AggBomVO());
// String hcprojectid = TranslateUtils.trancelateCodeToID(bean, "hcprojectid", hversion, PubEnv.getPk_group());
List<ProjectHeadVO> projectList = (List<ProjectHeadVO>) new BaseDAO().retrieveByClause(ProjectHeadVO.class,
whereSql);
if (projectList != null && projectList.size() > 0) {
bomMatchRtVO.setCprojectid(projectList.get(0).getPk_project());
}
bomMatchRtVO.setDeffectdate(bomItemVOs[0].getCbeginperiod());
bomMatchRtVO.setDloseeffectdate(bomItemVOs[0].getCendperiod());
bomMatchRtVO.setProduction(UFBoolean.TRUE);
bomMatchRtVO.setEntrust(UFBoolean.FALSE);
bomMatchRtVO.setCbomid(bomVO.getPrimaryKey());
IBmrtMaintain iBmrtMaintain = NCLocator.getInstance().lookup(IBmrtMaintain.class);
BomMatchRtVO[] insert = iBmrtMaintain.insert(new BomMatchRtVO[]{bomMatchRtVO});
System.out.println(insert);
}
private void dealWithMaterial(AggBomVO agg) {
String hcmaterialvid = (String) agg.getParentVO().getAttributeValue("hcmaterialvid");
String hcmaterialid = (String) agg.getParentVO().getAttributeValue("hcmaterialid");