Files
xml_to_json/ceshi1/计算配置/工程计算配置.xml
T
chentianrui 4459270336 上传文件
2025-10-21 11:34:54 +08:00

53 lines
7.4 KiB
XML


<PrjCalcConfig>
<!-- 【节点说明】CalcNodesBuilders:计算节点构建器 -->
<!-- 【属性说明】name:构建器名称,无特殊含义仅用于标识 -->
<!-- 【属性说明】Class:构建器注册名称,用于反射创建构建器 -->
<CalcNodesBuilders>
<CalcNodesBuilder name="PrepareForCalc" Class="bocp::bll::calc::CPrepareForCalcBuilder" />
<CalcNodesBuilder name="CalcJJCS" Class="bdw::bll::calc::CJjcsCalcNodeBuilder" />
<!-- <CalcNodesBuilder name="CalcOutlay" Class="bocp::bll::calc::COutlayCalcNodesBuilder" /> -->
<CalcNodesBuilder name="CalcOutlay_Full" Class="bocp::bll::calc::OutlayCalcNodesBuilder_Full" />
<CalcNodesBuilder name="CalcOutlay_AQWM" Class="bocp::bll::calc::OutlayCalcNodesBuilder_AQWM" />
<CalcNodesBuilder name="CollectData" Class="bocp::bll::calc::CCollectNodeDataBuilder" />
<CalcNodesBuilder name="CollectData_Scheme" Class="bocp::bll::calc::CollectNodeDataBuilder_Scheme" />
<CalcNodesBuilder name="CalcFormula" Class="bocp::bll::calc::CFormulaCalcNodesBuilder" />
<CalcNodesBuilder name="UpdateDepend" Class="bdw::bll::calc::CUpdateDependBuilder"/>
<CalcNodesBuilder name="UpdateDependNW_GYS" Class="bdw::bll::calc::CUpdateDependBuilderNW_GYS" />
<CalcNodesBuilder name="CleanNeedCalc" Class="bocp::bll::calc::CleanNeedCalcNodeBuilder" />
<CalcNodesBuilder name="CleanCalcStatus" Class="bocp::bll::calc::CCleanCalcStatusNodeBuilder" />
</CalcNodesBuilders>
<ContextBuilders>
<ContextBuilder name="取费表上下文" Class="bdw::bll::calc::CCalcOutlayContextBuilder" />
<ContextBuilder name="费用表上下文" Class="bdw::bll::calc::CCalcFormulaContextBuilder" />
<ContextBuilder name="变量计算上下文" Class="bdw::bll::calc::CCalcVariableContextBuilder" />
<ContextBuilder name="费率计算上下文" Class="bdw::bll::calc::CCalcRateContextBuilder" />
<ContextBuilder name="消耗量费用重算上下文" Class="bdw::bll::calc::CCalcWastCostContextBuilder" />
<ContextBuilder name="技经参数计算上下文" Class="bdw::bll::calc::CCalcJJCSContextBuilder" />
</ContextBuilders>
<CalcFormulaConfig>
<!-- 【节点说明】CalcFormula:一个节点表示一个计算过程 -->
<!-- 【属性说明】name:计算过程名称,可选项: -->
<!-- 1、取费费用项精度:控制单个取费节点的取费结果精度 -->
<!-- 2、取费费用项:单个取费节点的取费行计算 -->
<!-- 3、取费结果、综合单价、综合合价、综合合价含费率:单个取费节点的取费计算结果及其综合单价/综合合价/综合合价含费率的计算 -->
<!-- 4、综合单价_汇总节点、综合合价_汇总节点:取费节点以上层级的汇总节点的综合单价/综合合价计算 -->
<!-- 5、取费合价:@取费费用.xxx的变量计算 -->
<!-- 【属性说明】formula:计算过程对应的表达式,支持包含变量的四则运算以及round函数,其中变量支持两种:-->
<!-- 1、@取费节点.[节点字段],根据不同计算过程支持不同节点字段,可选项:BCL取费费用项、取费费用项费率、BCL取费结果、子级综合合价、数量、项目划分费率、取费费用 -->
<!-- 2、@工程精度.[精度类型名称],精度类型名称的可选项:取费表费用项单价精度、取费表费用项合价精度 -->
<!-- 【属性说明】condition:当前计算过程适用的条件,支持变量“@取费节点.[节点字段]”,根据不同计算过程支持不同节点字段,可选项:type、是否取费节点、是否取费合计行 -->
<CalcFormula name="取费费用项精度" formula="@工程精度.取费表费用项合价精度" />
<CalcFormula name="取费费用项" formula="round(@取费节点.BCL取费费用项 * @取费节点.取费费用项费率/100,@工程精度.取费表费用项合价精度)" />
<CalcFormula name="取费结果" formula="round(round(@取费节点.BCL取费结果,@工程精度.取费表费用项合价精度) * @取费节点.项目划分费率,@工程精度.取费表费用项合价精度)" />
<CalcFormula name="综合单价" formula="round(@取费节点.取费结果 / @取费节点.数量,@工程精度.取费表费用项单价精度)" />
<CalcFormula name="综合合价" formula="@取费节点.取费结果" />
<CalcFormula name="综合合价含费率" formula="@取费节点.取费结果" />
<CalcFormula name="综合单价_汇总节点" formula="round(round(@取费节点.子级综合合价 * @取费节点.项目划分费率,@工程精度.取费表费用项合价精度) / @取费节点.数量,@工程精度.取费表费用项单价精度)" />
<CalcFormula name="综合合价_汇总节点" formula="round(@取费节点.子级综合合价 * @取费节点.项目划分费率,@工程精度.取费表费用项合价精度)" />
<CalcFormula name="取费合价" formula="@取费节点.取费费用" condition="[@取费节点.type]=“项目划分” AND [@取费节点.是否取费节点]=“1” AND [@取费节点.是否取费合计行]=“1”" />
<CalcFormula name="取费合价" formula="round(@取费节点.取费费用 * @取费节点.项目划分费率,@工程精度.取费表费用项合价精度)" condition="[@取费节点.type]=“项目划分” AND ([@取费节点.是否取费节点]≠“1” OR [@取费节点.是否取费合计行]≠“1”)" />
<CalcFormula name="取费合价" formula="@取费节点.取费费用" condition="[@取费节点.type]≠“项目划分”" />
</CalcFormulaConfig>
</PrjCalcConfig>