Przeglądaj źródła

增加基数处理

Tony Kang 3 lat temu
rodzic
commit
5b566ffc65
2 zmienionych plików z 41 dodań i 1 usunięć
  1. 6 0
      public/common_constants.js
  2. 35 1
      web/over_write/js/sichuan_2013.js

+ 6 - 0
public/common_constants.js

@@ -97,6 +97,12 @@
         CONSTRUCTION_ENVIROMENTAL_PROTECTION_FEE: 43,
         // 其他新增费用
         OTHER_NEW_FEE: 44,
+        // 通则
+        GENERAL_RULE: 45,
+        // 保险费
+        INSURANCE_FEE: 46,
+        // 环保、水保费
+        EP_WP_INSURANCE_FEE: 47,
     };
 
     // 导出粒度

+ 35 - 1
web/over_write/js/sichuan_2013.js

@@ -97,7 +97,25 @@ if (typeof baseFigureMap !== 'undefined') {
           filter: [fixedFlag.SPREAD_BUDGET_FEE],
           pick: true,
       },
-  };
+      '通则扣除保险费': {
+        base: 'TEXT1',
+        fixedFlag: null,
+        filter: [fixedFlag.INSURANCE_FEE],
+        pick: true,
+      },
+      '扣除安全生产费': {
+        base: 'TEXT2',
+        fixedFlag: null,
+        filter: [fixedFlag.EP_WP_INSURANCE_FEE],
+        pick: true,
+      },
+      '扣除保险费': {
+        base: 'TEXT3',
+        fixedFlag: null,
+        filter: [fixedFlag.SAFE_COST],
+        pick: true,
+      },
+};
   const boqMap = {
 
       //四川2013读的是 建筑安装工程费行的值
@@ -161,6 +179,22 @@ if (typeof baseFigureTemplate !== 'undefined') {
       YESBFHJ(tender) {
         return cbTools.getBaseFee(fixedFlag.ONE_TO_THREE_TOTAL, tender, 'common');
       },
+      TEXT1(tender) {
+        const baseFee = cbTools.getBaseFee(fixedFlag.CONSTRUCTION_INSTALL_FEE, tender, 'common');
+        const fullFeeField = tender ? `${feeField}.tenderTotalFee` : `${feeField}.totalFee`;
+        let genRuleNode = this.findNodeByFlag(fixedFlag.GENERAL_RULE);
+        if (!genRuleNode) {
+            return baseFee;
+        }
+        const deductionFee = projectObj.project.calcProgram.getTotalFee([genRuleNode], [calcBase.activeNode], fullFeeField);
+        return (baseFee - deductionFee).toDecimal(decimalObj.bills.totalPrice);
+      },
+      TEXT2(tender) {
+        return cbTools.getFeeWithDeduction(fixedFlag.CONSTRUCTION_INSTALL_FEE, [fixedFlag.SAFE_COST], tender, 'common');
+      },
+      TEXT3(tender) {
+        return cbTools.getFeeWithDeduction(fixedFlag.CONSTRUCTION_INSTALL_FEE, [fixedFlag.INSURANCE_FEE], tender, 'common');
+      },
       // 基本预备费 算法:以第一、二、三部分费用之和为基数按3%计取
       JBYBF(tender) {
         const baseFee = this['YESBFHJ'](tender);