
BEGIN:定额_取费_甲供材料差值含税
${
	#{
		->@工程信息.阶段类型=="全口径预算"
		:	
		sum(_过滤取费定额(),"定额",
			?#{
				 ->定额.调差类型 == "建筑"
				 :
				 sum(_过滤材料(), "人材机",	
					?#{	
					  ->人材机.拆分==0 && 人材机.供货方== "甲供"
					  :				
					  (人材机.全口径市场价含税 - 人材机.市场价含税) * 人材机.数量 * 定额.数量 * 定额.材料系数 * 定额.定额系数;
					 
					  ->人材机.拆分 == 1
					  : 				  
						sum(_过滤甲供子项(),"拆分子项",
						?#{
							->拆分子项.type == "人工" && 拆分子项.全口径市场价含税!=拆分子项.市场价含税
							:
							(拆分子项.全口径市场价含税 - 拆分子项.市场价含税*(1+@工程信息.建筑人工调差系数/100));							
							->拆分子项.type == "消材" || 拆分子项.type == "机械"					
							:
							(拆分子项.全口径市场价含税 - 拆分子项.市场价含税);
						}* 拆分子项.数量 * 人材机.数量  * 定额.数量 * 定额.材料系数 * 定额.定额系数
						);				
					}
				);
				->定额.调差类型 == "拆除建筑"
				 :
				 sum(_过滤材料(), "人材机",	
					?#{	
					  ->人材机.拆分==0 && 人材机.供货方== "甲供"
					  :				
					  (人材机.全口径市场价含税 - 人材机.市场价含税) * 人材机.数量 * 定额.数量 * 定额.材料系数 * 定额.定额系数;
					 
					  ->人材机.拆分 == 1
					  : 				  
						sum(_过滤甲供子项(),"拆分子项",
						?#{
							->拆分子项.type == "人工" && 拆分子项.全口径市场价含税!=拆分子项.市场价含税
							:
							(拆分子项.全口径市场价含税 - 拆分子项.市场价含税*(1+@工程信息.建筑拆除人工调差系数/100));							
							->拆分子项.type == "消材" || 拆分子项.type == "机械"					
							:
							(拆分子项.全口径市场价含税 - 拆分子项.市场价含税);
						}* 拆分子项.数量 * 人材机.数量  * 定额.数量 * 定额.材料系数 * 定额.定额系数
						);				
					}
				);
				->定额.调差类型 == "安装"
				:
				sum(_过滤材料(), "人材机",
				?#{
					->人材机.供货方== "甲供" && 人材机.全口径市场价含税!=人材机.市场价含税
					:
					(人材机.全口径市场价含税 - 人材机.市场价含税*(1+@工程信息.材料调差系数/100))*人材机.数量*定额.数量* 定额.材料系数* 定额.定额系数;
				});
				->定额.调差类型 == "拆除安装"
				:
				sum(_过滤材料(), "人材机",
				?#{
					->人材机.供货方== "甲供" && 人材机.全口径市场价含税!=人材机.市场价含税
					:
					(人材机.全口径市场价含税 - 人材机.市场价含税*(1+@工程信息.拆除材料调差系数/100))*人材机.数量*定额.数量* 定额.材料系数* 定额.定额系数;
				});
			}
		);
	}	 
}

BEGIN:定额_取费_甲供材料差值含税_单价
${
	#{
		->@工程信息.阶段类型=="全口径预算"
		:	
		sum(_过滤取费定额(),"定额",
			?#{
				 ->定额.调差类型 == "建筑"
				 :
				 sum(_过滤材料(), "人材机",	
					?#{	
					  ->人材机.拆分==0 && 人材机.供货方== "甲供"
					  :				
					  (人材机.全口径市场价含税 - 人材机.市场价含税) * 人材机.数量 * 定额.数量 * 定额.材料系数 * 定额.定额系数;
					 
					  ->人材机.拆分 == 1
					  : 				  
						sum(_过滤甲供子项(),"拆分子项",
						?#{
							->拆分子项.type == "人工" && 拆分子项.全口径市场价含税!=拆分子项.市场价含税
							:
							(拆分子项.全口径市场价含税 - 拆分子项.市场价含税*(1+@工程信息.建筑人工调差系数/100));							
							->拆分子项.type == "消材" || 拆分子项.type == "机械"					
							:
							(拆分子项.全口径市场价含税 - 拆分子项.市场价含税);
						}* 拆分子项.数量 * 人材机.数量  * 定额.数量 * 定额.材料系数 * 定额.定额系数
						);				
					}
				);
				->定额.调差类型 == "拆除建筑"
				 :
				 sum(_过滤材料(), "人材机",	
					?#{	
					  ->人材机.拆分==0 && 人材机.供货方== "甲供"
					  :				
					  (人材机.全口径市场价含税 - 人材机.市场价含税) * 人材机.数量 * 定额.数量 * 定额.材料系数 * 定额.定额系数;
					 
					  ->人材机.拆分 == 1
					  : 				  
						sum(_过滤甲供子项(),"拆分子项",
						?#{
							->拆分子项.type == "人工" && 拆分子项.全口径市场价含税!=拆分子项.市场价含税
							:
							(拆分子项.全口径市场价含税 - 拆分子项.市场价含税*(1+@工程信息.建筑拆除人工调差系数/100));							
							->拆分子项.type == "消材" || 拆分子项.type == "机械"					
							:
							(拆分子项.全口径市场价含税 - 拆分子项.市场价含税);
						}* 拆分子项.数量 * 人材机.数量  * 定额.数量 * 定额.材料系数 * 定额.定额系数
						);				
					}
				);
				->定额.调差类型 == "安装"
				:
				sum(_过滤材料(), "人材机",
				?#{
					->人材机.供货方== "甲供" && 人材机.全口径市场价含税!=人材机.市场价含税
					:
					(人材机.全口径市场价含税 - 人材机.市场价含税*(1+@工程信息.材料调差系数/100))*人材机.数量*定额.数量* 定额.材料系数* 定额.定额系数;
				});	
				->定额.调差类型 == "拆除安装"
				:
				sum(_过滤材料(), "人材机",
				?#{
					->人材机.供货方== "甲供" && 人材机.全口径市场价含税!=人材机.市场价含税
					:
					(人材机.全口径市场价含税 - 人材机.市场价含税*(1+@工程信息.拆除材料调差系数/100))*人材机.数量*定额.数量* 定额.材料系数* 定额.定额系数;
				});	
			}/parent.数量
		);
	}	 
}

BEGIN:定额_不取费_甲供材料差值含税
${ 
    #{
      ->@工程信息.阶段类型=="全口径预算"
	 :
		sum(_过滤不取费定额(),"定额",
			?#{
				->定额.调差类型 == "建筑"
				:
				sum(_过滤材料(), "人材机",	
				 ?#{	
						->人材机.拆分==0 && 人材机.供货方== "甲供"
					   :				
						(人材机.全口径市场价含税 - 人材机.市场价含税) * 人材机.数量 * 定额.数量 * 定额.材料系数 * 定额.定额系数;
						 
						->人材机.拆分 == 1
						: 
						sum(_过滤甲供子项(),"拆分子项",
							?#{
								->拆分子项.type == "人工" && 拆分子项.全口径市场价含税!=拆分子项.市场价含税
								:
								(拆分子项.全口径市场价含税 - 拆分子项.市场价含税* (1+@工程信息.建筑人工调差系数/100));								
								->拆分子项.type == "消材" || 拆分子项.type == "机械"					
								:
								(拆分子项.全口径市场价含税 - 拆分子项.市场价含税);
							} * 拆分子项.数量 * 人材机.数量  * 定额.数量 * 定额.材料系数 * 定额.定额系数
						);					
				   }
			   );
			   ->定额.调差类型 == "拆除建筑"
				:
				sum(_过滤材料(), "人材机",	
				 ?#{	
						->人材机.拆分==0 && 人材机.供货方== "甲供"
					   :				
						(人材机.全口径市场价含税 - 人材机.市场价含税) * 人材机.数量 * 定额.数量 * 定额.材料系数 * 定额.定额系数;
						 
						->人材机.拆分 == 1
						: 
						sum(_过滤甲供子项(),"拆分子项",
							?#{
								->拆分子项.type == "人工" && 拆分子项.全口径市场价含税!=拆分子项.市场价含税
								:
								(拆分子项.全口径市场价含税 - 拆分子项.市场价含税* (1+@工程信息.建筑拆除人工调差系数/100));
								->拆分子项.type == "消材" || 拆分子项.type == "机械"					
								:
								(拆分子项.全口径市场价含税 - 拆分子项.市场价含税);
							} * 拆分子项.数量 * 人材机.数量  * 定额.数量 * 定额.材料系数 * 定额.定额系数
						);					
				   }
			   );
			   ->定额.调差类型 == "安装"
				:
				sum(_过滤材料(), "人材机",
					?#{
						->人材机.供货方== "甲供" && 人材机.全口径市场价含税!=人材机.市场价含税
						:
						(人材机.全口径市场价含税 - 人材机.市场价含税*(1+@工程信息.材料调差系数/100))*人材机.数量*定额.数量* 定额.材料系数* 定额.定额系数;					
				});
				->定额.调差类型 == "拆除安装"
				:
				sum(_过滤材料(), "人材机",
					?#{
						->人材机.供货方== "甲供" && 人材机.全口径市场价含税!=人材机.市场价含税
						:
						(人材机.全口径市场价含税 - 人材机.市场价含税*(1+@工程信息.拆除材料调差系数/100))*人材机.数量*定额.数量* 定额.材料系数* 定额.定额系数;					
				});
			}
		);
	}
}

BEGIN:定额_不取费_甲供材料差值含税_单价
${ 
    #{
      ->@工程信息.阶段类型=="全口径预算"
	 :
		sum(_过滤不取费定额(),"定额",
			?#{
				->定额.调差类型 == "建筑"
				:
				sum(_过滤材料(), "人材机",	
				 ?#{	
						->人材机.拆分==0 && 人材机.供货方== "甲供"
					   :				
						(人材机.全口径市场价含税 - 人材机.市场价含税) * 人材机.数量 * 定额.数量 * 定额.材料系数 * 定额.定额系数;
						 
						->人材机.拆分 == 1
						: 
						sum(_过滤甲供子项(),"拆分子项",
							?#{
								->拆分子项.type == "人工" && 拆分子项.全口径市场价含税!=拆分子项.市场价含税
								:
								(拆分子项.全口径市场价含税 - 拆分子项.市场价含税* (1+@工程信息.建筑人工调差系数/100));								
								->拆分子项.type == "消材" || 拆分子项.type == "机械"					
								:
								(拆分子项.全口径市场价含税 - 拆分子项.市场价含税);
							} * 拆分子项.数量 * 人材机.数量  * 定额.数量 * 定额.材料系数 * 定额.定额系数
						);					
				   }
			   );
			   ->定额.调差类型 == "拆除建筑"
				:
				sum(_过滤材料(), "人材机",	
				 ?#{	
						->人材机.拆分==0 && 人材机.供货方== "甲供"
					   :				
						(人材机.全口径市场价含税 - 人材机.市场价含税) * 人材机.数量 * 定额.数量 * 定额.材料系数 * 定额.定额系数;
						 
						->人材机.拆分 == 1
						: 
						sum(_过滤甲供子项(),"拆分子项",
							?#{
								->拆分子项.type == "人工" && 拆分子项.全口径市场价含税!=拆分子项.市场价含税
								:
								(拆分子项.全口径市场价含税 - 拆分子项.市场价含税* (1+@工程信息.建筑拆除人工调差系数/100));
								->拆分子项.type == "消材" || 拆分子项.type == "机械"					
								:
								(拆分子项.全口径市场价含税 - 拆分子项.市场价含税);
							} * 拆分子项.数量 * 人材机.数量  * 定额.数量 * 定额.材料系数 * 定额.定额系数
						);					
				   }
			   );
			   ->定额.调差类型 == "安装"
				:
				sum(_过滤材料(), "人材机",
					?#{
						->人材机.供货方== "甲供" && 人材机.全口径市场价含税!=人材机.市场价含税
						:
						(人材机.全口径市场价含税 - 人材机.市场价含税*(1+@工程信息.材料调差系数/100))*人材机.数量*定额.数量* 定额.材料系数* 定额.定额系数;					
				});
				->定额.调差类型 == "拆除安装"
				:
				sum(_过滤材料(), "人材机",
					?#{
						->人材机.供货方== "甲供" && 人材机.全口径市场价含税!=人材机.市场价含税
						:
						(人材机.全口径市场价含税 - 人材机.市场价含税*(1+@工程信息.拆除材料调差系数/100))*人材机.数量*定额.数量* 定额.材料系数* 定额.定额系数;					
				});
			}/parent.数量
		);
	}
}

BEGIN:甲供材料差值含税
${
    ?定额_取费_甲供材料差值含税()+定额_不取费_甲供材料差值含税()
}

BEGIN:甲供材料差值含税_单价
${
    ?定额_取费_甲供材料差值含税_单价()+定额_不取费_甲供材料差值含税_单价()
}

BEGIN:定额_取费_甲供材料差值不含税
${
     #{
      ->@工程信息.阶段类型=="全口径预算"
	  :
		sum(_过滤取费定额(),"定额",
		?#{
			->定额.调差类型 == "建筑"
			:
			sum(_过滤材料(), "人材机",
			   ?#{	
					->人材机.拆分==0 && 人材机.供货方== "甲供"
					:				
					(人材机.全口径市场价不含税 - 人材机.市场价不含税) * 人材机.数量 * 定额.数量 * 定额.材料系数 * 定额.定额系数;
					 
					->人材机.拆分 == 1
					:
					sum(_过滤甲供子项(),"拆分子项",
						?#{
							->拆分子项.type == "人工" && 拆分子项.全口径市场价不含税!=拆分子项.市场价不含税
							:
							(拆分子项.全口径市场价不含税 - 拆分子项.市场价不含税 * (1+@工程信息.建筑人工调差系数/100));							
							->拆分子项.type == "消材" || 拆分子项.type == "机械"					
							:
							(拆分子项.全口径市场价不含税 - 拆分子项.市场价不含税);
						} * 拆分子项.数量 * 人材机.数量  * 定额.数量 * 定额.材料系数 * 定额.定额系数
					);					
				}
			);
			->定额.调差类型 == "拆除建筑"
			:
			sum(_过滤材料(), "人材机",
			   ?#{	
					->人材机.拆分==0 && 人材机.供货方== "甲供"
					:				
					(人材机.全口径市场价不含税 - 人材机.市场价不含税) * 人材机.数量 * 定额.数量 * 定额.材料系数 * 定额.定额系数;
					 
					->人材机.拆分 == 1
					:
					sum(_过滤甲供子项(),"拆分子项",
						?#{
							->拆分子项.type == "人工" && 拆分子项.全口径市场价不含税!=拆分子项.市场价不含税
							:
							(拆分子项.全口径市场价不含税 - 拆分子项.市场价不含税 * (1+@工程信息.建筑拆除人工调差系数/100));							
							->拆分子项.type == "消材" || 拆分子项.type == "机械"					
							:
							(拆分子项.全口径市场价不含税 - 拆分子项.市场价不含税);
						} * 拆分子项.数量 * 人材机.数量  * 定额.数量 * 定额.材料系数 * 定额.定额系数
					);					
				}
			);
			->定额.调差类型 == "安装"
			:
			sum(_过滤材料(), "人材机",
				?#{
				->人材机.供货方== "甲供" && 人材机.全口径市场价不含税!=人材机.市场价不含税
				:
					(人材机.全口径市场价不含税 - 人材机.市场价不含税*(1+@工程信息.材料调差系数/100))*人材机.数量*定额.数量* 定额.材料系数* 定额.定额系数;				
			});
			->定额.调差类型 == "拆除安装"
			:
			sum(_过滤材料(), "人材机",
				?#{
				->人材机.供货方== "甲供" && 人材机.全口径市场价不含税!=人材机.市场价不含税
				:
					(人材机.全口径市场价不含税 - 人材机.市场价不含税*(1+@工程信息.拆除材料调差系数/100))*人材机.数量*定额.数量* 定额.材料系数* 定额.定额系数;				
			});
			}
		 );	   
	}
}
BEGIN:定额_不取费_甲供材料差值不含税
${
	#{
      ->@工程信息.阶段类型=="全口径预算"
	  :
		sum(_过滤不取费定额(),"定额",
		?#{
			->定额.调差类型 == "建筑"
			:
				sum(_过滤材料(), "人材机",	
					?#{	
						  ->人材机.拆分==0 && 人材机.供货方== "甲供"
					   :				
						(人材机.全口径市场价不含税 - 人材机.市场价不含税) * 人材机.数量 * 定额.数量 * 定额.材料系数 * 定额.定额系数;
						 
						  ->人材机.拆分 == 1
						: 
						sum(_过滤甲供子项(),"拆分子项",
							?#{
								->拆分子项.type == "人工" && 拆分子项.全口径市场价不含税!=拆分子项.市场价不含税
								:
								(拆分子项.全口径市场价不含税 - 拆分子项.市场价不含税 * (1+@工程信息.建筑人工调差系数/100));			
								->拆分子项.type == "消材" || 拆分子项.type == "机械"					
								:
								(拆分子项.全口径市场价不含税 - 拆分子项.市场价不含税);
							} * 拆分子项.数量 * 人材机.数量  * 定额.数量 * 定额.材料系数 * 定额.定额系数
						);
						
				   }
			   );
			   ->定额.调差类型 == "拆除建筑"
			:
				sum(_过滤材料(), "人材机",	
					?#{	
						  ->人材机.拆分==0 && 人材机.供货方== "甲供"
					   :				
						(人材机.全口径市场价不含税 - 人材机.市场价不含税) * 人材机.数量 * 定额.数量 * 定额.材料系数 * 定额.定额系数;
						 
						  ->人材机.拆分 == 1
						: 
						sum(_过滤甲供子项(),"拆分子项",
							?#{
								->拆分子项.type == "人工" && 拆分子项.全口径市场价不含税!=拆分子项.市场价不含税
								:
								(拆分子项.全口径市场价不含税 - 拆分子项.市场价不含税 * (1+@工程信息.建筑拆除人工调差系数/100));			
								->拆分子项.type == "消材" || 拆分子项.type == "机械"					
								:
								(拆分子项.全口径市场价不含税 - 拆分子项.市场价不含税);
							} * 拆分子项.数量 * 人材机.数量  * 定额.数量 * 定额.材料系数 * 定额.定额系数
						);
						
				   }
			   );
			->定额.调差类型 == "安装"
			:
			sum(_过滤材料(), "人材机",
				?#{
				->人材机.供货方== "甲供" && 人材机.全口径市场价不含税!=人材机.市场价不含税
				:
				(人材机.全口径市场价不含税 - 人材机.市场价不含税*(1+@工程信息.材料调差系数/100))*人材机.数量*定额.数量* 定额.材料系数* 定额.定额系数;
			});
			->定额.调差类型 == "拆除安装"
			:
			sum(_过滤材料(), "人材机",
				?#{
				->人材机.供货方== "甲供" && 人材机.全口径市场价不含税!=人材机.市场价不含税
				:
				(人材机.全口径市场价不含税 - 人材机.市场价不含税*(1+@工程信息.拆除材料调差系数/100))*人材机.数量*定额.数量* 定额.材料系数* 定额.定额系数;
			});
		}   
		);	   
	}
}
BEGIN:甲供材料差值不含税
${
    ?定额_取费_甲供材料差值不含税()+定额_不取费_甲供材料差值不含税()
}

BEGIN:主材_取费_甲供主材差值含税
${
	#{
      ->@工程信息.阶段类型=="全口径预算"
	  :	
		sum(_过滤主材(),"主材",
			?#{
				 ->主材.供货方=="甲供" && 主材.费用类型 == "取费" && 主材.拆分 ==0 && 主材.设备性材料 ==0
				:
				(主材.全口径市场价含税 - 主材.市场价含税) * 主材.数量;
				->主材.拆分 == 1
				:
				sum(filter(_过滤甲供取费主材(),"拆分子项",?拆分子项.设备性材料==0),"拆分子项",?(拆分子项.全口径市场价含税 - 拆分子项.市场价含税) * 拆分子项.数量);
				
			 }
		  );
	}
}

BEGIN:主材_取费_甲供主材差值含税_单价
${
	#{
      ->@工程信息.阶段类型=="全口径预算"
	  :	
		sum(_过滤主材(),"主材",
			?#{
				 ->主材.供货方=="甲供" && 主材.费用类型 == "取费" && 主材.拆分 ==0 && 主材.设备性材料 ==0
				:
				(主材.全口径市场价含税 - 主材.市场价含税) * 主材.数量;
				->主材.拆分 == 1
				:
				sum(filter(_过滤甲供取费主材(),"拆分子项",?拆分子项.设备性材料==0),"拆分子项",?(拆分子项.全口径市场价含税 - 拆分子项.市场价含税) * 拆分子项.数量);
				
			 }/parent.数量
		  );
	}
}

BEGIN:主材_取费_甲供主材差值含税_设备性材料
${
	#{
      ->@工程信息.阶段类型=="全口径预算"
	  :	
		sum(_过滤主材(),"主材",
			?#{
				 ->主材.供货方=="甲供" && 主材.费用类型 == "取费" && 主材.拆分 ==0 && 主材.设备性材料 ==1
				:
				(主材.全口径市场价含税 - 主材.市场价含税) * 主材.数量;
				->主材.拆分 == 1
				:
				sum(filter(_过滤甲供取费主材(),"拆分子项",?拆分子项.设备性材料==1),"拆分子项",?(拆分子项.全口径市场价含税 - 拆分子项.市场价含税) * 拆分子项.数量);
				
			 }
		  );
	}
}

BEGIN:主材_取费_甲供主材差值含税_单价_设备性材料
${
	#{
      ->@工程信息.阶段类型=="全口径预算"
	  :	
		sum(_过滤主材(),"主材",
			?#{
				 ->主材.供货方=="甲供" && 主材.费用类型 == "取费" && 主材.拆分 ==0 && 主材.设备性材料 ==1
				:
				(主材.全口径市场价含税 - 主材.市场价含税) * 主材.数量;
				->主材.拆分 == 1
				:
				sum(filter(_过滤甲供取费主材(),"拆分子项",?拆分子项.设备性材料==1),"拆分子项",?(拆分子项.全口径市场价含税 - 拆分子项.市场价含税) * 拆分子项.数量);
			 }/parent.数量
		  );
	}
}

BEGIN:主材_取费_甲供主材暂估价差值含税_设备性材料
${
	#{
      ->@工程信息.阶段类型=="全口径预算"
	  :	
		sum(_过滤主材(),"主材",
			?#{
				 ->主材.供货方=="甲供" && 主材.费用类型 == "取费" && 主材.拆分 ==0 && 主材.设备性材料 ==1 && 主材.暂估价 ==1
				:
				(主材.全口径市场价含税 - 主材.市场价含税) * 主材.数量 * (1+主材.损耗/100);
				->主材.拆分 == 1
				:
				sum(filter(_过滤甲供取费主材(),"拆分子项",?拆分子项.设备性材料==1 && 拆分子项.暂估价 ==1),"拆分子项",?(拆分子项.全口径市场价含税 - 拆分子项.市场价含税) * 拆分子项.数量 * (1+拆分子项.损耗/100));
				
			 }
		  );
	}
}

BEGIN:主材_取费_甲供主材暂估价差值含税_单价_设备性材料
${
	#{
      ->@工程信息.阶段类型=="全口径预算"
	  :	
		sum(_过滤主材(),"主材",
			?#{
				 ->主材.供货方=="甲供" && 主材.费用类型 == "取费" && 主材.拆分 ==0 && 主材.设备性材料 ==1 && 主材.暂估价 ==1
				:
				(主材.全口径市场价含税 - 主材.市场价含税) * 主材.数量 * (1+主材.损耗/100);
				->主材.拆分 == 1
				:
				sum(filter(_过滤甲供取费主材(),"拆分子项",?拆分子项.设备性材料==1 && 拆分子项.暂估价 ==1),"拆分子项",?(拆分子项.全口径市场价含税 - 拆分子项.市场价含税) * 拆分子项.数量 * (1+拆分子项.损耗/100));	
			 }/parent.数量
		  );
	}
}

BEGIN:主材_不取费_甲供主材差值含税
${
	#{
      ->@工程信息.阶段类型=="全口径预算"
	  :	
		sum(_过滤主材(),"主材",
		?#{
		   ->主材.供货方=="甲供" && 主材.费用类型 == "不取费" && 主材.拆分 ==0 && 主材.设备性材料 ==0
		   :
			 (主材.全口径市场价含税 - 主材.市场价含税) * 主材.数量;
		   ->主材.拆分 == 1
		   :
			sum(filter(_过滤甲供不取费主材(),"拆分子项",?拆分子项.设备性材料==0),"拆分子项",?(拆分子项.全口径市场价含税 - 拆分子项.市场价含税) * 拆分子项.数量);
			 }
		  );
	}
}

BEGIN:主材_不取费_甲供主材差值含税_单价
${
	#{
      ->@工程信息.阶段类型=="全口径预算"
	  :	
		sum(_过滤主材(),"主材",
		?#{
		   ->主材.供货方=="甲供" && 主材.费用类型 == "不取费" && 主材.拆分 ==0 && 主材.设备性材料 ==0
		   :
			 (主材.全口径市场价含税 - 主材.市场价含税) * 主材.数量;
		   ->主材.拆分 == 1
		   :
			sum(filter(_过滤甲供不取费主材(),"拆分子项",?拆分子项.设备性材料==0),"拆分子项",?(拆分子项.全口径市场价含税 - 拆分子项.市场价含税) * 拆分子项.数量);
			 }/parent.数量
		  );
	}
}

BEGIN:主材_不取费_甲供主材差值含税_设备性材料
${
	#{
      ->@工程信息.阶段类型=="全口径预算"
	  :	
		sum(_过滤主材(),"主材",
		?#{
		   ->主材.供货方=="甲供" && 主材.费用类型 == "不取费" && 主材.拆分 ==0 && 主材.设备性材料 ==1
		   :
			 (主材.全口径市场价含税 - 主材.市场价含税) * 主材.数量;
		   ->主材.拆分 == 1
		   :
			sum(filter(_过滤甲供不取费主材(),"拆分子项",?拆分子项.设备性材料==1),"拆分子项",?(拆分子项.全口径市场价含税 - 拆分子项.市场价含税) * 拆分子项.数量);
			 }
		  );
	}
}

BEGIN:主材_不取费_甲供主材差值含税_单价_设备性材料
${
	#{
      ->@工程信息.阶段类型=="全口径预算"
	  :	
		sum(_过滤主材(),"主材",
		?#{
		   ->主材.供货方=="甲供" && 主材.费用类型 == "不取费" && 主材.拆分 ==0 && 主材.设备性材料 ==1
		   :
			 (主材.全口径市场价含税 - 主材.市场价含税) * 主材.数量;
		   ->主材.拆分 == 1
		   :
			sum(filter(_过滤甲供不取费主材(),"拆分子项",?拆分子项.设备性材料==1),"拆分子项",?(拆分子项.全口径市场价含税 - 拆分子项.市场价含税) * 拆分子项.数量);
		  }/parent.数量
		   );
	}
}

BEGIN:主材_不取费_甲供主材暂估价差值含税_设备性材料
${
	#{
      ->@工程信息.阶段类型=="全口径预算"
	  :	
		sum(_过滤主材(),"主材",
		?#{
		   ->主材.供货方=="甲供" && 主材.费用类型 == "不取费" && 主材.拆分 ==0 && 主材.设备性材料 ==1 && 主材.暂估价 ==1
		   :
			 (主材.全口径市场价含税 - 主材.市场价含税) * 主材.数量 * (1+主材.损耗/100);
		   ->主材.拆分 == 1
		   :
			sum(filter(_过滤甲供不取费主材(),"拆分子项",?拆分子项.设备性材料==1 && 拆分子项.暂估价 ==1),"拆分子项",?(拆分子项.全口径市场价含税 - 拆分子项.市场价含税) * 拆分子项.数量 * (1+拆分子项.损耗/100));
			 }
		  );
	}
}

BEGIN:主材_不取费_甲供主材暂估价差值含税_单价_设备性材料
${
	#{
      ->@工程信息.阶段类型=="全口径预算"
	  :	
		sum(_过滤主材(),"主材",
		?#{
		   ->主材.供货方=="甲供" && 主材.费用类型 == "不取费" && 主材.拆分 ==0 && 主材.设备性材料 ==1 && 主材.暂估价 ==1
		   :
			 (主材.全口径市场价含税 - 主材.市场价含税) * 主材.数量 * (1+主材.损耗/100);
		   ->主材.拆分 == 1
		   :
			sum(filter(_过滤甲供不取费主材(),"拆分子项",?拆分子项.设备性材料==1 && 拆分子项.暂估价 ==1),"拆分子项",?(拆分子项.全口径市场价含税 - 拆分子项.市场价含税) * 拆分子项.数量 * (1+拆分子项.损耗/100));
		  }/parent.数量
		   );
	}
}

BEGIN:甲供主材差值含税
${
	 ?主材_取费_甲供主材差值含税()+主材_不取费_甲供主材差值含税()
}

BEGIN:甲供主材差值含税_单价
${
	 ?主材_取费_甲供主材差值含税_单价()+主材_不取费_甲供主材差值含税_单价()
}

BEGIN:主材_取费_甲供主材差值不含税
${
	#{
      ->@工程信息.阶段类型=="全口径预算"
	  :	
		sum(_过滤主材(),"主材",
		?#{
		   ->主材.供货方=="甲供" && 主材.费用类型 == "取费" && 主材.拆分 ==0 && 主材.设备性材料 ==0
		   :
			 (主材.全口径市场价不含税 - 主材.市场价不含税) * 主材.数量;
		   ->主材.拆分 == 1
		   :
			sum(filter(_过滤甲供取费主材(),"拆分子项",?拆分子项.设备性材料==0),"拆分子项",?(拆分子项.全口径市场价不含税 - 拆分子项.市场价不含税) * 拆分子项.数量);
			 }
		  );
     }
}
BEGIN:主材_取费_甲供主材差值不含税_设备性材料
${
	#{
      ->@工程信息.阶段类型=="全口径预算"
	  :	
		sum(_过滤主材(),"主材",
		?#{
		   ->主材.供货方=="甲供" && 主材.费用类型 == "取费" && 主材.拆分 ==0 && 主材.设备性材料 ==1
		   :
			 (主材.全口径市场价不含税 - 主材.市场价不含税) * 主材.数量;
		   ->主材.拆分 == 1
		   :
			sum(filter(_过滤甲供取费主材(),"拆分子项",?拆分子项.设备性材料==1),"拆分子项",?(拆分子项.全口径市场价不含税 - 拆分子项.市场价不含税) * 拆分子项.数量);
			 }
		  );
     }
}

BEGIN:主材_取费_甲供主材差值不含税_单价_设备性材料
${
	#{
      ->@工程信息.阶段类型=="全口径预算"
	  :	
		sum(_过滤主材(),"主材",
		?#{
		   ->主材.供货方=="甲供" && 主材.费用类型 == "取费" && 主材.拆分 ==0 && 主材.设备性材料 ==1
		   :
			 (主材.全口径市场价不含税 - 主材.市场价不含税) * 主材.数量;
		   ->主材.拆分 == 1
		   :
			sum(filter(_过滤甲供取费主材(),"拆分子项",?拆分子项.设备性材料==1),"拆分子项",?(拆分子项.全口径市场价不含税 - 拆分子项.市场价不含税) * 拆分子项.数量);
		  }/parent.数量
		  );
     }
}

BEGIN:主材_取费_甲供主材暂估价差值不含税_设备性材料
${
	#{
      ->@工程信息.阶段类型=="全口径预算"
	  :	
		sum(_过滤主材(),"主材",
		?#{
		   ->主材.供货方=="甲供" && 主材.费用类型 == "取费" && 主材.拆分 ==0 && 主材.设备性材料 ==1 && 主材.暂估价 ==1
		   :
			 (主材.全口径市场价不含税 - 主材.市场价不含税) * 主材.数量 * (1+主材.损耗/100);
		   ->主材.拆分 == 1
		   :
			sum(filter(_过滤甲供取费主材(),"拆分子项",?拆分子项.设备性材料==1 && 拆分子项.暂估价 ==1),"拆分子项",?(拆分子项.全口径市场价不含税 - 拆分子项.市场价不含税) * 拆分子项.数量 * (1+拆分子项.损耗/100));
			 }
		  );
     }
}

BEGIN:主材_取费_甲供主材暂估价差值不含税_单价_设备性材料
${
	#{
      ->@工程信息.阶段类型=="全口径预算"
	  :	
		sum(_过滤主材(),"主材",
		?#{
		   ->主材.供货方=="甲供" && 主材.费用类型 == "取费" && 主材.拆分 ==0 && 主材.设备性材料 ==1 && 主材.暂估价 ==1
		   :
			 (主材.全口径市场价不含税 - 主材.市场价不含税) * 主材.数量 * (1+主材.损耗/100);
		   ->主材.拆分 == 1
		   :
			sum(filter(_过滤甲供取费主材(),"拆分子项",?拆分子项.设备性材料==1 && 拆分子项.暂估价 ==1),"拆分子项",?(拆分子项.全口径市场价不含税 - 拆分子项.市场价不含税) * 拆分子项.数量 * (1+拆分子项.损耗/100));
		  }/parent.数量
		   );
     }
}

BEGIN:主材_取费_乙供主材差值不含税_设备性材料
${
	#{
      ->@工程信息.阶段类型=="全口径预算"
	  :	
		sum(_过滤主材(),"主材",
		?#{
		   ->主材.供货方=="乙供" && 主材.费用类型 == "取费" && 主材.拆分 ==0 && 主材.设备性材料 ==1
		   :
			 (主材.全口径市场价不含税 - 主材.市场价不含税) * 主材.数量;
		   ->主材.拆分 == 1
		   :
			sum(filter(_过滤乙供取费主材(),"拆分子项",?拆分子项.设备性材料==1),"拆分子项",?(拆分子项.全口径市场价不含税 - 拆分子项.市场价不含税) * 拆分子项.数量);
			 }
		  );
     }
}

BEGIN:主材_取费_乙供主材差值不含税_单价_设备性材料
${
	#{
      ->@工程信息.阶段类型=="全口径预算"
	  :	
		sum(_过滤主材(),"主材",
		?#{
		   ->主材.供货方=="乙供" && 主材.费用类型 == "取费" && 主材.拆分 ==0 && 主材.设备性材料 ==1
		   :
			 (主材.全口径市场价不含税 - 主材.市场价不含税) * 主材.数量;
		   ->主材.拆分 == 1
		   :
			sum(filter(_过滤乙供取费主材(),"拆分子项",?拆分子项.设备性材料==1),"拆分子项",?(拆分子项.全口径市场价不含税 - 拆分子项.市场价不含税) * 拆分子项.数量);
		  }/parent.数量
		  );
     }
}

BEGIN:主材_取费_乙供主材暂估价差值不含税_设备性材料
${
	#{
      ->@工程信息.阶段类型=="全口径预算"
	  :	
		sum(_过滤主材(),"主材",
		?#{
		   ->主材.供货方=="乙供" && 主材.费用类型 == "取费" && 主材.拆分 ==0 && 主材.设备性材料 ==1 && 主材.暂估价 ==1
		   :
			 (主材.全口径市场价不含税 - 主材.市场价不含税) * 主材.数量 * (1+主材.损耗/100);
		   ->主材.拆分 == 1
		   :
			sum(filter(_过滤乙供取费主材(),"拆分子项",?拆分子项.设备性材料==1 && 拆分子项.暂估价 ==1),"拆分子项",?(拆分子项.全口径市场价不含税 - 拆分子项.市场价不含税) * 拆分子项.数量 * (1+拆分子项.损耗/100));
			 }
		  );
     }
}

BEGIN:主材_不取费_甲供主材差值不含税
${
	#{
      ->@工程信息.阶段类型=="全口径预算"
	  :
		sum(_过滤主材(),"主材",
		?#{
		   ->主材.供货方=="甲供" && 主材.费用类型 == "不取费" && 主材.拆分 ==0 && 主材.设备性材料 ==0
		   :
			 (主材.全口径市场价不含税 - 主材.市场价不含税) * 主材.数量;
		   ->主材.拆分 == 1
		   :
			sum(filter(_过滤甲供不取费主材(),"拆分子项",?拆分子项.设备性材料==0),"拆分子项",?(拆分子项.全口径市场价不含税 - 拆分子项.市场价不含税) * 拆分子项.数量);
			 }
		  );
   }
}

BEGIN:主材_不取费_甲供主材差值不含税_设备性材料
${
	#{
      ->@工程信息.阶段类型=="全口径预算"
	  :
		sum(_过滤主材(),"主材",
		?#{
		   ->主材.供货方=="甲供" && 主材.费用类型 == "不取费" && 主材.拆分 ==0 && 主材.设备性材料 ==1
		   :
			 (主材.全口径市场价不含税 - 主材.市场价不含税) * 主材.数量;
		   ->主材.拆分 == 1
		   :
			sum(filter(_过滤甲供不取费主材(),"拆分子项",?拆分子项.设备性材料==1),"拆分子项",?(拆分子项.全口径市场价不含税 - 拆分子项.市场价不含税) * 拆分子项.数量);
			 }
		  );
   }
}

BEGIN:主材_不取费_甲供主材差值不含税_单价_设备性材料
${
	#{
      ->@工程信息.阶段类型=="全口径预算"
	  :
		sum(_过滤主材(),"主材",
		?#{
		   ->主材.供货方=="甲供" && 主材.费用类型 == "不取费" && 主材.拆分 ==0 && 主材.设备性材料 ==1
		   :
			 (主材.全口径市场价不含税 - 主材.市场价不含税) * 主材.数量;
		   ->主材.拆分 == 1
		   :
			sum(filter(_过滤甲供不取费主材(),"拆分子项",?拆分子项.设备性材料==1),"拆分子项",?(拆分子项.全口径市场价不含税 - 拆分子项.市场价不含税) * 拆分子项.数量);
			 }/parent.数量
		  );
   }
}

BEGIN:主材_不取费_甲供主材暂估价差值不含税_设备性材料
${
	#{
      ->@工程信息.阶段类型=="全口径预算"
	  :
		sum(_过滤主材(),"主材",
		?#{
		   ->主材.供货方=="甲供" && 主材.费用类型 == "不取费" && 主材.拆分 ==0 && 主材.设备性材料 ==1 && 主材.暂估价 ==1
		   :
			 (主材.全口径市场价不含税 - 主材.市场价不含税) * 主材.数量 * (1+主材.损耗/100);
		   ->主材.拆分 == 1
		   :
			sum(filter(_过滤甲供不取费主材(),"拆分子项",?拆分子项.设备性材料==1 && 拆分子项.暂估价 ==1),"拆分子项",?(拆分子项.全口径市场价不含税 - 拆分子项.市场价不含税) * 拆分子项.数量 * (1+拆分子项.损耗/100));
			 }
		  );
   }
}

BEGIN:主材_不取费_甲供主材暂估价差值不含税_单价_设备性材料
${
	#{
      ->@工程信息.阶段类型=="全口径预算"
	  :
		sum(_过滤主材(),"主材",
		?#{
		   ->主材.供货方=="甲供" && 主材.费用类型 == "不取费" && 主材.拆分 ==0 && 主材.设备性材料 ==1 && 主材.暂估价 ==1
		   :
			 (主材.全口径市场价不含税 - 主材.市场价不含税) * 主材.数量 * (1+主材.损耗/100);
		   ->主材.拆分 == 1
		   :
			sum(filter(_过滤甲供不取费主材(),"拆分子项",?拆分子项.设备性材料==1 && 拆分子项.暂估价 ==1),"拆分子项",?(拆分子项.全口径市场价不含税 - 拆分子项.市场价不含税) * 拆分子项.数量 * (1+拆分子项.损耗/100));
		  }/parent.数量
		   );
    }
}

BEGIN:主材_不取费_乙供主材差值不含税_设备性材料
${
	#{
      ->@工程信息.阶段类型=="全口径预算"
	  :
		sum(_过滤主材(),"主材",
		?#{
		   ->主材.供货方=="乙供" && 主材.费用类型 == "不取费" && 主材.拆分 ==0 && 主材.设备性材料 ==1
		   :
			 (主材.全口径市场价不含税 - 主材.市场价不含税) * 主材.数量;
		   ->主材.拆分 == 1
		   :
			sum(filter(_过滤乙供不取费主材(),"拆分子项",?拆分子项.设备性材料==1),"拆分子项",?(拆分子项.全口径市场价不含税 - 拆分子项.市场价不含税) * 拆分子项.数量);
			 }
		  );
   }
}

BEGIN:主材_不取费_乙供主材差值不含税_单价_设备性材料
${
	#{
      ->@工程信息.阶段类型=="全口径预算"
	  :
		sum(_过滤主材(),"主材",
		?#{
		   ->主材.供货方=="乙供" && 主材.费用类型 == "不取费" && 主材.拆分 ==0 && 主材.设备性材料 ==1
		   :
			 (主材.全口径市场价不含税 - 主材.市场价不含税) * 主材.数量;
		   ->主材.拆分 == 1
		   :
			sum(filter(_过滤乙供不取费主材(),"拆分子项",?拆分子项.设备性材料==1),"拆分子项",?(拆分子项.全口径市场价不含税 - 拆分子项.市场价不含税) * 拆分子项.数量);
		  }/parent.数量
		  );
   }
}

BEGIN:主材_不取费_乙供主材暂估价差值不含税_设备性材料
${
	#{
      ->@工程信息.阶段类型=="全口径预算"
	  :
		sum(_过滤主材(),"主材",
		?#{
		   ->主材.供货方=="乙供" && 主材.费用类型 == "不取费" && 主材.拆分 ==0 && 主材.设备性材料 ==1 && 主材.暂估价 ==1
		   :
			 (主材.全口径市场价不含税 - 主材.市场价不含税) * 主材.数量 * (1+主材.损耗/100);
		   ->主材.拆分 == 1
		   :
			sum(filter(_过滤乙供不取费主材(),"拆分子项",?拆分子项.设备性材料==1 && 拆分子项.暂估价 ==1),"拆分子项",?(拆分子项.全口径市场价不含税 - 拆分子项.市场价不含税) * 拆分子项.数量 * (1+拆分子项.损耗/100));
			 }
		  );
   }
}

BEGIN:甲供主材差值不含税
${
	 ?主材_取费_甲供主材差值不含税()+主材_不取费_甲供主材差值不含税()
}

BEGIN:主材_取费_甲供主材损耗差值含税
${
	#{
      ->@工程信息.阶段类型=="全口径预算"
	  :
		sum(_过滤主材(),"主材",
			?#{
			   ->主材.供货方=="甲供" && 主材.费用类型 == "取费" && 主材.拆分 ==0 && 主材.设备性材料 ==0
			   :
			  (主材.全口径市场价含税 - 主材.市场价含税) * 主材.数量*主材.损耗/100;
			  ->主材.拆分 == 1
			   :
				sum(filter(_过滤甲供取费主材(),"拆分子项",?拆分子项.设备性材料==0),"拆分子项",?(拆分子项.全口径市场价含税 - 拆分子项.市场价含税) * 拆分子项.数量*拆分子项.损耗/100);
				 }
			  );
		}
}

BEGIN:主材_取费_甲供主材损耗差值含税_单价
${
	#{
      ->@工程信息.阶段类型=="全口径预算"
	  :
		sum(_过滤主材(),"主材",
			?#{
			   ->主材.供货方=="甲供" && 主材.费用类型 == "取费" && 主材.拆分 ==0 && 主材.设备性材料 ==0
			   :
			  (主材.全口径市场价含税 - 主材.市场价含税) * 主材.数量*主材.损耗/100;
			  ->主材.拆分 == 1
			   :
				sum(filter(_过滤甲供取费主材(),"拆分子项",?拆分子项.设备性材料==0),"拆分子项",?(拆分子项.全口径市场价含税 - 拆分子项.市场价含税) * 拆分子项.数量*拆分子项.损耗/100);
				 }/parent.数量
			  );
		}
}

BEGIN:主材_取费_甲供主材损耗差值含税_设备性材料
${
	#{
      ->@工程信息.阶段类型=="全口径预算"
	  :
		sum(_过滤主材(),"主材",
			?#{
			   ->主材.供货方=="甲供" && 主材.费用类型 == "取费" && 主材.拆分 ==0 && 主材.设备性材料 ==1
			   :
			  (主材.全口径市场价含税 - 主材.市场价含税) * 主材.数量*主材.损耗/100;
			  ->主材.拆分 == 1
			   :
				sum(filter(_过滤甲供取费主材(),"拆分子项",?拆分子项.设备性材料==1),"拆分子项",?(拆分子项.全口径市场价含税 - 拆分子项.市场价含税) * 拆分子项.数量*拆分子项.损耗/100);
				 }
			  );
		}
	}
	
BEGIN:主材_取费_甲供主材损耗差值含税_单价_设备性材料
${
	#{
      ->@工程信息.阶段类型=="全口径预算"
	  :
		sum(_过滤主材(),"主材",
			?#{
			   ->主材.供货方=="甲供" && 主材.费用类型 == "取费" && 主材.拆分 ==0 && 主材.设备性材料 ==1
			   :
			  (主材.全口径市场价含税 - 主材.市场价含税) * 主材.数量*主材.损耗/100;
			  ->主材.拆分 == 1
			   :
				sum(filter(_过滤甲供取费主材(),"拆分子项",?拆分子项.设备性材料==1),"拆分子项",?(拆分子项.全口径市场价含税 - 拆分子项.市场价含税) * 拆分子项.数量*拆分子项.损耗/100);
			  }/parent.数量
			);
	 }
}
	
BEGIN:主材_不取费_甲供主材损耗差值含税
${ 
	#{
      ->@工程信息.阶段类型=="全口径预算"
	  :	
		sum(_过滤主材(),"主材",
		?#{
		   ->主材.供货方=="甲供" && 主材.费用类型 == "不取费" && 主材.拆分 ==0 && 主材.设备性材料 ==0
		   :
		   (主材.全口径市场价含税 - 主材.市场价含税) * 主材.数量*主材.损耗/100;
		  ->主材.拆分 == 1
		   :
			sum(filter(_过滤甲供不取费主材(),"拆分子项",?拆分子项.设备性材料==0),"拆分子项",?(拆分子项.全口径市场价含税 - 拆分子项.市场价含税) * 拆分子项.数量*拆分子项.损耗/100);
			 }
		  );
	}
}

BEGIN:主材_不取费_甲供主材损耗差值含税_单价
${ 
	#{
      ->@工程信息.阶段类型=="全口径预算"
	  :	
		sum(_过滤主材(),"主材",
		?#{
		   ->主材.供货方=="甲供" && 主材.费用类型 == "不取费" && 主材.拆分 ==0 && 主材.设备性材料 ==0
		   :
		   (主材.全口径市场价含税 - 主材.市场价含税) * 主材.数量*主材.损耗/100;
		  ->主材.拆分 == 1
		   :
			sum(filter(_过滤甲供不取费主材(),"拆分子项",?拆分子项.设备性材料==0),"拆分子项",?(拆分子项.全口径市场价含税 - 拆分子项.市场价含税) * 拆分子项.数量*拆分子项.损耗/100);
			 }/parent.数量
		  );
	}
}

BEGIN:主材_不取费_甲供主材损耗差值含税_设备性材料
${ 
	#{
      ->@工程信息.阶段类型=="全口径预算"
	  :	
		sum(_过滤主材(),"主材",
		?#{
		   ->主材.供货方=="甲供" && 主材.费用类型 == "不取费" && 主材.拆分 ==0 && 主材.设备性材料 ==1
		   :
		   (主材.全口径市场价含税 - 主材.市场价含税) * 主材.数量*主材.损耗/100;
		  ->主材.拆分 == 1
		   :
			sum(filter(_过滤甲供不取费主材(),"拆分子项",?拆分子项.设备性材料==1),"拆分子项",?(拆分子项.全口径市场价含税 - 拆分子项.市场价含税) * 拆分子项.数量*拆分子项.损耗/100);
			 }
		  );
	}
}

BEGIN:主材_不取费_甲供主材损耗差值含税_单价_设备性材料
${ 
	#{
      ->@工程信息.阶段类型=="全口径预算"
	  :	
		sum(_过滤主材(),"主材",
		?#{
		   ->主材.供货方=="甲供" && 主材.费用类型 == "不取费" && 主材.拆分 ==0 && 主材.设备性材料 ==1
		   :
		   (主材.全口径市场价含税 - 主材.市场价含税) * 主材.数量*主材.损耗/100;
		  ->主材.拆分 == 1
		   :
			sum(filter(_过滤甲供不取费主材(),"拆分子项",?拆分子项.设备性材料==1),"拆分子项",?(拆分子项.全口径市场价含税 - 拆分子项.市场价含税) * 拆分子项.数量*拆分子项.损耗/100);
		  }/parent.数量
		   );
	}
}

BEGIN:甲供主材损耗差值含税
${
	 ?主材_取费_甲供主材损耗差值含税()+主材_不取费_甲供主材损耗差值含税()
}

BEGIN:甲供主材损耗差值含税_单价
${
	 ?主材_取费_甲供主材损耗差值含税_单价()+主材_不取费_甲供主材损耗差值含税_单价()
}

BEGIN:主材_取费_甲供主材损耗差值不含税
${
	#{
      ->@工程信息.阶段类型=="全口径预算"
	  :	
		sum(_过滤主材(),"主材",
		?#{
		   ->主材.供货方=="甲供" && 主材.费用类型 == "取费" && 主材.拆分 ==0 && 主材.设备性材料 ==0
		   :
		  (主材.全口径市场价不含税 - 主材.市场价不含税) * 主材.数量*主材.损耗/100;
		  ->主材.拆分 == 1
		   :
			sum(filter(_过滤甲供取费主材(),"拆分子项",?拆分子项.设备性材料==0),"拆分子项",?(拆分子项.全口径市场价不含税 - 拆分子项.市场价不含税) * 拆分子项.数量*拆分子项.损耗/100);
		  } 
		   );
	}
}

BEGIN:主材_取费_甲供主材损耗差值不含税_设备性材料
${
	#{
      ->@工程信息.阶段类型=="全口径预算"
	  :	
		sum(_过滤主材(),"主材",
		?#{
		   ->主材.供货方=="甲供" && 主材.费用类型 == "取费" && 主材.拆分 ==0 && 主材.设备性材料 ==1
		   :
		  (主材.全口径市场价不含税 - 主材.市场价不含税) * 主材.数量*主材.损耗/100;
		  ->主材.拆分 == 1
		   :
			sum(filter(_过滤甲供取费主材(),"拆分子项",?拆分子项.设备性材料==1),"拆分子项",?(拆分子项.全口径市场价不含税 - 拆分子项.市场价不含税) * 拆分子项.数量*拆分子项.损耗/100);
		  } 
		   );
	}
}


BEGIN:主材_取费_甲供主材损耗差值不含税_单价_设备性材料
${
	#{
      ->@工程信息.阶段类型=="全口径预算"
	  :	
		sum(_过滤主材(),"主材",
		?#{
		   ->主材.供货方=="甲供" && 主材.费用类型 == "取费" && 主材.拆分 ==0 && 主材.设备性材料 ==1
		   :
		  (主材.全口径市场价不含税 - 主材.市场价不含税) * 主材.数量*主材.损耗/100;
		  ->主材.拆分 == 1
		   :
			sum(filter(_过滤甲供取费主材(),"拆分子项",?拆分子项.设备性材料==1),"拆分子项",?(拆分子项.全口径市场价不含税 - 拆分子项.市场价不含税) * 拆分子项.数量*拆分子项.损耗/100);
		  }/parent.数量 
		   );
	}
}

BEGIN:主材_取费_乙供主材损耗差值不含税_设备性材料
${
	#{
      ->@工程信息.阶段类型=="全口径预算"
	  :	
		sum(_过滤主材(),"主材",
		?#{
		   ->主材.供货方=="乙供" && 主材.费用类型 == "取费" && 主材.拆分 ==0 && 主材.设备性材料 ==1
		   :
		  (主材.全口径市场价不含税 - 主材.市场价不含税) * 主材.数量*主材.损耗/100;
		  ->主材.拆分 == 1
		   :
			sum(filter(_过滤乙供取费主材(),"拆分子项",?拆分子项.设备性材料==1),"拆分子项",?(拆分子项.全口径市场价不含税 - 拆分子项.市场价不含税) * 拆分子项.数量*拆分子项.损耗/100);
		  } 
		   );
	}
}

BEGIN:主材_取费_乙供主材损耗差值不含税_单价_设备性材料
${
	#{
      ->@工程信息.阶段类型=="全口径预算"
	  :	
		sum(_过滤主材(),"主材",
		?#{
		   ->主材.供货方=="乙供" && 主材.费用类型 == "取费" && 主材.拆分 ==0 && 主材.设备性材料 ==1
		   :
		  (主材.全口径市场价不含税 - 主材.市场价不含税) * 主材.数量*主材.损耗/100;
		  ->主材.拆分 == 1
		   :
			sum(filter(_过滤乙供取费主材(),"拆分子项",?拆分子项.设备性材料==1),"拆分子项",?(拆分子项.全口径市场价不含税 - 拆分子项.市场价不含税) * 拆分子项.数量*拆分子项.损耗/100);
		  }/parent.数量 
		   );
	}
}

BEGIN:主材_不取费_甲供主材损耗差值不含税
${
	#{
      ->@工程信息.阶段类型=="全口径预算"
	 :	
		sum(_过滤主材(),"主材",
		?#{
		   ->主材.供货方=="甲供" && 主材.费用类型 == "不取费" && 主材.拆分 ==0 && 主材.设备性材料 ==0
		   :
		  (主材.全口径市场价不含税 - 主材.市场价不含税) * 主材.数量*主材.损耗/100;
		  ->主材.拆分 == 1
		   :
			sum(filter(_过滤甲供不取费主材(),"拆分子项",?拆分子项.设备性材料==0),"拆分子项",?(拆分子项.全口径市场价不含税 - 拆分子项.市场价不含税) * 拆分子项.数量*拆分子项.损耗/100);
		  } 
		   );
	}
}

BEGIN:主材_不取费_甲供主材损耗差值不含税_设备性材料
${
	#{
      ->@工程信息.阶段类型=="全口径预算"
	 :	
		sum(_过滤主材(),"主材",
		?#{
		   ->主材.供货方=="甲供" && 主材.费用类型 == "不取费" && 主材.拆分 ==0 && 主材.设备性材料 ==1
		   :
		  (主材.全口径市场价不含税 - 主材.市场价不含税) * 主材.数量*主材.损耗/100;
		  ->主材.拆分 == 1
		   :
			sum(filter(_过滤甲供不取费主材(),"拆分子项",?拆分子项.设备性材料==1),"拆分子项",?(拆分子项.全口径市场价不含税 - 拆分子项.市场价不含税) * 拆分子项.数量*拆分子项.损耗/100);
		  } 
		   );
	}
}

BEGIN:主材_不取费_甲供主材损耗差值不含税_单价_设备性材料
${
	#{
      ->@工程信息.阶段类型=="全口径预算"
	 :	
		sum(_过滤主材(),"主材",
		?#{
		   ->主材.供货方=="甲供" && 主材.费用类型 == "不取费" && 主材.拆分 ==0 && 主材.设备性材料 ==1
		   :
		  (主材.全口径市场价不含税 - 主材.市场价不含税) * 主材.数量*主材.损耗/100;
		  ->主材.拆分 == 1
		   :
			sum(filter(_过滤甲供不取费主材(),"拆分子项",?拆分子项.设备性材料==1),"拆分子项",?(拆分子项.全口径市场价不含税 - 拆分子项.市场价不含税) * 拆分子项.数量*拆分子项.损耗/100);
		  }/parent.数量 
		   );
	}
}

BEGIN:主材_不取费_乙供主材损耗差值不含税_设备性材料
${
	#{
      ->@工程信息.阶段类型=="全口径预算"
	 :	
		sum(_过滤主材(),"主材",
		?#{
		   ->主材.供货方=="乙供" && 主材.费用类型 == "不取费" && 主材.拆分 ==0 && 主材.设备性材料 ==1
		   :
		  (主材.全口径市场价不含税 - 主材.市场价不含税) * 主材.数量*主材.损耗/100;
		  ->主材.拆分 == 1
		   :
			sum(filter(_过滤乙供不取费主材(),"拆分子项",?拆分子项.设备性材料==1),"拆分子项",?(拆分子项.全口径市场价不含税 - 拆分子项.市场价不含税) * 拆分子项.数量*拆分子项.损耗/100);
		  } 
		   );
	}
}

BEGIN:主材_不取费_乙供主材损耗差值不含税_单价_设备性材料
${
	#{
      ->@工程信息.阶段类型=="全口径预算"
	 :	
		sum(_过滤主材(),"主材",
		?#{
		   ->主材.供货方=="乙供" && 主材.费用类型 == "不取费" && 主材.拆分 ==0 && 主材.设备性材料 ==1
		   :
		  (主材.全口径市场价不含税 - 主材.市场价不含税) * 主材.数量*主材.损耗/100;
		  ->主材.拆分 == 1
		   :
			sum(filter(_过滤乙供不取费主材(),"拆分子项",?拆分子项.设备性材料==1),"拆分子项",?(拆分子项.全口径市场价不含税 - 拆分子项.市场价不含税) * 拆分子项.数量*拆分子项.损耗/100);
		  }/parent.数量 
		   );
	}
}
	
BEGIN:甲供主材损耗差值不含税
${
	?主材_取费_甲供主材损耗差值不含税()+主材_不取费_甲供主材损耗差值不含税()
}
