
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//		材机分析汇总变量计算
//
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
//------------------材机分析界面变量，开发自行维护-------------------------------------------
BEGIN:_材机人工价差_不含税
${
     sum(source,"人材机",?人材机.市场价不含税 - 人材机.预算价不含税)
}

BEGIN:_材机人工价差合价_不含税
${
     sum(source,"人材机",?(人材机.市场价不含税 - 人材机.预算价不含税) * 人材机.数量)
}

BEGIN:_材机人工价差合价_含税
${
     sum(source,"人材机",?(人材机.市场价含税 - 人材机.预算价含税) * 人材机.数量)
}

BEGIN:_材机人工市场价合价_不含税
${
     sum(source,"人材机",?人材机.市场价不含税 * 人材机.数量)
}

BEGIN:_材机人工市场价合价_含税
${
     sum(source,"人材机",?人材机.市场价含税 * 人材机.数量)
}

BEGIN:_材机人工预算价合价_不含税
${
     sum(source,"人材机",?人材机.预算价不含税 * 人材机.数量)
}

BEGIN:_材机人工预算价合价_含税
${
     sum(source,"人材机",?人材机.预算价含税 * 人材机.数量)
}

BEGIN:_材机机械价差_不含税
${
     sum(source,"人材机",?人材机.市场价不含税 - 人材机.预算价不含税)
}


BEGIN:_材机机械价差合价_不含税
${
     sum(source,"人材机",?(人材机.市场价不含税 - 人材机.预算价不含税) * 人材机.数量)
}

BEGIN:_材机机械价差合价_含税
${
     sum(source,"人材机",?(人材机.市场价含税 - 人材机.预算价含税) * 人材机.数量)
}

BEGIN:_材机机械市场价合价_不含税
${
     sum(source,"人材机",?人材机.市场价不含税 * 人材机.数量)
}

BEGIN:_材机机械市场价合价_含税
${
     sum(source,"人材机",?人材机.市场价含税 * 人材机.数量)
}

BEGIN:_材机机械预算价合价_不含税
${
     sum(source,"人材机",?人材机.预算价不含税 * 人材机.数量)
}

BEGIN:_材机机械预算价合价_含税
${
     sum(source,"人材机",?人材机.预算价含税 * 人材机.数量)
}

BEGIN:_材机材料价差_不含税
${
     sum(source,"人材机",?人材机.市场价不含税 - 人材机.预算价不含税)
}

BEGIN:_材机材料价差合价_不含税
${
     sum(source,"人材机",?(人材机.市场价不含税 - 人材机.预算价不含税) * 人材机.数量)
}

BEGIN:_材机材料价差合价_含税
${
     sum(source,"人材机",?(人材机.市场价含税 - 人材机.预算价含税) * 人材机.数量)
}

BEGIN:_材机材料市场价合价_不含税
${
     sum(source,"人材机",?人材机.市场价不含税 * 人材机.数量)
}

BEGIN:_材机材料市场价合价_含税
${
     sum(source,"人材机",?人材机.市场价含税 * 人材机.数量)
}

BEGIN:_材机材料预算价合价_不含税
${
     sum(source,"人材机",?人材机.预算价不含税 * 人材机.数量)
}

BEGIN:_材机材料预算价合价_含税
${
     sum(source,"人材机",?人材机.预算价含税 * 人材机.数量)
}

BEGIN:_材机主材价差_含税
${
     sum(source,"人材机",?人材机.市场价含税 - 人材机.预算价含税)
}

BEGIN:_材机主材价差_不含税
${
     sum(source,"人材机",?人材机.市场价不含税 - 人材机.预算价不含税)
}

BEGIN:_材机主材价差合价_含税
${
     sum(source,"人材机",?(人材机.市场价含税 - 人材机.预算价含税) * 人材机.数量 * ( 1 + 人材机.损耗 / 100))
}

BEGIN:_材机主材市场价合价_价差
${
     sum(source,"人材机",?(人材机.市场价含税 - 人材机.市场价不含税) * 人材机.数量 * ( 1 + 人材机.损耗 / 100))
}

BEGIN:_材机主材预算价合价_价差
${
     sum(source,"人材机",?(人材机.预算价含税 - 人材机.预算价不含税) * 人材机.数量 * ( 1 + 人材机.损耗 / 100))
}

BEGIN:_材机主材价差合价_不含税
${
     sum(source,"人材机",?(人材机.市场价不含税 - 人材机.预算价不含税) * 人材机.数量 * ( 1 + 人材机.损耗 / 100))
}

BEGIN:_材机主材市场价合价_含税
${
     sum(source,"人材机",?人材机.市场价含税 * 人材机.数量 * ( 1 + 人材机.损耗 / 100))
}

BEGIN:_材机主材市场价合价_不含税
${
     sum(source,"人材机",?人材机.市场价不含税 * 人材机.数量 * ( 1 + 人材机.损耗 / 100))
}

BEGIN:_材机主材预算价合价_含税
${
     sum(source,"人材机",?人材机.预算价含税 * 人材机.数量 * ( 1 + 人材机.损耗 / 100))
}

BEGIN:_材机主材预算价合价_不含税
${
     sum(source,"人材机",?人材机.预算价不含税 * 人材机.数量 * ( 1 + 人材机.损耗 / 100))
}

BEGIN:_材机设备运杂费_含税
${
     sum(source,"人材机",?人材机.市场价含税 * 人材机.运杂费率 / 100)
}

BEGIN:_材机设备市场价合价_含税
${
     sum(source,"人材机",?人材机.市场价含税 * 人材机.数量)
}

BEGIN:_材机设备市场价合价_不含税
${
     sum(source,"人材机",?人材机.市场价不含税 * 人材机.数量)
}

BEGIN:_材机设备运杂费合价_含税
${
     sum(source,"人材机",?人材机.市场价含税 * 人材机.运杂费率 / 100 * 人材机.数量)
}

BEGIN:_材机一笔性费用合价含税
${
     sum(source,"人材机",?人材机.单价 * 人材机.数量)
}

BEGIN:_材机一笔性费用合价不含税
${
     sum(source,"人材机",?人材机.单价不含税 * 人材机.数量)
}

BEGIN:_材机配件运杂费_含税
${
     sum(source,"人材机",?人材机.市场价含税 * 人材机.运杂费率 / 100)
}

BEGIN:_材机配件预算价合价_含税
${
     sum(source,"人材机",?人材机.预算价含税 * 人材机.数量 * ( 1 + 人材机.损耗 / 100))
}

BEGIN:_材机配件预算价合价_不含税
${
     sum(source,"人材机",?人材机.预算价不含税 * 人材机.数量 * ( 1 + 人材机.损耗 / 100))
}

BEGIN:_材机配件市场价合价_含税
${
     sum(source,"人材机",?人材机.市场价含税 * 人材机.数量 * ( 1 + 人材机.损耗 / 100))
}

BEGIN:_材机配件市场价合价_不含税
${
     sum(source,"人材机",?人材机.市场价不含税 * 人材机.数量 * ( 1 + 人材机.损耗 / 100))
}

BEGIN:_材机配件价差_含税
${
     sum(source,"人材机",?人材机.市场价含税 - 人材机.预算价含税)
}

BEGIN:_材机配件价差_不含税
${
     sum(source,"人材机",?人材机.市场价不含税 - 人材机.预算价不含税)
}

BEGIN:_材机配件价差合价_含税
${
     sum(source,"人材机",?(人材机.市场价含税 - 人材机.预算价含税) * 人材机.数量 * ( 1 + 人材机.损耗 / 100))
}

BEGIN:_材机配件价差合价_不含税
${
     sum(source,"人材机",?(人材机.市场价不含税 - 人材机.预算价不含税) * 人材机.数量 * ( 1 + 人材机.损耗 / 100))
}

BEGIN:_材机配件运杂费合价_含税
${
     sum(source,"人材机",?人材机.市场价含税 * ( 1 + 人材机.损耗 / 100) * 人材机.运杂费率 / 100 * 人材机.数量)
}

//-------------------------------------人工审前变量---------------------------------------------
BEGIN:_材机人工审前市场价合价_不含税
${
     sum(source,"人材机",?人材机.审前市场价不含税 * 人材机.审前数量)
}

BEGIN:_材机人工审前市场价合价_含税
${
     sum(source,"人材机",?人材机.审前市场价含税 * 人材机.审前数量)
}

BEGIN:_材机人工审前预算价合价_不含税
${
     sum(source,"人材机",?人材机.审前预算价不含税 * 人材机.审前数量)
}

BEGIN:_材机人工审前预算价合价_含税
${
     sum(source,"人材机",?人材机.审前预算价含税 * 人材机.审前数量)
}

BEGIN:_材机人工核增核减市场价合价_不含税
${
      ?_材机人工市场价合价_不含税()-_材机人工审前市场价合价_不含税()
}

BEGIN:_材机人工核增核减市场价合价_含税
${
      ?_材机人工市场价合价_含税()-_材机人工审前市场价合价_含税()
}

BEGIN:_材机人工核增核减预算价合价_不含税
${
      ?_材机人工预算价合价_不含税()-_材机人工审前预算价合价_不含税()
}

BEGIN:_材机人工核增核减预算价合价_含税
${
      ?_材机人工预算价合价_含税()-_材机人工审前预算价合价_含税()
}

//-------------------------------------机械审前变量---------------------------------------------
BEGIN:_材机机械审前市场价合价_不含税
${
     sum(source,"人材机",?人材机.审前市场价不含税 * 人材机.审前数量)
}

BEGIN:_材机机械审前市场价合价_含税
${
     sum(source,"人材机",?人材机.审前市场价含税 * 人材机.审前数量)
}

BEGIN:_材机机械审前预算价合价_不含税
${
     sum(source,"人材机",?人材机.审前预算价不含税 * 人材机.审前数量)
}

BEGIN:_材机机械审前预算价合价_含税
${
     sum(source,"人材机",?人材机.审前预算价含税 * 人材机.审前数量)
}

BEGIN:_材机机械核增核减市场价合价_不含税
${
      ?_材机机械市场价合价_不含税()-_材机机械审前市场价合价_不含税()
}

BEGIN:_材机机械核增核减市场价合价_含税
${
      ?_材机机械市场价合价_含税()-_材机机械审前市场价合价_含税()
}

BEGIN:_材机机械核增核减预算价合价_不含税
${
      ?_材机机械预算价合价_不含税()-_材机机械审前预算价合价_不含税()
}

BEGIN:_材机机械核增核减预算价合价_含税
${
      ?_材机机械预算价合价_含税()-_材机机械审前预算价合价_含税()
}

//-------------------------------------材料审前变量---------------------------------------------
BEGIN:_材机材料审前市场价合价_不含税
${
     sum(source,"人材机",?人材机.审前市场价不含税 * 人材机.审前数量)
}

BEGIN:_材机材料审前市场价合价_含税
${
     sum(source,"人材机",?人材机.审前市场价含税 * 人材机.审前数量)
}

BEGIN:_材机材料审前预算价合价_不含税
${
     sum(source,"人材机",?人材机.审前预算价不含税 * 人材机.审前数量)
}

BEGIN:_材机材料审前预算价合价_含税
${
     sum(source,"人材机",?人材机.审前预算价含税 * 人材机.审前数量)
}

BEGIN:_材机材料核增核减市场价合价_不含税
${
      ?_材机材料市场价合价_不含税()-_材机材料审前市场价合价_不含税()
}

BEGIN:_材机材料核增核减市场价合价_含税
${
      ?_材机材料市场价合价_含税()-_材机材料审前市场价合价_含税()
}

BEGIN:_材机材料核增核减预算价合价_不含税
${
      ?_材机材料预算价合价_不含税()-_材机材料审前预算价合价_不含税()
}

BEGIN:_材机材料核增核减预算价合价_含税
${
      ?_材机材料预算价合价_含税()-_材机材料审前预算价合价_含税()
}

//-------------------------------------主材审前变量---------------------------------------------
BEGIN:_材机主材审前市场价合价_含税
${
     sum(source,"人材机",?人材机.审前市场价含税 * 人材机.审前数量 * ( 1 + 人材机.审前损耗 / 100))
}

BEGIN:_材机主材审前市场价合价_不含税
${
     sum(source,"人材机",?人材机.审前市场价不含税 * 人材机.审前数量 * ( 1 + 人材机.审前损耗 / 100))
}

BEGIN:_材机主材核增核减市场价合价_含税
${
      ?_材机主材市场价合价_含税()-_材机主材审前市场价合价_含税()
}

BEGIN:_材机主材核增核减市场价合价_不含税
${
      ?_材机主材市场价合价_不含税()-_材机主材审前市场价合价_不含税()
}

//-------------------------------------设备审前变量---------------------------------------------
BEGIN:_材机设备审前市场价合价_含税
${
     sum(source,"人材机",?人材机.审前市场价含税 * 人材机.审前数量)
}

BEGIN:_材机设备审前市场价合价_不含税
${
     sum(source,"人材机",?人材机.审前市场价不含税 * 人材机.审前数量)
}

BEGIN:_材机设备核增核减市场价合价_含税
${
      ?_材机设备市场价合价_含税()-_材机设备审前市场价合价_含税()
}

BEGIN:_材机设备核增核减市场价合价_不含税
${
      ?_材机设备市场价合价_不含税()-_材机设备审前市场价合价_不含税()
}

//-------------------------------------配件审前变量---------------------------------------------
BEGIN:_材机配件审前市场价合价_含税
${
     sum(source,"人材机",?人材机.审前市场价含税 * 人材机.审前数量 * ( 1 + 人材机.审前损耗 / 100))
}

BEGIN:_材机配件审前市场价合价_不含税
${
     sum(source,"人材机",?人材机.审前市场价不含税 * 人材机.审前数量 * ( 1 + 人材机.审前损耗 / 100))
}

BEGIN:_材机配件核增核减市场价合价_含税
${
      ?_材机配件市场价合价_含税()-_材机配件审前市场价合价_含税()
}

BEGIN:_材机配件核增核减市场价合价_不含税
${
      ?_材机配件市场价合价_不含税()-_材机配件审前市场价合价_不含税()
}

//-------------------------------------一笔性费用审前变量---------------------------------------------
BEGIN:_材机一笔性费用审前合价含税
${
     sum(source,"人材机",?人材机.审前单价 * 人材机.审前数量)
}

BEGIN:_材机一笔性费用审前合价不含税
${
     sum(source,"人材机",?人材机.审前单价不含税 * 人材机.审前数量)
}

BEGIN:_材机一笔性费用核增核减合价含税
${
      ?_材机一笔性费用合价含税()-_材机一笔性费用审前合价含税()
}

BEGIN:_材机一笔性费用核增核减合价不含税
${
      ?_材机一笔性费用合价不含税()-_材机一笔性费用审前合价不含税()
}

//***********数量计算***********************************************
BEGIN:_材机主材总重
${
     sum(source,"主材",?主材.单重 * 主材.数量 * ( 1 + 主材.损耗 / 100))
}

//-------------------------------------合并材机数量---------------------------------------------

BEGIN:_材机合并机械数量
${
		?#{
		->@工程信息.工程类型=="变电":sum(source, "机械", ?parent.数量 * 机械.数量 * parent.机械系数 *  parent.定额系数);
		->(@工程信息.工程类型=="线路" || @工程信息.工程类型=="配网") && @工程信息.工程性质=="技改":sum(source, "机械", ?parent.数量 * 机械.数量 * parent.机械系数 *  parent.定额系数 * 
		  (1 + iif((@工程信息.工程类型=="线路" || (@工程信息.工程类型=="配网" && parent.专业属性 != "配电站" && parent.专业属性 != "陆上电缆" && parent.专业属性 != "海底电缆")), #{
			->in(parent.编码,"JYX1-24^108") || (parent.地形费计算方式 == "工地运输汽车、拖拉机运输(不含装卸，沙漠地形没有正式公路时使用)")
			  :
			  #{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"
				  :
				  机械.@_@地形系数.工地运输汽车拖拉机运输不含装卸沙漠地形没有正式公路时使用;
			    ->(parent.调差类型=="建筑拆除" || parent.调差类型=="安装拆除" || parent.调差类型=="拆除措施二" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理"
				  :
				  @拆除地形系数.工地运输汽车拖拉机运输不含装卸沙漠地形没有正式公路时使用;
				->:
				  @地形系数.工地运输汽车拖拉机运输不含装卸沙漠地形没有正式公路时使用;
				};
			->in(parent.编码,"JYX3-1~212,JGX1-1~17,XYX1-1~21,XYX3-1~6,CYX1-1~4") || (parent.地形费计算方式 == "基础工程")
			  :
			  #{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"
				  :
				  机械.@_@地形系数.基础工程;
				->(parent.调差类型=="建筑拆除" || parent.调差类型=="安装拆除" || parent.调差类型=="拆除措施二" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理"
				  :
				  @拆除地形系数.基础工程;
				->(parent.调差类型!="建筑拆除" && parent.调差类型!="安装拆除" && parent.调差类型!="拆除措施二" && parent.调差类型!="建筑拆除措施二" && parent.调差类型!="安装拆除措施二") || parent.专业类型 == "余物清理"
				  :
				  @地形系数.基础工程;
				->:0;
				};
			->in(parent.编码,"JYX4-1~192,JGX2-1~59,XYX2-1~79,CYX2-1~40") || (parent.地形费计算方式 == "杆塔工程")
			  :
			  #{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"
				  :
				  机械.@_@地形系数.杆塔工程;
				->(parent.调差类型=="建筑拆除" || parent.调差类型=="安装拆除" || parent.调差类型=="拆除措施二" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理"
				  :
				  @拆除地形系数.杆塔工程;
				->(parent.调差类型!="建筑拆除" && parent.调差类型!="安装拆除" && parent.调差类型!="拆除措施二" && parent.调差类型!="建筑拆除措施二" && parent.调差类型!="安装拆除措施二") || parent.专业类型 == "余物清理"
				  :
				  @地形系数.杆塔工程;
				->:0;
				};
			->in(parent.编码,"JGX3-1~54") || (parent.地形费计算方式 == "概算：架线工程")
			  :
			  #{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"
				  :
				  机械.@_@地形系数.概算架线工程;
				->(parent.调差类型=="建筑拆除" || parent.调差类型=="安装拆除" || parent.调差类型=="拆除措施二" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理"
				  :
				  @拆除地形系数.概算架线工程;
				->(parent.调差类型!="建筑拆除" && parent.调差类型!="安装拆除" && parent.调差类型!="拆除措施二" && parent.调差类型!="建筑拆除措施二" && parent.调差类型!="安装拆除措施二") || parent.专业类型 == "余物清理"
				  :
				  @地形系数.概算架线工程;
				->:0;
				};
			->in(parent.编码,"JYX5-1~60,XYX4-1~77,CYX3-1~27") || (parent.地形费计算方式 == "预算：架线工程一般放、紧线(不包含跨越架设、拦河线安装)")
			  :
			  #{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"
				  :
				  机械.@_@地形系数.预算架线工程一般放紧线不包含跨越架设拦河线安装;
				->(parent.调差类型=="建筑拆除" || parent.调差类型=="安装拆除" || parent.调差类型=="拆除措施二" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理"
				  :
				  @拆除地形系数.预算架线工程一般放紧线不包含跨越架设拦河线安装;
				->(parent.调差类型!="建筑拆除" && parent.调差类型!="安装拆除" && parent.调差类型!="拆除措施二" && parent.调差类型!="建筑拆除措施二" && parent.调差类型!="安装拆除措施二") || parent.专业类型 == "余物清理"
				  :
				  @地形系数.预算架线工程一般放紧线不包含跨越架设拦河线安装;
				->:0;
				};
			->in(parent.编码,"JYX5-61~119,CYX3-28~42") || (parent.地形费计算方式 == "预算：架线工程张力放紧线(不包含跨越架设、拦河线安装)")
			  :
			  #{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"
				  :
				  机械.@_@地形系数.预算架线工程张力放紧线不包含跨越架设拦河线安装;
				->(parent.调差类型=="建筑拆除" || parent.调差类型=="安装拆除" || parent.调差类型=="拆除措施二" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理"
				  :
				  @拆除地形系数.预算架线工程张力放紧线不包含跨越架设拦河线安装;
				->(parent.调差类型!="建筑拆除" && parent.调差类型!="安装拆除" && parent.调差类型!="拆除措施二" && parent.调差类型!="建筑拆除措施二" && parent.调差类型!="安装拆除措施二") || parent.专业类型 == "余物清理"
				  :
				  @地形系数.预算架线工程张力放紧线不包含跨越架设拦河线安装;
				->:0;
				};
			->in(parent.编码,"JYX5-245~253") || (parent.地形费计算方式 == "预算：架线工程光缆接续(不包括测量)")
			  :
			  #{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"
				  :
				  机械.@_@地形系数.预算架线工程光缆接续不包括测量;
				->(parent.调差类型=="建筑拆除" || parent.调差类型=="安装拆除" || parent.调差类型=="拆除措施二" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理"
				  :
				  @拆除地形系数.预算架线工程光缆接续不包括测量;
				->(parent.调差类型!="建筑拆除" && parent.调差类型!="安装拆除" && parent.调差类型!="拆除措施二" && parent.调差类型!="建筑拆除措施二" && parent.调差类型!="安装拆除措施二") || parent.专业类型 == "余物清理"
				  :
				  @地形系数.预算架线工程光缆接续不包括测量;
				->:0;
				};
			->in(parent.编码,"JYX6-1~172,JGX4-1~67,XYX5-1~223,CYX4-1~131") || (parent.地形费计算方式 == "附件工程")
			  :
			  #{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"
				  :
				  机械.@_@地形系数.附件工程;
				->(parent.调差类型=="建筑拆除" || parent.调差类型=="安装拆除" || parent.调差类型=="拆除措施二" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理"
				  :
				  @拆除地形系数.附件工程;
				->(parent.调差类型!="建筑拆除" && parent.调差类型!="安装拆除" && parent.调差类型!="拆除措施二" && parent.调差类型!="建筑拆除措施二" && parent.调差类型!="安装拆除措施二") || parent.专业类型 == "余物清理"
				  :
				  @地形系数.附件工程;
				  ->:0;
				};
			->in(parent.编码,"JGX6-1~4") || (parent.地形费计算方式 == "概算：辅助工程")
			  :
			  #{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"
				  :
				  机械.@_@地形系数.概算辅助工程;
				->(parent.调差类型=="建筑拆除" || parent.调差类型=="安装拆除" || parent.调差类型=="拆除措施二" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理"
				  :
				  @拆除地形系数.概算辅助工程;
				->(parent.调差类型!="建筑拆除" && parent.调差类型!="安装拆除" && parent.调差类型!="拆除措施二" && parent.调差类型!="建筑拆除措施二" && parent.调差类型!="安装拆除措施二") || parent.专业类型 == "余物清理"
				  :
				  @地形系数.概算辅助工程;
				  ->:0;
				};
			->in(parent.编码,"JYX8-1~25") || (parent.地形费计算方式 == "预算：辅助工程(基础辅助)施工道路，固沙，护坡、挡土墙及排洪沟砌筑，喷射混凝土护坡")
			  :
			  #{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"				
				  :
				  机械.@_@地形系数.预算辅助工程基础辅助施工道路固沙护坡挡土墙及排洪沟砌筑喷射混凝土护坡;
				->(parent.调差类型=="建筑拆除" || parent.调差类型=="安装拆除" || parent.调差类型=="拆除措施二" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理"
				  :
				  @拆除地形系数.预算辅助工程基础辅助施工道路固沙护坡挡土墙及排洪沟砌筑喷射混凝土护坡;
				->(parent.调差类型!="建筑拆除" && parent.调差类型!="安装拆除" && parent.调差类型!="拆除措施二" && parent.调差类型!="建筑拆除措施二" && parent.调差类型!="安装拆除措施二") || parent.专业类型 == "余物清理"
				  :
				  @地形系数.预算辅助工程基础辅助施工道路固沙护坡挡土墙及排洪沟砌筑喷射混凝土护坡;
				->:0;
				};
			->in(parent.编码,"JYX8-26~45,JYX8-119~130,XYX3-7~25") || (parent.地形费计算方式 == "预算：辅助工程(杆塔辅助)杆塔附属设施，防坠落装置安装，线路避雷器安装，监测装置安装调测，耐张线夹X射线探伤")
			  :
			  #{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"
				  :
				  机械.@_@地形系数.预算辅助工程杆塔辅助杆塔附属设施防坠落装置安装线路避雷器安装监测装置安装调测耐张线夹X射线探伤;
				->(parent.调差类型=="建筑拆除" || parent.调差类型=="安装拆除" || parent.调差类型=="拆除措施二" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理"
				  :
				  @拆除地形系数.预算辅助工程杆塔辅助杆塔附属设施防坠落装置安装线路避雷器安装监测装置安装调测耐张线夹X射线探伤;
				->(parent.调差类型!="建筑拆除" && parent.调差类型!="安装拆除" && parent.调差类型!="拆除措施二" && parent.调差类型!="建筑拆除措施二" && parent.调差类型!="安装拆除措施二") || parent.专业类型 == "余物清理"
				  :
				  @地形系数.预算辅助工程杆塔辅助杆塔附属设施防坠落装置安装线路避雷器安装监测装置安装调测耐张线夹X射线探伤;
				->:0;
				};
			->in(parent.编码,"JYX8-46~89") || (parent.地形费计算方式 == "预算：辅助工程(索道设施)运输(地形选择按架设索道站所处地带实际地形为准)")
			  :
			  #{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"
				  :
				  机械.@_@地形系数.预算辅助工程索道设施运输地形选择按架设索道站所处地带实际地形为准;
				->(parent.调差类型=="建筑拆除" || parent.调差类型=="安装拆除" || parent.调差类型=="拆除措施二" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理"
				  :
				  @拆除地形系数.预算辅助工程索道设施运输地形选择按架设索道站所处地带实际地形为准;
				->(parent.调差类型!="建筑拆除" && parent.调差类型!="安装拆除" && parent.调差类型!="拆除措施二" && parent.调差类型!="建筑拆除措施二" && parent.调差类型!="安装拆除措施二") || parent.专业类型 == "余物清理"
				  :
				  @地形系数.预算辅助工程索道设施运输地形选择按架设索道站所处地带实际地形为准;
				->:0;
				};
			->in(parent.编码,"JYX8-90~118") || (parent.地形费计算方式 == "预算：辅助工程(索道设施)安装(地形选择按架设索道站所处地带实际地形为准)")
			  :
			  #{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"
				  :
				  机械.@_@地形系数.预算辅助工程索道设施安装地形选择按架设索道站所处地带实际地形为准;
				->(parent.调差类型=="建筑拆除" || parent.调差类型=="安装拆除" || parent.调差类型=="拆除措施二" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理"
				  :
				  @拆除地形系数.预算辅助工程索道设施安装地形选择按架设索道站所处地带实际地形为准;
				->(parent.调差类型!="建筑拆除" && parent.调差类型!="安装拆除" && parent.调差类型!="拆除措施二" && parent.调差类型!="建筑拆除措施二" && parent.调差类型!="安装拆除措施二") || parent.专业类型 == "余物清理"
				  :
				  @地形系数.预算辅助工程索道设施安装地形选择按架设索道站所处地带实际地形为准;
				->:0;
				};
			} / 100 , 0)
		)
	);
		->(@工程信息.工程类型=="线路" || @工程信息.工程类型=="配网") && @工程信息.工程性质=="检修":sum(source, "机械", ?parent.数量 * 机械.数量 * parent.机械系数 *  parent.定额系数* 
			(1 + #{
			->(@工程信息.工程类型=="线路" || (@工程信息.工程类型=="配网" && parent.专业属性 != "配电站" && parent.专业属性 != "陆上电缆" && parent.专业属性 != "海底电缆"))
			  :
			  #{			  
			->in(parent.编码,"JYX1-24^108") || (parent.地形费计算方式 == "工地运输汽车、拖拉机运输(不含装卸，沙漠地形没有正式公路时使用)")
			    :
				#{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"
			      :
				  机械.@_@地形系数.工地运输汽车拖拉机运输不含装卸沙漠地形没有正式公路时使用;
				->(parent.调差类型=="建筑拆除" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理"
				  :@拆除地形系数.工地运输汽车拖拉机运输不含装卸沙漠地形没有正式公路时使用;
				->: 
				  @地形系数.工地运输汽车拖拉机运输不含装卸沙漠地形没有正式公路时使用;
				};
			->in(parent.编码,"JYX3-1~212,JYX4-1~192,JYX5-1~119,JYX5-245~253,JYX6-1~172,JGX1-1~17,JGX2-1~59,JGX3-1~54,JGX4-1~67,XYX1-1~21,XYX2-1~79,XYX3-1~25,XYX4-1~77,XYX5-1~223,CYX1-1~4,CYX2-1~40,CYX3-1~42,CYX4-1~131") || (parent.地形费计算方式 == "基础、杆塔、防雷设施及接地装置、导线及避雷线、附件检修")
			    :
				#{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"
			      :
				  机械.@_@地形系数.基础杆塔防雷设施及接地装置导线及避雷线附件检修;
				->(parent.调差类型=="建筑拆除" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理"
				  :
				  @拆除地形系数.基础杆塔防雷设施及接地装置导线及避雷线附件检修;
				->: 
				  @地形系数.基础杆塔防雷设施及接地装置导线及避雷线附件检修;
				};
			->in(parent.编码,"JGX6-1~4") || (parent.地形费计算方式 == "概算：辅助工程")
			  :
			  #{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"
				  :
				  机械.@_@地形系数.概算辅助工程;
				->(parent.调差类型=="建筑拆除" || parent.调差类型=="安装拆除" || parent.调差类型=="拆除措施二" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理"
				  :
				  @拆除地形系数.概算辅助工程;
				->(parent.调差类型!="建筑拆除" && parent.调差类型!="安装拆除" && parent.调差类型!="拆除措施二" && parent.调差类型!="建筑拆除措施二" && parent.调差类型!="安装拆除措施二") || parent.专业类型 == "余物清理"
				  :
				  @地形系数.概算辅助工程;
				  ->:0;
				};
			->in(parent.编码,"JYX8-1~25") || (parent.地形费计算方式 == "预算：辅助工程(基础辅助)施工道路，固沙，护坡、挡土墙及排洪沟砌筑，喷射混凝土护坡")
			  :
			  #{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"				
				  :
				  机械.@_@地形系数.预算辅助工程基础辅助施工道路固沙护坡挡土墙及排洪沟砌筑喷射混凝土护坡;
				->(parent.调差类型=="建筑拆除" || parent.调差类型=="安装拆除" || parent.调差类型=="拆除措施二" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理"
				  :
				  @拆除地形系数.预算辅助工程基础辅助施工道路固沙护坡挡土墙及排洪沟砌筑喷射混凝土护坡;
				->(parent.调差类型!="建筑拆除" && parent.调差类型!="安装拆除" && parent.调差类型!="拆除措施二" && parent.调差类型!="建筑拆除措施二" && parent.调差类型!="安装拆除措施二") || parent.专业类型 == "余物清理"
				  :
				  @地形系数.预算辅助工程基础辅助施工道路固沙护坡挡土墙及排洪沟砌筑喷射混凝土护坡;
				->:0;
				};
			->in(parent.编码,"JYX8-26~45,JYX8-119~130") || (parent.地形费计算方式 == "预算：辅助工程(杆塔辅助)杆塔附属设施，防坠落装置安装，线路避雷器安装，监测装置安装调测，耐张线夹X射线探伤")
			  :
			  #{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"
				  :
				  机械.@_@地形系数.预算辅助工程杆塔辅助杆塔附属设施防坠落装置安装线路避雷器安装监测装置安装调测耐张线夹X射线探伤;
				->(parent.调差类型=="建筑拆除" || parent.调差类型=="安装拆除" || parent.调差类型=="拆除措施二" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理"
				  :
				  @拆除地形系数.预算辅助工程杆塔辅助杆塔附属设施防坠落装置安装线路避雷器安装监测装置安装调测耐张线夹X射线探伤;
				->(parent.调差类型!="建筑拆除" && parent.调差类型!="安装拆除" && parent.调差类型!="拆除措施二" && parent.调差类型!="建筑拆除措施二" && parent.调差类型!="安装拆除措施二") || parent.专业类型 == "余物清理"
				  :
				  @地形系数.预算辅助工程杆塔辅助杆塔附属设施防坠落装置安装线路避雷器安装监测装置安装调测耐张线夹X射线探伤;
				->:0;
				};
			->in(parent.编码,"JYX8-46~89") || (parent.地形费计算方式 == "预算：辅助工程(索道设施)运输(地形选择按架设索道站所处地带实际地形为准)")
			  :
			  #{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"
				  :
				  机械.@_@地形系数.预算辅助工程索道设施运输地形选择按架设索道站所处地带实际地形为准;
				->(parent.调差类型=="建筑拆除" || parent.调差类型=="安装拆除" || parent.调差类型=="拆除措施二" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理"
				  :
				  @拆除地形系数.预算辅助工程索道设施运输地形选择按架设索道站所处地带实际地形为准;
				->(parent.调差类型!="建筑拆除" && parent.调差类型!="安装拆除" && parent.调差类型!="拆除措施二" && parent.调差类型!="建筑拆除措施二" && parent.调差类型!="安装拆除措施二") || parent.专业类型 == "余物清理"
				  :
				  @地形系数.预算辅助工程索道设施运输地形选择按架设索道站所处地带实际地形为准;
				->:0;
				};
			->in(parent.编码,"JYX8-90~118") || (parent.地形费计算方式 == "预算：辅助工程(索道设施)安装(地形选择按架设索道站所处地带实际地形为准)")
			  :
			  #{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"
				  :
				  机械.@_@地形系数.预算辅助工程索道设施安装地形选择按架设索道站所处地带实际地形为准;
				->(parent.调差类型=="建筑拆除" || parent.调差类型=="安装拆除" || parent.调差类型=="拆除措施二" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理"
				  :
				  @拆除地形系数.预算辅助工程索道设施安装地形选择按架设索道站所处地带实际地形为准;
				->(parent.调差类型!="建筑拆除" && parent.调差类型!="安装拆除" && parent.调差类型!="拆除措施二" && parent.调差类型!="建筑拆除措施二" && parent.调差类型!="安装拆除措施二") || parent.专业类型 == "余物清理"
				  :
				  @地形系数.预算辅助工程索道设施安装地形选择按架设索道站所处地带实际地形为准;
				->:0;
				};
			  };
				} / 100 
			)
		);}
}

BEGIN:_材机合并人工数量
${
	#{
		->@工程信息.工程类型=="变电":sum(source, "人工", ?parent.数量 * 人工.数量 * parent.人工系数 *  parent.定额系数);
		->(@工程信息.工程类型=="线路" || @工程信息.工程类型=="配网") && @工程信息.工程性质=="技改":sum(source, "人工", ?parent.数量 * 人工.数量 * parent.人工系数 *  parent.定额系数 * 
			(1 + iif((@工程信息.工程类型=="线路" || (@工程信息.工程类型=="配网" && parent.专业属性 != "配电站" && parent.专业属性 != "陆上电缆" && parent.专业属性 != "海底电缆")), #{
			->in(parent.编码,"JYX1-1~16") || (parent.地形费计算方式 == "工地运输(人力运输)混凝土杆、混凝土预制品、钢管杆、线材的运输(不含机械费)")
			    :
			    #{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"
				  :
				  人工.@_@地形系数.工地运输人力运输混凝土杆混凝土预制品钢管杆线材的运输不含机械费;
				->(parent.调差类型=="建筑拆除" || parent.调差类型=="安装拆除" || parent.调差类型=="拆除" || parent.调差类型=="拆除措施二" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理"
				  :
				  @拆除地形系数.工地运输人力运输混凝土杆混凝土预制品钢管杆线材的运输不含机械费;
				->:@地形系数.工地运输人力运输混凝土杆混凝土预制品钢管杆线材的运输不含机械费;
				};
			->in(parent.编码,"JYX1-17~22") || (parent.地形费计算方式 == "工地运输(人力运输)金具、绝缘子、零星钢材、塔材、其他建筑安装材料的运输(不含机械费)")
			    :
				#{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"
				  :
				  人工.@_@地形系数.工地运输人力运输金具绝缘子零星钢材塔材其他建筑安装材料的运输不含机械费;
				->(parent.调差类型=="建筑拆除" || parent.调差类型=="安装拆除" || parent.调差类型=="拆除" || parent.调差类型=="拆除措施二" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理"
				  :
				  @拆除地形系数.工地运输人力运输金具绝缘子零星钢材塔材其他建筑安装材料的运输不含机械费;
				->:@地形系数.工地运输人力运输金具绝缘子零星钢材塔材其他建筑安装材料的运输不含机械费;
				};
			->in(parent.编码,"JYX1-24^108") || (parent.地形费计算方式 == "工地运输汽车、拖拉机运输(不含装卸，沙漠地形没有正式公路时使用)")
				:
				#{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"
				  :
				  人工.@_@地形系数.工地运输汽车拖拉机运输不含装卸沙漠地形没有正式公路时使用;
				->(parent.调差类型=="建筑拆除" || parent.调差类型=="安装拆除" || parent.调差类型=="拆除" || parent.调差类型=="拆除措施二" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理"
				  :
				  @拆除地形系数.工地运输汽车拖拉机运输不含装卸沙漠地形没有正式公路时使用;
				->:@地形系数.工地运输汽车拖拉机运输不含装卸沙漠地形没有正式公路时使用;
				};
			->in(parent.编码,"JYX2-1~232") || (parent.地形费计算方式 == "土石方工程(不含机械费)")
				:
				#{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"
				  :
				  人工.@_@地形系数.土石方工程不含机械费;
				->(parent.调差类型=="建筑拆除" || parent.调差类型=="安装拆除" || parent.调差类型=="拆除" || parent.调差类型=="拆除措施二" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理"
				  :
				  @拆除地形系数.土石方工程不含机械费;
				->(parent.调差类型!="建筑拆除" && parent.调差类型!="安装拆除" && parent.调差类型!="拆除" && parent.调差类型!="拆除措施二" && parent.调差类型!="建筑拆除措施二" && parent.调差类型!="安装拆除措施二") || parent.专业类型 == "余物清理"
				  :
				  @地形系数.土石方工程不含机械费;
				->:0;
				};
			->in(parent.编码,"JYX3-1~212,JGX1-1~17,XYX1-1~21,XYX3-1~6,CYX1-1~4") || (parent.地形费计算方式 == "基础工程")
				:
				#{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"
				  :
				  人工.@_@地形系数.基础工程;
				->(parent.调差类型=="建筑拆除" || parent.调差类型=="安装拆除" || parent.调差类型=="拆除" || parent.调差类型=="拆除措施二" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理"
				  :
				  @拆除地形系数.基础工程;
				->(parent.调差类型!="建筑拆除" && parent.调差类型!="安装拆除" && parent.调差类型!="拆除" && parent.调差类型!="拆除措施二" && parent.调差类型!="建筑拆除措施二" && parent.调差类型!="安装拆除措施二") || parent.专业类型 == "余物清理"
				  :
				  @地形系数.基础工程;
				->:0;
				};
			->in(parent.编码,"JYX4-1~192,JGX2-1~59,XYX2-1~79,CYX2-1~40") || (parent.地形费计算方式 == "杆塔工程")
				:
				#{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"
				  :
				  人工.@_@地形系数.杆塔工程;
				->(parent.调差类型=="建筑拆除" || parent.调差类型=="安装拆除" || parent.调差类型=="拆除" || parent.调差类型=="拆除措施二" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理"
				  :
				  @拆除地形系数.杆塔工程;
				->(parent.调差类型!="建筑拆除" && parent.调差类型!="安装拆除" && parent.调差类型!="拆除" && parent.调差类型!="拆除措施二" && parent.调差类型!="建筑拆除措施二" && parent.调差类型!="安装拆除措施二") || parent.专业类型 == "余物清理"
				  :
				  @地形系数.杆塔工程;
				->:0;
				};
			->in(parent.编码,"JGX3-1~54") || (parent.地形费计算方式 == "概算：架线工程")
				:
				#{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"
				  :
				  人工.@_@地形系数.概算架线工程;
				->(parent.调差类型=="建筑拆除" || parent.调差类型=="安装拆除" || parent.调差类型=="拆除" || parent.调差类型=="拆除措施二" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理"
				  :
				  @拆除地形系数.概算架线工程;
				->(parent.调差类型!="建筑拆除" && parent.调差类型!="安装拆除" && parent.调差类型!="拆除" && parent.调差类型!="拆除措施二" && parent.调差类型!="建筑拆除措施二" && parent.调差类型!="安装拆除措施二") || parent.专业类型 == "余物清理"
				  :
				  @地形系数.概算架线工程;
				->:0;
				};
			->in(parent.编码,"JYX5-1~60,XYX4-1~77,CYX3-1~27") || (parent.地形费计算方式 == "预算：架线工程一般放、紧线(不包含跨越架设、拦河线安装)")
				:
				#{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"
				  :
				  人工.@_@地形系数.预算架线工程一般放紧线不包含跨越架设拦河线安装;
				->(parent.调差类型=="建筑拆除" || parent.调差类型=="安装拆除" || parent.调差类型=="拆除" || parent.调差类型=="拆除措施二" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理"
				  :
				  @拆除地形系数.预算架线工程一般放紧线不包含跨越架设拦河线安装;
				->(parent.调差类型!="建筑拆除" && parent.调差类型!="安装拆除" && parent.调差类型!="拆除" && parent.调差类型!="拆除措施二" && parent.调差类型!="建筑拆除措施二" && parent.调差类型!="安装拆除措施二") || parent.专业类型 == "余物清理"
				  :
				  @地形系数.预算架线工程一般放紧线不包含跨越架设拦河线安装;
				->:0;
				};
			->in(parent.编码,"JYX5-61~119,CYX3-28~42") || (parent.地形费计算方式 == "预算：架线工程张力放紧线(不包含跨越架设、拦河线安装)")
				:
				#{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"
				  :
				  人工.@_@地形系数.预算架线工程张力放紧线不包含跨越架设拦河线安装;
				->(parent.调差类型=="建筑拆除" || parent.调差类型=="安装拆除" || parent.调差类型=="拆除" || parent.调差类型=="拆除措施二" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理"
				  :
				  @拆除地形系数.预算架线工程张力放紧线不包含跨越架设拦河线安装;
				->(parent.调差类型!="建筑拆除" && parent.调差类型!="安装拆除" && parent.调差类型!="拆除" && parent.调差类型!="拆除措施二" && parent.调差类型!="建筑拆除措施二" && parent.调差类型!="安装拆除措施二") || parent.专业类型 == "余物清理"
				  :
				  @地形系数.预算架线工程张力放紧线不包含跨越架设拦河线安装;
				->:0;
				};
			->in(parent.编码,"JYX5-245~253") || (parent.地形费计算方式 == "预算：架线工程光缆接续(不包括测量)")
                :
                #{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"
				  :
				  人工.@_@地形系数.预算架线工程光缆接续不包括测量;
				->(parent.调差类型=="建筑拆除" || parent.调差类型=="安装拆除" || parent.调差类型=="拆除" || parent.调差类型=="拆除措施二" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理"
				  :
				  @拆除地形系数.预算架线工程光缆接续不包括测量;
				->(parent.调差类型!="建筑拆除" && parent.调差类型!="安装拆除" && parent.调差类型!="拆除" && parent.调差类型!="拆除措施二" && parent.调差类型!="建筑拆除措施二" && parent.调差类型!="安装拆除措施二") || parent.专业类型 == "余物清理"
				  :
				  @地形系数.预算架线工程光缆接续不包括测量;
				->:0;
				};
			->in(parent.编码,"JYX6-1~172,JGX4-1~67,XYX5-1~223,CYX4-1~131") || (parent.地形费计算方式 == "附件工程")
				:
				#{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"
				  :
				  人工.@_@地形系数.附件工程;
				->(parent.调差类型=="建筑拆除" || parent.调差类型=="安装拆除" || parent.调差类型=="拆除" || parent.调差类型=="拆除措施二" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理"
				  :
				  @拆除地形系数.附件工程;
				->(parent.调差类型!="建筑拆除" && parent.调差类型!="安装拆除" && parent.调差类型!="拆除" && parent.调差类型!="拆除措施二" && parent.调差类型!="建筑拆除措施二" && parent.调差类型!="安装拆除措施二") || parent.专业类型 == "余物清理"
				  :
				  @地形系数.附件工程;
				->:0;
				};
			->in(parent.编码,"JGX6-1~4") || (parent.地形费计算方式 == "概算：辅助工程")
				:
				#{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"
				  :
				  人工.@_@地形系数.概算辅助工程;
				->(parent.调差类型=="建筑拆除" || parent.调差类型=="安装拆除" || parent.调差类型=="拆除" || parent.调差类型=="拆除措施二" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理"
				  :
				  @拆除地形系数.概算辅助工程;
				->(parent.调差类型!="建筑拆除" && parent.调差类型!="安装拆除" && parent.调差类型!="拆除" && parent.调差类型!="拆除措施二" && parent.调差类型!="建筑拆除措施二" && parent.调差类型!="安装拆除措施二") || parent.专业类型 == "余物清理"
				  :
				  @地形系数.概算辅助工程;
				->:0;
				};
			->in(parent.编码,"JYX8-1~25") || (parent.地形费计算方式 == "预算：辅助工程(基础辅助)施工道路，固沙，护坡、挡土墙及排洪沟砌筑，喷射混凝土护坡")
				:
				#{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"
				  :
				  人工.@_@地形系数.预算辅助工程基础辅助施工道路固沙护坡挡土墙及排洪沟砌筑喷射混凝土护坡;
				->(parent.调差类型=="建筑拆除" || parent.调差类型=="安装拆除" || parent.调差类型=="拆除" || parent.调差类型=="拆除措施二" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理"
				  :
				  @拆除地形系数.预算辅助工程基础辅助施工道路固沙护坡挡土墙及排洪沟砌筑喷射混凝土护坡;
				->(parent.调差类型!="建筑拆除" && parent.调差类型!="安装拆除" && parent.调差类型!="拆除" && parent.调差类型!="拆除措施二" && parent.调差类型!="建筑拆除措施二" && parent.调差类型!="安装拆除措施二") || parent.专业类型 == "余物清理"
				  :
				  @地形系数.预算辅助工程基础辅助施工道路固沙护坡挡土墙及排洪沟砌筑喷射混凝土护坡;
				->:0;
				};
			->in(parent.编码,"JYX8-26~45,JYX8-119~130,XYX3-7~25") || (parent.地形费计算方式 == "预算：辅助工程(杆塔辅助)杆塔附属设施，防坠落装置安装，线路避雷器安装，监测装置安装调测，耐张线夹X射线探伤")
				:
				#{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"
				  :
				  人工.@_@地形系数.预算辅助工程杆塔辅助杆塔附属设施防坠落装置安装线路避雷器安装监测装置安装调测耐张线夹X射线探伤;
				->(parent.调差类型=="建筑拆除" || parent.调差类型=="安装拆除" || parent.调差类型=="拆除" || parent.调差类型=="拆除措施二" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理"
				  :
				  @拆除地形系数.预算辅助工程杆塔辅助杆塔附属设施防坠落装置安装线路避雷器安装监测装置安装调测耐张线夹X射线探伤;
				->(parent.调差类型!="建筑拆除" && parent.调差类型!="安装拆除" && parent.调差类型!="拆除" && parent.调差类型!="拆除措施二" && parent.调差类型!="建筑拆除措施二" && parent.调差类型!="安装拆除措施二") || parent.专业类型 == "余物清理"
				  :
				  @地形系数.预算辅助工程杆塔辅助杆塔附属设施防坠落装置安装线路避雷器安装监测装置安装调测耐张线夹X射线探伤;
				->:0;
				};
			->in(parent.编码,"JYX8-46~89") || (parent.地形费计算方式 == "预算：辅助工程(索道设施)运输(地形选择按架设索道站所处地带实际地形为准)")
				:
				#{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"
				  :
				  人工.@_@地形系数.预算辅助工程索道设施运输地形选择按架设索道站所处地带实际地形为准;
				->(parent.调差类型=="建筑拆除" || parent.调差类型=="安装拆除" || parent.调差类型=="拆除" || parent.调差类型=="拆除措施二" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理"
				  :
				  @拆除地形系数.预算辅助工程索道设施运输地形选择按架设索道站所处地带实际地形为准;
				->(parent.调差类型!="建筑拆除" && parent.调差类型!="安装拆除" && parent.调差类型!="拆除" && parent.调差类型!="拆除措施二" && parent.调差类型!="建筑拆除措施二" && parent.调差类型!="安装拆除措施二") || parent.专业类型 == "余物清理"
				  :
				  @地形系数.预算辅助工程索道设施运输地形选择按架设索道站所处地带实际地形为准;
				->:0;
				};
			->in(parent.编码,"JYX8-90~118") || (parent.地形费计算方式 == "预算：辅助工程(索道设施)安装(地形选择按架设索道站所处地带实际地形为准)")
				:
				#{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"
				  :
				  人工.@_@地形系数.预算辅助工程索道设施安装地形选择按架设索道站所处地带实际地形为准;
				->(parent.调差类型=="建筑拆除" || parent.调差类型=="安装拆除" || parent.调差类型=="拆除" || parent.调差类型=="拆除措施二" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理"
				  :
				  @拆除地形系数.预算辅助工程索道设施安装地形选择按架设索道站所处地带实际地形为准;
				->(parent.调差类型!="建筑拆除" && parent.调差类型!="安装拆除" && parent.调差类型!="拆除" && parent.调差类型!="拆除措施二" && parent.调差类型!="建筑拆除措施二" && parent.调差类型!="安装拆除措施二") || parent.专业类型 == "余物清理"
				  :
				  @地形系数.预算辅助工程索道设施安装地形选择按架设索道站所处地带实际地形为准;
				->:0;
				};
				} / 100, 0)
			)
		);
	->(@工程信息.工程类型=="线路" || @工程信息.工程类型=="配网") && @工程信息.工程性质=="检修":sum(source, "人工", ?parent.数量 * 人工.数量 * parent.人工系数 *  parent.定额系数* 
		(1 + #{
		  ->(@工程信息.工程类型=="线路" || (@工程信息.工程类型=="配网" && parent.专业属性 != "配电站" && parent.专业属性 != "陆上电缆" && parent.专业属性 != "海底电缆"))
			  :
			  #{
			->in(parent.编码,"JYX1-1~16") || (parent.地形费计算方式 == "工地运输(人力运输)混凝土杆、混凝土预制品、钢管杆、线材的运输(不含机械费)")
				:
				#{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"
				  :
				  人工.@_@地形系数.工地运输人力运输混凝土杆混凝土预制品钢管杆线材的运输不含机械费;
				->(@工程信息.工程类型!="配网" && @工程信息.项目划分 != "输电线路工程") &&((parent.调差类型=="建筑拆除" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理")
				  :
				  @拆除地形系数.工地运输人力运输混凝土杆混凝土预制品钢管杆线材的运输不含机械费;
				->:@地形系数.工地运输人力运输混凝土杆混凝土预制品钢管杆线材的运输不含机械费;
				};
			->in(parent.编码,"JYX1-17~22") || (parent.地形费计算方式 == "工地运输(人力运输)金具、绝缘子、零星钢材、塔材、其他建筑安装材料的运输(不含机械费)")
				 :
				#{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"
				  :
				  人工.@_@地形系数.工地运输人力运输金具绝缘子零星钢材塔材其他建筑安装材料的运输不含机械费;
				->(@工程信息.工程类型!="配网" && @工程信息.项目划分 != "输电线路工程") &&((parent.调差类型=="建筑拆除" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理")
				  :
				  @拆除地形系数.工地运输人力运输金具绝缘子零星钢材塔材其他建筑安装材料的运输不含机械费;
				->:@地形系数.工地运输人力运输金具绝缘子零星钢材塔材其他建筑安装材料的运输不含机械费;
				};
			->in(parent.编码,"JYX1-24^108") || (parent.地形费计算方式 == "工地运输汽车、拖拉机运输(不含装卸，沙漠地形没有正式公路时使用)")
				 :
				#{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"
				  :
				  人工.@_@地形系数.工地运输汽车拖拉机运输不含装卸沙漠地形没有正式公路时使用;
				->(@工程信息.工程类型!="配网" && @工程信息.项目划分 != "输电线路工程") &&((parent.调差类型=="建筑拆除" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理")
				  :
				  @拆除地形系数.工地运输汽车拖拉机运输不含装卸沙漠地形没有正式公路时使用;
				->:@地形系数.工地运输汽车拖拉机运输不含装卸沙漠地形没有正式公路时使用;
				};
			->in(parent.编码,"JYX3-1~212,JYX4-1~192,JYX5-1~119,JYX5-245~253,JYX6-1~172,JGX1-1~17,JGX2-1~59,JGX3-1~54,JGX4-1~67,XYX1-1~21,XYX2-1~79,XYX3-1~25,XYX4-1~77,XYX5-1~223,CYX1-1~4,CYX2-1~40,CYX3-1~42,CYX4-1~131") || (parent.地形费计算方式 == "基础、杆塔、防雷设施及接地装置、导线及避雷线、附件检修")
				:
				#{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"
				  :
				  人工.@_@地形系数.基础杆塔防雷设施及接地装置导线及避雷线附件检修;
				->(@工程信息.工程类型!="配网" && @工程信息.项目划分 != "输电线路工程") &&((parent.调差类型=="建筑拆除" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理")
				  :
				  @拆除地形系数.基础杆塔防雷设施及接地装置导线及避雷线附件检修;
				->:@地形系数.基础杆塔防雷设施及接地装置导线及避雷线附件检修;
				};
			->in(parent.编码,"JYX2-1~232") || (parent.地形费计算方式 == "土石方工程(不含机械费)")
				:
				#{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"
				  :
				  人工.@_@地形系数.土石方工程不含机械费;
				->(parent.调差类型=="建筑拆除" || parent.调差类型=="安装拆除" || parent.调差类型=="拆除" || parent.调差类型=="拆除措施二" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理"
				  :
				  @拆除地形系数.土石方工程不含机械费;
				->(parent.调差类型!="建筑拆除" && parent.调差类型!="安装拆除" && parent.调差类型!="拆除" && parent.调差类型!="拆除措施二" && parent.调差类型!="建筑拆除措施二" && parent.调差类型!="安装拆除措施二") || parent.专业类型 == "余物清理"
				  :
				  @地形系数.土石方工程不含机械费;
				->:0;
				};
			->in(parent.编码,"JGX6-1~4") || (parent.地形费计算方式 == "概算：辅助工程")
				:
				#{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"
				  :
				  人工.@_@地形系数.概算辅助工程;
				->(parent.调差类型=="建筑拆除" || parent.调差类型=="安装拆除" || parent.调差类型=="拆除" || parent.调差类型=="拆除措施二" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理"
				  :
				  @拆除地形系数.概算辅助工程;
				->(parent.调差类型!="建筑拆除" && parent.调差类型!="安装拆除" && parent.调差类型!="拆除" && parent.调差类型!="拆除措施二" && parent.调差类型!="建筑拆除措施二" && parent.调差类型!="安装拆除措施二") || parent.专业类型 == "余物清理"
				  :
				  @地形系数.概算辅助工程;
				->:0;
				};
			->in(parent.编码,"JYX8-1~25") || (parent.地形费计算方式 == "预算：辅助工程(基础辅助)施工道路，固沙，护坡、挡土墙及排洪沟砌筑，喷射混凝土护坡")
				:
				#{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"
				  :
				  人工.@_@地形系数.预算辅助工程基础辅助施工道路固沙护坡挡土墙及排洪沟砌筑喷射混凝土护坡;
				->(parent.调差类型=="建筑拆除" || parent.调差类型=="安装拆除" || parent.调差类型=="拆除" || parent.调差类型=="拆除措施二" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理"
				  :
				  @拆除地形系数.预算辅助工程基础辅助施工道路固沙护坡挡土墙及排洪沟砌筑喷射混凝土护坡;
				->(parent.调差类型!="建筑拆除" && parent.调差类型!="安装拆除" && parent.调差类型!="拆除" && parent.调差类型!="拆除措施二" && parent.调差类型!="建筑拆除措施二" && parent.调差类型!="安装拆除措施二") || parent.专业类型 == "余物清理"
				  :
				  @地形系数.预算辅助工程基础辅助施工道路固沙护坡挡土墙及排洪沟砌筑喷射混凝土护坡;
				->:0;
				};
			->in(parent.编码,"JYX8-26~45,JYX8-119~130") || (parent.地形费计算方式 == "预算：辅助工程(杆塔辅助)杆塔附属设施，防坠落装置安装，线路避雷器安装，监测装置安装调测，耐张线夹X射线探伤")
				:
				#{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"
				  :
				  人工.@_@地形系数.预算辅助工程杆塔辅助杆塔附属设施防坠落装置安装线路避雷器安装监测装置安装调测耐张线夹X射线探伤;
				->(parent.调差类型=="建筑拆除" || parent.调差类型=="安装拆除" || parent.调差类型=="拆除" || parent.调差类型=="拆除措施二" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理"
				  :
				  @拆除地形系数.预算辅助工程杆塔辅助杆塔附属设施防坠落装置安装线路避雷器安装监测装置安装调测耐张线夹X射线探伤;
				->(parent.调差类型!="建筑拆除" && parent.调差类型!="安装拆除" && parent.调差类型!="拆除" && parent.调差类型!="拆除措施二" && parent.调差类型!="建筑拆除措施二" && parent.调差类型!="安装拆除措施二") || parent.专业类型 == "余物清理"
				  :
				  @地形系数.预算辅助工程杆塔辅助杆塔附属设施防坠落装置安装线路避雷器安装监测装置安装调测耐张线夹X射线探伤;
				->:0;
				};
			->in(parent.编码,"JYX8-46~89") || (parent.地形费计算方式 == "预算：辅助工程(索道设施)运输(地形选择按架设索道站所处地带实际地形为准)")
				:
				#{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"
				  :
				  人工.@_@地形系数.预算辅助工程索道设施运输地形选择按架设索道站所处地带实际地形为准;
				->(parent.调差类型=="建筑拆除" || parent.调差类型=="安装拆除" || parent.调差类型=="拆除" || parent.调差类型=="拆除措施二" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理"
				  :
				  @拆除地形系数.预算辅助工程索道设施运输地形选择按架设索道站所处地带实际地形为准;
				->(parent.调差类型!="建筑拆除" && parent.调差类型!="安装拆除" && parent.调差类型!="拆除" && parent.调差类型!="拆除措施二" && parent.调差类型!="建筑拆除措施二" && parent.调差类型!="安装拆除措施二") || parent.专业类型 == "余物清理"
				  :
				  @地形系数.预算辅助工程索道设施运输地形选择按架设索道站所处地带实际地形为准;
				->:0;
				};
			->in(parent.编码,"JYX8-90~118") || (parent.地形费计算方式 == "预算：辅助工程(索道设施)安装(地形选择按架设索道站所处地带实际地形为准)")
				:
				#{
				->@工程信息.工程类型=="配网" || @工程信息.项目划分 == "输电线路工程"
				  :
				  人工.@_@地形系数.预算辅助工程索道设施安装地形选择按架设索道站所处地带实际地形为准;
				->(parent.调差类型=="建筑拆除" || parent.调差类型=="安装拆除" || parent.调差类型=="拆除" || parent.调差类型=="拆除措施二" || parent.调差类型=="建筑拆除措施二" || parent.调差类型=="安装拆除措施二") && parent.专业类型 != "余物清理"
				  :
				  @拆除地形系数.预算辅助工程索道设施安装地形选择按架设索道站所处地带实际地形为准;
				->(parent.调差类型!="建筑拆除" && parent.调差类型!="安装拆除" && parent.调差类型!="拆除" && parent.调差类型!="拆除措施二" && parent.调差类型!="建筑拆除措施二" && parent.调差类型!="安装拆除措施二") || parent.专业类型 == "余物清理"
				  :
				  @地形系数.预算辅助工程索道设施安装地形选择按架设索道站所处地带实际地形为准;
				->:0;
				};
				};
				} / 100 
			)
		);
}}

BEGIN:_材机合并主材数量
${
	#{
	->@工程信息.工程性质=="技改"
		:
		sum(source, "主材",?主材.数量);
		
	->@工程信息.工程性质=="检修"
		:
		sum(source, "配件",
		?#{->配件.配件类型 == "主材"
			: 配件.数量;
		  ->:0;});
	}
}

BEGIN:_材机合并配件数量
${
	sum(source, "配件",?配件.数量)
}

BEGIN:_材机合并设备数量
${
	#{
	->@工程信息.工程性质=="技改"
		:
		sum(source, "设备",?设备.数量);
		
	->@工程信息.工程性质=="检修"
		:
		sum(source, "配件",
		?#{->配件.配件类型 == "配件"
			: 配件.数量;
		  ->:0;});
	}
}

BEGIN:_材机合并材料数量
${
	sum(source, "材料",?#{
			//普通材料和配合比材料
			->parent.type == "定额"
				:
				parent.数量 * 材料.数量 * parent.材料系数 *  parent.定额系数;
			//拆分材料 
			->parent.type == "材料"
				:
				parent.数量 * parent.parent.数量 * 材料.数量 * parent.parent.材料系数 *  parent.parent.定额系数;
		}
	)
}

BEGIN:_材机合并定额数量
${
	sum(source, "定额",?定额.数量)
}

BEGIN:_材机合并一笔性费用数量
${
	sum(source, "一笔性费用",?一笔性费用.数量)
}

BEGIN:_材机合并自定义应急措施费数量
${
	sum(source, "一笔性费用",?#{
							->一笔性费用.type == "一笔性费用"
									:
									一笔性费用.数量;
							->一笔性费用.type == "自定义应急措施费"
									:
									一笔性费用.数量;		
							}
		)
}