|
@@ -251,12 +251,12 @@ let calcTools = {
|
|
|
if (md.type == gljType.MACHINE_LABOUR) {
|
|
|
let q = md["consumption"] ? md["consumption"] : 0;
|
|
|
let p = md["basePrice"] ? md["basePrice"] : 0;
|
|
|
- mdSum = mdSum + (q * p).toDecimal(decimalObj.process);
|
|
|
- mdSum = (mdSum).toDecimal(decimalObj.process);
|
|
|
+ mdSum = mdSum + (q * p).toDecimal(decimalObj.ration.unitFee);
|
|
|
+ mdSum = (mdSum).toDecimal(decimalObj.ration.unitFee);
|
|
|
}
|
|
|
}
|
|
|
- result = result + (glj["quantity"] * mdSum).toDecimal(decimalObj.process);
|
|
|
- result = (result).toDecimal(decimalObj.process);
|
|
|
+ result = result + (glj["quantity"] * mdSum).toDecimal(decimalObj.ration.unitFee);
|
|
|
+ result = (result).toDecimal(decimalObj.ration.unitFee);
|
|
|
}
|
|
|
}
|
|
|
return result;
|
|
@@ -345,8 +345,9 @@ let calcTools = {
|
|
|
};
|
|
|
|
|
|
for (let obj of GLJObjs){
|
|
|
- sumT = sumT + (me.uiGLJQty(obj.quantity) * me.uiGLJPrice(obj.marketPrice)).toDecimal(decimalObj.process);
|
|
|
- sumT = sumT.toDecimal(decimalObj.process);
|
|
|
+ let t = (me.uiGLJQty(obj.quantity) * me.uiGLJPrice(obj.marketPrice)).toDecimal(decimalObj.bills.totalPrice);
|
|
|
+ sumT = sumT + t;
|
|
|
+ sumT = sumT.toDecimal(decimalObj.bills.totalPrice);
|
|
|
};
|
|
|
sumT = sumT.toDecimal(decimalObj.bills.totalPrice);
|
|
|
}
|
|
@@ -1623,17 +1624,18 @@ class CalcProgram {
|
|
|
this.saveNodes(changedNodes, callback);
|
|
|
};
|
|
|
|
|
|
- // 排除指定项的综合合价计算(用于带循环计算的情况)
|
|
|
+ // 排除指定项的综合合价计算(用于带循环计算的情况)。
|
|
|
+ // 这里的汇总只到清单级别即可(清单单价取费时,汇总到清单和汇总到定额两个值不一样)
|
|
|
getTotalFee(baseNodes, excludeNodes){
|
|
|
let rst = 0;
|
|
|
function calcNodes(nodes) {
|
|
|
for (let node of nodes) {
|
|
|
if (!excludeNodes.includes(node)){
|
|
|
- if (node.children.length > 0) {
|
|
|
+ if (node.source && node.source.children && node.source.children.length > 0) {
|
|
|
calcNodes(node.children);
|
|
|
}
|
|
|
else{
|
|
|
- if (node.sourceType != ModuleNames.ration_glj) {
|
|
|
+ if (node.sourceType == ModuleNames.bills) {
|
|
|
rst = (rst + calcTools.getFee(node, 'common.totalFee')).toDecimal(decimalObj.decimal("totalPrice", node));
|
|
|
};
|
|
|
}
|