Pārlūkot izejas kodu

湖南养护基数“养护工程费(不含设备费)”算法变更

vian 5 gadi atpakaļ
vecāks
revīzija
616d48f653
1 mainītis faili ar 17 papildinājumiem un 2 dzēšanām
  1. 17 2
      web/over_write/js/hunan_2020.js

+ 17 - 2
web/over_write/js/hunan_2020.js

@@ -237,9 +237,24 @@ if (typeof baseFigureTemplate !== 'undefined') {
         YHGCFBHSC(tender) {
             return cbTools.getFeeWithDeduction(fixedFlag.CONSTRUCTION_INSTALL_FEE, [fixedFlag.SAFE_COST], tender, 'common');
         },
-        // 养护工程费(不含设备费) 算法:取清单固定类别是“建筑安装工程费”的金额,扣除设备的金额。
+        // 养护工程费(不含设备费) 算法:取清单固定类别是“建筑安装工程费”的金额,扣除设备的金额(所有设备类型的人材机型定额)
         YHGCFBHSB(tender) {
-            return cbTools.getFeeWithDeduction(fixedFlag.CONSTRUCTION_INSTALL_FEE, [fixedFlag.EQUIPMENT_ACQUISITION_FEE], tender, 'common');
+            let baseFee = this[YHGCF](tender);
+            const fixedNode = projectObj.project.mainTree.roots.find(node => node.getFlag() === fixedFlag.CONSTRUCTION_INSTALL_FEE);
+            const allSubNodes = [];
+            projectObj.project.mainTree.getAllSubNode(fixedNode, allSubNodes);
+            const equipmentNodes = allSubNodes.filter(node => node.data.type === rationType.gljRation && node.data.subType === gljType.EQUIPMENT);
+            const feeField = 'common';
+            const subFeeField = tender ? 'tenderTotalFee' : 'totalFee';
+            for (const node of equipmentNodes) {
+                const data = node.data;
+                if (cbTools.isUnDef(data.feesIndex) || _.isEmpty(data.feesIndex) ||
+                    cbTools.isUnDef(data.feesIndex[feeField]) || cbTools.isUnDef(data.feesIndex[feeField][subFeeField])) {
+                    continue;
+                }
+                baseFee -= data.feesIndex[feeField][subFeeField];
+            }
+            return baseFee.toDecimal(decimalObj.bills.totalPrice);
         },
         // 定额养护工程费 取清单固定类别是“建筑安装工程费”的定额建安费。
         DEYHGCF(tender) {