//------------------一笔性费用-------------------------------------
BEGIN:一笔性费用
${
    sum(_过滤一笔性费用(),"工程量",?工程量.数量 * 工程量.单价)
}
BEGIN:一笔性费用含税
${
    sum(_过滤一笔性费用(),"工程量",?工程量.数量 * 工程量.单价)
}
BEGIN:一笔性费用不含税
${
    sum(_过滤一笔性费用(),"工程量",?工程量.数量 * 工程量.单价不含税)
}

//------------------自定义应急措施费-------------------------------------
BEGIN:应急调遣及协调费
${
    sum(_过滤自定义应急措施费(),"工程量",?iif(工程量.费用类型=="应急调遣及协调费",工程量.数量 * 工程量.单价不含税,0))
}
BEGIN:施工作业增加费
${
    sum(_过滤自定义应急措施费(),"工程量",?iif(工程量.费用类型=="施工作业增加费",工程量.数量 * 工程量.单价不含税,0))
}
BEGIN:安全文明施工及防护措施费
${
    sum(_过滤自定义应急措施费(),"工程量",?iif(工程量.费用类型=="安全文明施工及防护措施费",工程量.数量 * 工程量.单价不含税,0))
}

//------------------主材-------------------------------------------
BEGIN:甲供主材费含税
${
    sum(_过滤主材(),"主材",?iif(主材.调差类型!= "建筑拆除" && 主材.调差类型!= "安装拆除",
	#{
	->主材.拆分 == 0 && 主材.供货方 == "甲供" && (parent.type != "主材" || parent.type !="配件")
	 :
	 主材.数量 * 主材.市场价含税;
	->主材.拆分 == 1
	 :
	 sum(_过滤甲供子项(),"拆分子项",?拆分子项.数量 * 拆分子项.市场价含税);
	},0))
}

BEGIN:甲供设备性材料费含税
${
    sum(_过滤设备性材料(),"主材",?iif(主材.调差类型!= "建筑拆除" && 主材.调差类型!= "安装拆除",
	#{
	->主材.拆分 == 0 && 主材.供货方 == "甲供" && (parent.type != "主材" || parent.type !="配件")
	 :
	 主材.数量 * 主材.市场价含税;
	->:0;
	},0))
}

BEGIN:甲供主材费不含税
${
    sum(_过滤主材(),"主材",?iif(主材.调差类型!= "建筑拆除" && 主材.调差类型!= "安装拆除",
	#{
	->主材.拆分 == 0 && 主材.供货方 == "甲供" && (parent.type != "主材" || parent.type !="配件")
	 :
	 主材.数量 * 主材.市场价不含税;
	->主材.拆分 == 1
	 :
	 sum(_过滤甲供子项(),"拆分子项",?拆分子项.数量 * 拆分子项.市场价不含税);
	},0))
}

BEGIN:甲供设备性材料费不含税
${
    sum(_过滤设备性材料(),"主材",?iif(主材.调差类型!= "建筑拆除" && 主材.调差类型!= "安装拆除",
	#{
	->主材.拆分 == 0 && 主材.供货方 == "甲供" && (parent.type != "主材" || parent.type !="配件")
	 :
	 主材.数量 * 主材.市场价不含税;
	->:0;
	},0))
}

BEGIN:乙供主材费含税
${
    sum(_过滤主材(),"主材",?iif(主材.调差类型!= "建筑拆除" && 主材.调差类型!= "安装拆除",
	#{
	->主材.拆分 == 0 && 主材.供货方 == "乙供" && (parent.type != "主材" || parent.type !="配件")
	 :
	 主材.数量 * 主材.市场价含税;
	->主材.拆分 == 1
	 :
	 sum(_过滤乙供子项(),"拆分子项",?拆分子项.数量 * 拆分子项.市场价含税);	
	},0))
}

BEGIN:乙供设备性材料费含税
${
    sum(_过滤设备性材料(),"主材",?iif(主材.调差类型!= "建筑拆除" && 主材.调差类型!= "安装拆除",
	#{
	->主材.拆分 == 0 && 主材.供货方 == "乙供" && (parent.type != "主材" || parent.type !="配件")
	 :
	 主材.数量 * 主材.市场价含税;
	->:0;
	},0))
}

BEGIN:乙供主材费不含税
${
    sum(_过滤主材(),"主材",?iif(主材.调差类型!= "建筑拆除" && 主材.调差类型!= "安装拆除",
	#{
	->主材.拆分 == 0 && 主材.供货方 == "乙供" && (parent.type != "主材" || parent.type !="配件")
	 :
	 主材.数量 * 主材.市场价不含税;
	->主材.拆分 == 1
	 :
	 sum(_过滤乙供子项(),"拆分子项",?拆分子项.数量 * 拆分子项.市场价不含税);	
	},0))
}

BEGIN:乙供设备性材料费不含税
${
    sum(_过滤设备性材料(),"主材",?iif(主材.调差类型!= "建筑拆除" && 主材.调差类型!= "安装拆除",
	#{
	->主材.拆分 == 0 && 主材.供货方 == "乙供" && (parent.type != "主材" || parent.type !="配件")
	 :
	 主材.数量 * 主材.市场价不含税;
	->:0;
	},0))
}

BEGIN:甲供主材损耗费含税
${
    sum(_过滤主材(),"主材",?iif(主材.调差类型!= "建筑拆除" && 主材.调差类型!= "安装拆除",
	#{
	->主材.拆分 == 0 && 主材.供货方 == "甲供" && (parent.type != "主材" || parent.type !="配件")
	 :
	 主材.数量 * 主材.市场价含税 * 主材.损耗 /100;
	->主材.拆分 == 1
	 :
	 sum(_过滤甲供子项(),"拆分子项",?拆分子项.数量 * 拆分子项.市场价含税 * 拆分子项.损耗 /100);	
	},0))
}

BEGIN:甲供设备性材料损耗费含税
${
    sum(_过滤设备性材料(),"主材",?iif(主材.调差类型!= "建筑拆除" && 主材.调差类型!= "安装拆除",
	#{
	->主材.拆分 == 0 && 主材.供货方 == "甲供" && (parent.type != "主材" || parent.type !="配件")
	 :
	 主材.数量 * 主材.市场价含税 * 主材.损耗 /100;
    ->:0;
	},0))
}

BEGIN:甲供主材损耗费不含税
${
    sum(_过滤主材(),"主材",?iif(主材.调差类型!= "建筑拆除" && 主材.调差类型!= "安装拆除",
	#{
	->主材.拆分 == 0 && 主材.供货方 == "甲供" && (parent.type != "主材" || parent.type !="配件")
	 :
	 主材.数量 * 主材.市场价不含税 * 主材.损耗 /100;
	->主材.拆分 == 1
	 :
	 sum(_过滤甲供子项(),"拆分子项",?拆分子项.数量 * 拆分子项.市场价不含税 * 拆分子项.损耗 /100);	
	},0))
}

BEGIN:甲供设备性材料损耗费不含税
${
    sum(_过滤设备性材料(),"主材",?iif(主材.调差类型!= "建筑拆除" && 主材.调差类型!= "安装拆除",
	#{
	->主材.拆分 == 0 && 主材.供货方 == "甲供" && (parent.type != "主材" || parent.type !="配件")
	 :
	 主材.数量 * 主材.市场价不含税 * 主材.损耗 /100;
	->:0;	
	},0))
}

BEGIN:乙供主材损耗费含税
${
    sum(_过滤主材(),"主材",?iif(主材.调差类型!= "建筑拆除" && 主材.调差类型!= "安装拆除",
	#{
	->主材.拆分 == 0 && 主材.供货方 == "乙供" && (parent.type != "主材" || parent.type !="配件")
	 :
	 主材.数量 * 主材.市场价含税 * 主材.损耗 /100;
	->主材.拆分 == 1
	 :
	 sum(_过滤乙供子项(),"拆分子项",?拆分子项.数量 * 拆分子项.市场价含税 * 拆分子项.损耗 /100);	
	},0))
}

BEGIN:乙供设备性材料损耗费含税
${
    sum(_过滤设备性材料(),"主材",?iif(主材.调差类型!= "建筑拆除" && 主材.调差类型!= "安装拆除",
	#{
	->主材.拆分 == 0 && 主材.供货方 == "乙供" && (parent.type != "主材" || parent.type !="配件")
	 :
	 主材.数量 * 主材.市场价含税 * 主材.损耗 /100;
	->:0;
	},0))
}

BEGIN:乙供主材损耗费不含税
${
    sum(_过滤主材(),"主材",?iif(主材.调差类型!= "建筑拆除" && 主材.调差类型!= "安装拆除",
	#{
	->主材.拆分 == 0 && 主材.供货方 == "乙供" && (parent.type != "主材" || parent.type !="配件")
	 :
	 主材.数量 * 主材.市场价不含税 * 主材.损耗 /100;
	->主材.拆分 == 1
	 :
	 sum(_过滤乙供子项(),"拆分子项",?拆分子项.数量 * 拆分子项.市场价不含税 * 拆分子项.损耗 /100);	
	},0))
}

BEGIN:乙供设备性材料损耗费不含税
${
    sum(_过滤设备性材料(),"主材",?iif(主材.调差类型!= "建筑拆除" && 主材.调差类型!= "安装拆除",
	#{
	->主材.拆分 == 0 && 主材.供货方 == "乙供" && (parent.type != "主材" || parent.type !="配件")
	 :
	 主材.数量 * 主材.市场价不含税 * 主材.损耗 /100;
	->:0;	
	},0))
}

BEGIN:甲供主材配送费
${
	sum(_过滤主材(),"主材",?iif(主材.调差类型!= "建筑拆除" && 主材.调差类型!= "安装拆除",
	#{
	->主材.拆分 == 0 && 主材.供货方 == "甲供" && 主材.集中配送 == "1" && (parent.type != "主材" || parent.type !="配件")
	 :
	 主材.数量 * (1 + 主材.损耗 /100) * 主材.市场价含税;
	->主材.拆分 == 1
	 :
	 sum(_过滤甲供子项(),"拆分子项",?#{->拆分子项.集中配送 == "1": 拆分子项.数量 * (1 + 拆分子项.损耗 /100) * 拆分子项.市场价含税;});	
     } * @工程信息.甲供材料配送费费率/100,0))
}

BEGIN:甲供主材卸车费
${
	sum(_过滤主材(),"主材",?iif(主材.调差类型!= "建筑拆除" && 主材.调差类型!= "安装拆除",
	#{
	->主材.拆分 == 0 && 主材.供货方 == "甲供" && 主材.卸车 == "1" && (parent.type != "主材" || parent.type !="配件")
	 :
	 主材.数量 * (1 + 主材.损耗 /100) * 主材.市场价含税;
	->主材.拆分 == 1
	 :
	 sum(_过滤甲供子项(),"拆分子项",?#{->拆分子项.卸车 == "1": 拆分子项.数量 * (1 + 拆分子项.损耗 /100) * 拆分子项.市场价含税;});	
     } * @工程信息.甲供材料卸车费费率/100,0))
}

BEGIN:甲供主材保管费
${
	sum(_过滤主材(),"主材",?iif(主材.调差类型!= "建筑拆除" && 主材.调差类型!= "安装拆除",
	#{
	->主材.拆分 == 0 && 主材.供货方 == "甲供" && 主材.保管 == "1" && (parent.type != "主材" || parent.type !="配件")
	 :
	 主材.数量 * (1 + 主材.损耗 /100) * 主材.市场价含税;
	->主材.拆分 == 1
	 :
	 sum(_过滤甲供子项(),"拆分子项",?#{->拆分子项.保管 == "1": 拆分子项.数量 * (1 + 拆分子项.损耗 /100) * 拆分子项.市场价含税;});	
     } * @工程信息.甲供材料保管费费率/100,0))
}

BEGIN:甲供设备性材料配送费
${
    sum(_过滤设备性材料(),"主材",?iif(主材.调差类型!= "建筑拆除" && 主材.调差类型!= "安装拆除",
	#{
	->主材.拆分 == 0 && 主材.供货方 == "甲供" && 主材.集中配送 == "1" && (parent.type != "主材" || parent.type !="配件")
	 :
	 主材.数量 * (1 + 主材.损耗 /100) * 主材.市场价含税;
	->:0;
	} * @工程信息.甲供材料配送费费率/100,0))
}

BEGIN:甲供设备性材料卸车费
${
    sum(_过滤设备性材料(),"主材",?iif(主材.调差类型!= "建筑拆除" && 主材.调差类型!= "安装拆除",
	#{
	->主材.拆分 == 0 && 主材.供货方 == "甲供" && 主材.卸车 == "1" && (parent.type != "主材" || parent.type !="配件")
	 :
	 主材.数量 * (1 + 主材.损耗 /100) * 主材.市场价含税;
	->:0;
	} * @工程信息.甲供材料卸车费费率/100,0))
}

BEGIN:甲供设备性材料保管费
${
    sum(_过滤设备性材料(),"主材",?iif(主材.调差类型!= "建筑拆除" && 主材.调差类型!= "安装拆除",
	#{
	->主材.拆分 == 0 && 主材.供货方 == "甲供" && 主材.保管 == "1" && (parent.type != "主材" || parent.type !="配件")
	 :
	 主材.数量 * (1 + 主材.损耗 /100) * 主材.市场价含税;
	->:0;
	} * @工程信息.甲供材料保管费费率/100,0))
}

BEGIN:乙供主材配送费
${
	sum(_过滤主材(),"主材",?iif(主材.调差类型!= "建筑拆除" && 主材.调差类型!= "安装拆除",
	#{
	->主材.拆分 == 0 && 主材.供货方 == "乙供" && 主材.集中配送 == "1" && (parent.type != "主材" || parent.type !="配件")
	 :
	 主材.数量 * (1 + 主材.损耗 /100) * 主材.市场价含税;
	->主材.拆分 == 1
	 :
	 sum(_过滤乙供子项(),"拆分子项",?#{->拆分子项.集中配送 == "1": 拆分子项.数量 * (1 + 拆分子项.损耗 /100) * 拆分子项.市场价含税;});	
     } * @工程信息.主材配送费费率/100,0))
}

BEGIN:乙供设备性材料配送费
${
    sum(_过滤设备性材料(),"主材",?iif(主材.调差类型!= "建筑拆除" && 主材.调差类型!= "安装拆除",
	#{
	->主材.拆分 == 0 && 主材.供货方 == "乙供" && 主材.集中配送 == "1" && (parent.type != "主材" || parent.type !="配件")
	 :
	 主材.数量 * (1 + 主材.损耗 /100) * 主材.市场价含税;
	->:0;
	} * @工程信息.主材配送费费率/100,0))
}

//------------------主材价差类变量：V1.2.0删除-------------------------------------------
//BEGIN:甲供主材价差含税
//${
//    sum(_过滤主材(),"主材",?iif(主材.调差类型!= "建筑拆除" && 主材.调差类型!= "安装拆除",
//	#{
//	->主材.拆分 == 0 && 主材.供货方 == "甲供" && (parent.type != "主材" || parent.type !="配件")
//	  :
//	  主材.数量 * (主材.市场价含税-主材.预算价含税);
//	->主材.拆分 == 1
//	 :
//	 sum(_过滤甲供子项(),"拆分子项",?拆分子项.数量 * (拆分子项.市场价含税-拆分子项.预算价含税));	
//	},0))
//}

//BEGIN:甲供设备性材料价差含税
//${
//    sum(_过滤设备性材料(),"主材",?iif(主材.调差类型!= "建筑拆除" && 主材.调差类型!= "安装拆除",
//	#{
//	->主材.拆分 == 0 && 主材.供货方 == "甲供" && (parent.type != "主材" || parent.type !="配件")
//	 :
//	 主材.数量 * (主材.市场价含税-主材.预算价含税);
//    ->:0;
//	},0))
//}

//BEGIN:甲供主材价差不含税
//${
//    sum(_过滤主材(),"主材",?iif(主材.调差类型!= "建筑拆除" && 主材.调差类型!= "安装拆除",
//	#{
//	->主材.拆分 == 0 && 主材.供货方 == "甲供" && (parent.type != "主材" || parent.type !="配件")
//	  :
//	  主材.数量 * (主材.市场价不含税-主材.预算价不含税);
//	->主材.拆分 == 1
//	 :
//	 sum(_过滤甲供子项(),"拆分子项",?拆分子项.数量 * (拆分子项.市场价不含税-拆分子项.预算价不含税));	
//	},0))
//}

//BEGIN:甲供设备性材料价差不含税
//${
//    sum(_过滤设备性材料(),"主材",?iif(主材.调差类型!= "建筑拆除" && 主材.调差类型!= "安装拆除",
//	#{
//	->主材.拆分 == 0 && 主材.供货方 == "甲供" && (parent.type != "主材" || parent.type !="配件")
//	  :
//	  主材.数量 * (主材.市场价不含税-主材.预算价不含税);
//	->:0;
//	},0))
//}

//BEGIN:乙供主材价差含税
//${
//    sum(_过滤主材(),"主材",?iif(主材.调差类型!= "建筑拆除" && 主材.调差类型!= "安装拆除",
//	#{
//	->主材.拆分 == 0 && 主材.供货方 == "乙供" && (parent.type != "主材" || parent.type !="配件")
//	  :
//	  主材.数量 * (主材.市场价含税-主材.预算价含税);
//	->主材.拆分 == 1
//	 :
//	 sum(_过滤乙供子项(),"拆分子项",?拆分子项.数量 * (拆分子项.市场价含税-拆分子项.预算价含税));	
//	},0))
//}

//BEGIN:乙供设备性材料价差含税
//${
//    sum(_过滤设备性材料(),"主材",?iif(主材.调差类型!= "建筑拆除" && 主材.调差类型!= "安装拆除",
//	#{
//	->主材.拆分 == 0 && 主材.供货方 == "乙供" && (parent.type != "主材" || parent.type !="配件")
//	  :
//	  主材.数量 * (主材.市场价含税-主材.预算价含税);
//    ->:0;
//	},0))
//}

//BEGIN:乙供主材价差不含税
//${
//    sum(_过滤主材(),"主材",?iif(主材.调差类型!= "建筑拆除" && 主材.调差类型!= "安装拆除",
//	#{
//	->主材.拆分 == 0 && 主材.供货方 == "乙供" && (parent.type != "主材" || parent.type !="配件")
//	  :
//	  主材.数量 * (主材.市场价不含税-主材.预算价不含税);
//	->主材.拆分 == 1
//	 :
//	 sum(_过滤乙供子项(),"拆分子项",?拆分子项.数量 * (拆分子项.市场价不含税-拆分子项.预算价不含税));	
//	},0))
//}

//BEGIN:乙供设备性材料价差不含税
//${
//    sum(_过滤设备性材料(),"主材",?iif(主材.调差类型!= "建筑拆除" && 主材.调差类型!= "安装拆除",
//	#{
//	->主材.拆分 == 0 && 主材.供货方 == "乙供" && (parent.type != "主材" || parent.type !="配件")
//	  :
//	  主材.数量 * (主材.市场价不含税-主材.预算价不含税);
//	->:0;
//	},0))
//}

//BEGIN:甲供主材损耗价差含税
//${
//    sum(_过滤主材(),"主材",?iif(主材.调差类型!= "建筑拆除" && 主材.调差类型!= "安装拆除",
//	#{
//	->主材.拆分 == 0 && 主材.供货方 == "甲供" && (parent.type != "主材" || parent.type !="配件")
//	  :
//	  主材.数量 * (主材.市场价含税-主材.预算价含税) * 主材.损耗 /100;
//	->主材.拆分 == 1
//	 :
//	 sum(_过滤甲供子项(),"拆分子项",?拆分子项.数量 * (拆分子项.市场价含税-拆分子项.预算价含税) * 拆分子项.损耗 /100);	
//	},0))
//}

//BEGIN:甲供设备性材料损耗价差含税
//${
//    sum(_过滤设备性材料(),"主材",?iif(主材.调差类型!= "建筑拆除" && 主材.调差类型!= "安装拆除",
//	#{
//	->主材.拆分 == 0 && 主材.供货方 == "甲供" && (parent.type != "主材" || parent.type !="配件")
//	  :
//	  主材.数量 * (主材.市场价含税-主材.预算价含税) * 主材.损耗 /100;
//	->:0;
//	},0))
//}

//BEGIN:甲供主材损耗价差不含税
//${
//    sum(_过滤主材(),"主材",?iif(主材.调差类型!= "建筑拆除" && 主材.调差类型!= "安装拆除",
//	#{
//	->主材.拆分 == 0 && 主材.供货方 == "甲供" && (parent.type != "主材" || parent.type !="配件")
//	  :
//	  主材.数量 * (主材.市场价不含税-主材.预算价不含税) * 主材.损耗 /100;
//	->主材.拆分 == 1
//	 :
//	 sum(_过滤甲供子项(),"拆分子项",?拆分子项.数量 * (拆分子项.市场价不含税-拆分子项.预算价不含税) * 拆分子项.损耗 /100);	
//	},0))
//}

//BEGIN:甲供设备性材料损耗价差不含税
//${
//    sum(_过滤设备性材料(),"主材",?iif(主材.调差类型!= "建筑拆除" && 主材.调差类型!= "安装拆除",
//	#{
//	->主材.拆分 == 0 && 主材.供货方 == "甲供" && (parent.type != "主材" || parent.type !="配件")
//	  :
//	  主材.数量 * (主材.市场价不含税-主材.预算价不含税) * 主材.损耗 /100;
//	->:0;
//	},0))
//}

//BEGIN:乙供主材损耗价差含税
//${
//    sum(_过滤主材(),"主材",?iif(主材.调差类型!= "建筑拆除" && 主材.调差类型!= "安装拆除",
//	#{
//	->主材.拆分 == 0 && 主材.供货方 == "乙供" && (parent.type != "主材" || parent.type !="配件")
//	  :
//	  主材.数量 * (主材.市场价含税-主材.预算价含税) * 主材.损耗 /100;
//	->主材.拆分 == 1
//	 :
//	 sum(_过滤乙供子项(),"拆分子项",?拆分子项.数量 * (拆分子项.市场价含税-拆分子项.预算价含税) * 拆分子项.损耗 /100);	
//	},0))
//}

//BEGIN:乙供设备性材料损耗价差含税
//${
//    sum(_过滤设备性材料(),"主材",?iif(主材.调差类型!= "建筑拆除" && 主材.调差类型!= "安装拆除",
//	#{
//	->主材.拆分 == 0 && 主材.供货方 == "乙供" && (parent.type != "主材" || parent.type !="配件")
//	  :
//	  主材.数量 * (主材.市场价含税-主材.预算价含税) * 主材.损耗 /100;
//	->:0;
//	},0))
//}

//BEGIN:乙供主材损耗价差不含税
//${
//    sum(_过滤主材(),"主材",?iif(主材.调差类型!= "建筑拆除" && 主材.调差类型!= "安装拆除",
//	#{
//	->主材.拆分 == 0 && 主材.供货方 == "乙供" && (parent.type != "主材" || parent.type !="配件")
//	  :
//	  主材.数量 * (主材.市场价不含税-主材.预算价不含税) * 主材.损耗 /100;
//	->主材.拆分 == 1
//	 :
//	 sum(_过滤乙供子项(),"拆分子项",?拆分子项.数量 * (拆分子项.市场价不含税-拆分子项.预算价不含税) * 拆分子项.损耗 /100);	
//	},0))
//}

//BEGIN:乙供设备性材料损耗价差不含税
//${
//    sum(_过滤设备性材料(),"主材",?iif(主材.调差类型!= "建筑拆除" && 主材.调差类型!= "安装拆除",
//	#{
//	->主材.拆分 == 0 && 主材.供货方 == "乙供" && (parent.type != "主材" || parent.type !="配件")
//	  :
//	  主材.数量 * (主材.市场价不含税-主材.预算价不含税) * 主材.损耗 /100;
//	->:0;
//	},0))
//}

//------------------设备-------------------------------------------
BEGIN:甲供设备费含税
${
	sum(_过滤甲供设备(),"设备",?iif(设备.调差类型!= "建筑拆除" && 设备.调差类型!= "安装拆除",设备.数量 * 设备.市场价含税,0))+甲供设备性材料费含税() + 甲供设备性材料损耗费含税()
}

BEGIN:甲供设备费不含税
${
	sum(_过滤甲供设备(),"设备",?iif(设备.调差类型!= "建筑拆除" && 设备.调差类型!= "安装拆除",设备.数量 * 设备.市场价不含税,0)) + 甲供设备性材料费不含税() + 甲供设备性材料损耗费不含税()
}

BEGIN:乙供设备费含税
${
    sum(_过滤乙供设备(),"设备",?iif(设备.调差类型!= "建筑拆除" && 设备.调差类型!= "安装拆除",设备.数量 * 设备.市场价含税,0)) + 乙供设备性材料费含税() + 乙供设备性材料损耗费含税()
}

BEGIN:乙供设备费不含税
${
    sum(_过滤乙供设备(),"设备",?iif(设备.调差类型!= "建筑拆除" && 设备.调差类型!= "安装拆除",设备.数量 * 设备.市场价不含税,0)) + 乙供设备性材料费不含税() + 乙供设备性材料损耗费不含税()
}

BEGIN:甲供设备运杂费
${
    sum(_过滤甲供设备(),"设备",?iif(设备.调差类型!= "建筑拆除" && 设备.调差类型!= "安装拆除",设备.数量 * 设备.市场价含税 * 设备.运杂费率 / 100,0))
}

BEGIN:乙供设备运杂费
${
    sum(_过滤乙供设备(),"设备",?iif(设备.调差类型!= "建筑拆除" && 设备.调差类型!= "安装拆除",设备.数量 * 设备.市场价含税 * 设备.运杂费率 / 100,0))
}

BEGIN:甲供设备配送费
${
    sum(_过滤甲供设备(),"设备",?iif(设备.调差类型!= "建筑拆除" && 设备.调差类型!= "安装拆除",#{
    ->设备.集中配送 == "1" 
      :
      设备.数量 * 设备.市场价含税 * #{
	  ->@工程信息.工程性质=="技改":@工程信息.甲供设备配送费费率/100;
	  ->@工程信息.工程性质=="检修":@工程信息.甲供配件配送费费率/100;};
	},0)) + 甲供设备性材料配送费()
}

BEGIN:甲供设备卸车费
${
      ?甲供主要设备卸车费()+甲供其他设备卸车费()+ 甲供设备性材料卸车费()
}

BEGIN:甲供设备保管费
${
      ?甲供主要设备保管费()+甲供其他设备保管费() + 甲供设备性材料保管费()
}

BEGIN:甲供主要设备卸车费
${
    sum(_过滤甲供设备(),"设备",?iif(设备.调差类型!= "建筑拆除" && 设备.调差类型!= "安装拆除",#{
    ->设备.卸车 == "1" 
      :
      设备.数量 * 设备.市场价含税 * #{
	  ->@工程信息.工程性质=="技改" && 设备.设备类型 == "主要设备":@工程信息.甲供主要设备卸车费费率/100;
	  ->@工程信息.工程性质=="检修":@工程信息.甲供配件卸车费费率/100;};
	},0))
}

BEGIN:甲供主要设备保管费
${
    sum(_过滤甲供设备(),"设备",?iif(设备.调差类型!= "建筑拆除" && 设备.调差类型!= "安装拆除",#{
    ->设备.保管 == "1" 
      :
      设备.数量 * 设备.市场价含税 * #{
	  ->@工程信息.工程性质=="技改" && 设备.设备类型 == "主要设备":@工程信息.甲供主要设备保管费费率/100;
	  ->@工程信息.工程性质=="检修":@工程信息.甲供配件保管费费率/100;};
	},0))
}

BEGIN:甲供其他设备卸车费
${
    sum(_过滤甲供设备(),"设备",?iif(设备.调差类型!= "建筑拆除" && 设备.调差类型!= "安装拆除",#{
    ->设备.卸车 == "1" 
      :
      设备.数量 * 设备.市场价含税 * #{
	  ->@工程信息.工程性质=="技改" && 设备.设备类型 == "其他设备":@工程信息.甲供其他设备卸车费费率/100;};
	},0))
}

BEGIN:甲供其他设备保管费
${
    sum(_过滤甲供设备(),"设备",?iif(设备.调差类型!= "建筑拆除" && 设备.调差类型!= "安装拆除",#{
    ->设备.保管 == "1" 
      :
      设备.数量 * 设备.市场价含税 * #{
	  ->@工程信息.工程性质=="技改" && 设备.设备类型 == "其他设备":@工程信息.甲供其他设备保管费费率/100;};
	},0))
}

BEGIN:乙供设备配送费
${
    sum(_过滤乙供设备(),"设备",?iif(设备.调差类型!= "建筑拆除" && 设备.调差类型!= "安装拆除",#{
    ->设备.集中配送 == "1" 
      :
      设备.数量 * 设备.市场价含税 * #{
	  ->@工程信息.工程性质=="技改":@工程信息.设备配送费费率/100;
	  ->@工程信息.工程性质=="检修":@工程信息.配件配送费费率/100;};
	},0)) + 乙供设备性材料配送费()
}

BEGIN:乙供设备税金
${
    ?(乙供设备费不含税()+乙供设备运杂费()+乙供设备配送费())*@工程信息.工程税率 /100
}

//------------------配件-------------------------------------------
BEGIN:甲供配件费含税
${?甲供设备费含税()}

BEGIN:甲供配件运杂费
${?甲供设备运杂费()}

BEGIN:甲供配件配送费
${?甲供设备配送费()}

BEGIN:甲供配件卸车费
${?甲供主要设备卸车费()}

BEGIN:甲供配件保管费
${?甲供主要设备保管费()}

BEGIN:甲供配件费不含税
${?甲供设备费不含税()}

BEGIN:乙供配件费不含税
${?乙供设备费不含税()}

BEGIN:乙供配件运杂费
${?乙供设备运杂费()}

BEGIN:乙供配件配送费
${?乙供设备配送费()}

BEGIN:乙供配件税金
${
    ?(乙供配件费不含税()+乙供配件运杂费()+乙供配件配送费())*@工程信息.工程税率 /100
}

BEGIN:乙供配件费含税
${?乙供设备费含税()}

//------------------定额费用内部函数-------------------------------------------
BEGIN:_人工费_不含特殊费
${
    sum(_过滤定额(),"工程量",?工程量.数量 * 工程量.人工费 * 工程量.人工系数 * 工程量.定额系数)
}

BEGIN:_人工价差_不含特殊费
${
    sum(_过滤定额(),"工程量",?iif(工程量.专业类型 != "余物清理",工程量.数量 * 工程量.人工系数 * 工程量.定额系数 * #{
	->@工程信息.人材机调差方法 == "方法二：人材机按实际单价调差":sum(_过滤人工(),"人材机",?(人材机.市场价不含税 - 人材机.预算价不含税) * 人材机.数量); 
	->:工程量.人工费 * #{
	  ->@工程信息.工程类型 == "配网":工程量.@_@人工调差系数 / 100;
	  ->:
	    #{
		->工程量.调差类型 == "建筑":@工程信息.建筑人工调差系数 /100;
        ->工程量.调差类型 == "安装":@工程信息.安装人工调差系数 /100;
	    ->工程量.调差类型 == "建筑拆除":@工程信息.建筑拆除人工调差系数 /100;
	    ->工程量.调差类型 == "安装拆除":@工程信息.安装拆除人工调差系数 /100;
	    ->工程量.调差类型 == "建筑修缮":@工程信息.建筑修缮人工调差系数 /100;
        ->工程量.调差类型 == "设备检修":@工程信息.设备检修人工调差系数 /100;
	    };
	    };
	},0))
}

//------------------定额费用：甲供材料_不含税-------------------------------------------
BEGIN:甲供材料费不含税
${
    sum(_过滤定额(),"工程量",?工程量.数量 * 工程量.甲供材料费 * 工程量.材料系数 * 工程量.定额系数)
}

BEGIN:甲供材料价差不含税
${
   sum(_过滤定额(),"工程量",?iif(工程量.专业类型 != "余物清理",工程量.数量 * 工程量.材料系数 * 工程量.定额系数 * #{
   ->@工程信息.人材机调差方法 == "方法二：人材机按实际单价调差":sum(_过滤材料(),"人材机",?#{
		->人材机.拆分 == 0 && 人材机.供货方 == "甲供":(人材机.市场价不含税 - 人材机.预算价不含税) * 人材机.数量;
		->人材机.拆分 == 1:sum(_过滤甲供子项(),"拆分子项",?(拆分子项.市场价不含税 - 拆分子项.预算价不含税) * 拆分子项.数量 * 人材机.数量);});
   ->:
     #{	
      ->@工程信息.工程类型 == "配网" || @工程信息.项目划分 == "输电线路工程":#{
         ->(工程量.调差类型  == "建筑" || 工程量.调差类型  == "建筑拆除" || 工程量.调差类型  == "建筑修缮") && 工程量.@_@材机按系数调差 == "否":sum(_过滤材料(),"人材机",?#{
		   ->人材机.拆分 == 0 && 人材机.供货方 == "甲供":(人材机.市场价不含税 - 人材机.预算价不含税) * 人材机.数量;
		   ->人材机.拆分 == 1:sum(_过滤甲供子项(),"拆分子项",?#{
		     ->拆分子项.type == "人工":拆分子项.预算价不含税 * 拆分子项.数量 * 拆分子项.@_@人工调差系数 /100;
		     ->拆分子项.type == "材料" || 拆分子项.type == "机械":(拆分子项.市场价不含税 - 拆分子项.预算价不含税) * 拆分子项.数量;} * 人材机.数量);});
         ->:工程量.甲供材料费 * 工程量.@_@材料调差系数 /100;}; 
      ->:#{
         ->(工程量.调差类型 == "建筑" && @工程信息.建筑材机按系数调差 == "否") || (工程量.调差类型 == "建筑拆除" && @工程信息.建筑拆除材机按系数调差 == "否") || (工程量.调差类型 == "建筑修缮" && @工程信息.建筑修缮材机按系数调差 == "否"):sum(_过滤材料(),"人材机",?#{
		   ->人材机.拆分 == 0 && 人材机.供货方 == "甲供":(人材机.市场价不含税 - 人材机.预算价不含税) * 人材机.数量;
		   ->人材机.拆分 == 1:sum(_过滤甲供子项(),"拆分子项",?#{
		      ->拆分子项.type == "人工":拆分子项.预算价不含税 * 拆分子项.数量 * #{
			    ->工程量.调差类型  == "建筑":@工程信息.建筑人工调差系数 /100;
			    ->工程量.调差类型  == "建筑修缮":@工程信息.建筑修缮人工调差系数 /100;
			    ->工程量.调差类型  == "建筑拆除":@工程信息.建筑拆除人工调差系数 /100;};
		      ->拆分子项.type == "材料" || 拆分子项.type == "机械":(拆分子项.市场价不含税 - 拆分子项.预算价不含税) * 拆分子项.数量;} * 人材机.数量);});
         ->:工程量.甲供材料费 * #{
		   ->工程量.调差类型 == "建筑" && @工程信息.建筑材机按系数调差 == "是":@工程信息.建筑材料调差系数 /100;
		   ->工程量.调差类型 == "建筑拆除" && @工程信息.建筑拆除材机按系数调差 == "是":@工程信息.建筑拆除材料调差系数 /100;
		   ->工程量.调差类型 == "建筑修缮" && @工程信息.建筑修缮材机按系数调差 == "是":@工程信息.建筑修缮材料调差系数 /100;
		   ->工程量.调差类型 == "安装" && @工程信息.项目划分 == "电缆线路工程" && 工程量.专业属性 == "陆上电缆":@工程信息.陆上电缆安装材料调差系数 /100;
		   ->工程量.调差类型 == "安装" && @工程信息.项目划分 == "电缆线路工程" && 工程量.专业属性 == "海底电缆":@工程信息.海底电缆安装材料调差系数 /100;
		   ->工程量.调差类型 == "安装" && @工程信息.项目划分 != "电缆线路工程":@工程信息.安装材料调差系数 /100;
		   ->工程量.调差类型 == "安装拆除" && @工程信息.项目划分 == "电缆线路工程" && 工程量.专业属性 == "陆上电缆":@工程信息.陆上电缆安装拆除材料调差系数 /100;
		   ->工程量.调差类型 == "安装拆除" && @工程信息.项目划分 == "电缆线路工程" && 工程量.专业属性 == "海底电缆":@工程信息.海底电缆安装拆除材料调差系数 /100;
		   ->工程量.调差类型 == "安装拆除" && @工程信息.项目划分 != "电缆线路工程":@工程信息.安装拆除材料调差系数 /100;
		   ->工程量.调差类型 == "设备检修" && @工程信息.项目划分 == "电缆线路工程" && 工程量.专业属性 == "陆上电缆":@工程信息.陆上电缆设备检修材料调差系数 /100;
		   ->工程量.调差类型 == "设备检修" && @工程信息.项目划分 == "电缆线路工程" && 工程量.专业属性 == "海底电缆":@工程信息.海底电缆设备检修材料调差系数 /100;
		   ->工程量.调差类型 == "设备检修" && @工程信息.项目划分 != "电缆线路工程":@工程信息.设备检修材料调差系数 /100;};};
	   };
	   },0))
}

//------------------定额费用：甲供材料_含税-------------------------------------------
BEGIN:甲供材料费含税
${
    sum(_过滤定额(),"工程量",?工程量.数量 * 工程量.甲供材料费_含税 * 工程量.材料系数 * 工程量.定额系数)
}

BEGIN:甲供材料配送费
${
    sum(_过滤定额(),"工程量",?iif(工程量.专业类型 != "余物清理",工程量.数量 * 工程量.材料系数 * 工程量.定额系数 * #{
    ->@工程信息.人材机调差方法 == "方法二：人材机按实际单价调差":sum(_过滤材料(),"人材机",?#{
		->人材机.拆分 == 0 && 人材机.供货方 == "甲供" && 人材机.集中配送 == "1":人材机.市场价含税 * 人材机.数量 * @工程信息.甲供材料配送费费率/100;
		->人材机.拆分 == 1:sum(_过滤甲供配送子项(),"拆分子项",?拆分子项.市场价含税 * 拆分子项.数量 * 人材机.数量 * @工程信息.甲供材料配送费费率/100);});
    ->:
     #{	
         ->@工程信息.人材机调差方法 == "方法一：人材机按发文调差(定额〔2021〕23号)":#{
            ->(工程量.调差类型  == "建筑" || 工程量.调差类型  == "建筑拆除" || 工程量.调差类型  == "建筑修缮"):sum(_过滤材料(),"人材机",?#{
			   ->人材机.拆分 == 0 && 人材机.供货方 == "甲供" && 人材机.集中配送 == "1":人材机.市场价含税 * 人材机.数量* @工程信息.甲供材料配送费费率/100;
			   ->人材机.拆分 == 1:sum(_过滤甲供配送子项(),"拆分子项",?#{
			     ->拆分子项.type == "材料":拆分子项.市场价含税 * 拆分子项.数量;} * 人材机.数量* @工程信息.甲供材料配送费费率/100);});
			->:sum(_过滤材料(),"人材机",?#{
			   ->人材机.拆分 == 0 && 人材机.供货方 == "甲供" && 人材机.集中配送 == "1":人材机.预算价含税 * 人材机.数量 *(1+ _材料调差系数()) * @工程信息.甲供材料配送费费率/100;
			   ->人材机.拆分 == 1:sum(_过滤甲供配送子项(),"拆分子项",?#{
			     ->拆分子项.type == "材料":拆分子项.预算价含税 * 拆分子项.数量 * (1+_材料调差系数());} * 人材机.数量* @工程信息.甲供材料配送费费率/100);});
	   };};
     },0))
}

BEGIN:_材料调差系数
${
	?#{
	->@工程信息.工程类型 == "配网"
	:#{
		  ->工程量.调差类型!= "建筑" && 工程量.调差类型!= "建筑拆除" && 工程量.调差类型!= "建筑修缮":工程量.@_@材料调差系数/100;
	 };
	->:#{
		->工程量.调差类型 == "安装" && @工程信息.项目划分 == "电缆线路工程" && 工程量.专业属性 == "陆上电缆":@工程信息.陆上电缆安装材料调差系数 /100;
		->工程量.调差类型 == "安装" && @工程信息.项目划分 == "电缆线路工程" && 工程量.专业属性 == "海底电缆":@工程信息.海底电缆安装材料调差系数 /100;
		->工程量.调差类型 == "安装" && @工程信息.项目划分 != "电缆线路工程":@工程信息.安装材料调差系数 /100;
		->工程量.调差类型 == "安装拆除" && @工程信息.项目划分 == "电缆线路工程" && 工程量.专业属性 == "陆上电缆":@工程信息.陆上电缆安装拆除材料调差系数 /100;
		->工程量.调差类型 == "安装拆除" && @工程信息.项目划分 == "电缆线路工程" && 工程量.专业属性 == "海底电缆":@工程信息.海底电缆安装拆除材料调差系数 /100;
		->工程量.调差类型 == "安装拆除" && @工程信息.项目划分 != "电缆线路工程":@工程信息.安装拆除材料调差系数 /100;
		->工程量.调差类型 == "设备检修" && @工程信息.项目划分 == "电缆线路工程" && 工程量.专业属性 == "陆上电缆":@工程信息.陆上电缆设备检修材料调差系数 /100;
		->工程量.调差类型 == "设备检修" && @工程信息.项目划分 == "电缆线路工程" && 工程量.专业属性 == "海底电缆":@工程信息.海底电缆设备检修材料调差系数 /100;
		->工程量.调差类型 == "设备检修" && @工程信息.项目划分 != "电缆线路工程":@工程信息.设备检修材料调差系数 /100;
		};
	}
}

BEGIN:甲供材料卸车费
${
    sum(_过滤定额(),"工程量",?iif(工程量.专业类型 != "余物清理",工程量.数量 * 工程量.材料系数 * 工程量.定额系数 * #{
    ->@工程信息.人材机调差方法 == "方法二：人材机按实际单价调差":sum(_过滤材料(),"人材机",?#{
		->人材机.拆分 == 0 && 人材机.供货方 == "甲供" && 人材机.卸车 == "1":人材机.市场价含税 * 人材机.数量 * @工程信息.甲供材料卸车费费率/100;
		->人材机.拆分 == 1:sum(_过滤甲供卸车子项(),"拆分子项",?拆分子项.市场价含税 * 拆分子项.数量 * 人材机.数量 * @工程信息.甲供材料卸车费费率/100);});
    ->:
     #{	
         ->@工程信息.人材机调差方法 == "方法一：人材机按发文调差(定额〔2021〕23号)":#{
            ->(工程量.调差类型  == "建筑" || 工程量.调差类型  == "建筑拆除" || 工程量.调差类型  == "建筑修缮"):sum(_过滤材料(),"人材机",?#{
			   ->人材机.拆分 == 0 && 人材机.供货方 == "甲供" && 人材机.卸车 == "1":人材机.市场价含税 * 人材机.数量* @工程信息.甲供材料卸车费费率/100;
			   ->人材机.拆分 == 1:sum(_过滤甲供卸车子项(),"拆分子项",?#{
			     ->拆分子项.type == "材料":拆分子项.市场价含税 * 拆分子项.数量;} * 人材机.数量* @工程信息.甲供材料卸车费费率/100);});
			->:sum(_过滤材料(),"人材机",?#{
			   ->人材机.拆分 == 0 && 人材机.供货方 == "甲供" && 人材机.卸车 == "1":人材机.预算价含税 * 人材机.数量 * (1+_材料调差系数()) * @工程信息.甲供材料卸车费费率/100;
			   ->人材机.拆分 == 1:sum(_过滤甲供卸车子项(),"拆分子项",?#{
			     ->拆分子项.type == "材料":拆分子项.预算价含税 * 拆分子项.数量 * (1+_材料调差系数());} * 人材机.数量* @工程信息.甲供材料卸车费费率/100);});
	   };};
     },0))
}

BEGIN:甲供材料保管费
${
    sum(_过滤定额(),"工程量",?iif(工程量.专业类型 != "余物清理",工程量.数量 * 工程量.材料系数 * 工程量.定额系数 * #{
    ->@工程信息.人材机调差方法 == "方法二：人材机按实际单价调差":sum(_过滤材料(),"人材机",?#{
		->人材机.拆分 == 0 && 人材机.供货方 == "甲供" && 人材机.保管 == "1":人材机.市场价含税 * 人材机.数量 * @工程信息.甲供材料保管费费率/100;
		->人材机.拆分 == 1:sum(_过滤甲供保管子项(),"拆分子项",?拆分子项.市场价含税 * 拆分子项.数量 * 人材机.数量 * @工程信息.甲供材料保管费费率/100);});
    ->:
     #{	
         ->@工程信息.人材机调差方法 == "方法一：人材机按发文调差(定额〔2021〕23号)":#{
            ->(工程量.调差类型  == "建筑" || 工程量.调差类型  == "建筑拆除" || 工程量.调差类型  == "建筑修缮"):sum(_过滤材料(),"人材机",?#{
			   ->人材机.拆分 == 0 && 人材机.供货方 == "甲供" && 人材机.保管 == "1":人材机.市场价含税 * 人材机.数量* @工程信息.甲供材料保管费费率/100;
			   ->人材机.拆分 == 1:sum(_过滤甲供保管子项(),"拆分子项",?#{
			     ->拆分子项.type == "材料":拆分子项.市场价含税 * 拆分子项.数量;} * 人材机.数量* @工程信息.甲供材料保管费费率/100);});
			->:sum(_过滤材料(),"人材机",?#{
			   ->人材机.拆分 == 0 && 人材机.供货方 == "甲供" && 人材机.保管 == "1":人材机.预算价含税 * 人材机.数量 * (1+_材料调差系数()) * @工程信息.甲供材料保管费费率/100;
			   ->人材机.拆分 == 1:sum(_过滤甲供保管子项(),"拆分子项",?#{
			     ->拆分子项.type == "材料":拆分子项.预算价含税 * 拆分子项.数量 * (1+_材料调差系数());} * 人材机.数量* @工程信息.甲供材料保管费费率/100);});
	   };};
     },0))
}

BEGIN:甲供材料价差含税
${
   sum(_过滤定额(),"工程量",?iif(工程量.专业类型 != "余物清理",工程量.数量 * 工程量.材料系数 * 工程量.定额系数 * #{
   ->@工程信息.人材机调差方法 == "方法二：人材机按实际单价调差":sum(_过滤材料(),"人材机",?#{
		->人材机.拆分 == 0 && 人材机.供货方 == "甲供":(人材机.市场价含税 - 人材机.预算价含税) * 人材机.数量;
		->人材机.拆分 == 1:sum(_过滤甲供子项(),"拆分子项",?(拆分子项.市场价含税 - 拆分子项.预算价含税) * 拆分子项.数量 * 人材机.数量);});
   ->:
     #{	
      ->@工程信息.工程类型 == "配网" || @工程信息.项目划分 == "输电线路工程":#{
         ->(工程量.调差类型  == "建筑" || 工程量.调差类型  == "建筑拆除" || 工程量.调差类型  == "建筑修缮") && 工程量.@_@材机按系数调差 == "否":sum(_过滤材料(),"人材机",?#{
		   ->人材机.拆分 == 0 && 人材机.供货方 == "甲供":(人材机.市场价含税 - 人材机.预算价含税) * 人材机.数量;
		   ->人材机.拆分 == 1:sum(_过滤甲供子项(),"拆分子项",?#{
		     ->拆分子项.type == "人工":拆分子项.预算价含税 * 拆分子项.数量 * 拆分子项.@_@人工调差系数 /100;
		     ->拆分子项.type == "材料" || 拆分子项.type == "机械":(拆分子项.市场价含税 - 拆分子项.预算价含税) * 拆分子项.数量;} * 人材机.数量);});
         ->:工程量.甲供材料费_含税 * 工程量.@_@材料调差系数 /100;}; 
      ->:#{
         ->(工程量.调差类型 == "建筑" && @工程信息.建筑材机按系数调差 == "否") || (工程量.调差类型 == "建筑拆除" && @工程信息.建筑拆除材机按系数调差 == "否") || (工程量.调差类型 == "建筑修缮" && @工程信息.建筑修缮材机按系数调差 == "否"):sum(_过滤材料(),"人材机",?#{
		   ->人材机.拆分 == 0 && 人材机.供货方 == "甲供":(人材机.市场价含税 - 人材机.预算价含税) * 人材机.数量;
		   ->人材机.拆分 == 1:sum(_过滤甲供子项(),"拆分子项",?#{
		      ->拆分子项.type == "人工":拆分子项.预算价含税 * 拆分子项.数量 * #{
			    ->工程量.调差类型  == "建筑":@工程信息.建筑人工调差系数 /100;
			    ->工程量.调差类型  == "建筑修缮":@工程信息.建筑修缮人工调差系数 /100;
			    ->工程量.调差类型  == "建筑拆除":@工程信息.建筑拆除人工调差系数 /100;};
		      ->拆分子项.type == "材料" || 拆分子项.type == "机械":(拆分子项.市场价含税 - 拆分子项.预算价含税) * 拆分子项.数量;} * 人材机.数量);});
         ->:工程量.甲供材料费_含税 * #{
		   ->工程量.调差类型 == "建筑" && @工程信息.建筑材机按系数调差 == "是":@工程信息.建筑材料调差系数 /100;
		   ->工程量.调差类型 == "建筑拆除" && @工程信息.建筑拆除材机按系数调差 == "是":@工程信息.建筑拆除材料调差系数 /100;
		   ->工程量.调差类型 == "建筑修缮" && @工程信息.建筑修缮材机按系数调差 == "是":@工程信息.建筑修缮材料调差系数 /100;
		   ->工程量.调差类型 == "安装" && @工程信息.项目划分 == "电缆线路工程" && 工程量.专业属性 == "陆上电缆":@工程信息.陆上电缆安装材料调差系数 /100;
		   ->工程量.调差类型 == "安装" && @工程信息.项目划分 == "电缆线路工程" && 工程量.专业属性 == "海底电缆":@工程信息.海底电缆安装材料调差系数 /100;
		   ->工程量.调差类型 == "安装" && @工程信息.项目划分 != "电缆线路工程":@工程信息.安装材料调差系数 /100;
		   ->工程量.调差类型 == "安装拆除" && @工程信息.项目划分 == "电缆线路工程" && 工程量.专业属性 == "陆上电缆":@工程信息.陆上电缆安装拆除材料调差系数 /100;
		   ->工程量.调差类型 == "安装拆除" && @工程信息.项目划分 == "电缆线路工程" && 工程量.专业属性 == "海底电缆":@工程信息.海底电缆安装拆除材料调差系数 /100;
		   ->工程量.调差类型 == "安装拆除" && @工程信息.项目划分 != "电缆线路工程":@工程信息.安装拆除材料调差系数 /100;
		   ->工程量.调差类型 == "设备检修" && @工程信息.项目划分 == "电缆线路工程" && 工程量.专业属性 == "陆上电缆":@工程信息.陆上电缆设备检修材料调差系数 /100;
		   ->工程量.调差类型 == "设备检修" && @工程信息.项目划分 == "电缆线路工程" && 工程量.专业属性 == "海底电缆":@工程信息.海底电缆设备检修材料调差系数 /100;
		   ->工程量.调差类型 == "设备检修" && @工程信息.项目划分 != "电缆线路工程":@工程信息.设备检修材料调差系数 /100;};};
	   };
	   },0))
}
//------------------定额费用：乙供材料_不含税-------------------------------------------
BEGIN:_乙供材料费_非宏变量
${
    sum(_过滤定额(),"工程量",?工程量.数量 * (工程量.材料费 - 工程量.甲供材料费) * 工程量.材料系数 * 工程量.定额系数)
}

BEGIN:_乙供物料类材料费_非宏变量
${
    sum(_过滤定额(),"工程量",?工程量.数量 * (工程量.物料类材料费 - 工程量.甲供物料类材料费) * 工程量.材料系数 * 工程量.定额系数)
}

BEGIN:_乙供材料价差_不含特殊费
${
   sum(_过滤定额(),"工程量",?iif(工程量.专业类型 != "余物清理",工程量.数量 * 工程量.材料系数 * 工程量.定额系数 * #{
   ->@工程信息.人材机调差方法 == "方法二：人材机按实际单价调差":sum(_过滤材料(),"人材机",?#{
		->人材机.拆分 == 0 && 人材机.供货方 == "乙供":(人材机.市场价不含税 - 人材机.预算价不含税) * 人材机.数量;
		->人材机.拆分 == 1:sum(_过滤乙供子项(),"拆分子项",?(拆分子项.市场价不含税 - 拆分子项.预算价不含税) * 拆分子项.数量 * 人材机.数量);});
   ->:
     #{	
      ->@工程信息.工程类型 == "配网" || @工程信息.项目划分 == "输电线路工程":#{
         ->(工程量.调差类型  == "建筑" || 工程量.调差类型  == "建筑拆除" || 工程量.调差类型  == "建筑修缮") && 工程量.@_@材机按系数调差 == "否":sum(_过滤材料(),"人材机",?#{
		   ->人材机.拆分 == 0 && 人材机.供货方 == "乙供":(人材机.市场价不含税 - 人材机.预算价不含税) * 人材机.数量;
		   ->人材机.拆分 == 1:sum(_过滤乙供子项(),"拆分子项",?#{
		     ->拆分子项.type == "人工":拆分子项.预算价不含税 * 拆分子项.数量 * 拆分子项.@_@人工调差系数 /100;
		     ->拆分子项.type == "材料" || 拆分子项.type == "机械":(拆分子项.市场价不含税 - 拆分子项.预算价不含税) * 拆分子项.数量;} * 人材机.数量);});
         ->:(工程量.材料费 - 工程量.甲供材料费) * 工程量.@_@材料调差系数 /100;}; 
      ->:#{
         ->(工程量.调差类型 == "建筑" && @工程信息.建筑材机按系数调差 == "否") || (工程量.调差类型 == "建筑拆除" && @工程信息.建筑拆除材机按系数调差 == "否") || (工程量.调差类型 == "建筑修缮" && @工程信息.建筑修缮材机按系数调差 == "否"):sum(_过滤材料(),"人材机",?#{
		   ->人材机.拆分 == 0 && 人材机.供货方 == "乙供":(人材机.市场价不含税 - 人材机.预算价不含税) * 人材机.数量;
		   ->人材机.拆分 == 1:sum(_过滤乙供子项(),"拆分子项",?#{
		      ->拆分子项.type == "人工":拆分子项.预算价不含税 * 拆分子项.数量 * #{
			    ->工程量.调差类型  == "建筑":@工程信息.建筑人工调差系数 /100;
			    ->工程量.调差类型  == "建筑修缮":@工程信息.建筑修缮人工调差系数 /100;
			    ->工程量.调差类型  == "建筑拆除":@工程信息.建筑拆除人工调差系数 /100;};
		      ->拆分子项.type == "材料" || 拆分子项.type == "机械":(拆分子项.市场价不含税 - 拆分子项.预算价不含税) * 拆分子项.数量;} * 人材机.数量);});
         ->:(工程量.材料费 - 工程量.甲供材料费) * #{
		   ->工程量.调差类型 == "建筑" && @工程信息.建筑材机按系数调差 == "是":@工程信息.建筑材料调差系数 /100;
		   ->工程量.调差类型 == "建筑拆除" && @工程信息.建筑拆除材机按系数调差 == "是":@工程信息.建筑拆除材料调差系数 /100;
		   ->工程量.调差类型 == "建筑修缮" && @工程信息.建筑修缮材机按系数调差 == "是":@工程信息.建筑修缮材料调差系数 /100;
		   ->工程量.调差类型 == "安装" && @工程信息.项目划分 == "电缆线路工程" && 工程量.专业属性 == "陆上电缆":@工程信息.陆上电缆安装材料调差系数 /100;
		   ->工程量.调差类型 == "安装" && @工程信息.项目划分 == "电缆线路工程" && 工程量.专业属性 == "海底电缆":@工程信息.海底电缆安装材料调差系数 /100;
		   ->工程量.调差类型 == "安装" && @工程信息.项目划分 != "电缆线路工程":@工程信息.安装材料调差系数 /100;
		   ->工程量.调差类型 == "安装拆除" && @工程信息.项目划分 == "电缆线路工程" && 工程量.专业属性 == "陆上电缆":@工程信息.陆上电缆安装拆除材料调差系数 /100;
		   ->工程量.调差类型 == "安装拆除" && @工程信息.项目划分 == "电缆线路工程" && 工程量.专业属性 == "海底电缆":@工程信息.海底电缆安装拆除材料调差系数 /100;
		   ->工程量.调差类型 == "安装拆除" && @工程信息.项目划分 != "电缆线路工程":@工程信息.安装拆除材料调差系数 /100;
		   ->工程量.调差类型 == "设备检修" && @工程信息.项目划分 == "电缆线路工程" && 工程量.专业属性 == "陆上电缆":@工程信息.陆上电缆设备检修材料调差系数 /100;
		   ->工程量.调差类型 == "设备检修" && @工程信息.项目划分 == "电缆线路工程" && 工程量.专业属性 == "海底电缆":@工程信息.海底电缆设备检修材料调差系数 /100;
		   ->工程量.调差类型 == "设备检修" && @工程信息.项目划分 != "电缆线路工程":@工程信息.设备检修材料调差系数 /100;};};
	   };
	   },0))
}

BEGIN:_乙供物料类材料价差_不含特殊费
${
   sum(_过滤定额(),"工程量",?iif(工程量.专业类型 != "余物清理",工程量.数量 * 工程量.材料系数 * 工程量.定额系数 * #{
   ->@工程信息.人材机调差方法 == "方法二：人材机按实际单价调差":sum(_过滤材料(),"人材机",?#{
		->人材机.拆分 == 0 && 人材机.供货方 == "乙供" && 人材机.物料类材料 == 1:(人材机.市场价不含税 - 人材机.预算价不含税) * 人材机.数量;
		->人材机.拆分 == 1:sum(items,"拆分子项",?#{->拆分子项.供货方 == "乙供" && 拆分子项.物料类材料 == 1:(拆分子项.市场价不含税 - 拆分子项.预算价不含税) * 拆分子项.数量 * 人材机.数量;});});
   ->:
     #{	
      ->@工程信息.工程类型 == "配网" || @工程信息.项目划分 == "输电线路工程":#{
         ->(工程量.调差类型  == "建筑" || 工程量.调差类型  == "建筑拆除" || 工程量.调差类型  == "建筑修缮") && 工程量.@_@材机按系数调差 == "否":sum(_过滤材料(),"人材机",?#{
		   ->人材机.拆分 == 0 && 人材机.供货方 == "乙供" && 人材机.物料类材料 == 1:(人材机.市场价不含税 - 人材机.预算价不含税) * 人材机.数量;
		   ->人材机.拆分 == 1:sum(_过滤乙供子项(),"拆分子项",?#{
		     ->拆分子项.type == "人工" && 拆分子项.物料类材料 == 1:拆分子项.预算价不含税 * 拆分子项.数量 * 拆分子项.@_@人工调差系数 /100;
		     ->(拆分子项.type == "材料" || 拆分子项.type == "机械") && 拆分子项.物料类材料 == 1:(拆分子项.市场价不含税 - 拆分子项.预算价不含税) * 拆分子项.数量;} * 人材机.数量);});
         ->:(工程量.物料类材料费 - 工程量.甲供物料类材料费) * 工程量.@_@材料调差系数 /100;}; 
      ->:#{
         ->(工程量.调差类型 == "建筑" && @工程信息.建筑材机按系数调差 == "否") || (工程量.调差类型 == "建筑拆除" && @工程信息.建筑拆除材机按系数调差 == "否") || (工程量.调差类型 == "建筑修缮" && @工程信息.建筑修缮材机按系数调差 == "否"):sum(_过滤材料(),"人材机",?#{
		   ->人材机.拆分 == 0 && 人材机.供货方 == "乙供" && 人材机.物料类材料 == 1:(人材机.市场价不含税 - 人材机.预算价不含税) * 人材机.数量;
		   ->人材机.拆分 == 1:sum(_过滤乙供子项(),"拆分子项",?#{
		      ->拆分子项.type == "人工" && 拆分子项.物料类材料 == 1:拆分子项.预算价不含税 * 拆分子项.数量 * #{
			    ->工程量.调差类型  == "建筑":@工程信息.建筑人工调差系数 /100;
			    ->工程量.调差类型  == "建筑修缮":@工程信息.建筑修缮人工调差系数 /100;
			    ->工程量.调差类型  == "建筑拆除":@工程信息.建筑拆除人工调差系数 /100;};
		      ->(拆分子项.type == "材料" || 拆分子项.type == "机械") && 拆分子项.物料类材料 == 1:(拆分子项.市场价不含税 - 拆分子项.预算价不含税) * 拆分子项.数量;} * 人材机.数量);});
         ->:(工程量.物料类材料费 - 工程量.甲供物料类材料费) * #{
		   ->工程量.调差类型 == "建筑" && @工程信息.建筑材机按系数调差 == "是":@工程信息.建筑材料调差系数 /100;
		   ->工程量.调差类型 == "建筑拆除" && @工程信息.建筑拆除材机按系数调差 == "是":@工程信息.建筑拆除材料调差系数 /100;
		   ->工程量.调差类型 == "建筑修缮" && @工程信息.建筑修缮材机按系数调差 == "是":@工程信息.建筑修缮材料调差系数 /100;
		   ->工程量.调差类型 == "安装" && @工程信息.项目划分 == "电缆线路工程" && 工程量.专业属性 == "陆上电缆":@工程信息.陆上电缆安装材料调差系数 /100;
		   ->工程量.调差类型 == "安装" && @工程信息.项目划分 == "电缆线路工程" && 工程量.专业属性 == "海底电缆":@工程信息.海底电缆安装材料调差系数 /100;
		   ->工程量.调差类型 == "安装" && @工程信息.项目划分 != "电缆线路工程":@工程信息.安装材料调差系数 /100;
		   ->工程量.调差类型 == "安装拆除" && @工程信息.项目划分 == "电缆线路工程" && 工程量.专业属性 == "陆上电缆":@工程信息.陆上电缆安装拆除材料调差系数 /100;
		   ->工程量.调差类型 == "安装拆除" && @工程信息.项目划分 == "电缆线路工程" && 工程量.专业属性 == "海底电缆":@工程信息.海底电缆安装拆除材料调差系数 /100;
		   ->工程量.调差类型 == "安装拆除" && @工程信息.项目划分 != "电缆线路工程":@工程信息.安装拆除材料调差系数 /100;
		   ->工程量.调差类型 == "设备检修" && @工程信息.项目划分 == "电缆线路工程" && 工程量.专业属性 == "陆上电缆":@工程信息.陆上电缆设备检修材料调差系数 /100;
		   ->工程量.调差类型 == "设备检修" && @工程信息.项目划分 == "电缆线路工程" && 工程量.专业属性 == "海底电缆":@工程信息.海底电缆设备检修材料调差系数 /100;
		   ->工程量.调差类型 == "设备检修" && @工程信息.项目划分 != "电缆线路工程":@工程信息.设备检修材料调差系数 /100;};};
	   };
	   },0))
}
//------------------定额费用：乙供材料_含税-------------------------------------------
BEGIN:乙供材料费含税
${
    sum(_过滤定额(),"工程量",?工程量.数量 * (工程量.材料费_含税 - 工程量.甲供材料费_含税) * 工程量.材料系数 * 工程量.定额系数)
}

BEGIN:乙供材料价差含税
${
   sum(_过滤定额(),"工程量",?iif(工程量.专业类型 != "余物清理",工程量.数量 * 工程量.材料系数 * 工程量.定额系数 * #{
   ->@工程信息.人材机调差方法 == "方法二：人材机按实际单价调差":sum(_过滤材料(),"人材机",?#{
		->人材机.拆分 == 0 && 人材机.供货方 == "乙供":(人材机.市场价含税 - 人材机.预算价含税) * 人材机.数量;
		->人材机.拆分 == 1:sum(_过滤乙供子项(),"拆分子项",?(拆分子项.市场价含税 - 拆分子项.预算价含税) * 拆分子项.数量 * 人材机.数量);});
   ->:
     #{	
      ->@工程信息.工程类型 == "配网" || @工程信息.项目划分 == "输电线路工程":#{
         ->(工程量.调差类型  == "建筑" || 工程量.调差类型  == "建筑拆除" || 工程量.调差类型  == "建筑修缮") && 工程量.@_@材机按系数调差 == "否":sum(_过滤材料(),"人材机",?#{
		   ->人材机.拆分 == 0 && 人材机.供货方 == "乙供":(人材机.市场价含税 - 人材机.预算价含税) * 人材机.数量;
		   ->人材机.拆分 == 1:sum(_过滤乙供子项(),"拆分子项",?#{
		     ->拆分子项.type == "人工":拆分子项.预算价含税 * 拆分子项.数量 * 拆分子项.@_@人工调差系数 /100;
		     ->拆分子项.type == "材料" || 拆分子项.type == "机械":(拆分子项.市场价含税 - 拆分子项.预算价含税) * 拆分子项.数量;} * 人材机.数量);});
         ->:(工程量.材料费_含税 - 工程量.甲供材料费_含税) * 工程量.@_@材料调差系数 /100;}; 
      ->:#{
         ->(工程量.调差类型 == "建筑" && @工程信息.建筑材机按系数调差 == "否") || (工程量.调差类型 == "建筑拆除" && @工程信息.建筑拆除材机按系数调差 == "否") || (工程量.调差类型 == "建筑修缮" && @工程信息.建筑修缮材机按系数调差 == "否"):sum(_过滤材料(),"人材机",?#{
		   ->人材机.拆分 == 0 && 人材机.供货方 == "乙供":(人材机.市场价含税 - 人材机.预算价含税) * 人材机.数量;
		   ->人材机.拆分 == 1:sum(_过滤乙供子项(),"拆分子项",?#{
		      ->拆分子项.type == "人工":拆分子项.预算价含税 * 拆分子项.数量 * #{
			    ->工程量.调差类型  == "建筑":@工程信息.建筑人工调差系数 /100;
			    ->工程量.调差类型  == "建筑修缮":@工程信息.建筑修缮人工调差系数 /100;
			    ->工程量.调差类型  == "建筑拆除":@工程信息.建筑拆除人工调差系数 /100;};
		      ->拆分子项.type == "材料" || 拆分子项.type == "机械":(拆分子项.市场价含税 - 拆分子项.预算价含税) * 拆分子项.数量;} * 人材机.数量);});
         ->:(工程量.材料费_含税 - 工程量.甲供材料费_含税) * #{
		   ->工程量.调差类型 == "建筑" && @工程信息.建筑材机按系数调差 == "是":@工程信息.建筑材料调差系数 /100;
		   ->工程量.调差类型 == "建筑拆除" && @工程信息.建筑拆除材机按系数调差 == "是":@工程信息.建筑拆除材料调差系数 /100;
		   ->工程量.调差类型 == "建筑修缮" && @工程信息.建筑修缮材机按系数调差 == "是":@工程信息.建筑修缮材料调差系数 /100;
		   ->工程量.调差类型 == "安装" && @工程信息.项目划分 == "电缆线路工程" && 工程量.专业属性 == "陆上电缆":@工程信息.陆上电缆安装材料调差系数 /100;
		   ->工程量.调差类型 == "安装" && @工程信息.项目划分 == "电缆线路工程" && 工程量.专业属性 == "海底电缆":@工程信息.海底电缆安装材料调差系数 /100;
		   ->工程量.调差类型 == "安装" && @工程信息.项目划分 != "电缆线路工程":@工程信息.安装材料调差系数 /100;
		   ->工程量.调差类型 == "安装拆除" && @工程信息.项目划分 == "电缆线路工程" && 工程量.专业属性 == "陆上电缆":@工程信息.陆上电缆安装拆除材料调差系数 /100;
		   ->工程量.调差类型 == "安装拆除" && @工程信息.项目划分 == "电缆线路工程" && 工程量.专业属性 == "海底电缆":@工程信息.海底电缆安装拆除材料调差系数 /100;
		   ->工程量.调差类型 == "安装拆除" && @工程信息.项目划分 != "电缆线路工程":@工程信息.安装拆除材料调差系数 /100;
		   ->工程量.调差类型 == "设备检修" && @工程信息.项目划分 == "电缆线路工程" && 工程量.专业属性 == "陆上电缆":@工程信息.陆上电缆设备检修材料调差系数 /100;
		   ->工程量.调差类型 == "设备检修" && @工程信息.项目划分 == "电缆线路工程" && 工程量.专业属性 == "海底电缆":@工程信息.海底电缆设备检修材料调差系数 /100;
		   ->工程量.调差类型 == "设备检修" && @工程信息.项目划分 != "电缆线路工程":@工程信息.设备检修材料调差系数 /100;};};
	   };
	   },0))
}

//------------------定额费用：机械费------------------------------------------
BEGIN:_机械费_不含特殊费
${
    sum(_过滤定额(),"工程量",?工程量.数量 * 工程量.机械费 * 工程量.机械系数 * 工程量.定额系数)
}

BEGIN:_机械价差_不含特殊费
${
   sum(_过滤定额(),"工程量",?iif(工程量.专业类型 != "余物清理",工程量.数量 * 工程量.机械系数 * 工程量.定额系数 * #{
   ->@工程信息.人材机调差方法 == "方法二：人材机按实际单价调差":sum(_过滤机械(),"人材机",?(人材机.市场价不含税 - 人材机.预算价不含税) * 人材机.数量);
   ->:#{
      ->@工程信息.工程类型 == "配网" || @工程信息.项目划分 == "输电线路工程":
       #{
        ->(工程量.调差类型 == "建筑" || 工程量.调差类型 == "建筑拆除" || 工程量.调差类型 == "建筑修缮") && 工程量.@_@材机按系数调差 == "否":sum(_过滤机械(),"人材机",?(人材机.市场价不含税 - 人材机.预算价不含税) * 人材机.数量);
        ->:工程量.机械费 * 工程量.@_@机械调差系数 /100;
       };
      ->:
       #{
        ->(工程量.调差类型  == "建筑" && @工程信息.建筑材机按系数调差 == "否") || (工程量.调差类型  == "建筑拆除" && @工程信息.建筑拆除材机按系数调差 == "否") || (工程量.调差类型  == "建筑修缮" && @工程信息.建筑修缮材机按系数调差 == "否"):sum(_过滤机械(),"人材机",?(人材机.市场价不含税 - 人材机.预算价不含税) * 人材机.数量);
        ->:工程量.机械费 * #{
	      ->工程量.调差类型 == "建筑" && @工程信息.建筑材机按系数调差 == "是":@工程信息.建筑机械调差系数 /100;
	      ->工程量.调差类型 == "建筑拆除" && @工程信息.建筑拆除材机按系数调差 == "是":@工程信息.建筑拆除机械调差系数 /100;
	      ->工程量.调差类型 == "建筑修缮" && @工程信息.建筑修缮材机按系数调差 == "是":@工程信息.建筑修缮机械调差系数 /100;
	      ->工程量.调差类型 == "安装" && @工程信息.项目划分 == "电缆线路工程" && 工程量.专业属性 == "陆上电缆":@工程信息.陆上电缆安装机械调差系数 /100;
	      ->工程量.调差类型 == "安装" && @工程信息.项目划分 == "电缆线路工程" && 工程量.专业属性 == "海底电缆":@工程信息.海底电缆安装机械调差系数 /100;
	      ->工程量.调差类型 == "安装" && @工程信息.项目划分 != "电缆线路工程":@工程信息.安装机械调差系数 /100;
	      ->工程量.调差类型 == "安装拆除" && @工程信息.项目划分 == "电缆线路工程" && 工程量.专业属性 == "陆上电缆":@工程信息.陆上电缆安装拆除机械调差系数 /100;
	      ->工程量.调差类型 == "安装拆除" && @工程信息.项目划分 == "电缆线路工程" && 工程量.专业属性 == "海底电缆":@工程信息.海底电缆安装拆除机械调差系数 /100;
	      ->工程量.调差类型 == "安装拆除" && @工程信息.项目划分 != "电缆线路工程":@工程信息.安装拆除机械调差系数 /100;
	      ->工程量.调差类型 == "设备检修" && @工程信息.项目划分 == "电缆线路工程" && 工程量.专业属性 == "陆上电缆":@工程信息.陆上电缆设备检修机械调差系数 /100;
	      ->工程量.调差类型 == "设备检修" && @工程信息.项目划分 == "电缆线路工程" && 工程量.专业属性 == "海底电缆":@工程信息.海底电缆设备检修机械调差系数 /100;
	      ->工程量.调差类型 == "设备检修" && @工程信息.项目划分 != "电缆线路工程":@工程信息.设备检修机械调差系数 /100;
		};
    };};},0))
}

//------------------混凝土施工增加费-------------------------------------------
BEGIN:混凝土施工调整费
${
   ?混凝土施工调整人工费()+混凝土施工调整材料费()+混凝土施工调整机械费()
}

BEGIN:混凝土施工调整人工费
${
    sum(_过滤定额(),"工程量", ?sum(_过滤材料(),"材料",?
    #{
	->工程量.浇捣方式 == "" || 工程量.浇捣方式 == "集中搅拌站"
	  :0;
	->工程量.定额范围 == "概算" && in(材料.编码,"C09032001~09032315") && (工程量.调差类型 == "建筑措施二" || 工程量.调差类型=="建筑" || 工程量.调差类型=="建筑修缮措施二"  || 工程量.调差类型=="建筑修缮" || (@工程信息.工程性质=="检修" && 工程量.调差类型=="建筑拆除"))
	  :
	  材料.数量* 工程量.数量 * 工程量.材料系数 * 工程量.定额系数 * #{
	  ->工程量.浇捣方式 == "集中搅拌站+泵车"
		: 
		80/100 * (-11.4);
	  ->工程量.浇捣方式 == "现场搅拌机"
		:
		12.6;
	  ->工程量.浇捣方式 == "现场搅拌机+泵车"
		:
		(80/100 * (-11.4)+12.6);
	  };
	->工程量.定额范围 == "预算" && in(材料.编码,"C09032401~09032431,C09031601~09031915,C09032001~09032315")  && (工程量.调差类型 == "建筑措施二" || 工程量.调差类型=="建筑" || 工程量.调差类型=="建筑修缮措施二"  || 工程量.调差类型=="建筑修缮" || (@工程信息.工程性质=="检修" && 工程量.调差类型=="建筑拆除"))
	  :
	  #{
	  ->工程量.浇捣方式 == "集中搅拌站+泵车" || 工程量.浇捣方式 == "现场搅拌机+泵车"
	    :
		材料.数量* 工程量.数量 * 工程量.材料系数 * 工程量.定额系数 * (-11.4);
	  ->:0;
	  };
	}))
}

BEGIN:混凝土施工调整人工价差
${
    sum(_过滤定额(),"工程量", ?sum(_过滤材料(),"材料",?
    #{
	->工程量.浇捣方式 == "" || 工程量.浇捣方式 == "集中搅拌站"
	  :0;
	->工程量.定额范围 == "概算" && in(材料.编码,"C09032001~09032315")  && (工程量.调差类型 == "建筑措施二" || 工程量.调差类型=="建筑" || 工程量.调差类型=="建筑修缮措施二"  || 工程量.调差类型=="建筑修缮" || (@工程信息.工程性质=="检修" && 工程量.调差类型=="建筑拆除"))
	  :
	  材料.数量* 工程量.数量 * 工程量.材料系数 * 工程量.定额系数 * #{
	  ->工程量.浇捣方式 == "集中搅拌站+泵车"
	    : 
	    80/100 * (-11.4);
	  ->工程量.浇捣方式 == "现场搅拌机"
	    :
	    12.6;
	  ->工程量.浇捣方式 == "现场搅拌机+泵车"
	    :
	    (80/100 * (-11.4)+12.6);
		};
	->工程量.定额范围 == "预算" && in(材料.编码,"C09032401~09032431,C09031601~09031915,C09032001~09032315")  && (工程量.调差类型 == "建筑措施二" || 工程量.调差类型=="建筑" || 工程量.调差类型=="建筑修缮措施二"  || 工程量.调差类型=="建筑修缮" || (@工程信息.工程性质=="检修" && 工程量.调差类型=="建筑拆除"))
	  :
	  #{
	  ->工程量.浇捣方式 == "集中搅拌站+泵车" || 工程量.浇捣方式 == "现场搅拌机+泵车"
	    :
	    材料.数量* 工程量.数量 * 工程量.材料系数 * 工程量.定额系数 * (-11.4);
	  ->:0;		
		};
	}) * #{
	->@工程信息.人材机调差方法 == "方法二：人材机按实际单价调差":0;
	->:
	 #{
	  ->@工程信息.工程类型 == "配网":工程量.@_@人工调差系数 /100;
	  ->:
	   #{
       ->工程量.调差类型 == "建筑":@工程信息.建筑人工调差系数 /100;
       ->工程量.调差类型 == "建筑修缮":@工程信息.建筑修缮人工调差系数 /100;
       ->工程量.调差类型 == "建筑拆除":@工程信息.建筑拆除人工调差系数 /100;
        };};})
}

BEGIN:混凝土施工调整材料费
${
    sum(_过滤定额(),"工程量",?sum(_过滤材料(),"材料",?
	#{
	->工程量.浇捣方式 == "" || 工程量.浇捣方式 == "集中搅拌站" || 工程量.浇捣方式 == "现场搅拌机"
	  :0;
	->工程量.定额范围 == "概算" && in(材料.编码,"C09032001~09032315") && (工程量.调差类型 == "建筑措施二" || 工程量.调差类型=="建筑" || 工程量.调差类型=="建筑修缮措施二"  || 工程量.调差类型=="建筑修缮" || (@工程信息.工程性质=="检修" && 工程量.调差类型=="建筑拆除"))
	  :
	  #{
	  ->工程量.浇捣方式 == "集中搅拌站+泵车" || 工程量.浇捣方式 == "现场搅拌机+泵车"
	    :
		材料.数量* 工程量.数量 * 工程量.材料系数 * 工程量.定额系数 * 80/100 * 18.5;
		};
	->工程量.定额范围 == "预算" && in(材料.编码,"C09032401~09032431,C09031601~09031915,C09032001~09032315") && (工程量.调差类型 == "建筑措施二" || 工程量.调差类型=="建筑" || 工程量.调差类型=="建筑修缮措施二"  || 工程量.调差类型=="建筑修缮" || (@工程信息.工程性质=="检修" && 工程量.调差类型=="建筑拆除"))
	  :
	  #{
	  ->工程量.浇捣方式 == "集中搅拌站+泵车" || 工程量.浇捣方式 == "现场搅拌机+泵车"
	    :
		材料.数量* 工程量.数量 * 工程量.材料系数 * 工程量.定额系数 * 18.5;
		};
	}))
}

BEGIN:混凝土施工调整材料价差
${
    sum(_过滤定额(),"工程量",?sum(_过滤材料(),"材料",?
	#{
	->工程量.浇捣方式 == "" || 工程量.浇捣方式 == "集中搅拌站" || 工程量.浇捣方式 == "现场搅拌机"
	  :0;
	->工程量.定额范围 == "概算" && in(材料.编码,"C09032001~09032315") && (工程量.调差类型 == "建筑措施二" || 工程量.调差类型=="建筑" || 工程量.调差类型=="建筑修缮措施二"  || 工程量.调差类型=="建筑修缮" || (@工程信息.工程性质=="检修" && 工程量.调差类型=="建筑拆除"))
	  :
	  #{
	  ->工程量.浇捣方式 == "集中搅拌站+泵车" || 工程量.浇捣方式 == "现场搅拌机+泵车"
	    :
		材料.数量* 工程量.数量 * 工程量.材料系数 * 工程量.定额系数 * 80/100 * 18.5;
		};
	->工程量.定额范围 == "预算" && in(材料.编码,"C09032401~09032431,C09031601~09031915,C09032001~09032315") && (工程量.调差类型 == "建筑措施二" || 工程量.调差类型=="建筑" || 工程量.调差类型=="建筑修缮措施二"  || 工程量.调差类型=="建筑修缮" || (@工程信息.工程性质=="检修" && 工程量.调差类型=="建筑拆除"))
	  :
	  #{
	  ->工程量.浇捣方式 == "集中搅拌站+泵车" || 工程量.浇捣方式 == "现场搅拌机+泵车"
	    :
		材料.数量* 工程量.数量 * 工程量.材料系数 * 工程量.定额系数 * 18.5;
		};
	}) * #{
	->@工程信息.人材机调差方法 == "方法二：人材机按实际单价调差":0;
	->:#{
	  ->@工程信息.工程类型 == "配网" && 工程量.@_@材机按系数调差 == "是":工程量.@_@材料调差系数 /100;
	  ->:
	   #{
       ->工程量.调差类型 == "建筑" && @工程信息.建筑材机按系数调差 == "是":@工程信息.建筑材料调差系数 /100;
       ->工程量.调差类型 == "建筑修缮" && @工程信息.建筑修缮材机按系数调差 == "是":@工程信息.建筑修缮材料调差系数 /100;
       ->工程量.调差类型 == "建筑拆除" && @工程信息.建筑拆除材机按系数调差 == "是":@工程信息.建筑拆除材料调差系数 /100;
       };};})
}

BEGIN:混凝土施工调整机械费
${
    sum(_过滤定额(),"工程量",?sum(_过滤材料(),"材料",?
    #{
	->工程量.浇捣方式 == "" || 工程量.浇捣方式 == "集中搅拌站"
	  :0;
	->工程量.定额范围 == "概算" && in(材料.编码,"C09032001~09032315") && (工程量.调差类型 == "建筑措施二" || 工程量.调差类型=="建筑" || 工程量.调差类型=="建筑修缮措施二"  || 工程量.调差类型=="建筑修缮" || (@工程信息.工程性质=="检修" && 工程量.调差类型=="建筑拆除"))
	  :
	  材料.数量* 工程量.数量 * 工程量.材料系数 * 工程量.定额系数 * #{
	  ->工程量.浇捣方式 == "集中搅拌站+泵车" 
	    :
	    80/100 * 8.5;
	  ->工程量.浇捣方式 == "现场搅拌机"
	    :
	    (-8.1);
	  ->工程量.浇捣方式 == "现场搅拌机+泵车"
	    :
	    (80/100 * 8.5+(-8.1));
		};
	->工程量.定额范围 == "预算" && in(材料.编码,"C09032401~09032431,C09031601~09031915,C09032001~09032315") && (工程量.调差类型 == "建筑措施二" || 工程量.调差类型=="建筑" || 工程量.调差类型=="建筑修缮措施二"  || 工程量.调差类型=="建筑修缮" || (@工程信息.工程性质=="检修" && 工程量.调差类型=="建筑拆除"))
	  :
	  #{
	  ->工程量.浇捣方式 == "集中搅拌站+泵车" || 工程量.浇捣方式 == "现场搅拌机+泵车" 
	    :
	    材料.数量* 工程量.数量 * 工程量.材料系数 * 工程量.定额系数 * 8.5;
	  ->:0;
		};
	}))
}

BEGIN:混凝土施工调整机械价差
${
    sum(_过滤定额(),"工程量",?sum(_过滤材料(),"材料",?
    #{
	->工程量.浇捣方式 == "" || 工程量.浇捣方式 == "集中搅拌站"
	  :0;
	->工程量.定额范围 == "概算" && in(材料.编码,"C09032001~09032315") && (工程量.调差类型 == "建筑措施二" || 工程量.调差类型=="建筑" || 工程量.调差类型=="建筑修缮措施二"  || 工程量.调差类型=="建筑修缮" || (@工程信息.工程性质=="检修" && 工程量.调差类型=="建筑拆除"))
	  :
	  材料.数量* 工程量.数量 * 工程量.材料系数 * 工程量.定额系数 * #{
	  ->工程量.浇捣方式 == "集中搅拌站+泵车" 
	    :
	    80/100 * 8.5;
	  ->工程量.浇捣方式 == "现场搅拌机"
	    :
	    (-8.1);
	  ->工程量.浇捣方式 == "现场搅拌机+泵车"
	    :
	    (80/100 * 8.5+(-8.1));
		};
	->工程量.定额范围 == "预算" && in(材料.编码,"C09032401~09032431,C09031601~09031915,C09032001~09032315") && (工程量.调差类型 == "建筑措施二" || 工程量.调差类型=="建筑" || 工程量.调差类型=="建筑修缮措施二"  || 工程量.调差类型=="建筑修缮" || (@工程信息.工程性质=="检修" && 工程量.调差类型=="建筑拆除"))
	  :
	  #{
	  ->工程量.浇捣方式 == "集中搅拌站+泵车" || 工程量.浇捣方式 == "现场搅拌机+泵车" 
	    :
	    材料.数量* 工程量.数量 * 工程量.材料系数 * 工程量.定额系数 * 8.5;
	  ->:0;
		};
	})  * #{
	->@工程信息.人材机调差方法 == "方法二：人材机按实际单价调差":0;
	->:#{
	  ->@工程信息.工程类型 == "配网" && 工程量.@_@材机按系数调差 == "是":工程量.@_@机械调差系数 /100;
	  ->:
	   #{
       ->工程量.调差类型 == "建筑" && @工程信息.建筑材机按系数调差 == "是":@工程信息.建筑机械调差系数 /100;
       ->工程量.调差类型 == "建筑修缮" && @工程信息.建筑修缮材机按系数调差 == "是":@工程信息.建筑修缮机械调差系数 /100;
       ->工程量.调差类型 == "建筑拆除" && @工程信息.建筑拆除材机按系数调差 == "是":@工程信息.建筑拆除机械调差系数 /100;
       };};})
}

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

BEGIN:脚手架人工费
${
    sum(_过滤定额(),"工程量", ?#{
    ->工程量.脚手架计取 == "" && 工程量.脚手架计取 == "不计取"
      :0;
	->工程量.脚手架计取 == "计取"
      :
      #{
      ->工程量.调差类型 == "建筑" || 工程量.调差类型 == "建筑修缮" || 工程量.调差类型 == "建筑拆除"
		:
		工程量.数量 * 工程量.人工费 * 工程量.人工系数 * 工程量.定额系数 * 5/100 * 40/100;
	  };
	->:0;})
}

BEGIN:脚手架人工价差
${
    sum(_过滤定额(),"工程量", ?#{
    ->工程量.脚手架计取 == "" && 工程量.脚手架计取 == "不计取"
      :0;
	->工程量.脚手架计取 == "计取"
      :
      #{
      ->工程量.调差类型 == "建筑" || 工程量.调差类型 == "建筑修缮" || 工程量.调差类型 == "建筑拆除"
		:
		工程量.数量 * 工程量.人工费 * 工程量.人工系数 * 工程量.定额系数 * 5/100 * 40/100;
	  };
	->:0;}  * #{
	->@工程信息.人材机调差方法 == "方法二：人材机按实际单价调差":0;
	->:#{
	  ->@工程信息.工程类型 == "配网":工程量.@_@人工调差系数 /100;
	  ->:
	   #{
       ->工程量.调差类型 == "建筑":@工程信息.建筑人工调差系数 /100;
       ->工程量.调差类型 == "建筑修缮":@工程信息.建筑修缮人工调差系数 /100;
       ->工程量.调差类型 == "建筑拆除":@工程信息.建筑拆除人工调差系数 /100;
       };};})
}

BEGIN:脚手架材料费
${
    sum(_过滤定额(),"工程量",?
    #{
    ->工程量.脚手架计取 == "" && 工程量.脚手架计取 == "不计取"
      :0;
    ->工程量.脚手架计取 == "计取"
      :
      #{
      ->工程量.调差类型 == "建筑" || 工程量.调差类型 == "建筑修缮" || 工程量.调差类型 == "建筑拆除"
		:
        工程量.数量 * 工程量.人工费 * 工程量.人工系数 * 工程量.定额系数 * 5/100 * 50/100;
	  };
    ->:0;
    })
}

BEGIN:脚手架材料价差
${
    sum(_过滤定额(),"工程量",?
    #{
    ->工程量.脚手架计取 == "" && 工程量.脚手架计取 == "不计取"
      :0;
    ->工程量.脚手架计取 == "计取"
      :
      #{
      ->工程量.调差类型 == "建筑" || 工程量.调差类型 == "建筑修缮" || 工程量.调差类型 == "建筑拆除"
		:
        工程量.数量 * 工程量.人工费 * 工程量.人工系数 * 工程量.定额系数 * 5/100 * 50/100;
	};
    ->:0;
    } * #{
	->@工程信息.人材机调差方法 == "方法二：人材机按实际单价调差":0;
	->:#{
	  ->@工程信息.工程类型 == "配网" && 工程量.@_@材机按系数调差 == "是":工程量.@_@材料调差系数 /100;
	  ->:
	   #{
       ->工程量.调差类型 == "建筑" && @工程信息.建筑材机按系数调差 == "是":@工程信息.建筑材料调差系数 /100;
       ->工程量.调差类型 == "建筑修缮" && @工程信息.建筑修缮材机按系数调差 == "是":@工程信息.建筑修缮材料调差系数 /100;
       ->工程量.调差类型 == "建筑拆除" && @工程信息.建筑拆除材机按系数调差 == "是":@工程信息.建筑拆除材料调差系数 /100;
       };};})
}

BEGIN:脚手架机械费
${
    sum(_过滤定额(),"工程量",?
    #{
    ->工程量.脚手架计取 == "" && 工程量.脚手架计取 == "不计取"
      :0;
    ->工程量.脚手架计取 == "计取"
      :      
      #{
	  ->工程量.调差类型 == "建筑" || 工程量.调差类型 == "建筑修缮" || 工程量.调差类型 == "建筑拆除"
		:
		工程量.数量 * 工程量.人工费 * 工程量.人工系数 * 工程量.定额系数 *  5/100 * 10/100;
	   };
    ->:0;})
}

BEGIN:脚手架机械价差
${
    sum(_过滤定额(),"工程量",?
    #{
    ->工程量.脚手架计取 == "" && 工程量.脚手架计取 == "不计取"
      :0;
    ->工程量.脚手架计取 == "计取"
      :      
      #{
	  ->工程量.调差类型 == "建筑" || 工程量.调差类型 == "建筑修缮" || 工程量.调差类型 == "建筑拆除"
		:
		工程量.数量 * 工程量.人工费 * 工程量.人工系数 * 工程量.定额系数 *  5/100 * 10/100;
	  };
    ->:0;} * #{
	->@工程信息.人材机调差方法 == "方法二：人材机按实际单价调差":0;
	->:#{	
	  ->@工程信息.工程类型 == "配网" && 工程量.@_@材机按系数调差 == "是":工程量.@_@机械调差系数 /100;
	  ->:
	   #{	
       ->工程量.调差类型 == "建筑" && @工程信息.建筑材机按系数调差 == "是":@工程信息.建筑机械调差系数 /100;
       ->工程量.调差类型 == "建筑修缮" && @工程信息.建筑修缮材机按系数调差 == "是":@工程信息.建筑修缮机械调差系数 /100;
       ->工程量.调差类型 == "建筑拆除" && @工程信息.建筑拆除材机按系数调差 == "是":@工程信息.建筑拆除机械调差系数 /100;
       };};})
}

//------------------调试费计算-------------------------------------------
BEGIN:调试人工费
${
    sum(_过滤定额(),"工程量",?
    #{
    ->工程量.调试费计取 == "" && 工程量.调试费计取 == "不计取"
      :0;	
    ->工程量.调试费计取  == "计取" && (工程量.调差类型 == "建筑措施二" || 工程量.调差类型=="建筑" || 工程量.调差类型=="建筑修缮措施二"  || 工程量.调差类型=="建筑修缮" || (@工程信息.工程性质=="检修" && 工程量.调差类型=="建筑拆除"))
      :
	  工程量.数量 * 工程量.人工费 * 工程量.定额系数 * 工程量.人工系数 * #{                 
	  ->in(工程量.编码,"JYT16-128~170"):10/100 * 40/100;
	  ->in(工程量.编码,"JYT17-1~189"):18/100 * 55/100;
	  ->in(工程量.编码,"JYT18-1~195"):13/100 * 55/100 * #{
		->in(工程量.编码,"JYT18-1~15,JYT18-25~28,JYT18-185~189"):40/100;
		->in(工程量.编码,"JYT18-123~132"):25/100;
		->in(工程量.编码,"JYT18-133~134"):14/100;
		->in(工程量.编码,"JYT18-163~170"):28/100;
		->:1;};
	  ->in(工程量.编码,"JYT19-1~79"):15/100 * 50/100;
		};
    ->:0;						
    })
}

BEGIN:调试人工价差
${
    sum(_过滤定额(),"工程量", ?
	#{
    ->工程量.调试费计取 == "" && 工程量.调试费计取 == "不计取"
      :0;	
    ->工程量.调试费计取  == "计取" && (工程量.调差类型 == "建筑措施二" || 工程量.调差类型=="建筑" || 工程量.调差类型=="建筑修缮措施二"  || 工程量.调差类型=="建筑修缮" || (@工程信息.工程性质=="检修" && 工程量.调差类型=="建筑拆除"))
      :
	  工程量.数量 * 工程量.人工费 * 工程量.定额系数 * 工程量.人工系数 * #{                    
	  ->in(工程量.编码,"JYT16-128~170"):10/100 * 40/100;
	  ->in(工程量.编码,"JYT17-1~189"):18/100 * 55/100;
	  ->in(工程量.编码,"JYT18-1~195"):13/100 * 55/100 * #{ 
		->in(工程量.编码,"JYT18-1~15,JYT18-25~28,JYT18-185~189"):40/100;
		->in(工程量.编码,"JYT18-123~132"):25/100;
		->in(工程量.编码,"JYT18-133~134"):14/100;
		->in(工程量.编码,"JYT18-163~170"):28/100;
		->:1;};
	  ->in(工程量.编码,"JYT19-1~79"):15/100 * 50/100;
		};
    ->:0;						
    }* #{
	->@工程信息.人材机调差方法 == "方法二：人材机按实际单价调差":0;
	->:#{
	  ->@工程信息.工程类型 == "配网":工程量.@_@人工调差系数 /100;
	  ->:
	   #{	
       ->工程量.调差类型 == "建筑":@工程信息.建筑人工调差系数 /100;
       ->工程量.调差类型 == "建筑修缮":@工程信息.建筑修缮人工调差系数 /100;
       ->工程量.调差类型 == "建筑拆除":@工程信息.建筑拆除人工调差系数 /100;
       };};})
}

BEGIN:调试材料费
${
    sum(_过滤定额(),"工程量",?
	#{
    ->工程量.调试费计取 == "" && 工程量.调试费计取 == "不计取"
      :0;
    ->工程量.调试费计取  == "计取" && (工程量.调差类型 == "建筑措施二" || 工程量.调差类型=="建筑" || 工程量.调差类型=="建筑修缮措施二"  || 工程量.调差类型=="建筑修缮" || (@工程信息.工程性质=="检修" && 工程量.调差类型=="建筑拆除"))
      :
      工程量.数量 * 工程量.人工费 * 工程量.定额系数 * 工程量.人工系数 * #{
	  ->in(工程量.编码,"JYT16-128~170"):10/100 * 20/100;
	  ->in(工程量.编码,"JYT17-1~189"):18/100 * 20/100;
	  ->in(工程量.编码,"JYT18-1~195"):13/100 * 20/100 * #{ 
		->in( 工程量.编码,"JYT18-1~15,JYT18-25~28,JYT18-185~189" ):40/100;
		->in( 工程量.编码,"JYT18-123~132"):25/100;
		->in( 工程量.编码,"JYT18-133~134"):14/100;
		->in( 工程量.编码,"JYT18-163~170"):28/100;
		->:1;};
	  ->in(工程量.编码,"JYT19-1~79"):15/100 * 30/100;					
	};
    ->:0;})
}

BEGIN:调试材料价差
${
    sum(_过滤定额(),"工程量",?
	#{
    ->工程量.调试费计取 == "" && 工程量.调试费计取 == "不计取"
      :0;
    ->工程量.调试费计取  == "计取" && (工程量.调差类型 == "建筑措施二" || 工程量.调差类型=="建筑" || 工程量.调差类型=="建筑修缮措施二"  || 工程量.调差类型=="建筑修缮" || (@工程信息.工程性质=="检修" && 工程量.调差类型=="建筑拆除"))
      :
      工程量.数量 * 工程量.人工费 * 工程量.定额系数 * 工程量.人工系数 * #{
	  ->in(工程量.编码,"JYT16-128~170"):10/100 * 20/100;
	  ->in(工程量.编码,"JYT17-1~189"):18/100 * 20/100;
	  ->in(工程量.编码,"JYT18-1~195"):13/100 * 20/100 * #{ 
		->in( 工程量.编码,"JYT18-1~15,JYT18-25~28,JYT18-185~189"):40/100;
		->in( 工程量.编码,"JYT18-123~132"):25/100;
		->in( 工程量.编码,"JYT18-133~134"):14/100;
		->in( 工程量.编码,"JYT18-163~170"):28/100;
		->:1;};
	  ->in(工程量.编码,"JYT19-1~79"):15/100 * 30/100;					
	};
    ->:0;} * #{
	->@工程信息.人材机调差方法 == "方法二：人材机按实际单价调差":0;
	->:#{	
	  ->@工程信息.工程类型 == "配网" && 工程量.@_@材机按系数调差 == "是":工程量.@_@材料调差系数 /100;
	  ->:
	   #{	
       ->工程量.调差类型 == "建筑" && @工程信息.建筑材机按系数调差 == "是":@工程信息.建筑材料调差系数 /100;
       ->工程量.调差类型 == "建筑修缮" && @工程信息.建筑修缮材机按系数调差 == "是":@工程信息.建筑修缮材料调差系数 /100;
       ->工程量.调差类型 == "建筑拆除" && @工程信息.建筑拆除材机按系数调差 == "是":@工程信息.建筑拆除材料调差系数 /100;
        };};})
}

BEGIN:调试机械费
${
    sum(_过滤定额(),"工程量",?
	#{
    ->工程量.调试费计取 == "" && 工程量.调试费计取 == "不计取"
      :0;
    ->工程量.调试费计取  == "计取" && (工程量.调差类型 == "建筑措施二" || 工程量.调差类型=="建筑" || 工程量.调差类型=="建筑修缮措施二"  || 工程量.调差类型=="建筑修缮" || (@工程信息.工程性质=="检修" && 工程量.调差类型=="建筑拆除"))
      :
      工程量.数量 * 工程量.人工费 * 工程量.定额系数 * 工程量.人工系数 * #{
	  ->in(工程量.编码,"JYT16-128~170"):10/100 * 40/100;
	  ->in(工程量.编码,"JYT17-1~189"):18/100 * 25/100;
	  ->in(工程量.编码,"JYT18-1~195"):13/100 * 25/100 * #{ 
		->in(工程量.编码,"JYT18-1~15,JYT18-25~28,JYT18-185~189"):40/100;
		->in(工程量.编码,"JYT18-123~132"):25/100;
		->in(工程量.编码,"JYT18-133~134"):14/100;
		->in(工程量.编码,"JYT18-163~170"):28/100;
		->:1;};
	  ->in(工程量.编码,"JYT19-1~79"):15/100 * 20/100;
	  };
	  ->:0;})		 
}

BEGIN:调试机械价差
${
    sum(_过滤定额(),"工程量",?
	#{
    ->工程量.调试费计取 == "" && 工程量.调试费计取 == "不计取"
      :0;
    ->工程量.调试费计取  == "计取" && (工程量.调差类型 == "建筑措施二" || 工程量.调差类型=="建筑" || 工程量.调差类型=="建筑修缮措施二"  || 工程量.调差类型=="建筑修缮" || (@工程信息.工程性质=="检修" && 工程量.调差类型=="建筑拆除"))
      :
      工程量.数量 * 工程量.人工费 * 工程量.定额系数 * 工程量.人工系数 * #{
	  ->in(工程量.编码,"JYT16-128~170"):10/100 * 40/100;
	  ->in(工程量.编码,"JYT17-1~189"):18/100 * 25/100;
	  ->in(工程量.编码,"JYT18-1~195"):13/100 * 25/100 * #{ 
		->in(工程量.编码,"JYT18-1~15,JYT18-25~28,JYT18-185~189"):40/100;
		->in(工程量.编码,"JYT18-123~132"):25/100;
		->in(工程量.编码,"JYT18-133~134"):14/100;
		->in(工程量.编码,"JYT18-163~170"):28/100;
		->:1;};
	  ->in(工程量.编码,"JYT19-1~79"):15/100 * 20/100;
	  };
	  ->:0;} * #{
	->@工程信息.人材机调差方法 == "方法二：人材机按实际单价调差":0;
	->:#{
	  ->@工程信息.工程类型 == "配网" && 工程量.@_@材机按系数调差 == "是":工程量.@_@机械调差系数 /100;
	  ->:
	   #{	  
       ->工程量.调差类型 == "建筑" && @工程信息.建筑材机按系数调差 == "是":@工程信息.建筑机械调差系数 /100;
       ->工程量.调差类型 == "建筑修缮" && @工程信息.建筑修缮材机按系数调差 == "是":@工程信息.建筑修缮机械调差系数 /100;
       ->工程量.调差类型 == "建筑拆除" && @工程信息.建筑拆除材机按系数调差 == "是":@工程信息.建筑拆除机械调差系数 /100;
       };};})		 
}

//------------------过滤条件----------------------------------------------
BEGIN:_过滤一笔性费用
${
    filter(source,"工程量",?工程量.type =="一笔性费用" )
}

BEGIN:_过滤自定义应急措施费
${
    filter(source,"工程量",?工程量.type =="自定义应急措施费" )
}

BEGIN:_过滤主材
${
    filter(source,"工程量",?
	#{
    ->@工程信息.工程性质 == "技改"
	:
	工程量.type =="主材" && 工程量.设备性材料 == 0;
	->@工程信息.工程性质 == "检修"
	:
	工程量.type =="配件" && 工程量.配件类型 == "主材";
   })	
}

BEGIN:_过滤设备性材料
${
	filter(source,"工程量",?@工程信息.工程性质 == "技改" &&  工程量.type =="主材" && 工程量.设备性材料 == 1)
}

BEGIN:_过滤甲供设备
${ 
	filter(source,"工程量",?#{
    ->@工程信息.工程性质 == "技改"
	:
	工程量.type =="设备" && 工程量.供货方 == "甲供";
	->@工程信息.工程性质 == "检修"
	:
	工程量.type =="配件" && 工程量.配件类型 == "配件" && 工程量.供货方 == "甲供";
    })	
}

BEGIN:_过滤乙供设备
${
	filter(source,"工程量",?#{
    ->@工程信息.工程性质 == "技改"
	:
	工程量.type =="设备" && 工程量.供货方 == "乙供";
	->@工程信息.工程性质 == "检修"
	:
	工程量.type =="配件" && 工程量.配件类型 == "配件" && 工程量.供货方 == "乙供";
    })
}

BEGIN:_过滤定额
${
    filter(source,"工程量",?工程量.type =="定额")
}

BEGIN:_过滤人工
${
    filter(items,"人材机",?人材机.type == "人工")
}

BEGIN:_过滤材料
${
    filter(items,"人材机",?人材机.type == "材料")
}

BEGIN:_过滤机械
${
    filter(items,"人材机",?人材机.type == "机械")
}

BEGIN:_过滤甲供子项
${
    filter(items,"子项",?子项.供货方 == "甲供")
}

BEGIN:_过滤甲供配送子项
${
    filter(items,"子项",?子项.供货方 == "甲供" && 子项.集中配送 == "1")
}

BEGIN:_过滤甲供卸车子项
${
    filter(items,"子项",?子项.供货方 == "甲供" && 子项.卸车 == "1")
}

BEGIN:_过滤甲供保管子项
${
    filter(items,"子项",?子项.供货方 == "甲供" && 子项.保管 == "1")
}

BEGIN:_过滤乙供子项
${
    filter(items,"子项",?子项.供货方 == "乙供")
}

BEGIN:_过滤主材配件
${
    filter(source,"工程量",?工程量.type =="配件" && 工程量.配件类型 == "主材")
}

BEGIN:_过滤设备配件
${
    filter(source,"工程量",?工程量.type =="配件" && 工程量.配件类型 == "配件")
}

BEGIN:_过滤定额的主材配件子项
${
    ?#{
	->@工程信息.工程性质 == "技改"
	:
	filter(items,"主材配件",?主材配件.type =="材料");
	->@工程信息.工程性质 == "检修"
	:
	filter(items,"主材配件",?主材配件.type =="材料");
	}
} 

