///////////////////////////////////////////////////////////////
//
//  内部函数
//
///////////////////////////////////////////////////////////////
BEGIN:_地形人工系数
${
  ?#{
    ->@工程信息.专业类型 == "送电"  
    :
    #{
		  ->定额.综合地形类型!=""
		  :
		  #{
		  ->定额.综合地形类型 == " "
		  :
		  {
		  setparam("地形系数1",0);
		  getparam("地形系数1");
		  };
		  ->@工程信息.项目类型=="架空输电线路工程"
		  :
		  {
		  setparam("地形系数1",0);
		  setparam("综合地形类型", 定额.综合地形类型);
		  for(@特征段地形系数,"地形系数",
		  ?{		    
			iif(地形系数.特征段 == 定额.特征段,?setparam("地形系数1",?(getparam("地形系数1")+getdynamicvariable("地形系数." + getparam("综合地形类型"), 0))),0);
		  },?0);
		  getparam("地形系数1");
		  };
		  ->@工程信息.项目类型=="通信线路工程"
		  :
		  {
			setparam("综合地形类型", 定额.综合地形类型);
			getdynamicvariable("@地形系数." + getparam("综合地形类型"), 0);
		  };
		  };
		  ->(in(定额.编码,"YX1-1~16,JYX1-1~16")) 
		  :
		  #{
		  ->@工程信息.项目类型=="架空输电线路工程"
		  :
		  {
			  setparam("地形系数1",0);
			  for(@特征段地形系数,"地形系数",
			  ?{		    
				iif(地形系数.特征段 == 定额.特征段,?setparam("地形系数1",getparam("地形系数1")+地形系数.工地运输（人力运输）混凝土杆、混凝土预制品、钢管杆、线材（不含机械费）),0);
				},?0);
			  getparam("地形系数1");
		  };
		  ->@工程信息.项目类型=="通信线路工程"
		  :
		  @地形系数.工地运输（人力运输）混凝土杆、混凝土预制品、钢管杆、线材（不含机械费）;
		  };		  		  
		  ->(in(定额.编码,"YX1-17~22,JYX1-17~22")) 
		  :
		  #{
		  ->@工程信息.项目类型=="架空输电线路工程"
		  :
		  {
			  setparam("地形系数1",0);
			  for(@特征段地形系数,"地形系数",
			  ?{		    
				iif(地形系数.特征段 == 定额.特征段,?setparam("地形系数1",getparam("地形系数1")+地形系数.工地运输（人力运输）金具、绝缘子、零星钢材、塔材、其他建筑安装材料（不含机械费）),0);
			  },?0);
			  getparam("地形系数1");
		  };
		  ->@工程信息.项目类型=="通信线路工程"
		  :
		  @地形系数.工地运输（人力运输）金具、绝缘子、零星钢材、塔材、其他建筑安装材料（不含机械费）;
		  };	  
		  ->(in(定额.编码,"YX1-24^108,JYX1-24^108")) 
		  :
		  #{
		  ->@工程信息.项目类型=="架空输电线路工程"
		  :
		  {
			  setparam("地形系数1",0);
			  for(@特征段地形系数,"地形系数",
			  ?{		    
				iif(地形系数.特征段 == 定额.特征段,?setparam("地形系数1",getparam("地形系数1")+地形系数.工地运输拖拉机、汽车运输（不含装卸，沙漠地形没有正式公路时使用）),0);
			  },?0);
			  getparam("地形系数1");
		  };
		  ->@工程信息.项目类型=="通信线路工程"
		  :
		  @地形系数.工地运输拖拉机、汽车运输（不含装卸，沙漠地形没有正式公路时使用）;
		  };
		  ->(in(定额.编码,"YX2-1~232")) 
		  :
		  #{
		  ->@工程信息.项目类型=="架空输电线路工程"
		  :
		  {
			  setparam("地形系数1",0);
			  for(@特征段地形系数,"地形系数",
			  ?{		    
				iif(地形系数.特征段 == 定额.特征段,?setparam("地形系数1",getparam("地形系数1")+地形系数.土石方工程（不含机械费）),0);
			  },?0);
			  getparam("地形系数1");
		  };
		  ->@工程信息.项目类型=="通信线路工程"
		  :
		  @地形系数.土石方工程（不含机械费）;
		  };
		  
		  ->(in(定额.编码,"BG-YX3-10~13,YX3-1~214,CYX1-1~4")) 
		  :
		  #{
		  ->@工程信息.项目类型=="架空输电线路工程"
		  :
		  {
			  setparam("地形系数1",0);
			  for(@特征段地形系数,"地形系数",
			  ?{		    
				iif(地形系数.特征段 == 定额.特征段,?setparam("地形系数1",getparam("地形系数1")+地形系数.基础工程),0);
			  },?0);
			  getparam("地形系数1");
		  };
		  ->@工程信息.项目类型=="通信线路工程"
		  :
		  @地形系数.基础工程;
		  };
		  
		  ->(in(定额.编码,"YX4-1~158,CYX2-1~40"))
		  :
		  #{
		  ->@工程信息.项目类型=="架空输电线路工程"
		  :
		  {
		  setparam("地形系数1",0);
		  for(@特征段地形系数,"地形系数",
		  ?{		    
			iif(地形系数.特征段 == 定额.特征段,?setparam("地形系数1",getparam("地形系数1")+地形系数.杆塔工程),0);
		  },?0);
		  getparam("地形系数1");
		  };
		  ->@工程信息.项目类型=="通信线路工程"
		  :
		  @地形系数.杆塔工程;
		  };
		  
		  ->(in(定额.编码,"YX5-1~17,YZ13-4~7,CYX3-1~27")) 
		  :
		  #{
		  ->@工程信息.项目类型=="架空输电线路工程"
		  :
		  {
		  setparam("地形系数1",0);
		  for(@特征段地形系数,"地形系数",
		  ?{		    
			iif(地形系数.特征段 == 定额.特征段,?setparam("地形系数1",getparam("地形系数1")+地形系数.架线工程一般放、紧线（不包括跨越架设、拦河线安装）),0);
		  },?0);
		  getparam("地形系数1");
		  };
		  ->@工程信息.项目类型=="通信线路工程"
		  :
		  @地形系数.架线工程一般放、紧线（不包括跨越架设、拦河线安装）;
		  };
		  
		  ->(in(定额.编码,"YX5-18~79,YZ13-8~11,CYX3-28~42")) 
		  :	
		  #{
		  ->@工程信息.项目类型=="架空输电线路工程"
		  :
		  {
		  setparam("地形系数1",0);
		  for(@特征段地形系数,"地形系数",
		  ?{		    
			iif(地形系数.特征段 == 定额.特征段,?setparam("地形系数1",getparam("地形系数1")+地形系数.架线工程张力机械放、紧线（不包括跨越架设、拦河线安装）),0);
		  },?0);
		  getparam("地形系数1");
		  };
		  ->@工程信息.项目类型=="通信线路工程"
		  :
		  @地形系数.架线工程张力机械放、紧线（不包括跨越架设、拦河线安装）;
		  };
		  
		  ->(in(定额.编码,"YX5-214~222")) 
		  :
		  #{
		  ->@工程信息.项目类型=="架空输电线路工程"
		  :
		  {
		  setparam("地形系数1",0);
		  for(@特征段地形系数,"地形系数",
		  ?{		    
			iif(地形系数.特征段 == 定额.特征段,?setparam("地形系数1",getparam("地形系数1")+地形系数.架线工程光缆接续（不包括测量）),0);
		  },?0);
		  getparam("地形系数1");
		  };
		  ->@工程信息.项目类型=="通信线路工程"
		  :
		  @地形系数.架线工程光缆接续（不包括测量）;
		  };
		  
		  ->(in(定额.编码,"YX6-1~171,CYX4-1~131")) 
		  :
		  #{
		  ->@工程信息.项目类型=="架空输电线路工程"
		  :
		  {
		  setparam("地形系数1",0);
		  for(@特征段地形系数,"地形系数",
		  ?{		    
			iif(地形系数.特征段 == 定额.特征段,?setparam("地形系数1",getparam("地形系数1")+地形系数.附件工程),0);
		  },?0);
		  getparam("地形系数1");
		  };
		  ->@工程信息.项目类型=="通信线路工程"
		  :
		  @地形系数.附件工程;
		  };
		  
		  ->(in(定额.编码,"YX7-16~26")) 
		  :
		  #{
		  ->@工程信息.项目类型=="架空输电线路工程"
		  :
		  {
		  setparam("地形系数1",0);
		  for(@特征段地形系数,"地形系数",
		  ?{		    
			iif(地形系数.特征段 == 定额.特征段,?setparam("地形系数1",getparam("地形系数1")+地形系数.辅助工程（基础辅助）打桩，护坡、挡土墙及排洪沟砌筑，喷射混凝土护坡),0);
		  },?0);
		  getparam("地形系数1");
		  };
		  ->@工程信息.项目类型=="通信线路工程"
		  :
		  @地形系数.辅助工程（基础辅助）打桩，护坡、挡土墙及排洪沟砌筑，喷射混凝土护坡;
		  };
		  
		  ->(in(定额.编码,"YX7-27~48")) 
		  :
		  #{
		  ->@工程信息.项目类型=="架空输电线路工程"
		  :
		  {
		  setparam("地形系数1",0);
		  for(@特征段地形系数,"地形系数",
		  ?{		    
			iif(地形系数.特征段 == 定额.特征段,?setparam("地形系数1",getparam("地形系数1")+地形系数.辅助工程（杆塔辅助）杆塔标志牌，防鸟装置，防坠落装置，避雷器安装，监测装置安装调测),0);
		  },?0);
		  getparam("地形系数1");
		  };
		  ->@工程信息.项目类型=="通信线路工程"
		  :
		  @地形系数.辅助工程（杆塔辅助）杆塔标志牌，防鸟装置，防坠落装置，避雷器安装，监测装置安装调测;
		  };
		  
          ->(in(定额.编码,"YX7-49~92")) 
		  :
		  #{
		  ->@工程信息.项目类型=="架空输电线路工程"
		  :
		  {
		  setparam("地形系数1",0);
		  for(@特征段地形系数,"地形系数",
		  ?{		    
			iif(地形系数.特征段 == 定额.特征段,?setparam("地形系数1",getparam("地形系数1")+地形系数.辅助工程（其他）索道站支架、绳索及附件运输（地形选择按架设索道站所处地带实际地形为准）),0);
		  },?0);
		  getparam("地形系数1");
		  };
		  ->@工程信息.项目类型=="通信线路工程"
		  :
		  @地形系数.辅助工程（其他）索道站支架、绳索及附件运输（地形选择按架设索道站所处地带实际地形为准）;
		  };
		  
          ->(in(定额.编码,"YX7-93~121"))
		  :
		  #{
		  ->@工程信息.项目类型=="架空输电线路工程"
		  :
		  {
		  setparam("地形系数1",0);
		  for(@特征段地形系数,"地形系数",
		  ?{		    
			iif(地形系数.特征段 == 定额.特征段,?setparam("地形系数1",getparam("地形系数1")+地形系数.辅助工程（其他）索道设施安装（地形选择按架设索道站所处地带实际地形为准）),0);
		  },?0);
		  getparam("地形系数1");
		  };
		  ->@工程信息.项目类型=="通信线路工程"
		  :
		  @地形系数.辅助工程（其他）索道设施安装（地形选择按架设索道站所处地带实际地形为准）;
		  };		  
      }/100;
	}
}

BEGIN:工地运输（人力运输）混凝土杆、混凝土预制品、钢管杆、线材（不含机械费）地形系数
${
	#{
		->(in(定额.编码,"YX1-1~16,JYX1-1~16") && 定额.综合地形类型 =="") || 定额.综合地形类型 =="工地运输（人力运输）混凝土杆、混凝土预制品、钢管杆、线材（不含机械费）"
		:
		#{
		->@工程信息.项目类型=="架空输电线路工程"
		:
		{
		  setparam("地形系数1",0);
		  for(@特征段地形系数,"地形系数",
		  ?{		    
			iif(地形系数.特征段 == 定额.特征段,?setparam("地形系数1",getparam("地形系数1")+地形系数.工地运输（人力运输）混凝土杆、混凝土预制品、钢管杆、线材（不含机械费）/100),0);
		  },?0);
		  getparam("地形系数1");
		};
		->@工程信息.项目类型=="通信线路工程"
		:
		@地形系数.工地运输（人力运输）混凝土杆、混凝土预制品、钢管杆、线材（不含机械费）/100;
	   };
	}
}

BEGIN:工地运输（人力运输）混凝土杆、混凝土预制品、钢管杆、线材（不含机械费）定额_地形人工费
${
	sum(_过滤取费定额(),"定额",?定额.数量 * 定额.人工费 * 定额.人工系数 * 定额.定额系数 * 工地运输（人力运输）混凝土杆、混凝土预制品、钢管杆、线材（不含机械费）地形系数())+sum(_过滤不取费定额(),"定额",?定额.数量 * 定额.人工费 * 定额.人工系数 * 定额.定额系数 * 工地运输（人力运输）混凝土杆、混凝土预制品、钢管杆、线材（不含机械费）地形系数())
}

BEGIN:工地运输（人力运输）金具、绝缘子、零星钢材、塔材、其他建筑安装材料（不含机械费）地形系数
${
	#{
		->(in(定额.编码,"YX1-17~22,JYX1-17~22") && 定额.综合地形类型 =="") || 定额.综合地形类型 =="工地运输（人力运输）金具、绝缘子、零星钢材、塔材、其他建筑安装材料（不含机械费）"
		:
		#{
		->@工程信息.项目类型=="架空输电线路工程"
		:
		{
		  setparam("地形系数1",0);
		  for(@特征段地形系数,"地形系数",
		  ?{		    
			iif(地形系数.特征段 == 定额.特征段,?setparam("地形系数1",getparam("地形系数1")+地形系数.工地运输（人力运输）金具、绝缘子、零星钢材、塔材、其他建筑安装材料（不含机械费）/100),0);
		  },?0);
		  getparam("地形系数1");
		};
		->@工程信息.项目类型=="通信线路工程"
		:
		@地形系数.工地运输（人力运输）金具、绝缘子、零星钢材、塔材、其他建筑安装材料（不含机械费）/100;
		};
	}
}

BEGIN:工地运输（人力运输）金具、绝缘子、零星钢材、塔材、其他建筑安装材料（不含机械费）定额_地形人工费
${
	sum(_过滤取费定额(),"定额",?定额.数量 * 定额.人工费 * 定额.人工系数 * 定额.定额系数 * 工地运输（人力运输）金具、绝缘子、零星钢材、塔材、其他建筑安装材料（不含机械费）地形系数())+sum(_过滤不取费定额(),"定额",?定额.数量 * 定额.人工费 * 定额.人工系数 * 定额.定额系数 * 工地运输（人力运输）金具、绝缘子、零星钢材、塔材、其他建筑安装材料（不含机械费）地形系数())
}

BEGIN:工地运输拖拉机、汽车运输（不含装卸，沙漠地形没有正式公路时使用）地形系数
${
	#{
		->(in(定额.编码,"YX1-24^108,JYX1-24^108") && 定额.综合地形类型 =="") || 定额.综合地形类型 =="工地运输拖拉机、汽车运输（不含装卸，沙漠地形没有正式公路时使用）"
		:
		#{
		->@工程信息.项目类型=="架空输电线路工程"
		:
		{
		  setparam("地形系数1",0);
		  for(@特征段地形系数,"地形系数",
		  ?{		    
			iif(地形系数.特征段 == 定额.特征段,?setparam("地形系数1",getparam("地形系数1")+地形系数.工地运输拖拉机、汽车运输（不含装卸，沙漠地形没有正式公路时使用）/100),0);
		  },?0);
		  getparam("地形系数1");
		};
		->@工程信息.项目类型=="通信线路工程"
		:
		@地形系数.工地运输拖拉机、汽车运输（不含装卸，沙漠地形没有正式公路时使用）/100;
		};
	}
}

BEGIN:工地运输拖拉机、汽车运输（不含装卸，沙漠地形没有正式公路时使用）定额_地形人工费
${
	sum(_过滤取费定额(),"定额",?定额.数量 * 定额.人工费 * 定额.人工系数 * 定额.定额系数 * 工地运输拖拉机、汽车运输（不含装卸，沙漠地形没有正式公路时使用）地形系数())+sum(_过滤不取费定额(),"定额",?定额.数量 * 定额.人工费 * 定额.人工系数 * 定额.定额系数 * 工地运输拖拉机、汽车运输（不含装卸，沙漠地形没有正式公路时使用）地形系数())
}

BEGIN:工地运输拖拉机、汽车运输（不含装卸，沙漠地形没有正式公路时使用）定额_地形机械费
${
	sum(_过滤取费定额(),"定额",?定额.数量 * 定额.机械费 * 定额.机械系数 * 定额.定额系数 * 工地运输拖拉机、汽车运输（不含装卸，沙漠地形没有正式公路时使用）地形系数())+sum(_过滤不取费定额(),"定额",?定额.数量 * 定额.机械费 * 定额.机械系数 * 定额.定额系数 * 工地运输拖拉机、汽车运输（不含装卸，沙漠地形没有正式公路时使用）地形系数())
}

BEGIN:土石方工程（不含机械费）地形系数
${
	#{
		->(in(定额.编码,"YX2-1~232") && 定额.综合地形类型 =="") || 定额.综合地形类型 =="土石方工程（不含机械费）"
		:
		#{
		->@工程信息.项目类型=="架空输电线路工程"
		:
		{
		  setparam("地形系数1",0);
		  for(@特征段地形系数,"地形系数",
		  ?{		    
			iif(地形系数.特征段 == 定额.特征段,?setparam("地形系数1",getparam("地形系数1")+地形系数.土石方工程（不含机械费）/100),0);
		  },?0);
		  getparam("地形系数1");
		};
		->@工程信息.项目类型=="通信线路工程"
		:
		@地形系数.土石方工程（不含机械费）/100;
		};
	}
}

BEGIN:土石方工程（不含机械费）定额_地形人工费
${
	sum(_过滤取费定额(),"定额",?定额.数量 * 定额.人工费 * 定额.人工系数 * 定额.定额系数 * 土石方工程（不含机械费）地形系数())+sum(_过滤不取费定额(),"定额",?定额.数量 * 定额.人工费 * 定额.人工系数 * 定额.定额系数 * 土石方工程（不含机械费）地形系数())
}
		  
BEGIN:基础工程地形系数
${
	#{
		->(in(定额.编码,"BG-YX3-10~13,YX3-1~214,CYX1-1~4") && 定额.综合地形类型 =="") || 定额.综合地形类型 =="基础工程"
		:
		#{
		->@工程信息.项目类型=="架空输电线路工程"
		:
		{
		  setparam("地形系数1",0);
		  for(@特征段地形系数,"地形系数",
		  ?{		    
			iif(地形系数.特征段 == 定额.特征段,?setparam("地形系数1",getparam("地形系数1")+地形系数.基础工程/100),0);
		  },?0);
		  getparam("地形系数1");
		};
		->@工程信息.项目类型=="通信线路工程"
		:
		@地形系数.基础工程/100;
		};
	}
}

BEGIN:基础工程定额_地形人工费
${
	sum(_过滤取费定额(),"定额",?定额.数量 * 定额.人工费 * 定额.人工系数 * 定额.定额系数 * 基础工程地形系数())+sum(_过滤不取费定额(),"定额",?定额.数量 * 定额.人工费 * 定额.人工系数 * 定额.定额系数 * 基础工程地形系数())
}

BEGIN:基础工程定额_地形机械费
${
	sum(_过滤取费定额(),"定额",?定额.数量 * 定额.机械费 * 定额.机械系数 * 定额.定额系数 * 基础工程地形系数())+sum(_过滤不取费定额(),"定额",?定额.数量 * 定额.机械费 * 定额.机械系数 * 定额.定额系数 * 基础工程地形系数())
}

BEGIN:杆塔工程地形系数
${
	#{
		->(in(定额.编码,"YX4-1~158,CYX2-1~40") && 定额.综合地形类型 =="") || 定额.综合地形类型 =="杆塔工程"
		:
		#{
		->@工程信息.项目类型=="架空输电线路工程"
		:
		{
		  setparam("地形系数1",0);
		  for(@特征段地形系数,"地形系数",
		  ?{		    
			iif(地形系数.特征段 == 定额.特征段,?setparam("地形系数1",getparam("地形系数1")+地形系数.杆塔工程/100),0);
		  },?0);
		  getparam("地形系数1");
		};
		->@工程信息.项目类型=="通信线路工程"
		:
		@地形系数.杆塔工程/100;
		};
	}
}

BEGIN:杆塔工程定额_地形人工费
${
	sum(_过滤取费定额(),"定额",?定额.数量 * 定额.人工费 * 定额.人工系数 * 定额.定额系数 * 杆塔工程地形系数())+sum(_过滤不取费定额(),"定额",?定额.数量 * 定额.人工费 * 定额.人工系数 * 定额.定额系数 * 杆塔工程地形系数())
}

BEGIN:杆塔工程定额_地形机械费
${
	sum(_过滤取费定额(),"定额",?定额.数量 * 定额.机械费 * 定额.机械系数 * 定额.定额系数 * 杆塔工程地形系数())+sum(_过滤不取费定额(),"定额",?定额.数量 * 定额.机械费 * 定额.机械系数 * 定额.定额系数 * 杆塔工程地形系数())
}

BEGIN:架线工程一般放、紧线（不包括跨越架设、拦河线安装）地形系数
${
	#{
		->(in(定额.编码,"YX5-1~17,YZ13-4~7,CYX3-1~27") && 定额.综合地形类型 =="") || 定额.综合地形类型 =="架线工程一般放、紧线（不包括跨越架设、拦河线安装）"
		:
		#{
		->@工程信息.项目类型=="架空输电线路工程"
		:
		{
		  setparam("地形系数1",0);
		  for(@特征段地形系数,"地形系数",
		  ?{		    
			iif(地形系数.特征段 == 定额.特征段,?setparam("地形系数1",getparam("地形系数1")+地形系数.架线工程一般放、紧线（不包括跨越架设、拦河线安装）/100),0);
		  },?0);
		  getparam("地形系数1");
		};
		->@工程信息.项目类型=="通信线路工程"
		:
		@地形系数.架线工程一般放、紧线（不包括跨越架设、拦河线安装）/100;
		};
	}
}

BEGIN:架线工程一般放、紧线（不包括跨越架设、拦河线安装）定额_地形人工费
${
	sum(_过滤取费定额(),"定额",?定额.数量 * 定额.人工费 * 定额.人工系数 * 定额.定额系数 * 架线工程一般放、紧线（不包括跨越架设、拦河线安装）地形系数())+sum(_过滤不取费定额(),"定额",?定额.数量 * 定额.人工费 * 定额.人工系数 * 定额.定额系数 * 架线工程一般放、紧线（不包括跨越架设、拦河线安装）地形系数())
}

BEGIN:架线工程一般放、紧线（不包括跨越架设、拦河线安装）定额_地形机械费
${
	sum(_过滤取费定额(),"定额",?定额.数量 * 定额.机械费 * 定额.机械系数 * 定额.定额系数 * 架线工程一般放、紧线（不包括跨越架设、拦河线安装）地形系数())+sum(_过滤不取费定额(),"定额",?定额.数量 * 定额.机械费 * 定额.机械系数 * 定额.定额系数 * 架线工程一般放、紧线（不包括跨越架设、拦河线安装）地形系数())
}

BEGIN:架线工程张力机械放、紧线（不包括跨越架设、拦河线安装）地形系数
${
	#{
		->(in(定额.编码,"YX5-18~79,YZ13-8~11,CYX3-28~42") && 定额.综合地形类型 =="") || 定额.综合地形类型 =="架线工程张力机械放、紧线（不包括跨越架设、拦河线安装）"
		:
		#{
		->@工程信息.项目类型=="架空输电线路工程"
		:
		{
		  setparam("地形系数1",0);
		  for(@特征段地形系数,"地形系数",
		  ?{		    
			iif(地形系数.特征段 == 定额.特征段,?setparam("地形系数1",getparam("地形系数1")+地形系数.架线工程张力机械放、紧线（不包括跨越架设、拦河线安装）/100),0);
		  },?0);
		  getparam("地形系数1");
		};
		->@工程信息.项目类型=="通信线路工程"
		:
		@地形系数.架线工程张力机械放、紧线（不包括跨越架设、拦河线安装）/100;
		};
	}
}

BEGIN:架线工程张力机械放、紧线（不包括跨越架设、拦河线安装）定额_地形人工费
${
	sum(_过滤取费定额(),"定额",?定额.数量 * 定额.人工费 * 定额.人工系数 * 定额.定额系数 * 架线工程张力机械放、紧线（不包括跨越架设、拦河线安装）地形系数())+sum(_过滤不取费定额(),"定额",?定额.数量 * 定额.人工费 * 定额.人工系数 * 定额.定额系数 * 架线工程张力机械放、紧线（不包括跨越架设、拦河线安装）地形系数())
}

BEGIN:架线工程张力机械放、紧线（不包括跨越架设、拦河线安装）定额_地形机械费
${
	sum(_过滤取费定额(),"定额",?定额.数量 * 定额.机械费 * 定额.机械系数 * 定额.定额系数 * 架线工程张力机械放、紧线（不包括跨越架设、拦河线安装）地形系数())+sum(_过滤不取费定额(),"定额",?定额.数量 * 定额.机械费 * 定额.机械系数 * 定额.定额系数 * 架线工程张力机械放、紧线（不包括跨越架设、拦河线安装）地形系数())
}

BEGIN:架线工程光缆接续（不包括测量）地形系数
${
	#{
		->(in(定额.编码,"YX5-214~222") && 定额.综合地形类型 =="") || 定额.综合地形类型 =="架线工程光缆接续（不包括测量）"
		:
		#{
		->@工程信息.项目类型=="架空输电线路工程"
		:
		{
		  setparam("地形系数1",0);
		  for(@特征段地形系数,"地形系数",
		  ?{		    
			iif(地形系数.特征段 == 定额.特征段,?setparam("地形系数1",getparam("地形系数1")+地形系数.架线工程光缆接续（不包括测量）/100),0);
		  },?0);
		  getparam("地形系数1");
		};
		->@工程信息.项目类型=="通信线路工程"
		:
		@地形系数.架线工程光缆接续（不包括测量）/100;
		};
	}
}

BEGIN:架线工程光缆接续（不包括测量）定额_地形人工费
${
	sum(_过滤取费定额(),"定额",?定额.数量 * 定额.人工费 * 定额.人工系数 * 定额.定额系数 * 架线工程光缆接续（不包括测量）地形系数())+sum(_过滤不取费定额(),"定额",?定额.数量 * 定额.人工费 * 定额.人工系数 * 定额.定额系数 * 架线工程光缆接续（不包括测量）地形系数())
}

BEGIN:架线工程光缆接续（不包括测量）定额_地形机械费
${
	sum(_过滤取费定额(),"定额",?定额.数量 * 定额.机械费 * 定额.机械系数 * 定额.定额系数 * 架线工程光缆接续（不包括测量）地形系数())+sum(_过滤不取费定额(),"定额",?定额.数量 * 定额.机械费 * 定额.机械系数 * 定额.定额系数 * 架线工程光缆接续（不包括测量）地形系数())
}

BEGIN:附件工程地形系数
${
	#{
		->(in(定额.编码,"YX6-1~171,CYX4-1~131") && 定额.综合地形类型 =="") || 定额.综合地形类型 =="附件工程"
		:
		#{
		->@工程信息.项目类型=="架空输电线路工程"
		:
		{
		  setparam("地形系数1",0);
		  for(@特征段地形系数,"地形系数",
		  ?{		    
			iif(地形系数.特征段 == 定额.特征段,?setparam("地形系数1",getparam("地形系数1")+地形系数.附件工程/100),0);
		  },?0);
		  getparam("地形系数1");
		};
		->@工程信息.项目类型=="通信线路工程"
		:
		@地形系数.附件工程/100;
		};
	}
}

BEGIN:附件工程定额_地形人工费
${
	sum(_过滤取费定额(),"定额",?定额.数量 * 定额.人工费 * 定额.人工系数 * 定额.定额系数 * 附件工程地形系数())+sum(_过滤不取费定额(),"定额",?定额.数量 * 定额.人工费 * 定额.人工系数 * 定额.定额系数 * 附件工程地形系数())
}

BEGIN:附件工程定额_地形机械费
${
	sum(_过滤取费定额(),"定额",?定额.数量 * 定额.机械费 * 定额.机械系数 * 定额.定额系数 * 附件工程地形系数())+sum(_过滤不取费定额(),"定额",?定额.数量 * 定额.机械费 * 定额.机械系数 * 定额.定额系数 * 附件工程地形系数())
}

BEGIN:辅助工程（基础辅助）打桩，护坡、挡土墙及排洪沟砌筑，喷射混凝土护坡地形系数
${
	#{
		->(in(定额.编码,"YX7-16~26") && 定额.综合地形类型 =="") || 定额.综合地形类型 =="辅助工程（基础辅助）打桩，护坡、挡土墙及排洪沟砌筑，喷射混凝土护坡"
		:
		#{
		->@工程信息.项目类型=="架空输电线路工程"
		:
		{
		  setparam("地形系数1",0);
		  for(@特征段地形系数,"地形系数",
		  ?{		    
			iif(地形系数.特征段 == 定额.特征段,?setparam("地形系数1",getparam("地形系数1")+地形系数.辅助工程（基础辅助）打桩，护坡、挡土墙及排洪沟砌筑，喷射混凝土护坡/100),0);
		  },?0);
		  getparam("地形系数1");
		};
		->@工程信息.项目类型=="通信线路工程"
		:
		@地形系数.辅助工程（基础辅助）打桩，护坡、挡土墙及排洪沟砌筑，喷射混凝土护坡/100;
		};
	}
}

BEGIN:辅助工程（基础辅助）打桩，护坡、挡土墙及排洪沟砌筑，喷射混凝土护坡定额_地形人工费
${
	sum(_过滤取费定额(),"定额",?定额.数量 * 定额.人工费 * 定额.人工系数 * 定额.定额系数 * 辅助工程（基础辅助）打桩，护坡、挡土墙及排洪沟砌筑，喷射混凝土护坡地形系数())+sum(_过滤不取费定额(),"定额",?定额.数量 * 定额.人工费 * 定额.人工系数 * 定额.定额系数 * 辅助工程（基础辅助）打桩，护坡、挡土墙及排洪沟砌筑，喷射混凝土护坡地形系数())
}

BEGIN:辅助工程（基础辅助）打桩，护坡、挡土墙及排洪沟砌筑，喷射混凝土护坡定额_地形机械费
${
	sum(_过滤取费定额(),"定额",?定额.数量 * 定额.机械费 * 定额.机械系数 * 定额.定额系数 * 辅助工程（基础辅助）打桩，护坡、挡土墙及排洪沟砌筑，喷射混凝土护坡地形系数())+sum(_过滤不取费定额(),"定额",?定额.数量 * 定额.机械费 * 定额.机械系数 * 定额.定额系数 * 辅助工程（基础辅助）打桩，护坡、挡土墙及排洪沟砌筑，喷射混凝土护坡地形系数())
}

BEGIN:辅助工程（杆塔辅助）杆塔标志牌，防鸟装置，防坠落装置，避雷器安装，监测装置安装调测地形系数
${
	#{
		->(in(定额.编码,"YX7-27~48") && 定额.综合地形类型 =="") || 定额.综合地形类型 =="辅助工程（杆塔辅助）杆塔标志牌，防鸟装置，防坠落装置，避雷器安装，监测装置安装调测"
		:
		#{
		->@工程信息.项目类型=="架空输电线路工程"
		:
		{
		  setparam("地形系数1",0);
		  for(@特征段地形系数,"地形系数",
		  ?{		    
			iif(地形系数.特征段 == 定额.特征段,?setparam("地形系数1",getparam("地形系数1")+地形系数.辅助工程（杆塔辅助）杆塔标志牌，防鸟装置，防坠落装置，避雷器安装，监测装置安装调测/100),0);
		  },?0);
		  getparam("地形系数1");
		};
		->@工程信息.项目类型=="通信线路工程"
		:
		@地形系数.辅助工程（杆塔辅助）杆塔标志牌，防鸟装置，防坠落装置，避雷器安装，监测装置安装调测/100;
		};
	}
}

BEGIN:辅助工程（杆塔辅助）杆塔标志牌，防鸟装置，防坠落装置，避雷器安装，监测装置安装调测定额_地形人工费
${
	sum(_过滤取费定额(),"定额",?定额.数量 * 定额.人工费 * 定额.人工系数 * 定额.定额系数 * 辅助工程（杆塔辅助）杆塔标志牌，防鸟装置，防坠落装置，避雷器安装，监测装置安装调测地形系数())+sum(_过滤不取费定额(),"定额",?定额.数量 * 定额.人工费 * 定额.人工系数 * 定额.定额系数 * 辅助工程（杆塔辅助）杆塔标志牌，防鸟装置，防坠落装置，避雷器安装，监测装置安装调测地形系数())
}

BEGIN:辅助工程（杆塔辅助）杆塔标志牌，防鸟装置，防坠落装置，避雷器安装，监测装置安装调测定额_地形机械费
${
	sum(_过滤取费定额(),"定额",?定额.数量 * 定额.机械费 * 定额.机械系数 * 定额.定额系数 * 辅助工程（杆塔辅助）杆塔标志牌，防鸟装置，防坠落装置，避雷器安装，监测装置安装调测地形系数())+sum(_过滤不取费定额(),"定额",?定额.数量 * 定额.机械费 * 定额.机械系数 * 定额.定额系数 * 辅助工程（杆塔辅助）杆塔标志牌，防鸟装置，防坠落装置，避雷器安装，监测装置安装调测地形系数())
}

BEGIN:辅助工程（其他）索道站支架、绳索及附件运输（地形选择按架设索道站所处地带实际地形为准）地形系数
${
	#{
		->(in(定额.编码,"YX7-49~92") && 定额.综合地形类型 =="") || 定额.综合地形类型 =="辅助工程（其他）索道站支架、绳索及附件运输（地形选择按架设索道站所处地带实际地形为准）"
		:
		#{
		->@工程信息.项目类型=="架空输电线路工程"
		:
		{
		  setparam("地形系数1",0);
		  for(@特征段地形系数,"地形系数",
		  ?{		    
			iif(地形系数.特征段 == 定额.特征段,?setparam("地形系数1",getparam("地形系数1")+地形系数.辅助工程（其他）索道站支架、绳索及附件运输（地形选择按架设索道站所处地带实际地形为准）/100),0);
		  },?0);
		  getparam("地形系数1");
		};
		->@工程信息.项目类型=="通信线路工程"
		:
		@地形系数.辅助工程（其他）索道站支架、绳索及附件运输（地形选择按架设索道站所处地带实际地形为准）/100;
		};
	}
}

BEGIN:辅助工程（其他）索道站支架、绳索及附件运输（地形选择按架设索道站所处地带实际地形为准）定额_地形人工费
${
	sum(_过滤取费定额(),"定额",?定额.数量 * 定额.人工费 * 定额.人工系数 * 定额.定额系数 * 辅助工程（其他）索道站支架、绳索及附件运输（地形选择按架设索道站所处地带实际地形为准）地形系数())+sum(_过滤不取费定额(),"定额",?定额.数量 * 定额.人工费 * 定额.人工系数 * 定额.定额系数 * 辅助工程（其他）索道站支架、绳索及附件运输（地形选择按架设索道站所处地带实际地形为准）地形系数())
}

BEGIN:辅助工程（其他）索道站支架、绳索及附件运输（地形选择按架设索道站所处地带实际地形为准）定额_地形机械费
${
	sum(_过滤取费定额(),"定额",?定额.数量 * 定额.机械费 * 定额.机械系数 * 定额.定额系数 * 辅助工程（其他）索道站支架、绳索及附件运输（地形选择按架设索道站所处地带实际地形为准）地形系数())+sum(_过滤不取费定额(),"定额",?定额.数量 * 定额.机械费 * 定额.机械系数 * 定额.定额系数 * 辅助工程（其他）索道站支架、绳索及附件运输（地形选择按架设索道站所处地带实际地形为准）地形系数())
}

BEGIN:辅助工程（其他）索道设施安装（地形选择按架设索道站所处地带实际地形为准）地形系数
${
	#{
		->(in(定额.编码,"YX7-93~121") && 定额.综合地形类型 =="") || 定额.综合地形类型 =="辅助工程（其他）索道设施安装（地形选择按架设索道站所处地带实际地形为准）"
		:
		#{
		->@工程信息.项目类型=="架空输电线路工程"
		:
		{
		  setparam("地形系数1",0);
		  for(@特征段地形系数,"地形系数",
		  ?{		    
			iif(地形系数.特征段 == 定额.特征段,?setparam("地形系数1",getparam("地形系数1")+地形系数.辅助工程（其他）索道设施安装（地形选择按架设索道站所处地带实际地形为准）/100),0);
		  },?0);
		  getparam("地形系数1");
		};
		->@工程信息.项目类型=="通信线路工程"
		:
		@地形系数.辅助工程（其他）索道设施安装（地形选择按架设索道站所处地带实际地形为准）/100;
		};
	}
}

BEGIN:辅助工程（其他）索道设施安装（地形选择按架设索道站所处地带实际地形为准）定额_地形人工费
${
	sum(_过滤取费定额(),"定额",?定额.数量 * 定额.人工费 * 定额.人工系数 * 定额.定额系数 * 辅助工程（其他）索道设施安装（地形选择按架设索道站所处地带实际地形为准）地形系数())+	sum(_过滤不取费定额(),"定额",?定额.数量 * 定额.人工费 * 定额.人工系数 * 定额.定额系数 * 辅助工程（其他）索道设施安装（地形选择按架设索道站所处地带实际地形为准）地形系数())
}

BEGIN:辅助工程（其他）索道设施安装（地形选择按架设索道站所处地带实际地形为准）定额_地形机械费
${
	sum(_过滤取费定额(),"定额",?定额.数量 * 定额.机械费 * 定额.机械系数 * 定额.定额系数 * 辅助工程（其他）索道设施安装（地形选择按架设索道站所处地带实际地形为准）地形系数())+sum(_过滤不取费定额(),"定额",?定额.数量 * 定额.机械费 * 定额.机械系数 * 定额.定额系数 * 辅助工程（其他）索道设施安装（地形选择按架设索道站所处地带实际地形为准）地形系数())
}

BEGIN:_地形机械系数
${
  ?#{
    ->@工程信息.专业类型=="送电"  
    :
    #{	  ->定额.综合地形类型!=""
		  :
		  #{
		  ->定额.综合地形类型 == " "
		  :
		  {
		  setparam("地形系数1",0);
		  getparam("地形系数1");
		  };
		  ->@工程信息.项目类型=="架空输电线路工程"
		  :
		  {
		  setparam("地形系数1",0);
		  iif(strFind(定额.综合地形类型,"不含机械费")<0,?setparam("综合地形类型", 定额.综合地形类型),?setparam("综合地形类型", ""));
		  for(@特征段地形系数,"地形系数",
		  ?{		    
			iif(地形系数.特征段 == 定额.特征段 && getparam("综合地形类型") !="",?setparam("地形系数1",?(getparam("地形系数1")+getdynamicvariable("地形系数." + getparam("综合地形类型"), 0))),0);
		  },?0);
		  getparam("地形系数1");
		  };
		  ->@工程信息.项目类型=="通信线路工程"
		  :
		  {
			iif(strFind(定额.综合地形类型,"不含机械费")<0,?setparam("综合地形类型", 定额.综合地形类型),?setparam("综合地形类型", ""));
			iif(getparam("综合地形类型") !="",getdynamicvariable("@地形系数." + getparam("综合地形类型"), 0),0);
		  };
		  };
		  ->(in(定额.编码,"YX1-24^108,JYX1-24^108")) 
		  :
		  #{
		  ->@工程信息.项目类型=="架空输电线路工程"
		  :
		  {
		  setparam("地形系数1",0);
		  for(@特征段地形系数,"地形系数",
		  ?{		    
			iif(地形系数.特征段 == 定额.特征段,?setparam("地形系数1",getparam("地形系数1")+地形系数.工地运输拖拉机、汽车运输（不含装卸，沙漠地形没有正式公路时使用）),0);
		  },?0);
		  getparam("地形系数1");
		  };
		  ->@工程信息.项目类型=="通信线路工程"
		  :
		  @地形系数.工地运输拖拉机、汽车运输（不含装卸，沙漠地形没有正式公路时使用）;
		  };
		  
		  ->(in(定额.编码,"BG-YX3-10~13,YX3-1~214,CYX1-1~4")) 
		  :
		  #{
		  ->@工程信息.项目类型=="架空输电线路工程"
		  :
		  {
		  setparam("地形系数1",0);
		  for(@特征段地形系数,"地形系数",
		  ?{		    
			iif(地形系数.特征段 == 定额.特征段,?setparam("地形系数1",getparam("地形系数1")+地形系数.基础工程),0);
		  },?0);
		  getparam("地形系数1");
		  };
		  ->@工程信息.项目类型=="通信线路工程"
		  :
		  @地形系数.基础工程;
		  };
		  
		  ->(in(定额.编码,"YX4-1~158,CYX2-1~40"))
		  :
		  #{
		  ->@工程信息.项目类型=="架空输电线路工程"
		  :
		  {
		  setparam("地形系数1",0);
		  for(@特征段地形系数,"地形系数",
		  ?{		    
			iif(地形系数.特征段 == 定额.特征段,?setparam("地形系数1",getparam("地形系数1")+地形系数.杆塔工程),0);
		  },?0);
		  getparam("地形系数1");
		  };
		  ->@工程信息.项目类型=="通信线路工程"
		  :
		  @地形系数.杆塔工程;
		  };
		  
		  ->(in(定额.编码,"YX5-1~17,YZ13-4~7,CYX3-1~27")) 
		  :
		  #{
		  ->@工程信息.项目类型=="架空输电线路工程"
		  :
		  {
		  setparam("地形系数1",0);
		  for(@特征段地形系数,"地形系数",
		  ?{		    
			iif(地形系数.特征段 == 定额.特征段,?setparam("地形系数1",getparam("地形系数1")+地形系数.架线工程一般放、紧线（不包括跨越架设、拦河线安装）),0);
		  },?0);
		  getparam("地形系数1");
		  };
		  ->@工程信息.项目类型=="通信线路工程"
		  :
		  @地形系数.架线工程一般放、紧线（不包括跨越架设、拦河线安装）;
		  };
		  
		  ->(in(定额.编码,"YX5-18~79,YZ13-8~11,CYX3-28~42")) 
		  :
		  #{
		  ->@工程信息.项目类型=="架空输电线路工程"
		  :
		  {
		  setparam("地形系数1",0);
		  for(@特征段地形系数,"地形系数",
		  ?{		    
			iif(地形系数.特征段 == 定额.特征段,?setparam("地形系数1",getparam("地形系数1")+地形系数.架线工程张力机械放、紧线（不包括跨越架设、拦河线安装）),0);
		  },?0);
		  getparam("地形系数1");
		  };
		  ->@工程信息.项目类型=="通信线路工程"
		  :
		  @地形系数.架线工程张力机械放、紧线（不包括跨越架设、拦河线安装）;
		  };
		  
		  ->(in(定额.编码,"YX5-214~222")) 
		  :
		  #{
		  ->@工程信息.项目类型=="架空输电线路工程"
		  :
		  {
		  setparam("地形系数1",0);
		  for(@特征段地形系数,"地形系数",
		  ?{		    
			iif(地形系数.特征段 == 定额.特征段,?setparam("地形系数1",getparam("地形系数1")+地形系数.架线工程光缆接续（不包括测量）),0);
		  },?0);
		  getparam("地形系数1");
		  };
		  ->@工程信息.项目类型=="通信线路工程"
		  :
		  @地形系数.架线工程光缆接续（不包括测量）;
		  };
		  
		  ->(in(定额.编码,"YX6-1~171,CYX4-1~131")) 
		  :
		  #{
		  ->@工程信息.项目类型=="架空输电线路工程"
		  :
		  {
		  setparam("地形系数1",0);
		  for(@特征段地形系数,"地形系数",
		  ?{		    
			iif(地形系数.特征段 == 定额.特征段,?setparam("地形系数1",getparam("地形系数1")+地形系数.附件工程),0);
		  },?0);
		  getparam("地形系数1");
		  };
		  ->@工程信息.项目类型=="通信线路工程"
		  :
		  @地形系数.附件工程;
		  };
		  		  
		  ->(in(定额.编码,"YX7-16~26")) 
		  :
		  #{
		  ->@工程信息.项目类型=="架空输电线路工程"
		  :
		  {
		  setparam("地形系数1",0);
		  for(@特征段地形系数,"地形系数",
		  ?{		    
			iif(地形系数.特征段 == 定额.特征段,?setparam("地形系数1",getparam("地形系数1")+地形系数.辅助工程（基础辅助）打桩，护坡、挡土墙及排洪沟砌筑，喷射混凝土护坡),0);
		  },?0);
		  getparam("地形系数1");
		  };
		  ->@工程信息.项目类型=="通信线路工程"
		  :
		  @地形系数.辅助工程（基础辅助）打桩，护坡、挡土墙及排洪沟砌筑，喷射混凝土护坡;
		  };
		  
		  ->(in(定额.编码,"YX7-27~48")) 
		  :
		  #{
		  ->@工程信息.项目类型=="架空输电线路工程"
		  :
		  {
		  setparam("地形系数1",0);
		  for(@特征段地形系数,"地形系数",
		  ?{		    
			iif(地形系数.特征段 == 定额.特征段,?setparam("地形系数1",getparam("地形系数1")+地形系数.辅助工程（杆塔辅助）杆塔标志牌，防鸟装置，防坠落装置，避雷器安装，监测装置安装调测),0);
		  },?0);
		  getparam("地形系数1");
		  };
		  ->@工程信息.项目类型=="通信线路工程"
		  :
		  @地形系数.辅助工程（杆塔辅助）杆塔标志牌，防鸟装置，防坠落装置，避雷器安装，监测装置安装调测;
		  };
		  
          ->(in(定额.编码,"YX7-49~92")) 
		  :
		  #{
		  ->@工程信息.项目类型=="架空输电线路工程"
		  :
		  {
		  setparam("地形系数1",0);
		  for(@特征段地形系数,"地形系数",
		  ?{		    
			iif(地形系数.特征段 == 定额.特征段,?setparam("地形系数1",getparam("地形系数1")+地形系数.辅助工程（其他）索道站支架、绳索及附件运输（地形选择按架设索道站所处地带实际地形为准）),0);
		  },?0);
		  getparam("地形系数1");
		  };
		  ->@工程信息.项目类型=="通信线路工程"
		  :
		  @地形系数.辅助工程（其他）索道站支架、绳索及附件运输（地形选择按架设索道站所处地带实际地形为准）;
		  };
		  
          ->(in(定额.编码,"YX7-93~121"))
		  :
		  #{
		  ->@工程信息.项目类型=="架空输电线路工程"
		  :
		  {
		  setparam("地形系数1",0);
		  for(@特征段地形系数,"地形系数",
		  ?{		    
			iif(地形系数.特征段 == 定额.特征段,?setparam("地形系数1",getparam("地形系数1")+地形系数.辅助工程（其他）索道设施安装（地形选择按架设索道站所处地带实际地形为准）),0);
		  },?0);
		  getparam("地形系数1");
		  };
		  ->@工程信息.项目类型=="通信线路工程"
		  :
		  @地形系数.辅助工程（其他）索道设施安装（地形选择按架设索道站所处地带实际地形为准）;
		  };		  
		}/100;		  
    }
}

///////////////////////////////////////////////////////////////
//
//  综合地形增加费
//
///////////////////////////////////////////////////////////////
BEGIN:定额_地形人工系数
${
  sum(source,"定额",?_地形人工系数());
}
BEGIN:定额_取费_地形人工费
${
	sum(_过滤取费定额(),"定额",?定额.数量 * 定额.人工费 * 定额.人工系数 * 定额.定额系数 * _地形人工系数())
}

BEGIN:定额_取费_地形人工价差
${	
	sum(_过滤取费定额(),"定额",?定额.数量 * 定额.人工费 * 定额.人工系数 * 定额.定额系数 * _地形人工系数() * #{
		->定额.调差类型 == "安装" || 定额.调差类型 == "线路"
		 :
		 @工程信息.人工调差系数/100;
		->定额.调差类型 == "拆除安装"|| 定额.调差类型 == "线路拆除"
		 :
		 @工程信息.拆除人工调差系数/100;
	})
}

BEGIN:定额_取费_地形机械费
${	
	sum(_过滤取费定额(),"定额",?定额.数量 * 定额.机械费 * 定额.机械系数 * 定额.定额系数 * _地形机械系数())
}

BEGIN:定额_取费_地形机械价差
${
sum(_过滤取费定额(),"定额",
	?#{
		->定额.调差类型 == "安装"||定额.调差类型 == "线路"
		:
		定额.机械费不含税*@工程信息.机械调差系数/100;
		->定额.调差类型 == "拆除安装"||定额.调差类型 == "线路拆除"
		:
		定额.机械费不含税*@工程信息.拆除机械调差系数/100;
		
		}*定额.机械系数*定额.定额系数*定额.数量*_地形机械系数()
	)
}

BEGIN:定额_不取费_地形人工费
${
	sum(_过滤不取费定额(),"定额",?定额.数量 * 定额.人工费 * 定额.人工系数 * 定额.定额系数 * _地形人工系数())
}

BEGIN:定额_不取费_地形人工价差
${
	sum(_过滤不取费定额(),"定额",?定额.数量 * 定额.人工费 * 定额.人工系数 * 定额.定额系数 * _地形人工系数() * #{
		-> 定额.调差类型 == "安装"||定额.调差类型 == "线路"
		 :
		 @工程信息.人工调差系数/100;
		->定额.调差类型 == "拆除安装" ||定额.调差类型 == "线路拆除" 
		 :
		 @工程信息.拆除人工调差系数/100;
	})
}

BEGIN:定额_不取费_地形机械费
${
	sum(_过滤不取费定额(),"定额",?定额.数量*定额.机械费*定额.机械系数*定额.定额系数* _地形机械系数())
}

BEGIN:定额_不取费_地形机械价差
${
 sum(_过滤不取费定额(),"定额",
	?#{
		->定额.调差类型 == "安装"||定额.调差类型 == "线路"
		:
		定额.机械费不含税*@工程信息.机械调差系数/100;
		->定额.调差类型 == "拆除安装"||定额.调差类型 == "线路拆除"
		:
		定额.机械费不含税*@工程信息.拆除机械调差系数/100;
		
		}*定额.机械系数*定额.定额系数*定额.数量*_地形机械系数()
	)
}

///////////////////////////////////////////////////////////////
//
//  混凝土施工调整费
//
///////////////////////////////////////////////////////////////
BEGIN:混凝土施工调整费_取费
${
   ?定额_取费_混凝土施工调整人工费()+定额_取费_混凝土施工调整材料费()+定额_取费_混凝土施工调整机械费()
}

BEGIN:定额_取费_混凝土施工调整人工费
${
    sum(_过滤取费定额(),"工程量", ?sum(_过滤材料(),"材料",?
        #{
			->(@工程信息.专业类型 == "变电"||@工程信息.专业类型 == "发电") && (工程量.调差类型 == "建筑" || 工程量.调差类型 == "建筑拆除") && 工程量.定额范围 == "概算" && in(材料.编码,"C09032001~09032315")
				:
				#{
				->工程量.泵车浇制 == 1 && 工程量.现场制备 == 0 && 工程量.清水混凝土 == 0
					: 
					材料.数量 *工程量.数量*工程量.定额系数*工程量.材料系数* 80/100 * (-10.6);
				->工程量.现场制备 == 1 && 工程量.泵车浇制 == 0 && 工程量.清水混凝土 == 0
					:
					材料.数量 *工程量.数量 *工程量.定额系数*工程量.材料系数* 11.8;
				->工程量.清水混凝土 == 1 && 工程量.泵车浇制 == 0 && 工程量.现场制备 == 0
					:
					材料.数量 *工程量.数量* 工程量.定额系数*工程量.材料系数* 29.7;
				->工程量.泵车浇制 == 1 && 工程量.现场制备 == 1 && 工程量.清水混凝土 == 0
					: 
					材料.数量 *工程量.数量*工程量.定额系数*工程量.材料系数* 80/100 * (-10.6)+材料.数量 *工程量.数量 *工程量.定额系数*工程量.材料系数* 11.8;
				->工程量.泵车浇制 == 1 && 工程量.现场制备 == 0 && 工程量.清水混凝土 == 1
					: 
					材料.数量 *工程量.数量*工程量.定额系数*工程量.材料系数* 80/100 * (-10.6)+材料.数量 *工程量.数量* 工程量.定额系数*工程量.材料系数* 29.7;	
				->工程量.泵车浇制 == 0 && 工程量.现场制备 == 1 && 工程量.清水混凝土 == 1
					: 
					材料.数量 *工程量.数量 *工程量.定额系数*工程量.材料系数* 11.8+材料.数量 *工程量.数量* 工程量.定额系数*工程量.材料系数* 29.7;
				->工程量.泵车浇制 == 1 && 工程量.现场制备 == 1 && 工程量.清水混凝土 == 1
					: 	
					材料.数量 *工程量.数量*工程量.定额系数*工程量.材料系数* 80/100 * (-10.6)+材料.数量 *工程量.数量 *工程量.定额系数*工程量.材料系数* 11.8+材料.数量 *工程量.数量* 工程量.定额系数*工程量.材料系数* 29.7;
				};
			->(@工程信息.专业类型 == "变电"||@工程信息.专业类型 == "发电") && (工程量.调差类型 == "建筑" || 工程量.调差类型 == "建筑拆除") && 工程量.定额范围 == "预算" && in(材料.编码,"C09030111,C09030851,C09030902,C09031001~09031002,C09031101,C09031201,C09031301,C09031401,C09031501,C09031601~09031605,C09031611~09031620,C09031631~09031641,C09031701~09031705,C09031711~09031715,C09031801~09031805,C09031811~09031815,C09031901~09031905,C09031911~09031915,C09032001~09032005,C09032011~09032020,C09032031~09032041,C09032101~09032105,C09032111~09032115,C09032201~09032205,C09032211~09032215,C09032301~09032305,C09032311~09032315,C09032401~09032410,C09032421~09032431")
				:
				#{
				->工程量.泵车浇制 == 1
					:
					材料.数量 *工程量.数量*工程量.定额系数*工程量.材料系数* (-10.6);
					};
		}) )
}

BEGIN:定额_取费_混凝土施工调整人工价差
${
     sum(_过滤取费定额(),"工程量", ?sum(_过滤材料(),"材料",?#{
			->(@工程信息.专业类型 == "变电"||@工程信息.专业类型 == "发电") && (工程量.调差类型 == "建筑" || 工程量.调差类型 == "建筑拆除") && 工程量.定额范围 == "概算" && in(材料.编码,"C09032001~09032315")
				:
				#{
				->工程量.泵车浇制 == 1 && 工程量.现场制备 == 0 && 工程量.清水混凝土 == 0
					: 
					材料.数量 *工程量.数量*工程量.定额系数*工程量.材料系数* 80/100 * (-10.6);
				->工程量.现场制备 == 1 && 工程量.泵车浇制 == 0 && 工程量.清水混凝土 == 0
					:
					材料.数量 *工程量.数量 *工程量.定额系数*工程量.材料系数* 11.8;
				->工程量.清水混凝土 == 1 && 工程量.泵车浇制 == 0 && 工程量.现场制备 == 0
					:
					材料.数量 *工程量.数量* 工程量.定额系数*工程量.材料系数* 29.7;
				->工程量.泵车浇制 == 1 && 工程量.现场制备 == 1 && 工程量.清水混凝土 == 0
					: 
					材料.数量 *工程量.数量*工程量.定额系数*工程量.材料系数* 80/100 * (-10.6)+材料.数量 *工程量.数量 *工程量.定额系数*工程量.材料系数* 11.8;
				->工程量.泵车浇制 == 1 && 工程量.现场制备 == 0 && 工程量.清水混凝土 == 1
					: 
					材料.数量 *工程量.数量*工程量.定额系数*工程量.材料系数* 80/100 * (-10.6)+材料.数量 *工程量.数量* 工程量.定额系数*工程量.材料系数* 29.7;	
				->工程量.泵车浇制 == 0 && 工程量.现场制备 == 1 && 工程量.清水混凝土 == 1
					: 
					材料.数量 *工程量.数量 *工程量.定额系数*工程量.材料系数* 11.8+材料.数量 *工程量.数量* 工程量.定额系数*工程量.材料系数* 29.7;
				->工程量.泵车浇制 == 1 && 工程量.现场制备 == 1 && 工程量.清水混凝土 == 1
					: 	
					材料.数量 *工程量.数量*工程量.定额系数*工程量.材料系数* 80/100 * (-10.6)+材料.数量 *工程量.数量 *工程量.定额系数*工程量.材料系数* 11.8+材料.数量 *工程量.数量* 工程量.定额系数*工程量.材料系数* 29.7;
				};
			->(@工程信息.专业类型 == "变电"||@工程信息.专业类型 == "发电") && (工程量.调差类型 == "建筑" || 工程量.调差类型 == "建筑拆除") && 工程量.定额范围 == "预算" && in(材料.编码,"C09030111,C09030851,C09030902,C09031001~09031002,C09031101,C09031201,C09031301,C09031401,C09031501,C09031601~09031605,C09031611~09031620,C09031631~09031641,C09031701~09031705,C09031711~09031715,C09031801~09031805,C09031811~09031815,C09031901~09031905,C09031911~09031915,C09032001~09032005,C09032011~09032020,C09032031~09032041,C09032101~09032105,C09032111~09032115,C09032201~09032205,C09032211~09032215,C09032301~09032305,C09032311~09032315,C09032401~09032410,C09032421~09032431")
				:
				#{
				->工程量.泵车浇制 == 1
					:
					材料.数量 *工程量.数量*工程量.定额系数*工程量.材料系数* (-10.6);
					};
		}) * 
		#{
			->工程量.调差类型 == "建筑"
			:
			@工程信息.建筑人工调差系数 /100;
			->工程量.调差类型 == "建筑拆除"
			:
			@工程信息.建筑人工调差系数 /100;
		}
	)
}

BEGIN:定额_取费_混凝土施工调整材料费
${
    sum(_过滤取费定额(),"工程量",?sum(_过滤材料(),"材料",?
            #{
                ->(@工程信息.专业类型 == "变电"||@工程信息.专业类型 == "发电") && (工程量.调差类型 == "建筑" || 工程量.调差类型 == "建筑拆除") && 工程量.定额范围 == "概算" && in(材料.编码,"C09032001~09032315")
                    :
					#{
						->工程量.泵车浇制 == 1 && 工程量.清水混凝土 == 0
					    :
					    材料.数量 *工程量.数量* 工程量.定额系数*工程量.材料系数 * 80/100 * 18.9;
						->工程量.清水混凝土 == 1 && 工程量.泵车浇制 == 0
						:
						材料.数量 *工程量.数量* 工程量.定额系数*工程量.材料系数* 69;
						->工程量.泵车浇制 == 1 && 工程量.清水混凝土 == 1
					    :
						材料.数量 *工程量.数量* 工程量.定额系数*工程量.材料系数 * 80/100 * 18.9+材料.数量 *工程量.数量* 工程量.定额系数*工程量.材料系数* 69;
						};
				->(@工程信息.专业类型 == "变电"||@工程信息.专业类型 == "发电") && (工程量.调差类型 == "建筑" || 工程量.调差类型 == "建筑拆除") && 工程量.定额范围 == "预算" && in(材料.编码,"C09030111,C09030851,C09030902,C09031001~09031002,C09031101,C09031201,C09031301,C09031401,C09031501,C09031601~09031605,C09031611~09031620,C09031631~09031641,C09031701~09031705,C09031711~09031715,C09031801~09031805,C09031811~09031815,C09031901~09031905,C09031911~09031915,C09032001~09032005,C09032011~09032020,C09032031~09032041,C09032101~09032105,C09032111~09032115,C09032201~09032205,C09032211~09032215,C09032301~09032305,C09032311~09032315,C09032401~09032410,C09032421~09032431")
				:
				#{
				->工程量.泵车浇制 == 1
					:
					材料.数量 *工程量.数量*工程量.定额系数*工程量.材料系数 * 18.9;
					};
			}
        )
    )
}

BEGIN:定额_取费_混凝土施工调整机械费
${
    sum(_过滤取费定额(),"工程量",?sum(_过滤材料(),"材料",?
            #{
      
                ->(@工程信息.专业类型 == "变电"||@工程信息.专业类型 == "发电") && (工程量.调差类型 == "建筑" || 工程量.调差类型 == "建筑拆除") && 工程量.定额范围 == "概算" && in(材料.编码,"C09032001~09032315")
                    :
					#{
                    ->工程量.泵车浇制 == 1 && 工程量.现场制备 == 0
					    :
						材料.数量 *工程量.数量* 工程量.定额系数*工程量.材料系数 * 80/100 * 8.5;
					->工程量.现场制备 == 1 && 工程量.泵车浇制 == 0
					    :
					    材料.数量 *工程量.数量* 工程量.定额系数*工程量.材料系数 * (-8.7);
					->工程量.现场制备 == 1 && 工程量.泵车浇制 == 1
					    :	
						材料.数量 *工程量.数量* 工程量.定额系数*工程量.材料系数 * 80/100 * 8.5+材料.数量 *工程量.数量* 工程量.定额系数*工程量.材料系数 * (-8.7);
						};
				->(@工程信息.专业类型 == "变电"||@工程信息.专业类型 == "发电") && (工程量.调差类型 == "建筑" || 工程量.调差类型 == "建筑拆除") && 工程量.定额范围 == "预算" && in(材料.编码,"C09030111,C09030851,C09030902,C09031001~09031002,C09031101,C09031201,C09031301,C09031401,C09031501,C09031601~09031605,C09031611~09031620,C09031631~09031641,C09031701~09031705,C09031711~09031715,C09031801~09031805,C09031811~09031815,C09031901~09031905,C09031911~09031915,C09032001~09032005,C09032011~09032020,C09032031~09032041,C09032101~09032105,C09032111~09032115,C09032201~09032205,C09032211~09032215,C09032301~09032305,C09032311~09032315,C09032401~09032410,C09032421~09032431")
				:
				#{
				->工程量.泵车浇制 == 1
					:
					材料.数量 *工程量.数量*工程量.定额系数*工程量.材料系数 * 8.5;
					};
				}
          )
		)
}

BEGIN:混凝土施工调整费_不取费
${
   ?定额_不取费_混凝土施工调整人工费()+定额_不取费_混凝土施工调整材料费()+定额_不取费_混凝土施工调整机械费()
}

BEGIN:定额_不取费_混凝土施工调整人工费
${
    sum(_过滤不取费定额(),"工程量", ?sum(_过滤材料(),"材料",?
        #{
                ->(@工程信息.专业类型 == "变电"||@工程信息.专业类型 == "发电") && (工程量.调差类型 == "建筑" || 工程量.调差类型 == "建筑拆除") && 工程量.定额范围 == "概算" && in(材料.编码,"C09032001~09032315")
                    :
					#{
				->工程量.泵车浇制 == 1 && 工程量.现场制备 == 0 && 工程量.清水混凝土 == 0
					: 
					材料.数量 *工程量.数量*工程量.定额系数*工程量.材料系数* 80/100 * (-10.6);
				->工程量.现场制备 == 1 && 工程量.泵车浇制 == 0 && 工程量.清水混凝土 == 0
					:
					材料.数量 *工程量.数量 *工程量.定额系数*工程量.材料系数* 11.8;
				->工程量.清水混凝土 == 1 && 工程量.泵车浇制 == 0 && 工程量.现场制备 == 0
					:
					材料.数量 *工程量.数量* 工程量.定额系数*工程量.材料系数* 29.7;
				->工程量.泵车浇制 == 1 && 工程量.现场制备 == 1 && 工程量.清水混凝土 == 0
					: 
					材料.数量 *工程量.数量*工程量.定额系数*工程量.材料系数* 80/100 * (-10.6)+材料.数量 *工程量.数量 *工程量.定额系数*工程量.材料系数* 11.8;
				->工程量.泵车浇制 == 1 && 工程量.现场制备 == 0 && 工程量.清水混凝土 == 1
					: 
					材料.数量 *工程量.数量*工程量.定额系数*工程量.材料系数* 80/100 * (-10.6)+材料.数量 *工程量.数量* 工程量.定额系数*工程量.材料系数* 29.7;	
				->工程量.泵车浇制 == 0 && 工程量.现场制备 == 1 && 工程量.清水混凝土 == 1
					: 
					材料.数量 *工程量.数量 *工程量.定额系数*工程量.材料系数* 11.8+材料.数量 *工程量.数量* 工程量.定额系数*工程量.材料系数* 29.7;
				->工程量.泵车浇制 == 1 && 工程量.现场制备 == 1 && 工程量.清水混凝土 == 1
					: 	
					材料.数量 *工程量.数量*工程量.定额系数*工程量.材料系数* 80/100 * (-10.6)+材料.数量 *工程量.数量 *工程量.定额系数*工程量.材料系数* 11.8+材料.数量 *工程量.数量* 工程量.定额系数*工程量.材料系数* 29.7;
				};
			  ->(@工程信息.专业类型 == "变电"||@工程信息.专业类型 == "发电") && (工程量.调差类型 == "建筑" || 工程量.调差类型 == "建筑拆除") && 工程量.定额范围 == "预算" && in(材料.编码,"C09030111,C09030851,C09030902,C09031001~09031002,C09031101,C09031201,C09031301,C09031401,C09031501,C09031601~09031605,C09031611~09031620,C09031631~09031641,C09031701~09031705,C09031711~09031715,C09031801~09031805,C09031811~09031815,C09031901~09031905,C09031911~09031915,C09032001~09032005,C09032011~09032020,C09032031~09032041,C09032101~09032105,C09032111~09032115,C09032201~09032205,C09032211~09032215,C09032301~09032305,C09032311~09032315,C09032401~09032410,C09032421~09032431")
				:
				#{
				->工程量.泵车浇制 == 1
					:
					材料.数量 *工程量.数量*工程量.定额系数*工程量.材料系数* (-10.6);
					};
						}) )
}

BEGIN:定额_不取费_混凝土施工调整人工价差
${
     sum(_过滤不取费定额(),"工程量", ?sum(_过滤材料(),"材料",?#{
                ->(@工程信息.专业类型 == "变电"||@工程信息.专业类型 == "发电") && (工程量.调差类型 == "建筑" || 工程量.调差类型 == "建筑拆除") && 工程量.定额范围 == "概算" && in(材料.编码,"C09032001~09032315")
                    :
					#{
				->工程量.泵车浇制 == 1 && 工程量.现场制备 == 0 && 工程量.清水混凝土 == 0
					: 
					材料.数量 *工程量.数量*工程量.定额系数*工程量.材料系数* 80/100 * (-10.6);
				->工程量.现场制备 == 1 && 工程量.泵车浇制 == 0 && 工程量.清水混凝土 == 0
					:
					材料.数量 *工程量.数量 *工程量.定额系数*工程量.材料系数* 11.8;
				->工程量.清水混凝土 == 1 && 工程量.泵车浇制 == 0 && 工程量.现场制备 == 0
					:
					材料.数量 *工程量.数量* 工程量.定额系数*工程量.材料系数* 29.7;
				->工程量.泵车浇制 == 1 && 工程量.现场制备 == 1 && 工程量.清水混凝土 == 0
					: 
					材料.数量 *工程量.数量*工程量.定额系数*工程量.材料系数* 80/100 * (-10.6)+材料.数量 *工程量.数量 *工程量.定额系数*工程量.材料系数* 11.8;
				->工程量.泵车浇制 == 1 && 工程量.现场制备 == 0 && 工程量.清水混凝土 == 1
					: 
					材料.数量 *工程量.数量*工程量.定额系数*工程量.材料系数* 80/100 * (-10.6)+材料.数量 *工程量.数量* 工程量.定额系数*工程量.材料系数* 29.7;	
				->工程量.泵车浇制 == 0 && 工程量.现场制备 == 1 && 工程量.清水混凝土 == 1
					: 
					材料.数量 *工程量.数量 *工程量.定额系数*工程量.材料系数* 11.8+材料.数量 *工程量.数量* 工程量.定额系数*工程量.材料系数* 29.7;
				->工程量.泵车浇制 == 1 && 工程量.现场制备 == 1 && 工程量.清水混凝土 == 1
					: 	
					材料.数量 *工程量.数量*工程量.定额系数*工程量.材料系数* 80/100 * (-10.6)+材料.数量 *工程量.数量 *工程量.定额系数*工程量.材料系数* 11.8+材料.数量 *工程量.数量* 工程量.定额系数*工程量.材料系数* 29.7;
				};
				->(@工程信息.专业类型 == "变电"||@工程信息.专业类型 == "发电") && (工程量.调差类型 == "建筑" || 工程量.调差类型 == "建筑拆除") && 工程量.定额范围 == "预算" && in(材料.编码,"C09030111,C09030851,C09030902,C09031001~09031002,C09031101,C09031201,C09031301,C09031401,C09031501,C09031601~09031605,C09031611~09031620,C09031631~09031641,C09031701~09031705,C09031711~09031715,C09031801~09031805,C09031811~09031815,C09031901~09031905,C09031911~09031915,C09032001~09032005,C09032011~09032020,C09032031~09032041,C09032101~09032105,C09032111~09032115,C09032201~09032205,C09032211~09032215,C09032301~09032305,C09032311~09032315,C09032401~09032410,C09032421~09032431")
				:
				#{
				->工程量.泵车浇制 == 1
					:
					材料.数量 *工程量.数量*工程量.定额系数*工程量.材料系数* (-10.6);
					};
						}) * 
		#{
			->工程量.调差类型 == "建筑"
			:
			@工程信息.建筑人工调差系数 /100;
			->工程量.调差类型 == "建筑拆除"
			:
			@工程信息.建筑人工调差系数 /100;
		}
	)
}

BEGIN:定额_不取费_混凝土施工调整材料费
${
    sum(_过滤不取费定额(),"工程量",?sum(_过滤材料(),"材料",?
            #{
                ->(@工程信息.专业类型 == "变电"||@工程信息.专业类型 == "发电") && (工程量.调差类型 == "建筑" || 工程量.调差类型 == "建筑拆除") && 工程量.定额范围 == "概算" && in(材料.编码,"C09032001~09032315")
                    :
					#{
						->工程量.泵车浇制 == 1 && 工程量.清水混凝土 == 0
					    :
					    材料.数量 *工程量.数量* 工程量.定额系数*工程量.材料系数 * 80/100 * 18.9;
						->工程量.清水混凝土 == 1 && 工程量.泵车浇制 == 0
						:
						材料.数量 *工程量.数量* 工程量.定额系数*工程量.材料系数* 69;
						->工程量.泵车浇制 == 1 && 工程量.清水混凝土 == 1
					    :
						材料.数量 *工程量.数量* 工程量.定额系数*工程量.材料系数 * 80/100 * 18.9+材料.数量 *工程量.数量* 工程量.定额系数*工程量.材料系数* 69;
						};
				->(@工程信息.专业类型 == "变电"||@工程信息.专业类型 == "发电") && (工程量.调差类型 == "建筑" || 工程量.调差类型 == "建筑拆除") && 工程量.定额范围 == "预算" && in(材料.编码,"C09030111,C09030851,C09030902,C09031001~09031002,C09031101,C09031201,C09031301,C09031401,C09031501,C09031601~09031605,C09031611~09031620,C09031631~09031641,C09031701~09031705,C09031711~09031715,C09031801~09031805,C09031811~09031815,C09031901~09031905,C09031911~09031915,C09032001~09032005,C09032011~09032020,C09032031~09032041,C09032101~09032105,C09032111~09032115,C09032201~09032205,C09032211~09032215,C09032301~09032305,C09032311~09032315,C09032401~09032410,C09032421~09032431")
				:
				#{
				->工程量.泵车浇制 == 1
					:
					材料.数量 *工程量.数量*工程量.定额系数*工程量.材料系数* 18.9;
					};
						 }
            )
            )
}

BEGIN:定额_不取费_混凝土施工调整机械费
${
    sum(_过滤不取费定额(),"工程量",?sum(_过滤材料(),"材料",?
            #{
      
                ->(@工程信息.专业类型 == "变电"||@工程信息.专业类型 == "发电") && (工程量.调差类型 == "建筑" || 工程量.调差类型 == "建筑拆除") && 工程量.定额范围 == "概算" && in(材料.编码,"C09032001~09032315")
                    :
					#{
                    ->工程量.泵车浇制 == 1 && 工程量.现场制备 == 0
					    :
						材料.数量 *工程量.数量* 工程量.定额系数*工程量.材料系数 * 80/100 * 8.5;
					->工程量.现场制备 == 1 && 工程量.泵车浇制 == 0
					    :
					    材料.数量 *工程量.数量* 工程量.定额系数*工程量.材料系数 * (-8.7);
					->工程量.现场制备 == 1 && 工程量.泵车浇制 == 1
					    :	
						材料.数量 *工程量.数量* 工程量.定额系数*工程量.材料系数 * 80/100 * 8.5+材料.数量 *工程量.数量* 工程量.定额系数*工程量.材料系数 * (-8.7);
						};
				->(@工程信息.专业类型 == "变电"||@工程信息.专业类型 == "发电") && (工程量.调差类型 == "建筑" || 工程量.调差类型 == "建筑拆除") && 工程量.定额范围 == "预算" && in(材料.编码,"C09030111,C09030851,C09030902,C09031001~09031002,C09031101,C09031201,C09031301,C09031401,C09031501,C09031601~09031605,C09031611~09031620,C09031631~09031641,C09031701~09031705,C09031711~09031715,C09031801~09031805,C09031811~09031815,C09031901~09031905,C09031911~09031915,C09032001~09032005,C09032011~09032020,C09032031~09032041,C09032101~09032105,C09032111~09032115,C09032201~09032205,C09032211~09032215,C09032301~09032305,C09032311~09032315,C09032401~09032410,C09032421~09032431")
				:
				#{
				->工程量.泵车浇制 == 1
					:
					材料.数量 *工程量.数量*工程量.定额系数*工程量.材料系数* 8.5;
					};
				}
        )
		)
}

///////////////////////////////////////////////////////////////
//
//  脚手架搭拆费
//
///////////////////////////////////////////////////////////////
BEGIN:脚手架搭拆费_取费
${
   ?定额_取费_脚手架人工费()+定额_取费_脚手架材料费()+定额_取费_脚手架机械费()
}

//表三用
BEGIN:定额_脚手架人工费_单价
${
	?定额_取费_脚手架人工费_单价()+定额_不取费_脚手架人工费_单价()
}

//表三用
BEGIN:定额_脚手架材料费_单价
${
    ?定额_取费_脚手架材料费_单价()+定额_不取费_脚手架材料费_单价()
}

//表三用
BEGIN:定额_脚手架机械费_单价
${
    ?定额_取费_脚手架机械费_单价()+定额_不取费_脚手架机械费_单价()
}

BEGIN:定额_取费_脚手架人工费
${
	sum(_过滤取费定额(),"工程量", 
		?#{
			->(@工程信息.专业类型 == "变电"||@工程信息.专业类型 == "发电") && (工程量.调差类型 == "建筑" || 工程量.调差类型 == "建筑拆除") && 工程量.定额范围 == "预算" &&  工程量.脚手架计取 == "计取"
			:
			工程量.数量 * 工程量.人工费 * 工程量.人工系数 * 工程量.定额系数 * 5/100 * 40/100;
		}
    )
}
BEGIN:定额_取费_脚手架人工费_单价
${
	sum(_过滤取费定额(),"工程量", 
		?#{
			->(@工程信息.专业类型 == "变电"||@工程信息.专业类型 == "发电") && (工程量.调差类型 == "建筑" || 工程量.调差类型 == "建筑拆除") && 工程量.定额范围 == "预算" &&  工程量.脚手架计取 == "计取"
			:
			工程量.数量 * 工程量.人工费 * 工程量.人工系数 * 工程量.定额系数 * 40/100;
		}
    )
}

BEGIN:定额_不取费_脚手架人工费_单价
${
    sum(_过滤不取费定额(),"工程量",
		?#{
			->(@工程信息.专业类型 == "变电"||@工程信息.专业类型 == "发电") && (工程量.调差类型 == "建筑" || 工程量.调差类型 == "建筑拆除") && 工程量.定额范围 == "预算" && 工程量.脚手架计取 == "计取"
			:
			工程量.数量 * 工程量.人工费 * 工程量.人工系数 * 工程量.定额系数 * 40/100;
        }
	)
}

BEGIN:定额_取费_脚手架人工价差
${
    sum(_过滤取费定额(),"工程量", ?#{
			->(@工程信息.专业类型 == "变电"||@工程信息.专业类型 == "发电") && (工程量.调差类型 == "建筑" || 工程量.调差类型 == "建筑拆除") && 工程量.定额范围 == "预算" && 工程量.脚手架计取 == "计取"
			:
			工程量.数量 * 工程量.人工费 * 工程量.人工系数 * 工程量.定额系数 * 5/100 * 40/100;
		} * #{
			->工程量.调差类型 == "建筑"
			:
			@工程信息.建筑人工调差系数 /100;
			->工程量.调差类型 == "建筑拆除"
			:
			@工程信息.建筑拆除人工调差系数 /100;
		}
	)
}

BEGIN:定额_取费_脚手架材料费
${
    sum(_过滤取费定额(),"工程量",?
		#{
			->(@工程信息.专业类型 == "变电"||@工程信息.专业类型 == "发电") && (工程量.调差类型 == "建筑" || 工程量.调差类型 == "建筑拆除") && 工程量.定额范围 == "预算" && 工程量.脚手架计取 == "计取"
			:
			工程量.数量 * 工程量.人工费 * 工程量.人工系数 * 工程量.定额系数 * 5/100 * 50/100;
		}
    )
}

BEGIN:定额_取费_脚手架材料费_单价
${
    sum(_过滤取费定额(),"工程量",?
		#{
			->(@工程信息.专业类型 == "变电"||@工程信息.专业类型 == "发电") && (工程量.调差类型 == "建筑" || 工程量.调差类型 == "建筑拆除") && 工程量.定额范围 == "预算" && 工程量.脚手架计取 == "计取"
			:
			工程量.数量 * 工程量.人工费 * 工程量.人工系数 * 工程量.定额系数 * 50/100;
		}
    )
}

BEGIN:定额_不取费_脚手架材料费_单价
${
	sum(_过滤不取费定额(),"工程量",?
		#{
			->(@工程信息.专业类型 == "变电"||@工程信息.专业类型 == "发电") && (工程量.调差类型 == "建筑" || 工程量.调差类型 == "建筑拆除") && 工程量.定额范围 == "预算" && 工程量.脚手架计取 == "计取"
            :
			工程量.数量 * 工程量.人工费 * 工程量.人工系数 * 工程量.定额系数 * 50/100;
        }
    )
}

BEGIN:定额_取费_脚手架机械费
${
    sum(_过滤取费定额(),"工程量",?
		#{
			->(@工程信息.专业类型 == "变电"||@工程信息.专业类型 == "发电") && (工程量.调差类型 == "建筑" || 工程量.调差类型 == "建筑拆除") && 工程量.定额范围 == "预算" && 工程量.脚手架计取 == "计取"
			:
			工程量.数量 * 工程量.人工费 * 工程量.人工系数 * 工程量.定额系数 * 5/100 * 10/100;
		}
	)
}

BEGIN:定额_取费_脚手架机械费_单价
${
    sum(_过滤取费定额(),"工程量",?
		#{
			->(@工程信息.专业类型 == "变电"||@工程信息.专业类型 == "发电") && (工程量.调差类型 == "建筑" || 工程量.调差类型 == "建筑拆除") && 工程量.定额范围 == "预算" && 工程量.脚手架计取 == "计取"
			:
			工程量.数量 * 工程量.人工费 * 工程量.人工系数 * 工程量.定额系数 * 10/100;
		}
	)
}

BEGIN:定额_不取费_脚手架机械费_单价
${
	sum(_过滤不取费定额(),"工程量",?
		#{
			->(@工程信息.专业类型 == "变电"||@工程信息.专业类型 == "发电") && (工程量.调差类型 == "建筑" || 工程量.调差类型 == "建筑拆除") && 工程量.定额范围 == "预算" && 工程量.脚手架计取 == "计取"
			:
			工程量.数量 * 工程量.人工费 * 工程量.人工系数 * 工程量.定额系数  * 10/100;
		}
	)
}


BEGIN:脚手架搭拆费_不取费
${
   ?定额_不取费_脚手架人工费()+定额_不取费_脚手架材料费()+定额_不取费_脚手架机械费()
}

BEGIN:定额_不取费_脚手架人工费
${
    sum(_过滤不取费定额(),"工程量",
		?#{
			->(@工程信息.专业类型 == "变电"||@工程信息.专业类型 == "发电") && (工程量.调差类型 == "建筑" || 工程量.调差类型 == "建筑拆除") && 工程量.定额范围 == "预算" && 工程量.脚手架计取 == "计取"
			:
			工程量.数量 * 工程量.人工费 * 工程量.人工系数 * 工程量.定额系数 * 5/100 * 40/100;
        }
	)
}

BEGIN:定额_不取费_脚手架人工价差
${
    sum(_过滤不取费定额(),"工程量", ?#{
			->(@工程信息.专业类型 == "变电"||@工程信息.专业类型 == "发电") && (工程量.调差类型 == "建筑" || 工程量.调差类型 == "建筑拆除") && 工程量.定额范围 == "预算" && 工程量.脚手架计取 == "计取"
			:
			工程量.数量 * 工程量.人工费 * 工程量.人工系数 * 工程量.定额系数 * 5/100 * 40/100;
        } * #{
		   ->工程量.调差类型 == "建筑"
		   :
		   @工程信息.建筑人工调差系数 /100;
		   ->工程量.调差类型 == "建筑拆除"
		   :
		   @工程信息.建筑拆除人工调差系数 /100;
		}
	)
}

BEGIN:定额_不取费_脚手架材料费
${
	sum(_过滤不取费定额(),"工程量",?
		#{
			->(@工程信息.专业类型 == "变电"||@工程信息.专业类型 == "发电") && (工程量.调差类型 == "建筑" || 工程量.调差类型 == "建筑拆除") && 工程量.定额范围 == "预算" && 工程量.脚手架计取 == "计取"
            :
			工程量.数量 * 工程量.人工费 * 工程量.人工系数 * 工程量.定额系数 * 5/100 * 50/100;
        }
    )
}

BEGIN:定额_不取费_脚手架机械费
${
	sum(_过滤不取费定额(),"工程量",?
		#{
			->(@工程信息.专业类型 == "变电"||@工程信息.专业类型 == "发电") && (工程量.调差类型 == "建筑" || 工程量.调差类型 == "建筑拆除") && 工程量.定额范围 == "预算" && 工程量.脚手架计取 == "计取"
			:
			工程量.数量 * 工程量.人工费 * 工程量.人工系数 * 工程量.定额系数 * 5/100 * 10/100;
		}
	)
}

///////////////////////////////////////////////////////////////
//
//  建筑小安装调试费
//
///////////////////////////////////////////////////////////////
BEGIN:建筑小安装调试费_取费
${
   ?定额_取费_调试人工费()+定额_取费_调试材料费()+定额_取费_调试机械费()
}

BEGIN:定额_取费_调试人工费
${
    sum(_过滤取费定额(),"工程量",?
	   #{
			->(@工程信息.专业类型 == "变电"||@工程信息.专业类型 == "发电") && (工程量.调差类型 == "建筑" || 工程量.调差类型 == "建筑拆除") && 工程量.定额范围 == "预算" && 工程量.调试费计取  == "计取" 
				:
				工程量.数量 * 工程量.人工费 * 工程量.定额系数 * 工程量.人工系数 * #{
				->in(工程量.编码,"YT17-166~184,YT17-189~212,YT17-185~188")
					:
					10/100 * 40/100;
				->in(工程量.编码,"YT18-1~102,YT18-111~205,YT18-103~110")
					:
					18/100 * 55/100;
				->in(工程量.编码,"YT19-1~43,YT19-66~91,YT19-133~258,YT19-44~65,YT19-92~132")
					:				
					#{	
					->in(工程量.编码,"YT19-1~24,YT19-40~43,YT19-250~258")
						:
						13/100 * 55/100 * (40/100);
					->in(工程量.编码,"YT19-171~183")
						:
						13/100 * 55/100 * (25/100);
					->in(工程量.编码,"YT19-184~185")
						:
						13/100 * 55/100 * (14/100);
					->in(工程量.编码,"YT19-219~227")
						:
						13/100 * 55/100 * (28/100);
					->
						:
						13/100 * 55/100;
					};	
				->in(工程量.编码,"YT20-1~69,YT20-72~74,YT20-77~78,YT20-81~82,YT20-70~71,YT20-75~76,YT20-79~80")
					:
					15/100 * 50/100;
				};
		}
	)
}

BEGIN:定额_取费_调试人工价差
${
    sum(_过滤取费定额(),"工程量", ?#{
			->(@工程信息.专业类型 == "变电"||@工程信息.专业类型 == "发电") && (工程量.调差类型 == "建筑" || 工程量.调差类型 == "建筑拆除") && 工程量.定额范围 == "预算" && 工程量.调试费计取  == "计取" 
				:
				工程量.数量 * 工程量.人工费 * 工程量.定额系数 * 工程量.人工系数 * #{
				->in(工程量.编码,"YT17-166~184,YT17-189~212,YT17-185~188")
					:
					10/100 * 40/100;
				->in(工程量.编码,"YT18-1~102,YT18-111~205,YT18-103~110")
					:
					18/100 * 55/100;
				->in(工程量.编码,"YT19-1~43,YT19-66~91,YT19-133~258,YT19-44~65,YT19-92~132")
					:				
					#{	
					->in(工程量.编码,"YT19-1~24,YT19-40~43,YT19-250~258")
						:
						13/100 * 55/100 * (40/100);
					->in(工程量.编码,"YT19-171~183")
						:
						13/100 * 55/100 * (25/100);
					->in(工程量.编码,"YT19-184~185")
						:
						13/100 * 55/100 * (14/100);
					->in(工程量.编码,"YT19-219~227")
						:
						13/100 * 55/100 * (28/100);
					->
						:
						13/100 * 55/100;
					};	
				->in(工程量.编码,"YT20-1~69,YT20-72~74,YT20-77~78,YT20-81~82,YT20-70~71,YT20-75~76,YT20-79~80")
					:
					15/100 * 50/100;
				};
		} * 
		#{
		   ->工程量.调差类型 == "建筑"
		   :
		   @工程信息.建筑人工调差系数 /100;
		   ->工程量.调差类型 == "建筑拆除"
		   :
		   @工程信息.建筑人工调差系数 /100;
		}
	)
}

BEGIN:定额_取费_调试材料费
${
    sum(_过滤取费定额(),"工程量",?
	   #{
			->(@工程信息.专业类型 == "变电"||@工程信息.专业类型 == "发电") && (工程量.调差类型 == "建筑" || 工程量.调差类型 == "建筑拆除") && 工程量.定额范围 == "预算" && 工程量.调试费计取  == "计取" 
				:
				工程量.数量 * 工程量.人工费 * 工程量.定额系数 * 工程量.人工系数 * #{
				->in(工程量.编码,"YT17-166~184,YT17-189~212,YT17-185~188")
					:
					10/100 * 20/100;
				->in(工程量.编码,"YT18-1~102,YT18-111~205,YT18-103~110")
					:
					18/100 * 20/100;
				->in(工程量.编码,"YT19-1~43,YT19-66~91,YT19-133~258,YT19-44~65,YT19-92~132")
					:				
					#{	
					->in(工程量.编码,"YT19-1~24,YT19-40~43,YT19-250~258")
						:
						13/100 * 20/100 * (40/100);
					->in(工程量.编码,"YT19-171~183")
						:
						13/100 * 20/100 * (25/100);
					->in(工程量.编码,"YT19-184~185")
						:
						13/100 * 20/100 * (14/100);
					->in(工程量.编码,"YT19-219~227")
						:
						13/100 * 20/100 * (28/100);
					->
						:
						13/100 * 20/100;
					};	
				->in(工程量.编码,"YT20-1~69,YT20-72~74,YT20-77~78,YT20-81~82,YT20-70~71,YT20-75~76,YT20-79~80")
					:
					15/100 * 30/100;
				};
		}
	)
}

BEGIN:定额_取费_调试机械费
${
    sum(_过滤取费定额(),"工程量",?
	   #{
			->(@工程信息.专业类型 == "变电"||@工程信息.专业类型 == "发电") && (工程量.调差类型 == "建筑" || 工程量.调差类型 == "建筑拆除") && 工程量.定额范围 == "预算" && 工程量.调试费计取  == "计取" 
				:
				工程量.数量 * 工程量.人工费 * 工程量.定额系数 * 工程量.人工系数 * #{
				->in(工程量.编码,"YT17-166~184,YT17-189~212,YT17-185~188")
					:
					10/100 * 40/100;
				->in(工程量.编码,"YT18-1~102,YT18-111~205,YT18-103~110")
					:
					18/100 * 25/100;
				->in(工程量.编码,"YT19-1~43,YT19-66~91,YT19-133~258,YT19-44~65,YT19-92~132")
					:				
					#{	
					->in(工程量.编码,"YT19-1~24,YT19-40~43,YT19-250~258")
						:
						13/100 * 25/100 * (40/100);
					->in(工程量.编码,"YT19-171~183")
						:
						13/100 * 25/100 * (25/100);
					->in(工程量.编码,"YT19-184~185")
						:
						13/100 * 25/100 * (14/100);
					->in(工程量.编码,"YT19-219~227")
						:
						13/100 * 25/100 * (28/100);
					->
						:
						13/100 * 25/100;
					};	
				->in(工程量.编码,"YT20-1~69,YT20-72~74,YT20-77~78,YT20-81~82,YT20-70~71,YT20-75~76,YT20-79~80")
					:
					15/100 * 20/100;
				};
		}
	)
}

BEGIN:建筑小安装调试费_不取费
${
   ?定额_不取费_调试人工费()+定额_不取费_调试材料费()+定额_不取费_调试机械费()
}

BEGIN:定额_不取费_调试人工费
${
    sum(_过滤不取费定额(),"工程量",?
	   #{
			->(@工程信息.专业类型 == "变电"||@工程信息.专业类型 == "发电") && (工程量.调差类型 == "建筑" || 工程量.调差类型 == "建筑拆除") && 工程量.定额范围 == "预算" && 工程量.调试费计取  == "计取" 
			:
			工程量.数量 * 工程量.人工费 * 工程量.定额系数 * 工程量.人工系数 * 
			#{
				->in(工程量.编码,"YT17-166~184,YT17-189~212,YT17-185~188")
					:
					10/100 * 40/100;
				->in(工程量.编码,"YT18-1~102,YT18-111~205,YT18-103~110")
					:
					18/100 * 55/100;
				->in(工程量.编码,"YT19-1~43,YT19-66~91,YT19-133~258,YT19-44~65,YT19-92~132")
					:				
					#{	
					->in(工程量.编码,"YT19-1~24,YT19-40~43,YT19-250~258")
						:
						13/100 * 55/100 * (40/100);
					->in(工程量.编码,"YT19-171~183")
						:
						13/100 * 55/100 * (25/100);
					->in(工程量.编码,"YT19-184~185")
						:
						13/100 * 55/100 * (14/100);
					->in(工程量.编码,"YT19-219~227")
						:
						13/100 * 55/100 * (28/100);
					->
						:
						13/100 * 55/100;
					};	
				->in(工程量.编码,"YT20-1~69,YT20-72~74,YT20-77~78,YT20-81~82,YT20-70~71,YT20-75~76,YT20-79~80")
					:
					15/100 * 50/100;
			};
		}
	)
}

BEGIN:定额_不取费_调试人工价差
${
    sum(_过滤不取费定额(),"工程量", ?#{
			->(@工程信息.专业类型 == "变电"||@工程信息.专业类型 == "发电") && (工程量.调差类型 == "建筑" || 工程量.调差类型 == "建筑拆除") && 工程量.定额范围 == "预算" && 工程量.调试费计取  == "计取" 
			:
			工程量.数量 * 工程量.人工费 * 工程量.定额系数 * 工程量.人工系数 * 
			#{
				->in(工程量.编码,"YT17-166~184,YT17-189~212,YT17-185~188")
					:
					10/100 * 40/100;
				->in(工程量.编码,"YT18-1~102,YT18-111~205,YT18-103~110")
					:
					18/100 * 55/100;
				->in(工程量.编码,"YT19-1~43,YT19-66~91,YT19-133~258,YT19-44~65,YT19-92~132")
					:				
					#{	
					->in(工程量.编码,"YT19-1~24,YT19-40~43,YT19-250~258")
						:
						13/100 * 55/100 * (40/100);
					->in(工程量.编码,"YT19-171~183")
						:
						13/100 * 55/100 * (25/100);
					->in(工程量.编码,"YT19-184~185")
						:
						13/100 * 55/100 * (14/100);
					->in(工程量.编码,"YT19-219~227")
						:
						13/100 * 55/100 * (28/100);
					->
						:
						13/100 * 55/100;
					};	
				->in(工程量.编码,"YT20-1~69,YT20-72~74,YT20-77~78,YT20-81~82,YT20-70~71,YT20-75~76,YT20-79~80")
					:
					15/100 * 50/100;
			};
		} * 
		#{
		   ->工程量.调差类型 == "建筑"
		   :
		   @工程信息.建筑人工调差系数 / 100;
		   ->工程量.调差类型 == "建筑拆除"
		   :
		   @工程信息.建筑人工调差系数 / 100;
		}
	)
}

BEGIN:定额_不取费_调试材料费
${
    sum(_过滤不取费定额(),"工程量",?
	   #{
			->(@工程信息.专业类型 == "变电"||@工程信息.专业类型 == "发电") && (工程量.调差类型 == "建筑" || 工程量.调差类型 == "建筑拆除") && 工程量.定额范围 == "预算" && 工程量.调试费计取  == "计取" 
			:
			工程量.数量 * 工程量.人工费 * 工程量.定额系数 * 工程量.人工系数 * 
			#{
				->in(工程量.编码,"YT17-166~184,YT17-189~212,YT17-185~188")
					:
					10/100 * 20/100;
				->in(工程量.编码,"YT18-1~102,YT18-111~205,YT18-103~110")
					:
					18/100 * 20/100;
				->in(工程量.编码,"YT19-1~43,YT19-66~91,YT19-133~258,YT19-44~65,YT19-92~132")
					:				
					#{	
					->in(工程量.编码,"YT19-1~24,YT19-40~43,YT19-250~258")
						:
						13/100 * 20/100 * (40/100);
					->in(工程量.编码,"YT19-171~183")
						:
						13/100 * 20/100 * (25/100);
					->in(工程量.编码,"YT19-184~185")
						:
						13/100 * 20/100 * (14/100);
					->in(工程量.编码,"YT19-219~227")
						:
						13/100 * 20/100 * (28/100);
					->
						:
						13/100 * 20/100;
					};	
				->in(工程量.编码,"YT20-1~69,YT20-72~74,YT20-77~78,YT20-81~82,YT20-70~71,YT20-75~76,YT20-79~80")
					:
					15/100 * 30/100;
			};
		}
	)
}

BEGIN:定额_不取费_调试机械费
${
    sum(_过滤不取费定额(),"工程量",?
	   #{
			->(@工程信息.专业类型 == "变电"||@工程信息.专业类型 == "发电") && (工程量.调差类型 == "建筑" || 工程量.调差类型 == "建筑拆除") && 工程量.定额范围 == "预算" && 工程量.调试费计取  == "计取" 
			:
			工程量.数量 * 工程量.人工费 * 工程量.定额系数 * 工程量.人工系数 * 
			#{
				->in(工程量.编码,"YT17-166~184,YT17-189~212,YT17-185~188")
					:
					10/100 * 40/100;
				->in(工程量.编码,"YT18-1~102,YT18-111~205,YT18-103~110")
					:
					18/100 * 25/100;
				->in(工程量.编码,"YT19-1~43,YT19-66~91,YT19-133~258,YT19-44~65,YT19-92~132")
					:				
					#{	
					->in(工程量.编码,"YT19-1~24,YT19-40~43,YT19-250~258")
						:
						13/100 * 25/100 * (40/100);
					->in(工程量.编码,"YT19-171~183")
						:
						13/100 * 25/100 * (25/100);
					->in(工程量.编码,"YT19-184~185")
						:
						13/100 * 25/100 * (14/100);
					->in(工程量.编码,"YT19-219~227")
						:
						13/100 * 25/100 * (28/100);
					->
						:
						13/100 * 25/100;
					};	
				->in(工程量.编码,"YT20-1~69,YT20-72~74,YT20-77~78,YT20-81~82,YT20-70~71,YT20-75~76,YT20-79~80")
					:
					15/100 * 20/100;
			};
		}
	)
}