From 2ddbae4c16dafb8a26f57478ce738aad17743eb9 Mon Sep 17 00:00:00 2001 From: mzr Date: Mon, 1 Sep 2025 10:02:35 +0800 Subject: [PATCH] =?UTF-8?q?BOM=E6=8E=A5=E5=8F=A3=E5=90=8C=E6=AD=A5?= =?UTF-8?q?=E5=85=B6=E5=AE=83=E4=BB=93=E5=BA=93=E7=9A=84=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mmbd/bom/APIBomBusinessServiceImpl.java | 80 ++++++++++--------- 1 file changed, 44 insertions(+), 36 deletions(-) diff --git a/uapbd/src/private/nccloud/api/impl/mmbd/bom/APIBomBusinessServiceImpl.java b/uapbd/src/private/nccloud/api/impl/mmbd/bom/APIBomBusinessServiceImpl.java index 29bb3fd..9ac9a0a 100644 --- a/uapbd/src/private/nccloud/api/impl/mmbd/bom/APIBomBusinessServiceImpl.java +++ b/uapbd/src/private/nccloud/api/impl/mmbd/bom/APIBomBusinessServiceImpl.java @@ -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 projectList = (List) 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 projectList = (List) 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");