344 lines
13 KiB
Plaintext
344 lines
13 KiB
Plaintext
//费用组合单价变量(用于计算清单的单价费用(综合单价、取费费用单价等))
|
|
BEGIN:费用组合单价变量
|
|
${
|
|
sum(source,"工程量代理",?工程量代理.结算费用)
|
|
}
|
|
|
|
//费用组合变量(根据结算条款组合中标费用和结算费用)
|
|
BEGIN:费用组合变量
|
|
${
|
|
sum(source,"工程量代理",?#{
|
|
->清单结算状态() == 1
|
|
:工程量代理.结算费用 * 工程量代理.数量;
|
|
->清单结算状态() == 2 || 清单结算状态() == 3 || 清单结算状态() == 4 || 清单结算状态() == 7 || 清单结算状态() == 8
|
|
:工程量代理.中标费用 * 工程量代理.数量;
|
|
->清单结算状态() == 5
|
|
:工程量代理.中标费用*工程量代理.中标数量*(1+清单工程量调整幅度()/100)
|
|
+(工程量代理.数量-工程量代理.中标数量*(1+清单工程量调整幅度()/100))*工程量代理.结算费用;
|
|
->清单结算状态() == 6 || 清单结算状态() == 9 || 清单结算状态() == 16 || 清单结算状态() == 17
|
|
:工程量代理.结算费用 * 工程量代理.数量;
|
|
}
|
|
)
|
|
}
|
|
|
|
BEGIN:单条清单结算状态
|
|
${
|
|
sum(source,"工程量代理",?清单结算状态())
|
|
}
|
|
|
|
BEGIN:清单结算状态
|
|
${
|
|
#{
|
|
->(@工程信息.阶段类型 != "结算" && @工程信息.阶段类型 != "审核") || 工程量代理.设备类费用 == 1
|
|
:1;
|
|
->
|
|
:#{
|
|
->工程量代理.阶段类型 == @工程信息.阶段类型
|
|
|| (工程量代理.阶段类型 == "结算" && @工程信息.阶段类型 == "审核")
|
|
|| 一笔性费用清单结算条款() == 1
|
|
:1;
|
|
->清单项目特征值结算条款() == 1
|
|
:1;
|
|
->清单量差比例是否超过设置值结算条款() == 0
|
|
:#{
|
|
->费用超过合计的比例是否超过设置值结算条款() == 0
|
|
:2;
|
|
->费用超过合计的比例是否超过设置值结算条款() == 1
|
|
:#{
|
|
->工程量代理.数量 - 工程量代理.中标数量 > 0
|
|
:16;
|
|
->工程量代理.数量 - 工程量代理.中标数量 < 0
|
|
:17;
|
|
};
|
|
};
|
|
->清单量差比例是否超过设置值结算条款() == 1
|
|
:#{
|
|
->清单金额增减是否超过设置值结算条款() == 0
|
|
:#{
|
|
->工程量代理.数量 - 工程量代理.中标数量 > 0
|
|
:3;
|
|
->工程量代理.数量 - 工程量代理.中标数量 < 0
|
|
:4;
|
|
};
|
|
->清单金额增减是否超过设置值结算条款() == 1
|
|
:#{
|
|
->工程量代理.数量 - 工程量代理.中标数量 > 0
|
|
:5;
|
|
->工程量代理.数量 - 工程量代理.中标数量 < 0
|
|
:6;
|
|
};
|
|
};
|
|
};
|
|
}
|
|
}
|
|
|
|
BEGIN:一笔性费用清单结算条款
|
|
${
|
|
#{
|
|
->工程量代理.一笔性费用 == 0 || 工程量代理.阶段类型 == "" || 工程量代理.阶段类型 == @工程信息.阶段类型
|
|
|| (工程量代理.阶段类型 == "结算" && @工程信息.阶段类型 == "审核")
|
|
:0;
|
|
->
|
|
:#{
|
|
->@结算条款.一笔性费用清单结算原则.值 == "按实际发生的量和价结算"
|
|
:1;
|
|
->@结算条款.一笔性费用清单结算原则.值 == "包干费用不可调整"
|
|
:3;
|
|
->
|
|
:2;
|
|
};
|
|
}
|
|
}
|
|
|
|
BEGIN:清单项目特征值结算条款
|
|
${
|
|
#{
|
|
->一笔性费用清单结算条款() == 3
|
|
:0;
|
|
->
|
|
:#{
|
|
->strFind(工程量代理.项目划分类型, "措施项目二") < 0 && 工程量代理.拆除 == 0
|
|
:#{
|
|
->@结算条款.项目特征发生变化.应用 == 0 || @结算条款.项目特征发生变化.值 != "是"
|
|
:0;
|
|
->清单项目特征值是否变化() == 0
|
|
:0;
|
|
->
|
|
:1;
|
|
};
|
|
->strFind(工程量代理.项目划分类型, "措施项目二") < 0 && 工程量代理.拆除 == 1
|
|
:#{
|
|
->@结算条款.拆除项目特征发生变化.应用 == 0 || @结算条款.拆除项目特征发生变化.值 != "是"
|
|
:0;
|
|
->清单项目特征值是否变化() == 0
|
|
:0;
|
|
->
|
|
:1;
|
|
};
|
|
->
|
|
:#{
|
|
->@结算条款.措施二项目特征发生变化.应用 == 0 || @结算条款.措施二项目特征发生变化.值 != "是"
|
|
:0;
|
|
->清单项目特征值是否变化() == 0
|
|
:0;
|
|
->
|
|
:1;
|
|
};
|
|
};
|
|
}
|
|
}
|
|
|
|
BEGIN:清单项目特征值是否变化
|
|
${
|
|
sum(items, "项目特征", ?iif(项目特征.中标项目特征值!=项目特征.项目特征值, 1, 0))
|
|
}
|
|
|
|
BEGIN:清单量差比例是否超过设置值结算条款
|
|
${
|
|
#{
|
|
->一笔性费用清单结算条款() == 3
|
|
:0;
|
|
->一笔性费用清单结算条款() == 1
|
|
:1;
|
|
->
|
|
:#{
|
|
->工程量代理.中标数量 < 0
|
|
:0;
|
|
->strFind(工程量代理.项目划分类型, "措施项目二") < 0 && 工程量代理.拆除 == 0
|
|
:#{
|
|
->@结算条款.清单工程量调整幅度.应用 == 0
|
|
:0;
|
|
->工程量代理.数量 - 工程量代理.中标数量 > 0
|
|
:iif((工程量代理.数量 - 工程量代理.中标数量)-@结算条款.清单工程量调整幅度.值/100*工程量代理.中标数量 > 0.0001,1,0);
|
|
->
|
|
:iif((工程量代理.中标数量 - 工程量代理.数量)-@结算条款.清单工程量调整幅度.值/100*工程量代理.中标数量 > 0.0001,1,0);
|
|
};
|
|
->strFind(工程量代理.项目划分类型, "措施项目二") < 0 && 工程量代理.拆除 == 1
|
|
:#{
|
|
->@结算条款.拆除清单工程量调整幅度.应用 == 0
|
|
:0;
|
|
->工程量代理.数量 - 工程量代理.中标数量 > 0
|
|
:iif((工程量代理.数量 - 工程量代理.中标数量)-@结算条款.拆除清单工程量调整幅度.值/100*工程量代理.中标数量 > 0.0001,1,0);
|
|
->
|
|
:iif((工程量代理.中标数量 - 工程量代理.数量)-@结算条款.拆除清单工程量调整幅度.值/100*工程量代理.中标数量 > 0.0001,1,0);
|
|
};
|
|
->
|
|
:#{
|
|
->@结算条款.措施二清单工程量调整幅度.应用 == 0
|
|
:0;
|
|
->工程量代理.数量 - 工程量代理.中标数量 > 0
|
|
:iif((工程量代理.数量 - 工程量代理.中标数量)-@结算条款.措施二清单工程量调整幅度.值/100*工程量代理.中标数量 > 0.0001,1,0);
|
|
->
|
|
:iif((工程量代理.中标数量 - 工程量代理.数量)-@结算条款.措施二清单工程量调整幅度.值/100*工程量代理.中标数量 > 0.0001,1,0);
|
|
};
|
|
};
|
|
}
|
|
}
|
|
|
|
BEGIN:清单金额增减是否超过设置值结算条款
|
|
${
|
|
#{
|
|
->一笔性费用清单结算条款() == 3
|
|
:0;
|
|
->一笔性费用清单结算条款() == 1
|
|
:1;
|
|
->
|
|
:#{
|
|
->工程量代理.中标数量 < 0
|
|
:0;
|
|
->strFind(工程量代理.项目划分类型, "措施项目二") < 0 && 工程量代理.拆除 == 0
|
|
:#{
|
|
->@结算条款.清单金额增减超过.应用 == 0
|
|
:1;
|
|
->工程量代理.数量 - 工程量代理.中标数量 > 0
|
|
:iif(abs(工程量代理.拟定综合单价*(工程量代理.数量-工程量代理.中标数量*(1+@结算条款.清单工程量调整幅度.值/100))+工程量代理.中标合价*(1+@结算条款.清单工程量调整幅度.值/100)-工程量代理.中标单价*工程量代理.数量) > @结算条款.清单金额增减超过.值*10000,1,0);
|
|
->
|
|
:iif(abs(工程量代理.中标单价*工程量代理.数量-工程量代理.拟定综合单价*工程量代理.数量) > @结算条款.清单金额增减超过.值*10000,1,0);
|
|
};
|
|
->strFind(工程量代理.项目划分类型, "措施项目二") < 0 && 工程量代理.拆除 == 1
|
|
:#{
|
|
->@结算条款.拆除清单金额增减超过.应用 == 0
|
|
:1;
|
|
->工程量代理.数量 - 工程量代理.中标数量 > 0
|
|
:iif(abs(工程量代理.拟定综合单价*(工程量代理.数量-工程量代理.中标数量*(1+@结算条款.拆除清单工程量调整幅度.值/100))+工程量代理.中标合价*(1+@结算条款.拆除清单工程量调整幅度.值/100)-工程量代理.中标单价*工程量代理.数量) > @结算条款.拆除清单金额增减超过.值*10000,1,0);
|
|
->
|
|
:iif(abs(工程量代理.中标单价*工程量代理.数量-工程量代理.拟定综合单价*工程量代理.数量) > @结算条款.拆除清单金额增减超过.值*10000,1,0);
|
|
};
|
|
->
|
|
:#{
|
|
->@结算条款.措施二清单金额增减超过.应用 == 0
|
|
:1;
|
|
->工程量代理.数量 - 工程量代理.中标数量 > 0
|
|
:iif(abs(工程量代理.拟定综合单价*(工程量代理.数量-工程量代理.中标数量*(1+@结算条款.措施二清单工程量调整幅度.值/100))+工程量代理.中标合价*(1+@结算条款.措施二清单工程量调整幅度.值/100)-工程量代理.中标单价*工程量代理.数量) > @结算条款.措施二清单金额增减超过.值*10000,1,0);
|
|
->
|
|
:iif(abs(工程量代理.中标单价*工程量代理.数量-工程量代理.拟定综合单价*工程量代理.数量) > @结算条款.措施二清单金额增减超过.值*10000,1,0);
|
|
};
|
|
};
|
|
}
|
|
}
|
|
|
|
BEGIN:费用超过合计的比例是否超过设置值结算条款
|
|
${
|
|
#{
|
|
->一笔性费用清单结算条款() == 3
|
|
:0;
|
|
->一笔性费用清单结算条款() == 1
|
|
:1;
|
|
->
|
|
:#{
|
|
->工程量代理.中标数量 < 0
|
|
:0;
|
|
->strFind(工程量代理.项目划分类型, "措施项目二") < 0 && 工程量代理.拆除 == 0
|
|
:#{
|
|
->@结算条款.差值占分部分项费比例.应用 == 0
|
|
:0;
|
|
->工程量代理.中标数量 == 0
|
|
:#{
|
|
->工程量代理.数量 != 0
|
|
:1;
|
|
->工程量代理.数量 == 0
|
|
:0;
|
|
};
|
|
->
|
|
:iif(abs((工程量代理.数量 - 工程量代理.中标数量)*工程量代理.中标单价/工程量代理.分部分项中标合价) > @结算条款.差值占分部分项费比例.值*0.01,1,0);
|
|
};
|
|
->strFind(工程量代理.项目划分类型, "措施项目二") < 0 && 工程量代理.拆除 == 1
|
|
:#{
|
|
->@结算条款.拆除差值占分部分项费比例.应用 == 0
|
|
:0;
|
|
->工程量代理.中标数量 == 0
|
|
:#{
|
|
->工程量代理.数量 != 0
|
|
:1;
|
|
->工程量代理.数量 == 0
|
|
:0;
|
|
};
|
|
->
|
|
:iif(abs((工程量代理.数量 - 工程量代理.中标数量)*工程量代理.中标单价/工程量代理.分部分项中标合价) > @结算条款.拆除差值占分部分项费比例.值*0.01,1,0);
|
|
};
|
|
->
|
|
:#{
|
|
->@结算条款.措施二差值占分部分项费比例.应用 == 0
|
|
:0;
|
|
->工程量代理.中标数量 == 0
|
|
:#{
|
|
->工程量代理.数量 != 0
|
|
:1;
|
|
->工程量代理.数量 == 0
|
|
:0;
|
|
};
|
|
->
|
|
:iif(abs((工程量代理.数量 - 工程量代理.中标数量)*工程量代理.中标单价/工程量代理.分部分项中标合价) > @结算条款.措施二差值占分部分项费比例.值*0.01,1,0);
|
|
};
|
|
};
|
|
}
|
|
}
|
|
|
|
BEGIN:清单工程量调整幅度
|
|
${
|
|
#{
|
|
->strFind(工程量代理.项目划分类型, "措施项目二") < 0 && 工程量代理.拆除 == 0
|
|
:@结算条款.清单工程量调整幅度.值;
|
|
->strFind(工程量代理.项目划分类型, "措施项目二") < 0 && 工程量代理.拆除 == 1
|
|
:@结算条款.拆除清单工程量调整幅度.值;
|
|
->
|
|
:@结算条款.措施二清单工程量调整幅度.值;
|
|
}
|
|
}
|
|
|
|
BEGIN:费用表节点是否计算
|
|
${
|
|
setparam("是否计算", 1);
|
|
iif(@工程信息.阶段类型 == "结算" || @工程信息.阶段类型 == "审核",
|
|
?{
|
|
for(source,"费用表节点",
|
|
?{
|
|
setparam("类型", 费用表节点.type);
|
|
setparam("不可竞争费用", 费用表节点.不可竞争费用);
|
|
},?0);
|
|
iif(getparam("类型") == "措施建筑" || getparam("类型") == "措施安装" || getparam("类型") == "措施线路",
|
|
?{
|
|
iif((@结算条款.措施一不可竞争项目随工程量调整而变化.值 == "否" && getparam("不可竞争费用") == 1) || (@结算条款.措施一可竞争项目随工程量调整而变化.值 == "否" && getparam("不可竞争费用") == 0),
|
|
?{
|
|
setparam("是否计算", 0);
|
|
}, ?0);
|
|
}, ?0);
|
|
|
|
iif(getparam("类型") == "规费建筑" || getparam("类型") == "规费安装" || getparam("类型") == "规费线路",
|
|
?{
|
|
iif((@结算条款.规费不可竞争项目随工程量调整而变化.值 == "否" && getparam("不可竞争费用") == 1) || (@结算条款.规费可竞争项目随工程量调整而变化.值 == "否" && getparam("不可竞争费用") == 0),
|
|
?{
|
|
setparam("是否计算", 0);
|
|
}, ?0);
|
|
}, ?0);
|
|
}, ?0);
|
|
getparam("是否计算");
|
|
}
|
|
|
|
BEGIN:费用表节点是否按分部分项比例计算
|
|
${
|
|
setparam("是否计算", 0);
|
|
iif(@工程信息.阶段类型 == "结算" || @工程信息.阶段类型 == "审核",
|
|
?{
|
|
for(source,"费用表节点",
|
|
?{
|
|
setparam("类型", 费用表节点.type);
|
|
},?0);
|
|
iif(getparam("类型") == "措施建筑" || getparam("类型") == "措施安装" || getparam("类型") == "措施线路",
|
|
?{
|
|
iif(@结算条款.措施一结算办法.值 == "新疆合同结算规则",
|
|
?{
|
|
setparam("是否计算", 1);
|
|
}, ?0);
|
|
}, ?0);
|
|
|
|
iif(getparam("类型") == "规费建筑" || getparam("类型") == "规费安装" || getparam("类型") == "规费线路",
|
|
?{
|
|
iif(@结算条款.规费结算办法.值 == "新疆合同结算规则",
|
|
?{
|
|
setparam("是否计算", 1);
|
|
}, ?0);
|
|
}, ?0);
|
|
}, ?0);
|
|
getparam("是否计算");
|
|
} |