From f5d22614947293d55a176f7bb8824669ce036730 Mon Sep 17 00:00:00 2001 From: mzr Date: Tue, 1 Apr 2025 15:56:02 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=95=E4=BD=8D=E6=88=90=E6=9C=AC=E5=AF=B9?= =?UTF-8?q?=E6=AF=94=E8=A1=A8=E5=A2=9E=E5=8A=A0=E9=A1=B9=E7=9B=AE=E7=BC=96?= =?UTF-8?q?=E7=A0=81=E5=92=8C=E9=A1=B9=E7=9B=AE=E5=90=8D=E7=A7=B0=E5=88=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MeasCostQuerySQLBuilder.java | 1294 +++++++++++++++++ .../process/MeasCostCenterfrom.java | 81 ++ .../process/MeasCostDefault.java | 78 + .../process/MeasCostStdcost.java | 103 ++ .../process/MeasCostSubtype.java | 107 ++ .../MeascostcontrastComServiceImpl.java | 411 ++++++ .../meascostcontrast/CMCommonConst1614.java | 79 + .../cm/meascostcontrast/MeasCostItemVO.java | 212 +++ .../MeasCostQueryResultVO.java | 367 +++++ 9 files changed, 2732 insertions(+) create mode 100644 cm/src/private/nc/bs/cm/meascostcontrast/MeasCostQuerySQLBuilder.java create mode 100644 cm/src/private/nc/bs/cm/meascostcontrast/process/MeasCostCenterfrom.java create mode 100644 cm/src/private/nc/bs/cm/meascostcontrast/process/MeasCostDefault.java create mode 100644 cm/src/private/nc/bs/cm/meascostcontrast/process/MeasCostStdcost.java create mode 100644 cm/src/private/nc/bs/cm/meascostcontrast/process/MeasCostSubtype.java create mode 100644 cm/src/private/nccloud/pubimpl/cm/cmreport/meascostcontrast/MeascostcontrastComServiceImpl.java create mode 100644 cm/src/public/nc/vo/cm/meascostcontrast/CMCommonConst1614.java create mode 100644 cm/src/public/nc/vo/cm/meascostcontrast/MeasCostItemVO.java create mode 100644 cm/src/public/nc/vo/cm/meascostcontrast/MeasCostQueryResultVO.java diff --git a/cm/src/private/nc/bs/cm/meascostcontrast/MeasCostQuerySQLBuilder.java b/cm/src/private/nc/bs/cm/meascostcontrast/MeasCostQuerySQLBuilder.java new file mode 100644 index 0000000..dbe55da --- /dev/null +++ b/cm/src/private/nc/bs/cm/meascostcontrast/MeasCostQuerySQLBuilder.java @@ -0,0 +1,1294 @@ +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package nc.bs.cm.meascostcontrast; + +import java.util.Map; +import nc.bd.framework.base.CMArrayUtil; +import nc.bd.framework.db.CMSqlBuilder; +import nc.cmpub.business.util.CMUtil; +import nc.vo.bd.bdactivity.entity.BDActivityVO; +import nc.vo.bd.material.MaterialVersionVO; +import nc.vo.bd.material.marbasclass.MarBasClassVO; +import nc.vo.bd.material.marcostclass.MarCostClassVO; +import nc.vo.bd.material.measdoc.MeasdocVO; +import nc.vo.bd.material.prod.MaterialProdVO; +import nc.vo.cm.costobject.entity.CostObjectVO; +import nc.vo.cm.costrevert.CtRevertHeadVO; +import nc.vo.cm.costrevert.CtRevertItemVO; +import nc.vo.cm.inprocost.entity.InproCostHeadVO; +import nc.vo.cm.inprocost.entity.InproCostItemVO; +import nc.vo.cm.meascostcontrast.CMCommonConst1614; +import nc.vo.cm.meascostcontrast.MeasCostParamVO; +import nc.vo.cm.meascostcontrast.MeasCostQueryConditionVO; +import nc.vo.cm.meascostcontrast.MeasCostUtil; +import nc.vo.cm.pc.pc0410.ProdcostHeadVO; +import nc.vo.cm.pc.pc0410.ProdcostItemVO; +import nc.vo.cmpub.framework.report.CMConditionVO; +import nc.vo.ml.MultiLangUtil; +import nc.vo.org.AccbookVO; +import nc.vo.org.OrgVO; +import nc.vo.pmpub.project.ProjectHeadVO; +import nc.vo.profitcenter.ProfitCenterVO; +import nc.vo.pub.lang.UFBoolean; +import nc.vo.resa.costcenter.CostCenterVO; +import nc.vo.resa.factor.FactorAsoaVO; +import nc.vo.resa.factor.FactorVO; + +public class MeasCostQuerySQLBuilder { + public MeasCostQuerySQLBuilder() { + } + + public String getSqlByQueryVOs(MeasCostParamVO paramVO) { + Map conditionMap = paramVO.getConditionMap(); + CMSqlBuilder sql = new CMSqlBuilder(); + sql.append(this.getSelectSQL(conditionMap)); + sql.append(" from "); + sql.l(); + sql.append(this.getVcostobjSQL(paramVO)); + sql.r(); + sql.append("cm_costobj"); + sql.append(" inner join "); + sql.l(); + sql.append(this.getFactorSQL(paramVO)); + sql.r(); + sql.append("cost_factor"); + sql.on("cm_costobj", "vcostobjcode", "cost_factor", "vcostobjcode"); + sql.and(); + sql.append("cm_costobj.cccode=cost_factor.cccode"); + String[] showDetailDiff = MeasCostUtil.getShowDetailDiff(conditionMap); + if (CMArrayUtil.isEquals(CMCommonConst1614.SUBTYPE_ITEMS, showDetailDiff)) { + sql.and(); + sql.append("cm_costobj.bsubtype"); + sql.append("="); + sql.append("cost_factor.bsubtype"); + } else if (CMArrayUtil.isEquals(CMCommonConst1614.CENTERFROM_ITEMS, showDetailDiff)) { + sql.and(); + sql.append("cm_costobj.bfromcostcenter"); + sql.append("="); + sql.append("cost_factor.bfromcostcenter"); + } + + sql.append(" order by "); + sql.append("cm_costobj"); + sql.append("."); + sql.append("vcostobjcode"); + sql.append(","); + sql.append("cost_factor"); + sql.append("."); + sql.append("factorcode"); + return sql.toString(); + } + + private String getSelectSQL(Map conditionMap) { + CMSqlBuilder sql = new CMSqlBuilder(); + sql.select(); + sql.append("cm_costobj.bookname"); + sql.append(","); + sql.append("cm_costobj.profitcentername"); + sql.append(","); + sql.append("cm_costobj.orgname"); + sql.append(","); + sql.append("cm_costobj.cccode"); + sql.append(","); + sql.append("cm_costobj.ccname"); + sql.append(","); + sql.append("cm_costobj.vcostobjcode"); + sql.append(","); + sql.append("cm_costobj.vcostobjname"); + sql.append(","); + sql.append("cm_costobj.vcostobjname0"); + sql.append(","); + sql.append("cm_costobj.nnum"); + sql.append(","); + sql.append("cm_costobj.nsum"); + sql.append(","); + sql.append("cm_costobj.measdocname"); + sql.append(","); + sql.append("cm_costobj.bitnumber"); + sql.append(","); + sql.append("cm_costobj.materialspec"); + sql.append(","); + sql.append("cm_costobj.materialtype"); + sql.append(","); + sql.append("cost_factor.factorcode"); + sql.append(","); + sql.append("cost_factor.factorname"); + sql.append(","); + sql.append("cost_factor.factorname0"); + sql.append(","); + sql.append("cost_factor.factornsum"); + sql.append(","); + sql.append("cost_factor.factorlev"); + sql.append(","); + sql.append("cost_factor.pk_factorasoa"); + + // todo + sql.append(","); + sql.append("nvl(cost_factor.project_code,'') projectcode"); + sql.append(","); + sql.append("nvl(cost_factor.project_name,'') projectname"); + + String[] showDetailDiff = MeasCostUtil.getShowDetailDiff(conditionMap); + if (CMArrayUtil.isEquals(CMCommonConst1614.STDCOST_ITEMS, showDetailDiff)) { + sql.append(","); + sql.append("cm_costobj.nstdcost_nsum"); + sql.append(" nstdcostnsum "); + sql.append(","); + sql.append("cm_costobj.nnumdiff_nsum"); + sql.append(" nnumdiffnsum "); + sql.append(","); + sql.append("cm_costobj.npricediff_nsum"); + sql.append(" npricediffnsum "); + sql.append(","); + sql.append("cost_factor.nstdcost_factor"); + sql.append(" nstdcostfactor "); + sql.append(","); + sql.append("cost_factor.nnumdiff_factor"); + sql.append(" nnumdifffactor "); + sql.append(","); + sql.append("cost_factor.npricediff_factor"); + sql.append(" npricedifffactor "); + } else if (CMArrayUtil.isEquals(CMCommonConst1614.SUBTYPE_ITEMS, showDetailDiff)) { + sql.append(","); + sql.append("cm_costobj.bsubtype"); + } else if (CMArrayUtil.isEquals(CMCommonConst1614.CENTERFROM_ITEMS, showDetailDiff)) { + sql.append(","); + sql.append("cm_costobj.bfromcostcenter"); + } + + return sql.toString(); + } + + private String getVcostobjSQL(MeasCostParamVO paramVO) { + Map conditionMap = paramVO.getConditionMap(); + CMSqlBuilder sql = new CMSqlBuilder(); + Integer ireportsource = MeasCostQueryConditionVO.REVERT_BEFORE_VALUE; + if (conditionMap.containsKey("ireportsource") && ((CMConditionVO)conditionMap.get("ireportsource")).getSingleValue() != null) { + ireportsource = Integer.valueOf(((CMConditionVO)conditionMap.get("ireportsource")).getSingleValue()); + } + + Integer ishowtype = MeasCostQueryConditionVO.PRODUCT_VALUE; + if (conditionMap.containsKey("ishowtype") && ((CMConditionVO)conditionMap.get("ishowtype")).getSingleValue() != null) { + ishowtype = Integer.valueOf(((CMConditionVO)conditionMap.get("ishowtype")).getSingleValue()); + } + + sql.append(this.getVcostobjSelectSQLForNNum(conditionMap)); + sql.l(); + if (MeasCostQueryConditionVO.COSTOBJECT_VALUE.equals(ishowtype) && MeasCostQueryConditionVO.REVERT_BEFORE_VALUE.equals(ireportsource)) { + sql.append(this.getVcostobjSelectSQLForNNum(conditionMap)); + sql.l(); + sql.append(this.getVcostobjSelectSQL(conditionMap, MeasCostQueryConditionVO.COSTOBJECT_VALUE)); + sql.append(this.getVcostobjSelectSQLAddMeasdoc(conditionMap, MeasCostQueryConditionVO.COSTOBJECT_VALUE)); + sql.append(this.getVcostobjFromSQL(conditionMap, (Integer)null)); + sql.append(this.getVcostobjWhereSQL(paramVO)); + sql.append(this.getVcostobjGroupSQL(conditionMap, MeasCostQueryConditionVO.COSTOBJECT_VALUE)); + sql.append(this.getVcostobjGroupSQLAddMeasdoc(ishowtype, ireportsource)); + sql.r(); + sql.append(" tt "); + sql.append(this.getVcostobjGroupSQLForNNum(conditionMap)); + } else if (MeasCostQueryConditionVO.PRODUCT_VALUE.equals(ishowtype)) { + sql.append(this.getVcostobjSelectSQLForNNum(conditionMap)); + sql.l(); + sql.append(this.getVcostobjSelectSQL(conditionMap, MeasCostQueryConditionVO.PRODUCT_VALUE)); + sql.append(this.getVcostobjSelectSQLAddMeasdoc(conditionMap, MeasCostQueryConditionVO.PRODUCT_VALUE)); + sql.append(this.getVcostobjFromSQL(conditionMap, MeasCostQueryConditionVO.PRODUCT_VALUE)); + sql.append(this.getVcostobjWhereSQL(paramVO)); + sql.append(this.getVcostobjGroupSQL(conditionMap, MeasCostQueryConditionVO.PRODUCT_VALUE)); + sql.append(this.getVcostobjGroupSQLAddMeasdoc(ishowtype, ireportsource)); + sql.r(); + sql.append(" tt "); + sql.append(this.getVcostobjGroupSQLForNNum(conditionMap)); + } else if (MeasCostQueryConditionVO.PRODUCT_COST_VALUE.equals(ishowtype)) { + sql.append(this.getVcostobjSelectSQLForNNum(conditionMap)); + sql.l(); + sql.append(this.getVcostobjSelectSQL(conditionMap, MeasCostQueryConditionVO.PRODUCT_COST_VALUE)); + sql.append(this.getVcostobjSelectSQLAddMeasdoc(conditionMap, MeasCostQueryConditionVO.PRODUCT_COST_VALUE)); + sql.append(this.getVcostobjFromSQL(conditionMap, MeasCostQueryConditionVO.PRODUCT_COST_VALUE)); + sql.append(this.getVcostobjWhereSQL(paramVO)); + sql.append(this.getVcostobjGroupSQL(conditionMap, MeasCostQueryConditionVO.PRODUCT_COST_VALUE)); + sql.r(); + sql.append(" tt "); + sql.append(this.getVcostobjGroupSQLForNNum(conditionMap)); + } else if (MeasCostQueryConditionVO.PRODUCT_BASIC_VALUE.equals(ishowtype)) { + sql.l(); + sql.append(this.getVcostobjSelectSQLForNNum(conditionMap)); + sql.l(); + sql.append(this.getVcostobjSelectSQL(conditionMap, MeasCostQueryConditionVO.PRODUCT_BASIC_VALUE)); + sql.append(this.getVcostobjSelectSQLAddMeasdoc(conditionMap, MeasCostQueryConditionVO.PRODUCT_COST_VALUE)); + sql.append(this.getVcostobjFromSQL(conditionMap, MeasCostQueryConditionVO.PRODUCT_VALUE)); + sql.innerjoin(MarBasClassVO.getDefaultTableName()); + sql.append(" "); + sql.append(MarBasClassVO.getDefaultTableName()); + sql.on(MarBasClassVO.getDefaultTableName(), "pk_marbasclass", MaterialVersionVO.getDefaultTableName(), "pk_marbasclass"); + sql.append(this.getVcostobjWhereSQL(paramVO)); + sql.append(this.getVcostobjGroupSQL(conditionMap, MeasCostQueryConditionVO.PRODUCT_BASIC_VALUE)); + sql.r(); + sql.append(" tt "); + sql.append(this.getVcostobjGroupSQLForNNum(conditionMap)); + sql.r(); + sql.append(" union all "); + sql.l(); + sql.append(this.getVcostobjSelectSQLForNNum(conditionMap)); + sql.l(); + sql.append(this.getVcostobjSelectSQL(conditionMap, MeasCostQueryConditionVO.PRODUCT_BASIC_VALUE)); + sql.append(this.getVcostobjSelectSQLAddMeasdoc(conditionMap, MeasCostQueryConditionVO.PRODUCT_COST_VALUE)); + sql.append(this.getVcostobjFromSQLFeature(conditionMap)); + sql.append(this.getVcostobjWhereSQL(paramVO)); + sql.append(this.getVcostobjGroupSQL(conditionMap, MeasCostQueryConditionVO.PRODUCT_BASIC_VALUE)); + sql.r(); + sql.append(" tt "); + sql.append(this.getVcostobjGroupSQLForNNum(conditionMap)); + sql.r(); + sql.append(" union all "); + sql.l(); + sql.append(this.getVcostobjSelectSQLForNNum(conditionMap)); + sql.l(); + sql.append(this.getVcostobjSelectSQL(conditionMap, MeasCostQueryConditionVO.PRODUCT_BASIC_VALUE)); + sql.append(this.getVcostobjSelectSQLAddMeasdoc(conditionMap, MeasCostQueryConditionVO.PRODUCT_COST_VALUE)); + sql.append(this.getVcostobjFromSQLNoFeature(conditionMap)); + sql.append(this.getVcostobjWhereSQL(paramVO)); + sql.append(this.getVcostobjGroupSQL(conditionMap, MeasCostQueryConditionVO.PRODUCT_BASIC_VALUE)); + sql.r(); + sql.append(" tt "); + sql.append(this.getVcostobjGroupSQLForNNum(conditionMap)); + sql.r(); + } + + sql.r(); + sql.append(" tt "); + sql.append(this.getVcostobjGroupSQLForNNum(conditionMap)); + return sql.toString(); + } + + private String getVcostobjFromSQLFeature(Map conditionMap) { + CMSqlBuilder sql = new CMSqlBuilder(); + sql.append(this.getVcostobjFromSQL(conditionMap, MeasCostQueryConditionVO.PRODUCT_COST_VALUE)); + sql.innerjoin(" bd_materialprod "); + sql.append(" "); + sql.append(MaterialProdVO.getDefaultTableName()); + sql.on(MaterialProdVO.getDefaultTableName(), "pk_marcostclass", MarCostClassVO.getDefaultTableName(), "pk_marcostclass"); + sql.and(); + sql.append(MaterialProdVO.getDefaultTableName() + ".pk_org"); + sql.append("="); + sql.append("cm_cost_table.pk_org"); + sql.innerjoin(MaterialVersionVO.getDefaultTableName()); + sql.append(" "); + sql.append(MaterialVersionVO.getDefaultTableName()); + sql.on(MaterialVersionVO.getDefaultTableName(), "pk_material", MaterialProdVO.getDefaultTableName(), "pk_material"); + sql.and(); + sql.append(MaterialProdVO.getDefaultTableName() + ".classfeature"); + sql.append("='"); + sql.append("Y"); + sql.append("'"); + sql.innerjoin(MarBasClassVO.getDefaultTableName()); + sql.append(" "); + sql.append(MarBasClassVO.getDefaultTableName()); + sql.on(MarBasClassVO.getDefaultTableName(), "pk_marbasclass", MaterialVersionVO.getDefaultTableName(), "pk_marbasclass"); + return sql.toString(); + } + + private String getVcostobjFromSQLNoFeature(Map conditionMap) { + CMSqlBuilder sql = new CMSqlBuilder(); + sql.append(this.getVcostobjFromSQL(conditionMap, MeasCostQueryConditionVO.PRODUCT_COST_VALUE)); + sql.innerjoin(" bd_materialprod "); + sql.append(" "); + sql.append(MaterialProdVO.getDefaultTableName()); + sql.on(MaterialProdVO.getDefaultTableName(), "pk_marcostclass", MarCostClassVO.getDefaultTableName(), "pk_marcostclass"); + sql.and(); + sql.append(MaterialProdVO.getDefaultTableName() + ".pk_org"); + sql.append("="); + sql.append("cm_cost_table.pk_org"); + sql.innerjoin(MaterialVersionVO.getDefaultTableName()); + sql.append(" "); + sql.append(MaterialVersionVO.getDefaultTableName()); + sql.on(MaterialVersionVO.getDefaultTableName(), "pk_material", MaterialProdVO.getDefaultTableName(), "pk_material"); + sql.and(); + sql.append(MaterialVersionVO.getDefaultTableName() + ".pk_material"); + sql.in(); + sql.l(); + sql.select(); + sql.append(" min"); + sql.l(); + sql.append(MaterialProdVO.getDefaultTableName() + ".pk_material"); + sql.r(); + sql.from(MaterialProdVO.getDefaultTableName()); + sql.where(); + sql.append(MaterialProdVO.getDefaultTableName() + ".pk_marcostclass"); + sql.append("<> '~'"); + sql.and(); + sql.append(" not exists "); + sql.l(); + sql.select(); + sql.append("bd_materialprod_temp1.pk_material"); + sql.from(" bd_materialprod "); + sql.append(" "); + sql.append("bd_materialprod_temp1"); + sql.innerjoin(" bd_materialprod "); + sql.append(" "); + sql.append("bd_materialprod_temp2"); + sql.on("bd_materialprod_temp1", "pk_marcostclass", "bd_materialprod_temp2", "pk_marcostclass"); + sql.and(); + sql.appendIDIsNotNull("bd_materialprod_temp1.pk_marcostclass"); + sql.and(); + sql.appendIDIsNotNull("bd_materialprod_temp2.pk_marcostclass"); + sql.and(); + sql.append("bd_materialprod_temp2.classfeature"); + sql.append("='"); + sql.append("Y"); + sql.append("'"); + sql.r(); + sql.groupBy(MaterialProdVO.getDefaultTableName(), new String[]{"pk_marcostclass"}); + sql.r(); + sql.innerjoin(MarBasClassVO.getDefaultTableName()); + sql.append(" "); + sql.append(MarBasClassVO.getDefaultTableName()); + sql.on(MarBasClassVO.getDefaultTableName(), "pk_marbasclass", MaterialVersionVO.getDefaultTableName(), "pk_marbasclass"); + return sql.toString(); + } + + private String getFactorSQL(MeasCostParamVO paramVO) { + Map conditionMap = paramVO.getConditionMap(); + CMSqlBuilder sql = new CMSqlBuilder(); + String baloneshowactivity = "N"; + if (conditionMap.containsKey("baloneshowactivity") && ((CMConditionVO)conditionMap.get("baloneshowactivity")).getSingleValue() != null) { + ((CMConditionVO)conditionMap.get("baloneshowactivity")).getSingleValue(); + } + + if ("Y".equals(baloneshowactivity)) { + sql.l(); + sql.append(this.getFactorSubSQL(paramVO, MeasCostQueryConditionVO.ACT_VALUE)); + sql.r(); + sql.append(" union all "); + sql.l(); + sql.append(this.getFactorSubSQL(paramVO, MeasCostQueryConditionVO.NOACT_VALUE)); + sql.r(); + } else { + sql.append(this.getFactorSubSQL(paramVO, (Integer)null)); + } + + return sql.toString(); + } + + private String getFactorSubSQL(MeasCostParamVO paramVO, Integer iAct) { + Map conditionMap = paramVO.getConditionMap(); + Integer ishowtype = MeasCostQueryConditionVO.PRODUCT_VALUE; + if (conditionMap.containsKey("ishowtype") && ((CMConditionVO)conditionMap.get("ishowtype")).getSingleValue() != null) { + ishowtype = Integer.valueOf(((CMConditionVO)conditionMap.get("ishowtype")).getSingleValue()); + } + + CMSqlBuilder sql = new CMSqlBuilder(); + if (MeasCostQueryConditionVO.COSTOBJECT_VALUE.equals(ishowtype)) { + if (MeasCostQueryConditionVO.ACT_VALUE.equals(iAct)) { + sql.append(this.getFactorSelectSQLAct(conditionMap, MeasCostQueryConditionVO.COSTOBJECT_VALUE)); + sql.append(this.getFactorFromSQLAct(conditionMap, (Integer)null)); + sql.append(this.getFactorWhereSQL(paramVO)); + sql.append(this.getFactorGroupSQLAct(conditionMap, MeasCostQueryConditionVO.COSTOBJECT_VALUE)); + } else if (MeasCostQueryConditionVO.NOACT_VALUE.equals(iAct)) { + sql.append(this.getFactorSelectSQL(conditionMap, MeasCostQueryConditionVO.COSTOBJECT_VALUE)); + sql.append(this.getFactorFromSQLNoAct(conditionMap, (Integer)null)); + sql.append(this.getFactorWhereSQL(paramVO)); + sql.append(this.getFactorGroupSQL(conditionMap, MeasCostQueryConditionVO.COSTOBJECT_VALUE)); + } else { + sql.append(this.getFactorSelectSQL(conditionMap, MeasCostQueryConditionVO.COSTOBJECT_VALUE)); + sql.append(this.getFactorFromSQL(conditionMap, (Integer)null)); + sql.append(this.getFactorWhereSQL(paramVO)); + sql.append(this.getFactorGroupSQL(conditionMap, MeasCostQueryConditionVO.COSTOBJECT_VALUE)); + } + } else if (MeasCostQueryConditionVO.PRODUCT_VALUE.equals(ishowtype)) { + if (MeasCostQueryConditionVO.ACT_VALUE.equals(iAct)) { + sql.append(this.getFactorSelectSQLAct(conditionMap, MeasCostQueryConditionVO.PRODUCT_VALUE)); + sql.append(this.getFactorFromSQLAct(conditionMap, MeasCostQueryConditionVO.PRODUCT_VALUE)); + sql.append(this.getFactorWhereSQL(paramVO)); + sql.append(this.getFactorGroupSQLAct(conditionMap, MeasCostQueryConditionVO.PRODUCT_VALUE)); + } else if (MeasCostQueryConditionVO.NOACT_VALUE.equals(iAct)) { + sql.append(this.getFactorSelectSQL(conditionMap, MeasCostQueryConditionVO.PRODUCT_VALUE)); + sql.append(this.getFactorFromSQLNoAct(conditionMap, MeasCostQueryConditionVO.PRODUCT_VALUE)); + sql.append(this.getFactorWhereSQL(paramVO)); + sql.append(this.getFactorGroupSQL(conditionMap, MeasCostQueryConditionVO.PRODUCT_VALUE)); + } else { + sql.append(this.getFactorSelectSQL(conditionMap, MeasCostQueryConditionVO.PRODUCT_VALUE)); + sql.append(this.getFactorFromSQL(conditionMap, MeasCostQueryConditionVO.PRODUCT_VALUE)); + sql.append(this.getFactorWhereSQL(paramVO)); + sql.append(this.getFactorGroupSQL(conditionMap, MeasCostQueryConditionVO.PRODUCT_VALUE)); + } + } else if (MeasCostQueryConditionVO.PRODUCT_COST_VALUE.equals(ishowtype)) { + if (MeasCostQueryConditionVO.ACT_VALUE.equals(iAct)) { + sql.append(this.getFactorSelectSQLAct(conditionMap, MeasCostQueryConditionVO.PRODUCT_COST_VALUE)); + sql.append(this.getFactorFromSQLAct(conditionMap, MeasCostQueryConditionVO.PRODUCT_COST_VALUE)); + sql.append(this.getFactorWhereSQL(paramVO)); + sql.append(this.getFactorGroupSQLAct(conditionMap, MeasCostQueryConditionVO.PRODUCT_COST_VALUE)); + } else if (MeasCostQueryConditionVO.NOACT_VALUE.equals(iAct)) { + sql.append(this.getFactorSelectSQL(conditionMap, MeasCostQueryConditionVO.PRODUCT_COST_VALUE)); + sql.append(this.getFactorFromSQLNoAct(conditionMap, MeasCostQueryConditionVO.PRODUCT_COST_VALUE)); + sql.append(this.getFactorWhereSQL(paramVO)); + sql.append(this.getFactorGroupSQL(conditionMap, MeasCostQueryConditionVO.PRODUCT_COST_VALUE)); + } else { + sql.append(this.getFactorSelectSQL(conditionMap, MeasCostQueryConditionVO.PRODUCT_COST_VALUE)); + sql.append(this.getFactorFromSQL(conditionMap, MeasCostQueryConditionVO.PRODUCT_COST_VALUE)); + sql.append(this.getFactorWhereSQL(paramVO)); + sql.append(this.getFactorGroupSQL(conditionMap, MeasCostQueryConditionVO.PRODUCT_COST_VALUE)); + } + } else if (MeasCostQueryConditionVO.PRODUCT_BASIC_VALUE.equals(ishowtype)) { + sql.l(); + if (MeasCostQueryConditionVO.ACT_VALUE.equals(iAct)) { + sql.append(this.getFactorSelectSQLAct(conditionMap, MeasCostQueryConditionVO.PRODUCT_BASIC_VALUE)); + sql.append(this.getFactorFromSQLAct(conditionMap, MeasCostQueryConditionVO.PRODUCT_VALUE)); + } else if (MeasCostQueryConditionVO.NOACT_VALUE.equals(iAct)) { + sql.append(this.getFactorSelectSQL(conditionMap, MeasCostQueryConditionVO.PRODUCT_BASIC_VALUE)); + sql.append(this.getFactorFromSQLNoAct(conditionMap, MeasCostQueryConditionVO.PRODUCT_VALUE)); + } else { + sql.append(this.getFactorSelectSQL(conditionMap, MeasCostQueryConditionVO.PRODUCT_BASIC_VALUE)); + sql.append(this.getFactorFromSQL(conditionMap, MeasCostQueryConditionVO.PRODUCT_VALUE)); + } + + sql.innerjoin(MarBasClassVO.getDefaultTableName()); + sql.append(" "); + sql.append(MarBasClassVO.getDefaultTableName()); + sql.on(MarBasClassVO.getDefaultTableName(), "pk_marbasclass", MaterialVersionVO.getDefaultTableName(), "pk_marbasclass"); + sql.append(this.getFactorWhereSQL(paramVO)); + if (MeasCostQueryConditionVO.ACT_VALUE.equals(iAct)) { + sql.append(this.getFactorGroupSQLAct(conditionMap, MeasCostQueryConditionVO.PRODUCT_BASIC_VALUE)); + } else if (MeasCostQueryConditionVO.NOACT_VALUE.equals(iAct)) { + sql.append(this.getFactorGroupSQL(conditionMap, MeasCostQueryConditionVO.PRODUCT_BASIC_VALUE)); + } else { + sql.append(this.getFactorGroupSQL(conditionMap, MeasCostQueryConditionVO.PRODUCT_BASIC_VALUE)); + } + + sql.r(); + sql.append(" union all "); + sql.l(); + if (MeasCostQueryConditionVO.ACT_VALUE.equals(iAct)) { + sql.append(this.getFactorSelectSQLAct(conditionMap, MeasCostQueryConditionVO.PRODUCT_BASIC_VALUE)); + sql.append(this.getFactorFromSQLAct(conditionMap, MeasCostQueryConditionVO.FEATURE_VALUE)); + sql.append(this.getFactorWhereSQL(paramVO)); + sql.append(this.getFactorGroupSQLAct(conditionMap, MeasCostQueryConditionVO.PRODUCT_BASIC_VALUE)); + } else if (MeasCostQueryConditionVO.NOACT_VALUE.equals(iAct)) { + sql.append(this.getFactorSelectSQL(conditionMap, MeasCostQueryConditionVO.PRODUCT_BASIC_VALUE)); + sql.append(this.getFactorFromSQLNoAct(conditionMap, MeasCostQueryConditionVO.FEATURE_VALUE)); + sql.append(this.getFactorWhereSQL(paramVO)); + sql.append(this.getFactorGroupSQL(conditionMap, MeasCostQueryConditionVO.PRODUCT_BASIC_VALUE)); + } else { + sql.append(this.getFactorSelectSQL(conditionMap, MeasCostQueryConditionVO.PRODUCT_BASIC_VALUE)); + sql.append(this.getFactorFromSQL(conditionMap, MeasCostQueryConditionVO.FEATURE_VALUE)); + sql.append(this.getFactorWhereSQL(paramVO)); + sql.append(this.getFactorGroupSQL(conditionMap, MeasCostQueryConditionVO.PRODUCT_BASIC_VALUE)); + } + + sql.r(); + sql.append(" union all "); + sql.l(); + if (MeasCostQueryConditionVO.ACT_VALUE.equals(iAct)) { + sql.append(this.getFactorSelectSQLAct(conditionMap, MeasCostQueryConditionVO.PRODUCT_BASIC_VALUE)); + sql.append(this.getFactorFromSQLAct(conditionMap, MeasCostQueryConditionVO.NOFEATURE_VALUE)); + sql.append(this.getFactorWhereSQL(paramVO)); + sql.append(this.getFactorGroupSQLAct(conditionMap, MeasCostQueryConditionVO.PRODUCT_BASIC_VALUE)); + } else if (MeasCostQueryConditionVO.NOACT_VALUE.equals(iAct)) { + sql.append(this.getFactorSelectSQL(conditionMap, MeasCostQueryConditionVO.PRODUCT_BASIC_VALUE)); + sql.append(this.getFactorFromSQLNoAct(conditionMap, MeasCostQueryConditionVO.NOFEATURE_VALUE)); + sql.append(this.getFactorWhereSQL(paramVO)); + sql.append(this.getFactorGroupSQL(conditionMap, MeasCostQueryConditionVO.PRODUCT_BASIC_VALUE)); + } else { + sql.append(this.getFactorSelectSQL(conditionMap, MeasCostQueryConditionVO.PRODUCT_BASIC_VALUE)); + sql.append(this.getFactorFromSQL(conditionMap, MeasCostQueryConditionVO.NOFEATURE_VALUE)); + sql.append(this.getFactorWhereSQL(paramVO)); + sql.append(this.getFactorGroupSQL(conditionMap, MeasCostQueryConditionVO.PRODUCT_BASIC_VALUE)); + } + + sql.r(); + } + + return sql.toString(); + } + + private String getVcostobjSelectSQL(Map conditionMap, Integer ishowtype) { + CMSqlBuilder sql = new CMSqlBuilder(); + sql.append(this.getShowTypeSelectSQL(conditionMap, ishowtype)); + sql.append(","); + sql.append("max"); + sql.l(); + sql.append("cm_cost_table.nnum"); + sql.r(); + Integer ireportsource = Integer.valueOf(((CMConditionVO)conditionMap.get("ireportsource")).getSingleValue()); + sql.append(" "); + sql.append("nnum"); + sql.append(","); + if (MeasCostQueryConditionVO.REVERT_BEFORE_VALUE.equals(ireportsource)) { + sql.sum("cm_cost_table_b", "nmoney", "nsum"); + } else if (MeasCostQueryConditionVO.REVERT_AFTER_VALUE.equals(ireportsource)) { + sql.sum("cm_cost_table_b", "aftercost", "nsum"); + } + + String[] showDetailDiff = MeasCostUtil.getShowDetailDiff(conditionMap); + if (CMArrayUtil.isEquals(CMCommonConst1614.STDCOST_ITEMS, showDetailDiff)) { + sql.append(","); + sql.sum("cm_cost_table_b", "nstdcost", "nstdcost_nsum"); + sql.append(","); + sql.sum("cm_cost_table_b", "nnumdiff", "nnumdiff_nsum"); + sql.append(","); + sql.sum("cm_cost_table_b", "npricediff", "npricediff_nsum"); + } else if (CMArrayUtil.isEquals(CMCommonConst1614.SUBTYPE_ITEMS, showDetailDiff)) { + sql.append(","); + sql.append("cm_cost_table_b.bsubtype"); + } else if (CMArrayUtil.isEquals(CMCommonConst1614.CENTERFROM_ITEMS, showDetailDiff)) { + sql.append(","); + sql.append("cm_cost_table_b.bfromcostcenter"); + } + + return sql.toString(); + } + + private void getBookAProfitcenterAOrgName(CMSqlBuilder sql, UFBoolean isGroupby) { + if (isGroupby.booleanValue()) { + sql.append(","); + } + + String accbookName = CMUtil.getFiledNameByMultiLang("name"); + String var10001 = AccbookVO.getDefaultTableName(); + sql.append("isnull(" + var10001 + "." + accbookName + "," + AccbookVO.getDefaultTableName() + ".name) "); + if (!isGroupby.booleanValue()) { + sql.append("bookname"); + } + + sql.append(","); + String profitcentername = CMUtil.getFiledNameByMultiLang("name"); + var10001 = ProfitCenterVO.getDefaultTableName(); + sql.append("isnull(" + var10001 + "." + profitcentername + "," + ProfitCenterVO.getDefaultTableName() + ".name) "); + if (!isGroupby.booleanValue()) { + sql.append("profitcentername"); + } + + sql.append(","); + String orgName = CMUtil.getFiledNameByMultiLang("name"); + var10001 = OrgVO.getDefaultTableName(); + sql.append("isnull(" + var10001 + "." + orgName + "," + OrgVO.getDefaultTableName() + ".name) "); + if (!isGroupby.booleanValue()) { + sql.append("orgname"); + } + + sql.append(","); + } + + private String getShowTypeSelectSQL(Map conditionMap, Integer ishowtype) { + Integer ireportsource = Integer.valueOf(((CMConditionVO)conditionMap.get("ireportsource")).getSingleValue()); + Integer ireportcontent = -1; + String content = null; + if (conditionMap.get("ireportcontent") != null) { + content = ((CMConditionVO)conditionMap.get("ireportcontent")).getSingleValue(); + } + + if (content != null && MeasCostQueryConditionVO.REVERT_BEFORE_VALUE.equals(ireportsource)) { + ireportcontent = Integer.valueOf(content); + } + + CMSqlBuilder sql = new CMSqlBuilder(); + sql.select(); + if (!MeasCostQueryConditionVO.PRODCOST_VALUE.equals(ireportcontent) && !MeasCostQueryConditionVO.WASTER_VALUE.equals(ireportcontent)) { + if (MeasCostQueryConditionVO.INPROCOST_VALUE.equals(ireportcontent)) { + sql.append("cm_cost_table.cinprocostid"); + } else if (ireportcontent == -1) { + sql.append("cm_cost_table.pk_ctrevert"); + } + } else { + sql.append("cm_cost_table.cprodcostid"); + } + + sql.append(" "); + sql.append("PK"); + sql.append(","); + this.getBookAProfitcenterAOrgName(sql, UFBoolean.FALSE); + sql.append(CostCenterVO.getDefaultTableName() + ".cccode"); + String ccname = CMUtil.getFiledNameByMultiLang("ccname"); + String var10001 = CostCenterVO.getDefaultTableName(); + sql.append(",isnull(" + var10001 + "." + ccname + "," + CostCenterVO.getDefaultTableName() + ".ccname) ccname"); + sql.append(","); + if (MeasCostQueryConditionVO.COSTOBJECT_VALUE.equals(ishowtype) && MeasCostQueryConditionVO.REVERT_BEFORE_VALUE.equals(ireportsource)) { + sql.append(CostObjectVO.getDefaultTableName() + ".vcostobjcode"); + sql.append(" "); + sql.append("vcostobjcode"); + sql.append(","); + var10001 = CostObjectVO.getDefaultTableName(); + sql.append(var10001 + ".vcostobjname" + MultiLangUtil.getCurrentLangSeqSuffix()); + sql.append(" "); + sql.append("vcostobjname"); + sql.append(","); + sql.append(CostObjectVO.getDefaultTableName() + ".vcostobjname"); + sql.append(" "); + sql.append("vcostobjname0"); + } else if (MeasCostQueryConditionVO.PRODUCT_VALUE.equals(ishowtype)) { + sql.append(MaterialVersionVO.getDefaultTableName() + ".code"); + sql.append(" "); + sql.append("vcostobjcode"); + sql.append(","); + var10001 = MaterialVersionVO.getDefaultTableName(); + sql.append(var10001 + ".name" + MultiLangUtil.getCurrentLangSeqSuffix()); + sql.append(" "); + sql.append("vcostobjname"); + sql.append(","); + sql.append(MaterialVersionVO.getDefaultTableName() + ".name"); + sql.append(" "); + sql.append("vcostobjname0"); + } else if (MeasCostQueryConditionVO.PRODUCT_COST_VALUE.equals(ishowtype)) { + sql.append(MarCostClassVO.getDefaultTableName() + ".code"); + sql.append(" "); + sql.append("vcostobjcode"); + sql.append(","); + var10001 = MarCostClassVO.getDefaultTableName(); + sql.append(var10001 + ".name" + MultiLangUtil.getCurrentLangSeqSuffix()); + sql.append(" "); + sql.append("vcostobjname"); + sql.append(","); + sql.append(MarCostClassVO.getDefaultTableName() + ".name"); + sql.append(" "); + sql.append("vcostobjname0"); + } else if (MeasCostQueryConditionVO.PRODUCT_BASIC_VALUE.equals(ishowtype)) { + sql.append(MarBasClassVO.getDefaultTableName() + ".code"); + sql.append(" "); + sql.append("vcostobjcode"); + sql.append(","); + var10001 = MarBasClassVO.getDefaultTableName(); + sql.append(var10001 + ".name" + MultiLangUtil.getCurrentLangSeqSuffix()); + sql.append(" "); + sql.append("vcostobjname"); + sql.append(","); + sql.append(MarBasClassVO.getDefaultTableName() + ".name"); + sql.append(" "); + sql.append("vcostobjname0"); + } + + return sql.toString(); + } + + private String getVcostobjFromSQL(Map conditionMap, Integer ishowtype) { + CMSqlBuilder sql = new CMSqlBuilder(); + if (MeasCostQueryConditionVO.FEATURE_VALUE.equals(ishowtype)) { + sql.append(this.getVcostobjFromSQLFeature(conditionMap)); + return sql.toString(); + } else if (MeasCostQueryConditionVO.NOFEATURE_VALUE.equals(ishowtype)) { + sql.append(this.getVcostobjFromSQLNoFeature(conditionMap)); + return sql.toString(); + } else { + sql.append(" from "); + Integer ireportsource = Integer.valueOf(((CMConditionVO)conditionMap.get("ireportsource")).getSingleValue()); + Integer ishowtypeTemp = Integer.valueOf(((CMConditionVO)conditionMap.get("ishowtype")).getSingleValue()); + if (MeasCostQueryConditionVO.REVERT_BEFORE_VALUE.equals(ireportsource)) { + Integer ireportcontent = Integer.valueOf(((CMConditionVO)conditionMap.get("ireportcontent")).getSingleValue()); + if (!MeasCostQueryConditionVO.PRODCOST_VALUE.equals(ireportcontent) && !MeasCostQueryConditionVO.WASTER_VALUE.equals(ireportcontent)) { + if (MeasCostQueryConditionVO.INPROCOST_VALUE.equals(ireportcontent)) { + sql.append(InproCostHeadVO.getDefaultTableName()); + sql.append(" "); + sql.append("cm_cost_table"); + sql.innerjoin(InproCostItemVO.getDefaultTableName()); + sql.append(" "); + sql.append("cm_cost_table_b"); + sql.on("cm_cost_table", "cinprocostid", "cm_cost_table_b", "cinprocostid"); + } + } else { + sql.append(ProdcostHeadVO.getDefaultTableName()); + sql.append(" "); + sql.append("cm_cost_table"); + sql.innerjoin(ProdcostItemVO.getDefaultTableName()); + sql.append(" "); + sql.append("cm_cost_table_b"); + sql.on("cm_cost_table", "cprodcostid", "cm_cost_table_b", "cprodcostid"); + } + + sql.innerjoin(CostObjectVO.getDefaultTableName()); + sql.append(" "); + sql.append(CostObjectVO.getDefaultTableName()); + sql.on(CostObjectVO.getDefaultTableName(), "ccostobjectid", "cm_cost_table", "ccostobjectid"); + if (MeasCostQueryConditionVO.PRODUCT_VALUE.equals(ishowtype)) { + sql.innerjoin(MaterialVersionVO.getDefaultTableName()); + sql.append(" "); + sql.append(MaterialVersionVO.getDefaultTableName()); + sql.on(MaterialVersionVO.getDefaultTableName(), "pk_source", CostObjectVO.getDefaultTableName(), "cmaterialid"); + sql.append(" "); + sql.append("left join "); + sql.append("bd_measdoc"); + sql.append(" "); + sql.append("bd_measdoc"); + sql.on("bd_measdoc", "pk_measdoc", MaterialVersionVO.getDefaultTableName(), "pk_measdoc"); + } else if (MeasCostQueryConditionVO.PRODUCT_COST_VALUE.equals(ishowtype)) { + sql.innerjoin(MarCostClassVO.getDefaultTableName()); + sql.append(" "); + sql.append(MarCostClassVO.getDefaultTableName()); + sql.on(MarCostClassVO.getDefaultTableName(), "pk_marcostclass", CostObjectVO.getDefaultTableName(), "cmarcostclassid"); + } else if (MeasCostQueryConditionVO.COSTOBJECT_VALUE.equals(ishowtype) || null == ishowtype && MeasCostQueryConditionVO.COSTOBJECT_VALUE.equals(ishowtypeTemp)) { + sql.append(" "); + sql.append("left join "); + sql.append("bd_measdoc"); + sql.append(" "); + sql.append("bd_measdoc"); + sql.on("bd_measdoc", "pk_measdoc", CostObjectVO.getDefaultTableName(), "pk_measdoc"); + } + } else if (MeasCostQueryConditionVO.REVERT_AFTER_VALUE.equals(ireportsource)) { + sql.append(CtRevertHeadVO.getDefaultTableName()); + sql.append(" "); + sql.append("cm_cost_table"); + sql.innerjoin(CtRevertItemVO.getDefaultTableName()); + sql.append(" "); + sql.append("cm_cost_table_b"); + sql.on("cm_cost_table", "pk_ctrevert", "cm_cost_table_b", "pk_ctrevert"); + if (MeasCostQueryConditionVO.PRODUCT_VALUE.equals(ishowtype)) { + sql.innerjoin(MaterialVersionVO.getDefaultTableName()); + sql.append(" "); + sql.append(MaterialVersionVO.getDefaultTableName()); + sql.on(MaterialVersionVO.getDefaultTableName(), "pk_source", "cm_cost_table", "cmaterialid"); + sql.append(" "); + sql.append("left join "); + sql.append("bd_measdoc"); + sql.append(" "); + sql.append("bd_measdoc"); + sql.on("bd_measdoc", "pk_measdoc", MaterialVersionVO.getDefaultTableName(), "pk_measdoc"); + } else if (MeasCostQueryConditionVO.PRODUCT_COST_VALUE.equals(ishowtype)) { + sql.innerjoin(MarCostClassVO.getDefaultTableName()); + sql.append(" "); + sql.append(MarCostClassVO.getDefaultTableName()); + sql.on(MarCostClassVO.getDefaultTableName(), "pk_marcostclass", "cm_cost_table", "cmarcostclassid"); + } + } + + String var10001 = AccbookVO.getDefaultTableName(); + sql.innerjoin(var10001 + " " + AccbookVO.getDefaultTableName()); + sql.on("cm_cost_table", "pk_accbook", AccbookVO.getDefaultTableName(), "pk_accbook"); + sql.append(" left join "); + var10001 = ProfitCenterVO.getDefaultTableName(); + sql.append(var10001 + " " + ProfitCenterVO.getDefaultTableName()); + sql.on("cm_cost_table", "pk_profitcenter", ProfitCenterVO.getDefaultTableName(), "pk_profitcenter"); + sql.append(" left join "); + var10001 = OrgVO.getDefaultTableName(); + sql.append(var10001 + " " + OrgVO.getDefaultTableName()); + sql.on("cm_cost_table", "pk_org", OrgVO.getDefaultTableName(), "pk_org"); + var10001 = CostCenterVO.getDefaultTableName(); + sql.innerjoin(var10001 + " " + CostCenterVO.getDefaultTableName()); + sql.on("cm_cost_table", "ccostcenterid", CostCenterVO.getDefaultTableName(), "pk_costcenter"); + sql.innerjoin(FactorAsoaVO.getDefaultTableName()); + sql.append(" "); + sql.append(FactorAsoaVO.getDefaultTableName()); + sql.on("cm_cost_table_b", "celementid", FactorAsoaVO.getDefaultTableName(), "pk_factorasoa"); + + // LEFT JOIN bd_project bd_project ON cm_costobject.cprojectid = bd_project.pk_project + // 联查项目表 不是所有的物料都启用项目,所以用leftjoin + // todo + sql.append(" left join " + ProjectHeadVO.getDefaultTableName()); + sql.append(" "); + sql.append(ProjectHeadVO.getDefaultTableName()); + sql.on(ProjectHeadVO.getDefaultTableName(), "pk_project", "cm_costobject", "cprojectid"); + + return sql.toString(); + } + } + + private String getVcostobjWhereSQL(MeasCostParamVO paramVO) { + return paramVO.getWhereSql(); + } + + private String getVcostobjGroupSQL(Map conditionMap, Integer ishowtype) { + CMSqlBuilder sql = new CMSqlBuilder(); + sql.append(this.getShowTypeGroupSQL(conditionMap, ishowtype)); + String[] showDetailDiff = MeasCostUtil.getShowDetailDiff(conditionMap); + if (CMArrayUtil.isEquals(CMCommonConst1614.SUBTYPE_ITEMS, showDetailDiff)) { + sql.append(","); + sql.append("cm_cost_table_b.bsubtype"); + } else if (CMArrayUtil.isEquals(CMCommonConst1614.CENTERFROM_ITEMS, showDetailDiff)) { + sql.append(","); + sql.append("cm_cost_table_b.bfromcostcenter"); + } + + return sql.toString(); + } + + private String getShowTypeGroupSQL(Map conditionMap, Integer ishowtype) { + Integer ireportsource = Integer.valueOf(((CMConditionVO)conditionMap.get("ireportsource")).getSingleValue()); + Integer ireportcontent = -1; + String content = null; + if (conditionMap.get("ireportcontent") != null) { + content = ((CMConditionVO)conditionMap.get("ireportcontent")).getSingleValue(); + } + + if (content != null && MeasCostQueryConditionVO.REVERT_BEFORE_VALUE.equals(ireportsource)) { + ireportcontent = Integer.valueOf(content); + } + + CMSqlBuilder sqlTemp = new CMSqlBuilder(); + if (!MeasCostQueryConditionVO.PRODCOST_VALUE.equals(ireportcontent) && !MeasCostQueryConditionVO.WASTER_VALUE.equals(ireportcontent)) { + if (MeasCostQueryConditionVO.INPROCOST_VALUE.equals(ireportcontent)) { + sqlTemp.append("cm_cost_table.cinprocostid"); + } else if (ireportcontent == -1) { + sqlTemp.append("cm_cost_table.pk_ctrevert"); + } + } else { + sqlTemp.append("cm_cost_table.cprodcostid"); + } + + CMSqlBuilder sql = new CMSqlBuilder(); + if (MeasCostQueryConditionVO.COSTOBJECT_VALUE.equals(ishowtype) && MeasCostQueryConditionVO.REVERT_BEFORE_VALUE.equals(ireportsource)) { + sql.groupBy(CostObjectVO.getDefaultTableName(), new String[]{"vcostobjcode", "vcostobjname", "vcostobjname" + MultiLangUtil.getCurrentLangSeqSuffix()}); + } else if (MeasCostQueryConditionVO.PRODUCT_VALUE.equals(ishowtype)) { + sql.groupBy(MaterialVersionVO.getDefaultTableName(), new String[]{"code", "name", "name" + MultiLangUtil.getCurrentLangSeqSuffix()}); + } else if (MeasCostQueryConditionVO.PRODUCT_COST_VALUE.equals(ishowtype)) { + sql.groupBy(MarCostClassVO.getDefaultTableName(), new String[]{"code", "name", "name" + MultiLangUtil.getCurrentLangSeqSuffix()}); + } else if (MeasCostQueryConditionVO.PRODUCT_BASIC_VALUE.equals(ishowtype)) { + sql.groupBy(MarBasClassVO.getDefaultTableName(), new String[]{"code", "name", "name" + MultiLangUtil.getCurrentLangSeqSuffix()}); + } + + this.getBookAProfitcenterAOrgName(sql, UFBoolean.TRUE); + String ccname = CMUtil.getFiledNameByMultiLang("ccname"); + sql.append(CostCenterVO.getDefaultTableName() + ".cccode"); + String var10001 = CostCenterVO.getDefaultTableName(); + sql.append(",isnull(" + var10001 + "." + ccname + "," + CostCenterVO.getDefaultTableName() + ".ccname)"); + sql.append(","); + sql.append(sqlTemp); + return sql.toString(); + } + + private String getFactorSelectSQL(Map conditionMap, Integer ishowtype) { + CMSqlBuilder sql = new CMSqlBuilder(); + sql.append(this.getShowTypeSelectSQL(conditionMap, ishowtype)); + sql.append(","); + String var10001 = FactorVO.getDefaultTableName(); + sql.append(var10001 + ".factorname" + MultiLangUtil.getCurrentLangSeqSuffix()); + sql.append(" "); + sql.append("factorname"); + sql.append(","); + sql.append(FactorVO.getDefaultTableName() + ".factorname"); + sql.append(" "); + sql.append("factorname0"); + sql.append(","); + sql.append(FactorVO.getDefaultTableName() + ".factorcode"); + sql.append(","); + sql.append("max("); + sql.append(FactorVO.getDefaultTableName()); + sql.append("."); + sql.append("factorlev"); + sql.append(")"); + sql.append(" "); + sql.append("factorlev"); + sql.append(","); + sql.append("max("); + sql.append(FactorAsoaVO.getDefaultTableName()); + sql.append("."); + sql.append("pk_factorasoa"); + sql.append(")"); + sql.append(" "); + sql.append("pk_factorasoa"); + sql.append(","); + + // todo 增加项目字段 + sql.append("max("); + sql.append(ProjectHeadVO.getDefaultTableName()); + sql.append("."); + sql.append("project_code"); + sql.append(")"); + sql.append(" "); + sql.append("project_code"); + sql.append(","); + sql.append("max("); + sql.append(ProjectHeadVO.getDefaultTableName()); + sql.append("."); + sql.append("project_name"); + sql.append(")"); + sql.append(" "); + sql.append("project_name"); + sql.append(","); + + Integer ireportsource = Integer.valueOf(((CMConditionVO)conditionMap.get("ireportsource")).getSingleValue()); + if (MeasCostQueryConditionVO.REVERT_BEFORE_VALUE.equals(ireportsource)) { + sql.sum("cm_cost_table_b", "nmoney", "factornsum"); + } else if (MeasCostQueryConditionVO.REVERT_AFTER_VALUE.equals(ireportsource)) { + sql.sum("cm_cost_table_b", "aftercost", "factornsum"); + } + + String[] showDetailDiff = MeasCostUtil.getShowDetailDiff(conditionMap); + if (CMArrayUtil.isEquals(CMCommonConst1614.STDCOST_ITEMS, showDetailDiff)) { + sql.append(","); + sql.sum("cm_cost_table_b", "nstdcost", "nstdcost_factor"); + sql.append(","); + sql.sum("cm_cost_table_b", "nnumdiff", "nnumdiff_factor"); + sql.append(","); + sql.sum("cm_cost_table_b", "npricediff", "npricediff_factor"); + } else if (CMArrayUtil.isEquals(CMCommonConst1614.SUBTYPE_ITEMS, showDetailDiff)) { + sql.append(","); + sql.append("cm_cost_table_b.bsubtype"); + } else if (CMArrayUtil.isEquals(CMCommonConst1614.CENTERFROM_ITEMS, showDetailDiff)) { + sql.append(","); + sql.append("cm_cost_table_b.bfromcostcenter"); + } + + return sql.toString(); + } + + private String getFactorSelectSQLAct(Map conditionMap, Integer ishowtype) { + CMSqlBuilder sql = new CMSqlBuilder(); + sql.append(this.getShowTypeSelectSQL(conditionMap, ishowtype)); + sql.append(","); + String var10001 = FactorAsoaVO.getDefaultTableName(); + sql.append(var10001 + "_activity.factorname" + MultiLangUtil.getCurrentLangSeqSuffix()); + sql.append(" "); + sql.append("factorname"); + sql.append(","); + sql.append(FactorAsoaVO.getDefaultTableName() + "_activity.factorname"); + sql.append(" "); + sql.append("factorname0"); + sql.append(","); + sql.append(FactorAsoaVO.getDefaultTableName() + "_activity.factorcode"); + sql.append(","); + sql.append(" 0 "); + sql.append(" "); + sql.append("factorlev"); + sql.append(","); + sql.append("max("); + sql.append(FactorAsoaVO.getDefaultTableName() + "_activity"); + sql.append("."); + sql.append("pk_factorasoa"); + sql.append(")"); + sql.append(" "); + sql.append("pk_factorasoa"); + sql.append(","); + Integer ireportsource = Integer.valueOf(((CMConditionVO)conditionMap.get("ireportsource")).getSingleValue()); + if (MeasCostQueryConditionVO.REVERT_BEFORE_VALUE.equals(ireportsource)) { + sql.sum("cm_cost_table_b", "nmoney", "factornsum"); + } else if (MeasCostQueryConditionVO.REVERT_AFTER_VALUE.equals(ireportsource)) { + sql.sum("cm_cost_table_b", "aftercost", "factornsum"); + } + + String[] showDetailDiff = MeasCostUtil.getShowDetailDiff(conditionMap); + if (CMArrayUtil.isEquals(CMCommonConst1614.STDCOST_ITEMS, showDetailDiff)) { + sql.append(","); + sql.sum("cm_cost_table_b", "nstdcost", "nstdcost_factor"); + sql.append(","); + sql.sum("cm_cost_table_b", "nnumdiff", "nnumdiff_factor"); + sql.append(","); + sql.sum("cm_cost_table_b", "npricediff", "npricediff_factor"); + } else if (CMArrayUtil.isEquals(CMCommonConst1614.SUBTYPE_ITEMS, showDetailDiff)) { + sql.append(","); + sql.append("cm_cost_table_b.bsubtype"); + } else if (CMArrayUtil.isEquals(CMCommonConst1614.CENTERFROM_ITEMS, showDetailDiff)) { + sql.append(","); + sql.append("cm_cost_table_b.bfromcostcenter"); + } + + return sql.toString(); + } + + private String getFactorFromSQL(Map conditionMap, Integer ishowtype) { + CMSqlBuilder sql = new CMSqlBuilder(); + sql.append(this.getVcostobjFromSQL(conditionMap, ishowtype)); + sql.append(MeasCostFactorSQLBuilder.getFactorCodeFromSQL()); + return sql.toString(); + } + + private String getFactorFromSQLAct(Map conditionMap, Integer ishowtype) { + CMSqlBuilder sql = new CMSqlBuilder(); + sql.append(this.getVcostobjFromSQL(conditionMap, ishowtype)); + sql.innerjoin(BDActivityVO.getDefaultTableName()); + sql.append(" "); + sql.append(BDActivityVO.getDefaultTableName()); + sql.on(BDActivityVO.getDefaultTableName(), "cactivityid", "cm_cost_table_b", "cactivityid"); + return sql.toString(); + } + + private String getFactorFromSQLNoAct(Map conditionMap, Integer ishowtype) { + CMSqlBuilder sql = new CMSqlBuilder(); + sql.append(this.getVcostobjFromSQL(conditionMap, ishowtype)); + sql.and(); + sql.append("cm_cost_table_b.cactivityid"); + sql.append(" ='~' "); + sql.append(MeasCostFactorSQLBuilder.getFactorCodeFromSQL()); + return sql.toString(); + } + + private String getFactorWhereSQL(MeasCostParamVO paramVO) { + return paramVO.getWhereSql(); + } + + private String getFactorGroupSQL(Map conditionMap, Integer ishowtype) { + CMSqlBuilder sql = new CMSqlBuilder(); + sql.append(this.getShowTypeGroupSQL(conditionMap, ishowtype)); + sql.append(","); + sql.append(FactorVO.getDefaultTableName() + ".factorcode"); + sql.append(","); + String var10001 = FactorVO.getDefaultTableName(); + sql.append(var10001 + ".factorname" + MultiLangUtil.getCurrentLangSeqSuffix()); + sql.append(","); + sql.append(FactorVO.getDefaultTableName() + ".factorname"); + String[] showDetailDiff = MeasCostUtil.getShowDetailDiff(conditionMap); + if (CMArrayUtil.isEquals(CMCommonConst1614.SUBTYPE_ITEMS, showDetailDiff)) { + sql.append(","); + sql.append("cm_cost_table_b.bsubtype"); + } else if (CMArrayUtil.isEquals(CMCommonConst1614.CENTERFROM_ITEMS, showDetailDiff)) { + sql.append(","); + sql.append("cm_cost_table_b.bfromcostcenter"); + } + + return sql.toString(); + } + + private String getFactorGroupSQLAct(Map conditionMap, Integer ishowtype) { + CMSqlBuilder sql = new CMSqlBuilder(); + sql.append(this.getShowTypeGroupSQL(conditionMap, ishowtype)); + sql.append(","); + sql.append(FactorAsoaVO.getDefaultTableName() + "_activity.factorcode"); + sql.append(","); + sql.append(FactorAsoaVO.getDefaultTableName() + "_activity.factorname"); + sql.append(","); + String var10001 = FactorAsoaVO.getDefaultTableName(); + sql.append(var10001 + "_activity.factorname" + MultiLangUtil.getCurrentLangSeqSuffix()); + String[] showDetailDiff = MeasCostUtil.getShowDetailDiff(conditionMap); + if (CMArrayUtil.isEquals(CMCommonConst1614.SUBTYPE_ITEMS, showDetailDiff)) { + sql.append(","); + sql.append("cm_cost_table_b.bsubtype"); + } else if (CMArrayUtil.isEquals(CMCommonConst1614.CENTERFROM_ITEMS, showDetailDiff)) { + sql.append(","); + sql.append("cm_cost_table_b.bfromcostcenter"); + } + + return sql.toString(); + } + + private String getVcostobjSelectSQLForNNum(Map conditionMap) { + CMSqlBuilder sql = new CMSqlBuilder(); + sql.append(" select "); + sql.select("tt", new String[]{"vcostobjcode", "vcostobjname"}); + sql.append(","); + sql.append("vcostobjname0"); + sql.append(" "); + sql.append("vcostobjname0"); + sql.append(",tt.bookname"); + sql.append(",tt.profitcentername"); + sql.append(",tt.orgname"); + sql.append(",tt.cccode"); + sql.append(",tt.ccname"); + sql.append(",sum(tt."); + sql.append("nnum"); + sql.append(") "); + sql.append("nnum"); + sql.append(",sum(tt."); + sql.append("nsum"); + sql.append(") "); + sql.append("nsum"); + sql.append(",tt."); + sql.append("measdocname"); + sql.append(",tt."); + sql.append("bitnumber"); + sql.append(",tt."); + sql.append("materialspec"); + sql.append(",tt."); + sql.append("materialtype"); + String[] showDetailDiff = MeasCostUtil.getShowDetailDiff(conditionMap); + if (CMArrayUtil.isEquals(CMCommonConst1614.STDCOST_ITEMS, showDetailDiff)) { + sql.append(",sum(tt."); + sql.append("nstdcost_nsum"); + sql.append(") "); + sql.append("nstdcost_nsum"); + sql.append(",sum(tt."); + sql.append("nnumdiff_nsum"); + sql.append(") "); + sql.append("nnumdiff_nsum"); + sql.append(",sum(tt."); + sql.append("npricediff_nsum"); + sql.append(") "); + sql.append("npricediff_nsum"); + } else if (CMArrayUtil.isEquals(CMCommonConst1614.SUBTYPE_ITEMS, showDetailDiff)) { + sql.append(","); + sql.append("tt.bsubtype"); + } else if (CMArrayUtil.isEquals(CMCommonConst1614.CENTERFROM_ITEMS, showDetailDiff)) { + sql.append(","); + sql.append("tt.bfromcostcenter"); + } + + sql.append(" from "); + return sql.toString(); + } + + private String getVcostobjGroupSQLForNNum(Map conditionMap) { + CMSqlBuilder sql = new CMSqlBuilder(); + sql.groupBy("tt", new String[]{"vcostobjcode", "vcostobjname", "vcostobjname0", "cccode", "ccname", "measdocname", "bitnumber", "materialspec", "materialtype", "bookname", "profitcentername", "orgname"}); + String[] showDetailDiff = MeasCostUtil.getShowDetailDiff(conditionMap); + if (CMArrayUtil.isEquals(CMCommonConst1614.SUBTYPE_ITEMS, showDetailDiff)) { + sql.append(","); + sql.append("tt.bsubtype"); + } else if (CMArrayUtil.isEquals(CMCommonConst1614.CENTERFROM_ITEMS, showDetailDiff)) { + sql.append(","); + sql.append("tt.bfromcostcenter"); + } + + return sql.toString(); + } + + public String getSQLMeasdocForNumDigits(MeasCostParamVO paramVO) { + Map conditionMap = paramVO.getConditionMap(); + Integer ireportsource = Integer.valueOf(((CMConditionVO)conditionMap.get("ireportsource")).getSingleValue()); + Integer ireportcontent = -1; + String content = null; + if (conditionMap.get("ireportcontent") != null) { + content = ((CMConditionVO)conditionMap.get("ireportcontent")).getSingleValue(); + } + + if (content != null) { + ireportcontent = Integer.valueOf(content); + } + + if (MeasCostQueryConditionVO.REVERT_BEFORE_VALUE.equals(ireportsource)) { + if (MeasCostQueryConditionVO.PRODCOST_VALUE.equals(ireportcontent) || MeasCostQueryConditionVO.WASTER_VALUE.equals(ireportcontent)) { + return this.getSQLMeasdocByProdcost(paramVO); + } + + if (MeasCostQueryConditionVO.INPROCOST_VALUE.equals(ireportcontent)) { + return this.getSQLMeasdocByInProdcost(paramVO); + } + } + + return this.getSQLMeasdocByCtrevProdcost(paramVO); + } + + private String getSQLMeasdocByProdcost(MeasCostParamVO paramVO) { + CMSqlBuilder sql = new CMSqlBuilder(); + sql.append(" select CM_COST_TABLE.cmeasdocid from "); + sql.append(ProdcostHeadVO.getDefaultTableName()); + sql.append(" "); + sql.append("cm_cost_table"); + sql.innerjoin(ProdcostItemVO.getDefaultTableName()); + sql.append(" "); + sql.append("cm_cost_table_b"); + sql.on("cm_cost_table", "cprodcostid", "cm_cost_table_b", "cprodcostid"); + sql.innerjoin(FactorAsoaVO.getDefaultTableName()); + sql.on("cm_cost_table_b", "celementid", FactorAsoaVO.getDefaultTableName(), "pk_factorasoa"); + sql.append(" "); + sql.innerjoin(CostObjectVO.getDefaultTableName()); + sql.on("cm_cost_table", "ccostobjectid", CostObjectVO.getDefaultTableName(), "ccostobjectid"); + sql.append(" "); + sql.append(paramVO.getWhereSql()); + return sql.toString(); + } + + private String getSQLMeasdocByInProdcost(MeasCostParamVO paramVO) { + CMSqlBuilder sql = new CMSqlBuilder(); + sql.append(" select CM_COST_TABLE.cmeasdocid from "); + sql.append(InproCostHeadVO.getDefaultTableName()); + sql.append(" "); + sql.append("cm_cost_table"); + sql.innerjoin(InproCostItemVO.getDefaultTableName()); + sql.append(" "); + sql.append("cm_cost_table_b"); + sql.on("cm_cost_table", "cinprocostid", "cm_cost_table_b", "cinprocostid"); + sql.innerjoin(FactorAsoaVO.getDefaultTableName()); + sql.on("cm_cost_table_b", "celementid", FactorAsoaVO.getDefaultTableName(), "pk_factorasoa"); + sql.append(" "); + sql.innerjoin(CostObjectVO.getDefaultTableName()); + sql.on("cm_cost_table", "ccostobjectid", CostObjectVO.getDefaultTableName(), "ccostobjectid"); + sql.append(" "); + sql.append(paramVO.getWhereSql()); + return sql.toString(); + } + + private String getSQLMeasdocByCtrevProdcost(MeasCostParamVO paramVO) { + CMSqlBuilder sql = new CMSqlBuilder(); + sql.append(" select CM_COST_TABLE.cmeasureid from "); + sql.append(CtRevertHeadVO.getDefaultTableName()); + sql.append(" "); + sql.append("cm_cost_table"); + sql.innerjoin(CtRevertItemVO.getDefaultTableName()); + sql.append(" "); + sql.append("cm_cost_table_b"); + sql.on("cm_cost_table", "pk_ctrevert", "cm_cost_table_b", "pk_ctrevert"); + sql.innerjoin(FactorAsoaVO.getDefaultTableName()); + sql.on("cm_cost_table_b", "celementid", FactorAsoaVO.getDefaultTableName(), "pk_factorasoa"); + sql.append(" "); + sql.append(paramVO.getWhereSql()); + return sql.toString(); + } + + private String getVcostobjSelectSQLAddMeasdoc(Map conditionMap, Integer ishowtype) { + Integer ireportsource = Integer.valueOf(((CMConditionVO)conditionMap.get("ireportsource")).getSingleValue()); + CMSqlBuilder sql = new CMSqlBuilder(); + String measdocName = CMUtil.getFiledNameByMultiLang("name"); + if (MeasCostQueryConditionVO.REVERT_BEFORE_VALUE.equals(ireportsource)) { + if (MeasCostQueryConditionVO.PRODUCT_VALUE.equals(ishowtype)) { + sql.append(","); + sql.append(MaterialVersionVO.getDefaultTableName() + ".materialspec"); + sql.append(" "); + sql.append("materialspec"); + sql.append(","); + sql.append(MaterialVersionVO.getDefaultTableName() + ".materialtype"); + sql.append(" "); + sql.append("materialtype"); + String var10001 = MeasdocVO.getDefaultTableName(); + sql.append(",isnull(" + var10001 + "." + measdocName + "," + MeasdocVO.getDefaultTableName() + ".name) measdocname"); + sql.append("," + MeasdocVO.getDefaultTableName() + ".bitnumber bitnumber"); + } else if (MeasCostQueryConditionVO.COSTOBJECT_VALUE.equals(ishowtype)) { + sql.append(","); + sql.append("cm_costobject.materialspec"); + sql.append(" "); + sql.append("materialspec"); + sql.append(","); + sql.append("cm_costobject.materialtype"); + sql.append(" "); + sql.append("materialtype"); + String var6 = MeasdocVO.getDefaultTableName(); + sql.append(",isnull(" + var6 + "." + measdocName + "," + MeasdocVO.getDefaultTableName() + ".name) measdocname"); + sql.append("," + MeasdocVO.getDefaultTableName() + ".bitnumber bitnumber"); + } else { + sql.append(",'' "); + sql.append("materialspec"); + sql.append(",'' "); + sql.append("materialtype"); + sql.append(",'' "); + sql.append("measdocname"); + sql.append(",'' "); + sql.append("bitnumber"); + } + } else if (MeasCostQueryConditionVO.REVERT_AFTER_VALUE.equals(ireportsource)) { + if (MeasCostQueryConditionVO.PRODUCT_VALUE.equals(ishowtype)) { + sql.append(","); + sql.append(MaterialVersionVO.getDefaultTableName() + ".materialspec"); + sql.append(" "); + sql.append("materialspec"); + sql.append(","); + sql.append(MaterialVersionVO.getDefaultTableName() + ".materialtype"); + sql.append(" "); + sql.append("materialtype"); + String var7 = MeasdocVO.getDefaultTableName(); + sql.append(",isnull(" + var7 + "." + measdocName + "," + MeasdocVO.getDefaultTableName() + ".name) measdocname"); + sql.append("," + MeasdocVO.getDefaultTableName() + ".bitnumber bitnumber"); + } else { + sql.append(",'' "); + sql.append("materialspec"); + sql.append(",'' "); + sql.append("materialtype"); + sql.append(",'' "); + sql.append("measdocname"); + sql.append(",'' "); + sql.append("bitnumber"); + } + } + + return sql.toString(); + } + + private String getVcostobjGroupSQLAddMeasdoc(Integer ishowtype, Integer ireportsource) { + CMSqlBuilder sql = new CMSqlBuilder(); + String measdocName = CMUtil.getFiledNameByMultiLang("name"); + if (MeasCostQueryConditionVO.COSTOBJECT_VALUE.equals(ishowtype) && MeasCostQueryConditionVO.REVERT_BEFORE_VALUE.equals(ireportsource)) { + sql.append(","); + sql.append("cm_costobject.materialspec"); + sql.append(","); + sql.append("cm_costobject.materialtype"); + String var5 = MeasdocVO.getDefaultTableName(); + sql.append(",isnull(" + var5 + "." + measdocName + "," + MeasdocVO.getDefaultTableName() + ".name) "); + sql.append("," + MeasdocVO.getDefaultTableName() + ".bitnumber"); + } else if (MeasCostQueryConditionVO.PRODUCT_VALUE.equals(ishowtype)) { + sql.append(","); + sql.append(MaterialVersionVO.getDefaultTableName() + ".materialspec"); + sql.append(","); + sql.append(MaterialVersionVO.getDefaultTableName() + ".materialtype"); + String var10001 = MeasdocVO.getDefaultTableName(); + sql.append(",isnull(" + var10001 + "." + measdocName + "," + MeasdocVO.getDefaultTableName() + ".name) "); + sql.append("," + MeasdocVO.getDefaultTableName() + ".bitnumber"); + } + + return sql.toString(); + } +} diff --git a/cm/src/private/nc/bs/cm/meascostcontrast/process/MeasCostCenterfrom.java b/cm/src/private/nc/bs/cm/meascostcontrast/process/MeasCostCenterfrom.java new file mode 100644 index 0000000..e6749a5 --- /dev/null +++ b/cm/src/private/nc/bs/cm/meascostcontrast/process/MeasCostCenterfrom.java @@ -0,0 +1,81 @@ +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package nc.bs.cm.meascostcontrast.process; + +import java.util.List; +import nc.bd.framework.base.CMNumberUtil2; +import nc.bs.cm.meascostcontrast.strategy.IMeasCostStrategy; +import nc.cmpub.framework.util.CMValidateUtil; +import nc.vo.cm.meascostcontrast.MeasCostItemVO; +import nc.vo.cm.meascostcontrast.MeasCostQueryResultVO; +import nc.vo.pub.lang.UFDouble; + +public class MeasCostCenterfrom implements IMeasCostStrategy { + public MeasCostCenterfrom() { + } + + public void saveItem(List factorList, MeasCostItemVO itemVO) { + if (!CMValidateUtil.isEmpty(factorList)) { + itemVO.setBookname(((MeasCostQueryResultVO)factorList.get(0)).getBookname()); + itemVO.setProfitcentername(((MeasCostQueryResultVO)factorList.get(0)).getProfitcentername()); + itemVO.setOrgname(((MeasCostQueryResultVO)factorList.get(0)).getOrgname()); + itemVO.setCccode(((MeasCostQueryResultVO)factorList.get(0)).getCccode()); + itemVO.setCcname(((MeasCostQueryResultVO)factorList.get(0)).getCcname()); + itemVO.setVcostobjcode(((MeasCostQueryResultVO)factorList.get(0)).getVcostobjcode()); + itemVO.setVcostobjname(((MeasCostQueryResultVO)factorList.get(0)).getVcostobjname()); + itemVO.setNnum(((MeasCostQueryResultVO)factorList.get(0)).getNnum()); + itemVO.setMaterialspec(((MeasCostQueryResultVO)factorList.get(0)).getMaterialspec()); + itemVO.setMaterialtype(((MeasCostQueryResultVO)factorList.get(0)).getMaterialtype()); + itemVO.setMeasdocname(((MeasCostQueryResultVO)factorList.get(0)).getMeasdocname()); + itemVO.setBitnumber(((MeasCostQueryResultVO)factorList.get(0)).getBitnumber()); + itemVO.setProjectcode(((MeasCostQueryResultVO)factorList.get(0)).getProjectcode()); + itemVO.setProjectname(((MeasCostQueryResultVO)factorList.get(0)).getProjectname()); + UFDouble nmeascostN = UFDouble.ZERO_DBL; + UFDouble nmeascostY = UFDouble.ZERO_DBL; + UFDouble nsumN = UFDouble.ZERO_DBL; + UFDouble nsumY = UFDouble.ZERO_DBL; + + for(MeasCostQueryResultVO resultVO : factorList) { + String bfromcostcenter = resultVO.getBfromcostcenter(); + if ("N".equals(bfromcostcenter)) { + nsumN = resultVO.getNsum(); + nmeascostN = CMNumberUtil2.div(nsumN, new UFDouble[]{((MeasCostQueryResultVO)factorList.get(0)).getNnum()}); + } else if ("Y".equals(bfromcostcenter)) { + nsumY = resultVO.getNsum(); + nmeascostY = CMNumberUtil2.div(nsumY, new UFDouble[]{((MeasCostQueryResultVO)factorList.get(0)).getNnum()}); + } + } + + itemVO.setAttrbuteByRule("nmeascost", "ncost", CMNumberUtil2.add(new UFDouble[]{nmeascostN, nmeascostY})); + itemVO.setAttrbuteByRule("nmeascost", "thiscenter", nmeascostN); + itemVO.setAttrbuteByRule("nmeascost", "othercenter", nmeascostY); + itemVO.setAttrbuteByRule("nsum", "ncost", CMNumberUtil2.add(new UFDouble[]{nsumN, nsumY})); + itemVO.setAttrbuteByRule("nsum", "thiscenter", nsumN); + itemVO.setAttrbuteByRule("nsum", "othercenter", nsumY); + } + } + + public void saveFactor(List factorList, MeasCostItemVO itemVO) { + if (!CMValidateUtil.isEmpty(factorList)) { + String factorcode = ((MeasCostQueryResultVO)factorList.get(0)).getFactorcode(); + UFDouble factornsumN = UFDouble.ZERO_DBL; + UFDouble factornsumY = UFDouble.ZERO_DBL; + + for(MeasCostQueryResultVO resultVO : factorList) { + String bfromcostcenter = resultVO.getBfromcostcenter(); + if ("N".equals(bfromcostcenter)) { + factornsumN = CMNumberUtil2.add(new UFDouble[]{factornsumN, resultVO.getFactorNsum()}); + } else if ("Y".equals(bfromcostcenter)) { + factornsumY = CMNumberUtil2.add(new UFDouble[]{factornsumY, resultVO.getFactorNsum()}); + } + } + + itemVO.setAttrbuteByRule(factorcode, "ncost", CMNumberUtil2.add(new UFDouble[]{factornsumN, factornsumY})); + itemVO.setAttrbuteByRule(factorcode, "thiscenter", factornsumN); + itemVO.setAttrbuteByRule(factorcode, "othercenter", factornsumY); + } + } +} diff --git a/cm/src/private/nc/bs/cm/meascostcontrast/process/MeasCostDefault.java b/cm/src/private/nc/bs/cm/meascostcontrast/process/MeasCostDefault.java new file mode 100644 index 0000000..ae65b3d --- /dev/null +++ b/cm/src/private/nc/bs/cm/meascostcontrast/process/MeasCostDefault.java @@ -0,0 +1,78 @@ +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package nc.bs.cm.meascostcontrast.process; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import nc.bd.framework.base.CMNumberUtil2; +import nc.bs.cm.meascostcontrast.strategy.IMeasCostStrategy; +import nc.cmpub.framework.util.CMValidateUtil; +import nc.vo.cm.meascostcontrast.MeasCostItemVO; +import nc.vo.cm.meascostcontrast.MeasCostQueryConditionVO; +import nc.vo.cm.meascostcontrast.MeasCostQueryResultVO; +import nc.vo.pub.lang.UFDouble; +import org.apache.commons.lang3.StringUtils; + +public class MeasCostDefault implements IMeasCostStrategy { + public MeasCostDefault() { + } + + public void saveItem(List factorList, MeasCostItemVO itemVO) { + if (!CMValidateUtil.isEmpty(factorList)) { + MeasCostQueryResultVO resultVO = (MeasCostQueryResultVO)factorList.get(0); + UFDouble nnumTemp = UFDouble.ZERO_DBL; + UFDouble nsumTemp = UFDouble.ZERO_DBL; + if (StringUtils.equals(String.valueOf(MeasCostQueryConditionVO.NO_COSTCENTER_VALUE), ((MeasCostQueryResultVO)factorList.get(0)).getIsSumCccode())) { + Map cccodeMap = new HashMap(); + + for(MeasCostQueryResultVO measCostQueryResultVO : factorList) { + if (!cccodeMap.containsKey(measCostQueryResultVO.getCccode())) { + nnumTemp = nnumTemp.add(measCostQueryResultVO.getNnum()); + nsumTemp = nsumTemp.add(measCostQueryResultVO.getNsum()); + cccodeMap.put(measCostQueryResultVO.getCccode(), UFDouble.ZERO_DBL); + } + + measCostQueryResultVO.setCcname(""); + measCostQueryResultVO.setCccode(""); + } + + resultVO.setNnum(nnumTemp); + resultVO.setNsum(nsumTemp); + } + + itemVO.setBookname(resultVO.getBookname()); + itemVO.setProfitcentername(resultVO.getProfitcentername()); + itemVO.setOrgname(resultVO.getOrgname()); + itemVO.setCccode(resultVO.getCccode()); + itemVO.setCcname(resultVO.getCcname()); + itemVO.setVcostobjcode(resultVO.getVcostobjcode()); + itemVO.setVcostobjname(resultVO.getVcostobjname()); + itemVO.setMaterialspec(resultVO.getMaterialspec()); + itemVO.setMaterialtype(resultVO.getMaterialtype()); + itemVO.setMeasdocname(resultVO.getMeasdocname()); + itemVO.setBitnumber(resultVO.getBitnumber()); + itemVO.setNnum(resultVO.getNnum()); + itemVO.setProjectcode(resultVO.getProjectcode()); + itemVO.setProjectname(resultVO.getProjectname()); + itemVO.setAttrbuteByRule("nsum", "ncost", resultVO.getNsum()); + itemVO.setAttrbuteByRule("nmeascost", "ncost", CMNumberUtil2.div(resultVO.getNsum(), new UFDouble[]{resultVO.getNnum()})); + } + } + + public void saveFactor(List factorList, MeasCostItemVO itemVO) { + if (!CMValidateUtil.isEmpty(factorList)) { + MeasCostQueryResultVO resultVO = (MeasCostQueryResultVO)factorList.get(0); + UFDouble factorNsum = UFDouble.ZERO_DBL; + + for(MeasCostQueryResultVO vo : factorList) { + factorNsum = CMNumberUtil2.add(new UFDouble[]{factorNsum, vo.getFactorNsum()}); + } + + itemVO.setAttrbuteByRule(resultVO.getFactorcode(), "ncost", factorNsum); + } + } +} diff --git a/cm/src/private/nc/bs/cm/meascostcontrast/process/MeasCostStdcost.java b/cm/src/private/nc/bs/cm/meascostcontrast/process/MeasCostStdcost.java new file mode 100644 index 0000000..89fd616 --- /dev/null +++ b/cm/src/private/nc/bs/cm/meascostcontrast/process/MeasCostStdcost.java @@ -0,0 +1,103 @@ +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package nc.bs.cm.meascostcontrast.process; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import nc.bd.framework.base.CMNumberUtil2; +import nc.bs.cm.meascostcontrast.strategy.IMeasCostStrategy; +import nc.cmpub.framework.util.CMValidateUtil; +import nc.vo.cm.meascostcontrast.MeasCostItemVO; +import nc.vo.cm.meascostcontrast.MeasCostQueryConditionVO; +import nc.vo.cm.meascostcontrast.MeasCostQueryResultVO; +import nc.vo.pub.lang.UFDouble; +import org.apache.commons.lang3.StringUtils; + +public class MeasCostStdcost implements IMeasCostStrategy { + public MeasCostStdcost() { + } + + public void saveItem(List factorList, MeasCostItemVO itemVO) { + if (!CMValidateUtil.isEmpty(factorList)) { + MeasCostQueryResultVO resultVO = (MeasCostQueryResultVO)factorList.get(0); + UFDouble nnumTemp = UFDouble.ZERO_DBL; + UFDouble nsumTemp = UFDouble.ZERO_DBL; + UFDouble nstdcostNsumTemp = UFDouble.ZERO_DBL; + UFDouble nnumdiffNsum = UFDouble.ZERO_DBL; + UFDouble npricediffNsum = UFDouble.ZERO_DBL; + if (StringUtils.equals(String.valueOf(MeasCostQueryConditionVO.NO_COSTCENTER_VALUE), ((MeasCostQueryResultVO)factorList.get(0)).getIsSumCccode())) { + Map cccodeMap = new HashMap(); + + for(MeasCostQueryResultVO measCostQueryResultVO : factorList) { + if (!cccodeMap.containsKey(measCostQueryResultVO.getCccode())) { + nnumTemp = nnumTemp.add(measCostQueryResultVO.getNnum() == null ? UFDouble.ZERO_DBL : measCostQueryResultVO.getNnum()); + nsumTemp = nsumTemp.add(measCostQueryResultVO.getNsum() == null ? UFDouble.ZERO_DBL : measCostQueryResultVO.getNsum()); + nstdcostNsumTemp = nstdcostNsumTemp.add(resultVO.getNstdcostNsum() == null ? UFDouble.ZERO_DBL : resultVO.getNstdcostNsum()); + nnumdiffNsum = nnumdiffNsum.add(resultVO.getNnumdiffNsum() == null ? UFDouble.ZERO_DBL : resultVO.getNnumdiffNsum()); + npricediffNsum = npricediffNsum.add(resultVO.getNpricediffNsum() == null ? UFDouble.ZERO_DBL : resultVO.getNpricediffNsum()); + cccodeMap.put(measCostQueryResultVO.getCccode(), UFDouble.ZERO_DBL); + } + + measCostQueryResultVO.setCcname(""); + measCostQueryResultVO.setCccode(""); + } + + resultVO.setNnum(nnumTemp); + resultVO.setNsum(nsumTemp); + resultVO.setNstdcostNmeascost(nstdcostNsumTemp); + resultVO.setNnumdiffNsum(nnumdiffNsum); + resultVO.setNpricediffNsum(npricediffNsum); + } + + itemVO.setBookname(resultVO.getBookname()); + itemVO.setProfitcentername(resultVO.getProfitcentername()); + itemVO.setOrgname(resultVO.getOrgname()); + itemVO.setCccode(resultVO.getCccode()); + itemVO.setCcname(resultVO.getCcname()); + itemVO.setVcostobjcode(resultVO.getVcostobjcode()); + itemVO.setVcostobjname(resultVO.getVcostobjname()); + itemVO.setMaterialspec(resultVO.getMaterialspec()); + itemVO.setMaterialtype(resultVO.getMaterialtype()); + itemVO.setMeasdocname(resultVO.getMeasdocname()); + itemVO.setBitnumber(resultVO.getBitnumber()); + itemVO.setNnum(resultVO.getNnum()); + itemVO.setProjectcode(resultVO.getProjectcode()); + itemVO.setProjectname(resultVO.getProjectname()); + itemVO.setAttrbuteByRule("nmeascost", "ncost", CMNumberUtil2.div(resultVO.getNsum(), new UFDouble[]{resultVO.getNnum()})); + itemVO.setAttrbuteByRule("nmeascost", "nstdcost", CMNumberUtil2.div(resultVO.getNstdcostNsum(), new UFDouble[]{resultVO.getNnum()})); + itemVO.setAttrbuteByRule("nmeascost", "nnumdiff", CMNumberUtil2.div(resultVO.getNnumdiffNsum(), new UFDouble[]{resultVO.getNnum()})); + itemVO.setAttrbuteByRule("nmeascost", "npricediff", CMNumberUtil2.div(resultVO.getNpricediffNsum(), new UFDouble[]{resultVO.getNnum()})); + itemVO.setAttrbuteByRule("nsum", "ncost", resultVO.getNsum()); + itemVO.setAttrbuteByRule("nsum", "nstdcost", resultVO.getNstdcostNsum()); + itemVO.setAttrbuteByRule("nsum", "nnumdiff", resultVO.getNnumdiffNsum()); + itemVO.setAttrbuteByRule("nsum", "npricediff", resultVO.getNpricediffNsum()); + } + } + + public void saveFactor(List factorList, MeasCostItemVO itemVO) { + if (!CMValidateUtil.isEmpty(factorList)) { + MeasCostQueryResultVO resultVO = (MeasCostQueryResultVO)factorList.get(0); + UFDouble factorNsum = UFDouble.ZERO_DBL; + UFDouble nstdcostFactor = UFDouble.ZERO_DBL; + UFDouble nnumdiffFactor = UFDouble.ZERO_DBL; + UFDouble npricediffFactor = UFDouble.ZERO_DBL; + + for(MeasCostQueryResultVO vo : factorList) { + factorNsum = CMNumberUtil2.add(new UFDouble[]{factorNsum, vo.getFactorNsum()}); + nstdcostFactor = CMNumberUtil2.add(new UFDouble[]{nstdcostFactor, vo.getNstdcostFactor()}); + nnumdiffFactor = CMNumberUtil2.add(new UFDouble[]{nnumdiffFactor, vo.getNnumdiffFactor()}); + npricediffFactor = CMNumberUtil2.add(new UFDouble[]{npricediffFactor, vo.getNpricediffFactor()}); + } + + String factorcode = resultVO.getFactorcode(); + itemVO.setAttrbuteByRule(factorcode, "ncost", factorNsum); + itemVO.setAttrbuteByRule(factorcode, "nstdcost", nstdcostFactor); + itemVO.setAttrbuteByRule(factorcode, "nnumdiff", nnumdiffFactor); + itemVO.setAttrbuteByRule(factorcode, "npricediff", npricediffFactor); + } + } +} diff --git a/cm/src/private/nc/bs/cm/meascostcontrast/process/MeasCostSubtype.java b/cm/src/private/nc/bs/cm/meascostcontrast/process/MeasCostSubtype.java new file mode 100644 index 0000000..116bece --- /dev/null +++ b/cm/src/private/nc/bs/cm/meascostcontrast/process/MeasCostSubtype.java @@ -0,0 +1,107 @@ +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package nc.bs.cm.meascostcontrast.process; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import nc.bd.framework.base.CMNumberUtil2; +import nc.bs.cm.meascostcontrast.strategy.IMeasCostStrategy; +import nc.cmpub.framework.util.CMValidateUtil; +import nc.vo.cm.meascostcontrast.MeasCostItemVO; +import nc.vo.cm.meascostcontrast.MeasCostQueryConditionVO; +import nc.vo.cm.meascostcontrast.MeasCostQueryResultVO; +import nc.vo.pub.lang.UFDouble; +import org.apache.commons.lang3.StringUtils; + +public class MeasCostSubtype implements IMeasCostStrategy { + public MeasCostSubtype() { + } + + public void saveItem(List factorList, MeasCostItemVO itemVO) { + if (!CMValidateUtil.isEmpty(factorList)) { + MeasCostQueryResultVO resultVO = (MeasCostQueryResultVO)factorList.get(0); + UFDouble nnumTemp = UFDouble.ZERO_DBL; + UFDouble nsumTemp = UFDouble.ZERO_DBL; + UFDouble nmeascostN = UFDouble.ZERO_DBL; + UFDouble nmeascostY = UFDouble.ZERO_DBL; + UFDouble nsumN = UFDouble.ZERO_DBL; + UFDouble nsumY = UFDouble.ZERO_DBL; + if (StringUtils.equals(String.valueOf(MeasCostQueryConditionVO.NO_COSTCENTER_VALUE), ((MeasCostQueryResultVO)factorList.get(0)).getIsSumCccode())) { + Map cccodeMap = new HashMap(); + + for(MeasCostQueryResultVO measCostQueryResultVO : factorList) { + if (!cccodeMap.containsKey(measCostQueryResultVO.getCccode())) { + nnumTemp = nnumTemp.add(measCostQueryResultVO.getNnum()); + nsumTemp = nsumTemp.add(measCostQueryResultVO.getNsum()); + cccodeMap.put(measCostQueryResultVO.getCccode(), UFDouble.ZERO_DBL); + } + + measCostQueryResultVO.setCcname(""); + measCostQueryResultVO.setCccode(""); + } + + resultVO.setNnum(nnumTemp); + resultVO.setNsum(nsumTemp); + nsumN = resultVO.getNsum(); + nmeascostN = CMNumberUtil2.div(nsumN, new UFDouble[]{resultVO.getNnum()}); + } else { + for(MeasCostQueryResultVO resultVO1 : factorList) { + String bsubtype = resultVO1.getBsubtype(); + if ("N".equals(bsubtype)) { + nsumN = resultVO1.getNsum(); + nmeascostN = CMNumberUtil2.div(nsumN, new UFDouble[]{resultVO.getNnum()}); + } else if ("Y".equals(bsubtype)) { + nsumY = resultVO1.getNsum(); + nmeascostY = CMNumberUtil2.div(nsumY, new UFDouble[]{resultVO.getNnum()}); + } + } + } + + itemVO.setBookname(resultVO.getBookname()); + itemVO.setProfitcentername(resultVO.getProfitcentername()); + itemVO.setOrgname(resultVO.getOrgname()); + itemVO.setCccode(resultVO.getCccode()); + itemVO.setCcname(resultVO.getCcname()); + itemVO.setVcostobjcode(resultVO.getVcostobjcode()); + itemVO.setVcostobjname(resultVO.getVcostobjname()); + itemVO.setMaterialspec(resultVO.getMaterialspec()); + itemVO.setMaterialtype(resultVO.getMaterialtype()); + itemVO.setMeasdocname(resultVO.getMeasdocname()); + itemVO.setBitnumber(resultVO.getBitnumber()); + itemVO.setNnum(resultVO.getNnum()); + itemVO.setProjectcode(resultVO.getProjectcode()); + itemVO.setProjectname(resultVO.getProjectname()); + itemVO.setAttrbuteByRule("nmeascost", "ncost", CMNumberUtil2.add(new UFDouble[]{nmeascostN, nmeascostY})); + itemVO.setAttrbuteByRule("nmeascost", "thistype", nmeascostN); + itemVO.setAttrbuteByRule("nmeascost", "subtype", nmeascostY); + itemVO.setAttrbuteByRule("nsum", "ncost", CMNumberUtil2.add(new UFDouble[]{nsumN, nsumY})); + itemVO.setAttrbuteByRule("nsum", "thistype", nsumN); + itemVO.setAttrbuteByRule("nsum", "subtype", nsumY); + } + } + + public void saveFactor(List factorList, MeasCostItemVO itemVO) { + if (!CMValidateUtil.isEmpty(factorList)) { + String factorcode = ((MeasCostQueryResultVO)factorList.get(0)).getFactorcode(); + UFDouble factornsumN = UFDouble.ZERO_DBL; + UFDouble factornsumY = UFDouble.ZERO_DBL; + + for(MeasCostQueryResultVO resultVO : factorList) { + String bsubtype = resultVO.getBsubtype(); + if ("N".equals(bsubtype)) { + factornsumN = CMNumberUtil2.add(new UFDouble[]{factornsumN, resultVO.getFactorNsum()}); + } else if ("Y".equals(bsubtype)) { + factornsumY = CMNumberUtil2.add(new UFDouble[]{factornsumY, resultVO.getFactorNsum()}); + } + } + + itemVO.setAttrbuteByRule(factorcode, "ncost", CMNumberUtil2.add(new UFDouble[]{factornsumN, factornsumY})); + itemVO.setAttrbuteByRule(factorcode, "thistype", factornsumN); + itemVO.setAttrbuteByRule(factorcode, "subtype", factornsumY); + } + } +} diff --git a/cm/src/private/nccloud/pubimpl/cm/cmreport/meascostcontrast/MeascostcontrastComServiceImpl.java b/cm/src/private/nccloud/pubimpl/cm/cmreport/meascostcontrast/MeascostcontrastComServiceImpl.java new file mode 100644 index 0000000..27a73dd --- /dev/null +++ b/cm/src/private/nccloud/pubimpl/cm/cmreport/meascostcontrast/MeascostcontrastComServiceImpl.java @@ -0,0 +1,411 @@ +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package nccloud.pubimpl.cm.cmreport.meascostcontrast; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import nc.bd.framework.base.CMArrayUtil; +import nc.bd.framework.base.CMNumberUtil2; +import nc.bd.framework.base.CMStringUtil; +import nc.bs.cm.meascostcontrast.MeasCostQueryVOConverter; +import nc.cmpub.business.util.CMUtil; +import nc.vo.cm.meascostcontrast.CMCommonConst1614; +import nc.vo.cm.meascostcontrast.CMLangConst1614; +import nc.vo.cm.meascostcontrast.MeasCostItemVO; +import nc.vo.cm.meascostcontrast.MeasCostParamVO; +import nc.vo.cm.meascostcontrast.MeasCostQueryConditionVO; +import nc.vo.cm.meascostcontrast.MeasCostShowVO; +import nc.vo.cm.meascostcontrast.MeasCostUtil; +import nc.vo.cmpub.framework.report.CMConditionVO; +import nc.vo.pub.BusinessException; +import nc.vo.pub.lang.UFDouble; +import nc.vo.resa.factor.FactorVO; +import nccloud.pubitf.cm.meascostcontrast.ColumnInfo; +import nccloud.pubitf.cm.meascostcontrast.ColumnMultiHeadInfo; +import nccloud.pubitf.cm.meascostcontrast.IColumnInfo; +import nccloud.pubitf.cm.meascostcontrast.IMeascostcontrastComService; + +public class MeascostcontrastComServiceImpl implements IMeascostcontrastComService { + private List sumFieldCode = null; + + public MeascostcontrastComServiceImpl() { + } + + public Map queryMeascostcontrast(MeasCostShowVO showVO, MeasCostParamVO paramVO) throws BusinessException { + this.sumFieldCode = new ArrayList(); + Map conditionMap = paramVO.getConditionMap(); + List itemgroupMap = null; + List> data = new ArrayList(); + Map result = new HashMap(); + if (showVO != null) { + Map digitsMap = showVO.getDigitsMap(); + FactorVO[] factorVOs = this.filteShowFactor(showVO.getFactorVOs(), showVO.getFactorMapShow(), paramVO); + if (factorVOs != null) { + itemgroupMap = this.reBuildItem(conditionMap, factorVOs, digitsMap); + } + + List itemVOList = showVO.getItemVOList(); + if (itemVOList != null) { + MeasCostItemVO[] itemVOs = (MeasCostItemVO[])itemVOList.toArray(new MeasCostItemVO[itemVOList.size()]); + data = this.dealQueryResult(itemVOs, digitsMap); + this.sortVOByCode2(data); + } + } + + result.put("column", itemgroupMap); + result.put("data", data); + return result; + } + + private void sortVOByCode2(List> data) { + if (data != null) { + Collections.sort(data, new Comparator>() { + public int compare(Map o1, Map o2) { + String code1 = (String)o1.get("bookname"); + String ortname = (String)o1.get("orgname"); + if (CMStringUtil.isNotEmpty(code1) && CMStringUtil.isEmpty(ortname)) { + int flag = 1; + return flag; + } else { + code1 = o1.get("profitcentername") == null ? "" : (String)o1.get("profitcentername"); + String code2 = o2.get("profitcentername") == null ? "" : (String)o2.get("profitcentername"); + int flag = code1.compareTo(code2); + if (flag != 0) { + return flag; + } else { + code1 = (String)o1.get("orgname") == null ? "" : (String)o1.get("orgname"); + code2 = (String)o2.get("orgname") == null ? "" : (String)o2.get("orgname"); + flag = code1.compareTo(code2); + if (flag != 0) { + return flag; + } else { + code1 = (String)o1.get("cccode") == null ? "" : (String)o1.get("cccode"); + code2 = (String)o2.get("cccode") == null ? "" : (String)o2.get("cccode"); + flag = code1.compareTo(code2); + if (flag != 0) { + return flag; + } else { + code1 = (String)o1.get("vcostobjcode") == null ? "" : (String)o1.get("vcostobjcode"); + code2 = (String)o2.get("vcostobjcode") == null ? "" : (String)o2.get("vcostobjcode"); + flag = code1.compareTo(code2); + return flag; + } + } + } + } + } + }); + } + + } + + private List> dealQueryResult(MeasCostItemVO[] itemVOs, Map digitsMap) { + if (CMArrayUtil.isEmpty(itemVOs)) { + return null; + } else { + List> data = new ArrayList(); + MeasCostItemVO[] result = new MeasCostItemVO[itemVOs.length + 1]; + UFDouble nsumncost = UFDouble.ZERO_DBL; + UFDouble nnum = UFDouble.ZERO_DBL; + Map sumMap = new HashMap(); + + for(String field : this.sumFieldCode) { + sumMap.put(field, UFDouble.ZERO_DBL); + } + + int i = 0; + + for(MeasCostItemVO item : itemVOs) { + if (item.getNnum() != null) { + nnum = CMNumberUtil2.add(new UFDouble[]{nnum, item.getNnum()}); + } + + if (item.getAttributeValue("nsumncost") != null) { + nsumncost = CMNumberUtil2.add(new UFDouble[]{nsumncost, (UFDouble)item.getAttributeValue("nsumncost")}); + } + + for(String key : sumMap.keySet()) { + UFDouble oldVal = (UFDouble)sumMap.get(key); + if (item.getAttributeValue(key) != null) { + UFDouble newVal = CMNumberUtil2.add(new UFDouble[]{oldVal, (UFDouble)item.getAttributeValue(key)}); + sumMap.put(key, newVal); + } + } + + result[i] = item; + ++i; + } + + this.processNullBignumber(result); + Integer sumBignumber = this.getSumNumBignumber(result); + MeasCostItemVO newItem = new MeasCostItemVO(); + MeasCostItemVO tempMeasCostItemVO = itemVOs[0]; + newItem.setBookname(CMLangConst1614.GET_NSUM_NAME()); + newItem.setAttributeValue("nnum", nnum); + newItem.setAttributeValue("nsumncost", nsumncost); + + for(String key : sumMap.keySet()) { + newItem.setAttributeValue(key, sumMap.get(key)); + } + + result[itemVOs.length] = newItem; + + for(MeasCostItemVO measCostItemVO : result) { + Map row = new HashMap(); + row.put("bookname", measCostItemVO.getBookname()); + row.put("profitcentername", measCostItemVO.getProfitcentername()); + row.put("orgname", measCostItemVO.getOrgname()); + row.put("cccode", measCostItemVO.getCccode()); + row.put("ccname", measCostItemVO.getCcname()); + row.put("vcostobjcode", measCostItemVO.getVcostobjcode()); + row.put("vcostobjname", measCostItemVO.getVcostobjname()); + row.put("nnum", this.setColumnScale(measCostItemVO.getNnum(), measCostItemVO.getBitnumber())); + row.put("measdocname", measCostItemVO.getMeasdocname()); + row.put("materialspec", measCostItemVO.getMaterialspec()); + row.put("materialtype", measCostItemVO.getMaterialtype()); + row.put("projectcode", measCostItemVO.getProjectcode()); + row.put("projectname", measCostItemVO.getProjectname()); + if (measCostItemVO.getFactorMap() != null) { + for(String str : measCostItemVO.getFactorMap().keySet()) { + if (str.equals("nmeascostncost")) { + row.put(str, this.setColumnScale(measCostItemVO.getFactorMap().get(str), (Integer)digitsMap.get("PriceDigitsKey"))); + } else if (str.equals("nsumncost")) { + row.put(str, this.setColumnScale(measCostItemVO.getFactorMap().get(str), (Integer)digitsMap.get("MoneyDigitsKey"))); + } else if (str.equals("nnum")) { + row.put(str, this.setColumnScale(measCostItemVO.getFactorMap().get(str), sumBignumber)); + } else { + row.put(str, this.setColumnScale(measCostItemVO.getFactorMap().get(str), (Integer)digitsMap.get("MoneyDigitsKey"))); + } + } + } + + data.add(row); + } + + return data; + } + } + + public Integer getSumNumBignumber(MeasCostItemVO[] measCostItemVOS) { + if (CMArrayUtil.isEmpty(measCostItemVOS)) { + return 0; + } else { + Integer bignumber = 0; + + for(MeasCostItemVO measCostItemVO : measCostItemVOS) { + if (measCostItemVO != null && measCostItemVO.getBitnumber() != null && measCostItemVO.getBitnumber() > bignumber) { + bignumber = measCostItemVO.getBitnumber(); + } + } + + return bignumber; + } + } + + public void processNullBignumber(MeasCostItemVO[] measCostItemVOS) { + if (!CMArrayUtil.isEmpty(measCostItemVOS)) { + for(MeasCostItemVO measCostItemVO : measCostItemVOS) { + if (measCostItemVO != null && measCostItemVO.getBitnumber() == null) { + measCostItemVO.setBitnumber(2); + } + } + + } + } + + private UFDouble setColumnScale(Object value, Integer scale) { + if (value != null && !((UFDouble)value).equals(UFDouble.ZERO_DBL)) { + UFDouble uf = (new UFDouble(Double.valueOf(value.toString()))).setScale(scale, 4); + return uf; + } else { + return null; + } + } + + private List reBuildItem(Map conditionMap, FactorVO[] factorVOs, Map digitsMap) { + String[] showDetailDiff = MeasCostUtil.getShowDetailDiff(conditionMap); + Integer ishowtype = MeasCostQueryConditionVO.PRODUCT_VALUE; + if (conditionMap.containsKey("ishowtype") && ((CMConditionVO)conditionMap.get("ishowtype")).getSingleValue() != null) { + ishowtype = Integer.valueOf(((CMConditionVO)conditionMap.get("ishowtype")).getSingleValue()); + } + + List itemsList = new ArrayList(); + this.setCodeNameItems(itemsList, ishowtype, digitsMap, conditionMap); + List var7; + if (CMArrayUtil.isEquals(CMCommonConst1614.DEFAULT_ITEMS, showDetailDiff)) { + var7 = this.setSingleItems(itemsList, factorVOs, digitsMap); + } else { + var7 = this.setDoubleItems(itemsList, factorVOs, showDetailDiff, digitsMap); + } + + return var7; + } + + private void setCodeNameItems(List itemsList, Integer ishowtype, Map digitsMap, Map conditionMap) { + String[] itemNames = this.getItemNameByShowType(ishowtype); + Integer isSumByCostcenter = conditionMap.containsKey("issumbycostcenter") ? Integer.valueOf(((CMConditionVO)conditionMap.get("issumbycostcenter")).getSingleValue()) : MeasCostQueryConditionVO.IS_COSTCENTER_VALUE; + itemsList.add(new ColumnInfo(CMLangConst1614.GET_ACCBOOK(), "bookname", ColumnInfo.LEFT)); + itemsList.add(new ColumnInfo(CMLangConst1614.GET_PROFITCENTER(), "profitcentername", ColumnInfo.LEFT)); + itemsList.add(new ColumnInfo(CMLangConst1614.GET_ORG(), "orgname", ColumnInfo.LEFT)); + if (MeasCostQueryConditionVO.IS_COSTCENTER_VALUE.equals(isSumByCostcenter)) { + itemsList.add(new ColumnInfo(itemNames[0], "cccode", ColumnInfo.LEFT)); + itemsList.add(new ColumnInfo(itemNames[1], "ccname", ColumnInfo.LEFT)); + } + + itemsList.add(new ColumnInfo(itemNames[2], "vcostobjcode", ColumnInfo.LEFT)); + itemsList.add(new ColumnInfo(itemNames[3], "vcostobjname", ColumnInfo.LEFT)); + if (MeasCostQueryConditionVO.COSTOBJECT_VALUE.equals(ishowtype) || MeasCostQueryConditionVO.PRODUCT_VALUE.equals(ishowtype)) { + itemsList.add(new ColumnInfo(CMLangConst1614.GET_MATERIALSPEC(), "materialspec", ColumnInfo.LEFT)); + itemsList.add(new ColumnInfo(CMLangConst1614.GET_MATERIALTYPE(), "materialtype", ColumnInfo.LEFT)); + itemsList.add(new ColumnInfo(CMLangConst1614.GET_MEASDOCNAME(), "measdocname", ColumnInfo.LEFT)); + } + // todo 客开增加项目相关的列 + itemsList.add(new ColumnInfo("项目编码", "projectcode", ColumnInfo.LEFT)); + itemsList.add(new ColumnInfo("项目名称", "projectname", ColumnInfo.LEFT)); + + itemsList.add(new ColumnInfo(CMLangConst1614.GET_NNUM_NAME(), "nnum", ColumnInfo.RIGTH)); + } + + private String[] getItemNameByShowType(Integer ishowtype) { + String[] itemName = new String[4]; + itemName[0] = CMLangConst1614.GET_CENTERCODE_NAME(); + itemName[1] = CMLangConst1614.GET_CENTERNAME_NAME(); + if (MeasCostQueryConditionVO.COSTOBJECT_VALUE.equals(ishowtype)) { + itemName[2] = CMLangConst1614.GET_OBJECT_CODE_NAME(); + itemName[3] = CMLangConst1614.GET_OBJECT_NAME(); + } else if (MeasCostQueryConditionVO.PRODUCT_VALUE.equals(ishowtype)) { + itemName[2] = CMLangConst1614.GET_PRODUCT_CODE_NAME(); + itemName[3] = CMLangConst1614.GET_PRODUCT_NAME(); + } else if (MeasCostQueryConditionVO.PRODUCT_COST_VALUE.equals(ishowtype)) { + itemName[2] = CMLangConst1614.GET_PRODUCT_COST_CODE_NAME(); + itemName[3] = CMLangConst1614.GET_PRODUCT_COST_NAME(); + } else if (MeasCostQueryConditionVO.PRODUCT_BASIC_VALUE.equals(ishowtype)) { + itemName[2] = CMLangConst1614.GET_PRODUCT_BASIC_CODE_NAME(); + itemName[3] = CMLangConst1614.GET_PRODUCT_BASIC_NAME(); + } + + return itemName; + } + + private FactorVO[] filteShowFactor(FactorVO[] vos, Map factorMapShow, MeasCostParamVO paramVO) { + Map conditionMap = paramVO.getConditionMap(); + Integer isshowallfactors = conditionMap.containsKey("isshowallfactors") ? Integer.valueOf(((CMConditionVO)conditionMap.get("isshowallfactors")).getSingleValue()) : MeasCostQueryConditionVO.NO_SHOW_FACTORS_VALUE; + FactorVO[] result = null; + if (!MeasCostQueryConditionVO.NO_SHOW_FACTORS_VALUE.equals(isshowallfactors)) { + result = (new MeasCostQueryVOConverter()).getShowFactorByParam(paramVO, Arrays.asList(vos), factorMapShow); + } else { + List tmp = new ArrayList(); + String[] factorcodes = (String[])factorMapShow.keySet().toArray(new String[0]); + + for(String code : factorcodes) { + for(FactorVO vo : vos) { + if (vo.getFactorcode().equals(code)) { + tmp.add(vo); + break; + } + } + } + + result = (FactorVO[])tmp.toArray(new FactorVO[0]); + } + + this.sortVOByCode(result); + return result; + } + + private void sortVOByCode(FactorVO[] vos) { + if (vos != null && vos.length >= 2) { + Arrays.sort(vos, new Comparator() { + public int compare(FactorVO o1, FactorVO o2) { + String code1 = (String)o1.getAttributeValue("factorcode"); + String code2 = (String)o2.getAttributeValue("factorcode"); + return code1.compareTo(code2); + } + }); + } + } + + private List setSingleItems(List itemsList, FactorVO[] factorVOs, Map digitsMap) { + itemsList.add(new ColumnInfo(CMLangConst1614.GET_NMEASCOST_NAME(), MeasCostUtil.getItemCodeByRule("nmeascost", "ncost"), ColumnInfo.RIGTH)); + itemsList.add(new ColumnInfo(CMLangConst1614.GET_NSUM_NAME(), MeasCostUtil.getItemCodeByRule("nsum", "ncost"), ColumnInfo.RIGTH)); + + for(FactorVO factorVO : factorVOs) { + String itemCode = MeasCostUtil.getItemCodeByRule(factorVO.getFactorcode(), "ncost"); + String var10000 = factorVO.getFactorcode(); + String itemName = var10000 + "-" + CMUtil.getNameByMultiLang(factorVO, "factorname"); + itemsList.add(new ColumnInfo(itemName, itemCode, ColumnInfo.RIGTH)); + this.sumFieldCode.add(itemCode); + } + + return itemsList; + } + + private List setDoubleItems(List itemsList, FactorVO[] factorVOs, String[] showDetailDiff, Map digitsMap) { + String[] childName = new String[showDetailDiff.length]; + String[] childAlign = new String[showDetailDiff.length]; + String[] childCode = new String[showDetailDiff.length]; + + for(int i = 0; i < showDetailDiff.length; ++i) { + String itemCode = MeasCostUtil.getItemCodeByRule("nmeascost", showDetailDiff[i]); + String itemName = MeasCostUtil.getItemNameByCode(showDetailDiff[i]); + if (CMLangConst1614.GET_NCOST_NAME().equals(itemName)) { + itemName = CMLangConst1614.GET_ALL_NMEASCOST_NAME(); + } + + childName[i] = itemName; + childCode[i] = itemCode; + childAlign[i] = ColumnInfo.RIGTH; + } + + itemsList.add(getMultHeadColum(CMLangConst1614.GET_NMEASCOST_NAME(), childName, childCode, childAlign)); + + for(int i = 0; i < showDetailDiff.length; ++i) { + String itemCode = MeasCostUtil.getItemCodeByRule("nsum", showDetailDiff[i]); + String itemName = MeasCostUtil.getItemNameByCode(showDetailDiff[i]); + childName[i] = itemName; + childCode[i] = itemCode; + childAlign[i] = ColumnInfo.RIGTH; + } + + itemsList.add(getMultHeadColum(CMLangConst1614.GET_NSUM_NAME(), childName, childCode, childAlign)); + + for(FactorVO factorVO : factorVOs) { + String groupItemCode = factorVO.getFactorcode(); + String var10000 = factorVO.getFactorcode(); + String itemName = var10000 + "-" + CMUtil.getNameByMultiLang(factorVO, "factorname"); + + for(int i = 0; i < showDetailDiff.length; ++i) { + String itemCode = MeasCostUtil.getItemCodeByRule(groupItemCode, showDetailDiff[i]); + String itemName1 = MeasCostUtil.getItemNameByCode(showDetailDiff[i]); + childName[i] = itemName1; + childCode[i] = itemCode; + childAlign[i] = ColumnInfo.RIGTH; + this.sumFieldCode.add(MeasCostUtil.getItemCodeByRule(groupItemCode, showDetailDiff[0])); + } + + itemsList.add(getMultHeadColum(itemName, childName, childCode, childAlign)); + } + + return itemsList; + } + + public static ColumnMultiHeadInfo getMultHeadColum(String multStr, String[] childStr, String[] childKey, String[] childAlign) { + ColumnMultiHeadInfo multiHead = new ColumnMultiHeadInfo(multStr); + ColumnInfo[] children = new ColumnInfo[childStr.length]; + + for(int i = 0; i < children.length; ++i) { + children[i] = new ColumnInfo(childStr[i], childKey[i], childAlign[i]); + } + + multiHead.setChildren(children); + return multiHead; + } +} diff --git a/cm/src/public/nc/vo/cm/meascostcontrast/CMCommonConst1614.java b/cm/src/public/nc/vo/cm/meascostcontrast/CMCommonConst1614.java new file mode 100644 index 0000000..5a92ce2 --- /dev/null +++ b/cm/src/public/nc/vo/cm/meascostcontrast/CMCommonConst1614.java @@ -0,0 +1,79 @@ +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package nc.vo.cm.meascostcontrast; + +public class CMCommonConst1614 { + public static final String BOOKNAME = "bookname"; + public static final String ORGNAME = "orgname"; + public static final String PROFITCENTERNAME = "profitcentername"; + public static final String CCCODE = "cccode"; + public static final String CCNAME = "ccname"; + public static final String VCOSTOBJCODE = "vcostobjcode"; + public static final String VCOSTOBJNAME = "vcostobjname"; + public static final String VCOSTOBJNAME0 = "vcostobjname0"; + public static final String NNUM = "nnum"; + public static final String NMEASCOST = "nmeascost"; + public static final String NSUM = "nsum"; + public static final String NCOST = "ncost"; + public static final String NMONEY = "nmoney"; + public static final String CCOSTOBJECTID = "ccostobjectid"; + public static final String CELEMENTID = "celementid"; + public static final String CACTIVITYID = "cactivityid"; + public static final String BACT = "bAct"; + public static final String NSTDCOST = "nstdcost"; + public static final String NNUMDIFF = "nnumdiff"; + public static final String NPRICEDIFF = "npricediff"; + public static final String THISTYPE = "thistype"; + public static final String SUBTYPE = "subtype"; + public static final String THISCENTER = "thiscenter"; + public static final String OTHERCENTER = "othercenter"; + public static final String FACTORCODE = "factorcode"; + public static final String FACTORNAME = "factorname"; + public static final String FACTORNAME0 = "factorname0"; + public static final String FACTORLEV = "factorlev"; + public static final String PK_FACTORASOA = "pk_factorasoa"; + public static final String FACTOR_NSUM = "factornsum"; + public static final String CM_COSTOBJ = "cm_costobj"; + public static final String COST_FACTOR = "cost_factor"; + public static final String CM_COSTOBJECT = "cm_costobject"; + public static final String BSUBTYPE = "bsubtype"; + public static final String BFROMCOSTCENTER = "bfromcostcenter"; + public static final String NSTDCOST_NMEASCOST = "nstdcost_nmeascost"; + public static final String NNUMDIFF_NMEASCOST = "nnumdiff_nmeascost"; + public static final String NPRICEDIFF_NMEASCOST = "npricediff_nmeascost"; + public static final String NSTDCOST_NSUM = "nstdcost_nsum"; + public static final String NNUMDIFF_NSUM = "nnumdiff_nsum"; + public static final String NPRICEDIFF_NSUM = "npricediff_nsum"; + public static final String NSTDCOST_FACTOR = "nstdcost_factor"; + public static final String NNUMDIFF_FACTOR = "nnumdiff_factor"; + public static final String NPRICEDIFF_FACTOR = "npricediff_factor"; + public static final String CM_COST_TABLE = "cm_cost_table"; + public static final String CM_COST_TABLE_B = "cm_cost_table_b"; + public static final String PK = "PK"; + public static final String RESA_FACTOR_SUB = "resa_factor_sub"; + public static final String BD_MATERIALPROD_TEMP1 = "bd_materialprod_temp1"; + public static final String BD_MATERIALPROD_TEMP2 = "bd_materialprod_temp2"; + public static final String MEASDOCNAME = "measdocname"; + public static final String BITNUMBER = "bitnumber"; + public static final String MATERIALSPEC = "materialspec"; + public static final String MATERIALTYPE = "materialtype"; + public static final String BD_MEASDOC = "bd_measdoc"; + public static final String BD_MEASDOC_NAME = "name"; + public static final String PK_MEASDOC = "pk_measdoc"; + + /** 项目编码 */ + public static final String PROJECTCODE = "projectcode"; + /** 项目名称 */ + public static final String PROJECTNAME = "projectname"; + + public static String[] SUBTYPE_ITEMS = new String[]{"ncost", "thistype", "subtype"}; + public static String[] STDCOST_ITEMS = new String[]{"ncost", "nstdcost", "nnumdiff", "npricediff"}; + public static String[] CENTERFROM_ITEMS = new String[]{"ncost", "thiscenter", "othercenter"}; + public static String[] DEFAULT_ITEMS = new String[]{"ncost"}; + + public CMCommonConst1614() { + } +} diff --git a/cm/src/public/nc/vo/cm/meascostcontrast/MeasCostItemVO.java b/cm/src/public/nc/vo/cm/meascostcontrast/MeasCostItemVO.java new file mode 100644 index 0000000..5550cbd --- /dev/null +++ b/cm/src/public/nc/vo/cm/meascostcontrast/MeasCostItemVO.java @@ -0,0 +1,212 @@ +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package nc.vo.cm.meascostcontrast; + +import java.io.Serializable; +import java.util.HashMap; +import java.util.Map; +import nc.bd.framework.base.CMStringUtil; +import nc.vo.pub.BeanHelper; +import nc.vo.pub.SuperVO; +import nc.vo.pub.lang.UFDouble; +import nc.vo.pubapp.pattern.exception.ExceptionUtils; + +public class MeasCostItemVO extends SuperVO { + private static final long serialVersionUID = 50098708851615159L; + private String bookname; + private String orgname; + private String profitcentername; + private String cccode; + private String ccname; + private String vcostobjcode; + private String vcostobjname; + private String vcostobjname0; + private UFDouble nnum; + private String measdocname; + private Integer bitnumber; + private String materialspec; + private String materialtype; + /** 项目编码 */ + private String projectcode; + + /** 项目名称 */ + private String projectname; + private Map factorMap = new HashMap(); + + public MeasCostItemVO() { + } + + public String getMeasdocname() { + return this.measdocname; + } + + public void setMeasdocname(String measdocname) { + this.measdocname = measdocname; + } + + public Integer getBitnumber() { + return this.bitnumber; + } + + public void setBitnumber(Integer bitnumber) { + this.bitnumber = bitnumber; + } + + public String getMaterialspec() { + return this.materialspec; + } + + public void setMaterialspec(String materialspec) { + this.materialspec = materialspec; + } + + public String getMaterialtype() { + return this.materialtype; + } + + public void setMaterialtype(String materialtype) { + this.materialtype = materialtype; + } + + public String getBookname() { + return this.bookname; + } + + public void setBookname(String bookname) { + this.bookname = bookname; + } + + public String getOrgname() { + return this.orgname; + } + + public void setOrgname(String orgname) { + this.orgname = orgname; + } + + public String getProfitcentername() { + return this.profitcentername; + } + + public void setProfitcentername(String profitcentername) { + this.profitcentername = profitcentername; + } + + + public String getProjectcode() { + return this.projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return this.projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } + + public Map getFactorMap() { + return this.factorMap; + } + + public void setFactorMap(Map factorMap) { + this.factorMap = factorMap; + } + + public void setAttributeValue(String name, Object value) { + if (value != null) { + if (value instanceof Serializable) { + this.factorMap.put(name, (Serializable)value); + this.setFactorMap(this.factorMap); + } else { + ExceptionUtils.wrappBusinessException("field not instanceof Serializable"); + } + } else { + this.factorMap.put(name, (Serializable) null); + this.setFactorMap(this.factorMap); + } + + } + + public Object getAttributeValue(String name) { + if (!this.getFactorMap().containsKey(name)) { + Object value = BeanHelper.getProperty(this, name); + return value instanceof UFDouble && UFDouble.ZERO_DBL.equals(value) ? null : value; + } else { + Object value = this.getFactorMap().get(name); + return value instanceof UFDouble && UFDouble.ZERO_DBL.equals(value) ? null : value; + } + } + + public boolean equals(Object o) { + if (o != null && o instanceof MeasCostItemVO vo) { + return this.getVcostobjcode().equals(vo.getVcostobjcode()); + } else { + return false; + } + } + + public int hashCode() { + return super.hashCode(); + } + + public String getCccode() { + return this.cccode; + } + + public void setCccode(String vcostcentercode) { + this.cccode = vcostcentercode; + } + + public String getCcname() { + return this.ccname; + } + + public void setCcname(String vcostcentername) { + this.ccname = vcostcentername; + } + + public String getVcostobjcode() { + return this.vcostobjcode; + } + + public void setVcostobjcode(String vcostobjcode) { + this.vcostobjcode = vcostobjcode; + } + + public String getVcostobjname() { + return CMStringUtil.isNotEmpty(this.vcostobjname) ? this.vcostobjname : this.vcostobjname0; + } + + public void setVcostobjname(String vcostobjname) { + this.vcostobjname = vcostobjname; + } + + public String getVcostobjname0() { + return this.vcostobjname0; + } + + public void setVcostobjname0(String vcostobjname0) { + this.vcostobjname0 = vcostobjname0; + } + + public UFDouble getNnum() { + return this.nnum; + } + + public void setNnum(UFDouble nnum) { + this.nnum = nnum; + } + + public void setAttrbuteByRule(String groupItemCode, String subItemCode, Object value) { + String code = MeasCostUtil.getItemCodeByRule(groupItemCode, subItemCode); + this.setAttributeValue(code, value); + } +} diff --git a/cm/src/public/nc/vo/cm/meascostcontrast/MeasCostQueryResultVO.java b/cm/src/public/nc/vo/cm/meascostcontrast/MeasCostQueryResultVO.java new file mode 100644 index 0000000..49dbd02 --- /dev/null +++ b/cm/src/public/nc/vo/cm/meascostcontrast/MeasCostQueryResultVO.java @@ -0,0 +1,367 @@ +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package nc.vo.cm.meascostcontrast; + +import nc.bd.framework.base.CMStringUtil; +import nc.vo.pub.SuperVO; +import nc.vo.pub.lang.UFDouble; + +public class MeasCostQueryResultVO extends SuperVO { + private static final long serialVersionUID = 1L; + private String pk_accbook; + private String bookname; + private String pk_org; + private String orgname; + private String pk_profitcenter; + private String profitcentername; + private String cccode; + private String ccname; + private String vcostobjcode; + private String vcostobjname; + private String vcostobjname0; + private UFDouble nnum; + private UFDouble nmeascost; + private UFDouble nsum; + private String factorcode; + private String factorname; + private String factorname0; + private UFDouble factorNsum; + private String bsubtype; + private String bfromcostcenter; + private UFDouble nstdcostNmeascost; + private UFDouble nnumdiffNmeascost; + private UFDouble npricediffNmeascost; + private UFDouble nstdcostNsum; + private UFDouble nnumdiffNsum; + private UFDouble npricediffNsum; + private UFDouble nstdcostFactor; + private UFDouble nnumdiffFactor; + private UFDouble npricediffFactor; + private String factorLev; + private String pk_factorasoa; + private String measdocname; + private Integer bitnumber; + private String materialspec; + private String materialtype; + private String isSumCccode; + /** + * 项目编码 + */ + private String projectcode; + + /** + * 项目名称 + */ + private String projectname; + + public MeasCostQueryResultVO() { + } + + public String getIsSumCccode() { + return this.isSumCccode; + } + + public void setIsSumCccode(String isSumCccode) { + this.isSumCccode = isSumCccode; + } + + public String getMeasdocname() { + return this.measdocname; + } + + public void setMeasdocname(String measdocname) { + this.measdocname = measdocname; + } + + public Integer getBitnumber() { + return this.bitnumber; + } + + public void setBitnumber(Integer bitnumber) { + this.bitnumber = bitnumber; + } + + public String getMaterialspec() { + return this.materialspec; + } + + public void setMaterialspec(String materialspec) { + this.materialspec = materialspec; + } + + public String getMaterialtype() { + return this.materialtype; + } + + public void setMaterialtype(String materialtype) { + this.materialtype = materialtype; + } + + public String getPK_factorasoa() { + return this.pk_factorasoa; + } + + public void setPK_factorasoa(String pk_factorasoa) { + this.pk_factorasoa = pk_factorasoa; + } + + public String getFactorLev() { + return this.factorLev; + } + + public void setFactorLev(String factorLev) { + this.factorLev = factorLev; + } + + public String getCccode() { + return this.cccode; + } + + public void setCccode(String vcostcentercode) { + this.cccode = vcostcentercode; + } + + public String getCcname() { + return this.ccname; + } + + public void setCcname(String vcostcentername) { + this.ccname = vcostcentername; + } + + public String getVcostobjcode() { + return this.vcostobjcode; + } + + public void setVcostobjcode(String vcostobjcode) { + this.vcostobjcode = vcostobjcode; + } + + public String getVcostobjname() { + return CMStringUtil.isNotEmpty(this.vcostobjname) ? this.vcostobjname : this.vcostobjname0; + } + + public void setVcostobjname(String vcostobjname) { + this.vcostobjname = vcostobjname; + } + + public String getVcostobjname0() { + return this.vcostobjname0; + } + + public void setVcostobjname0(String vcostobjname0) { + this.vcostobjname0 = vcostobjname0; + } + + public UFDouble getNnum() { + return this.nnum; + } + + public void setNnum(UFDouble nnum) { + this.nnum = nnum; + } + + public UFDouble getNmeascost() { + return this.nmeascost; + } + + public void setNmeascost(UFDouble nmeascost) { + this.nmeascost = nmeascost; + } + + public UFDouble getNsum() { + return this.nsum; + } + + public void setNsum(UFDouble nsum) { + this.nsum = nsum; + } + + public String getFactorcode() { + return this.factorcode; + } + + public void setFactorcode(String factorcode) { + this.factorcode = factorcode; + } + + public String getFactorname() { + return CMStringUtil.isNotEmpty(this.factorname) ? this.factorname : this.factorname0; + } + + public void setFactorname(String factorname) { + this.factorname = factorname; + } + + public String getFactorname0() { + return this.factorname0; + } + + public void setFactorname0(String factorname0) { + this.factorname0 = factorname0; + } + + public UFDouble getFactorNsum() { + return this.factorNsum; + } + + public void setFactorNsum(UFDouble factorNsum) { + this.factorNsum = factorNsum; + } + + public String getBsubtype() { + return this.bsubtype; + } + + public void setBsubtype(String bsubtype) { + this.bsubtype = bsubtype; + } + + public String getBfromcostcenter() { + return this.bfromcostcenter; + } + + public void setBfromcostcenter(String bfromcostcenter) { + this.bfromcostcenter = bfromcostcenter; + } + + public UFDouble getNstdcostNmeascost() { + return this.nstdcostNmeascost; + } + + public void setNstdcostNmeascost(UFDouble nstdcostNmeascost) { + this.nstdcostNmeascost = nstdcostNmeascost; + } + + public UFDouble getNnumdiffNmeascost() { + return this.nnumdiffNmeascost; + } + + public void setNnumdiffNmeascost(UFDouble nnumdiffNmeascost) { + this.nnumdiffNmeascost = nnumdiffNmeascost; + } + + public UFDouble getNpricediffNmeascost() { + return this.npricediffNmeascost; + } + + public void setNpricediffNmeascost(UFDouble npricediffNmeascost) { + this.npricediffNmeascost = npricediffNmeascost; + } + + public UFDouble getNstdcostNsum() { + return this.nstdcostNsum; + } + + public void setNstdcostNsum(UFDouble nstdcostNsum) { + this.nstdcostNsum = nstdcostNsum; + } + + public UFDouble getNnumdiffNsum() { + return this.nnumdiffNsum; + } + + public void setNnumdiffNsum(UFDouble nnumdiffNsum) { + this.nnumdiffNsum = nnumdiffNsum; + } + + public UFDouble getNpricediffNsum() { + return this.npricediffNsum; + } + + public void setNpricediffNsum(UFDouble npricediffNsum) { + this.npricediffNsum = npricediffNsum; + } + + public UFDouble getNstdcostFactor() { + return this.nstdcostFactor; + } + + public void setNstdcostFactor(UFDouble nstdcostFactor) { + this.nstdcostFactor = nstdcostFactor; + } + + public UFDouble getNnumdiffFactor() { + return this.nnumdiffFactor; + } + + public void setNnumdiffFactor(UFDouble nnumdiffFactor) { + this.nnumdiffFactor = nnumdiffFactor; + } + + public UFDouble getNpricediffFactor() { + return this.npricediffFactor; + } + + public void setNpricediffFactor(UFDouble npricediffFactor) { + this.npricediffFactor = npricediffFactor; + } + + public String getBookname() { + return this.bookname; + } + + public void setBookname(String bookname) { + this.bookname = bookname; + } + + public String getOrgname() { + return this.orgname; + } + + public void setOrgname(String orgname) { + this.orgname = orgname; + } + + public String getProfitcentername() { + return this.profitcentername; + } + + public void setProfitcentername(String profitcentername) { + this.profitcentername = profitcentername; + } + + public String getPk_accbook() { + return this.pk_accbook; + } + + public void setPk_accbook(String pk_accbook) { + this.pk_accbook = pk_accbook; + } + + public String getPk_org() { + return this.pk_org; + } + + public void setPk_org(String pk_org) { + this.pk_org = pk_org; + } + + public String getPk_profitcenter() { + return this.pk_profitcenter; + } + + public void setPk_profitcenter(String pk_profitcenter) { + this.pk_profitcenter = pk_profitcenter; + } + + + public String getProjectcode() { + return projectcode; + } + + public void setProjectcode(String projectcode) { + this.projectcode = projectcode; + } + + public String getProjectname() { + return projectname; + } + + public void setProjectname(String projectname) { + this.projectname = projectname; + } +}