فهرست منبع

fix: 计算基数变更

vian 4 سال پیش
والد
کامیت
6858d56936
1فایلهای تغییر یافته به همراه17 افزوده شده و 31 حذف شده
  1. 17 31
      web/over_write/js/quanguo_2018.js

+ 17 - 31
web/over_write/js/quanguo_2018.js

@@ -172,8 +172,8 @@ if (typeof baseFigureMap !== 'undefined') {
     '定额建筑安装工程费': {
       base: 'DEJZAZGCF',
       fixedFlag: fixedFlag.CONSTRUCTION_INSTALL_FEE,
-      filter: [fixedFlag.CONSTRUCTION_INSTALL_FEE],
-      pick: false
+      filter: [/* fixedFlag.CONSTRUCTION_INSTALL_FEE */],
+      pick: true
     },
     // 显示:仅清单固定类别是“安全生产费”行可显示
     '建筑安装工程费(不含安全生产费)': {
@@ -200,7 +200,7 @@ if (typeof baseFigureMap !== 'undefined') {
     '定额建筑安装工程费(不含定额设备购置费、专项费用)': {
       base: 'DEJZAZGCFBHSBZX',
       fixedFlag: null,
-      filter: [fixedFlag.MAINTENANCE_EXPENSES],
+      filter: [/* fixedFlag.MAINTENANCE_EXPENSES */],
       pick: true,
     },
     // 显示:仅清单固定类别是“施工场地建设费”的可显示
@@ -305,53 +305,39 @@ if (typeof baseFigureTemplate !== 'undefined') {
     },
     // 建筑安装工程费(不含安全生产费) 算法:取固定类别是“建筑安装工程费”的“建安费”,扣除固定类别是“安全生产费”的“建安费”
     JZAZGCFBHSC(tender) {
-      let baseFee = this['DEJZAZGCF'](tender);
-      const safeFee = cbTools.getBaseFee(fixedFlag.SAFE_COST, tender, 'rationCommon');
+      let baseFee = this['JZAZGCF'](tender);
+      const safeFee = cbTools.getBaseFee(fixedFlag.SAFE_COST, tender, 'common');
       return (baseFee - safeFee).toDecimal(decimalObj.bills.totalPrice);
     },
-    // 建设安装工程费(不含设备费) 算法:取固定类别是“建筑安装工程费”的金额。扣除设备的金额。(全国造价云版中,没有固定的设备购置行,需要扣除所有类别是“设备”的金额,仅指设备行,不包括定额工料机的设备)
+    // 建设安装工程费(不含设备费) 算法:取固定类别是“建筑安装工程费”的建安费。扣除设备的定额设备费。(全国造价云版中,没有固定的设备购置行,需要扣除所有类别是“设备”的金额,仅指设备行,不包括定额工料机的设备)
     JZAZGCFBHSB(tender) {
       let baseFee = this['JZAZGCF'](tender);
       const fixedNode = projectObj.project.mainTree.roots.find(node => node.getFlag() === fixedFlag.CONSTRUCTION_INSTALL_FEE);
-      const totalEquipmentFee = cbTools.getEquipmentFee(fixedNode, tender);
-      baseFee = (baseFee - totalEquipmentFee).toDecimal(decimalObj.process);
+      const equipmentFee = cbTools.getEquipmentFee(fixedNode, tender);
+      baseFee = (baseFee - equipmentFee).toDecimal(decimalObj.process);
       return baseFee.toDecimal(decimalObj.bills.totalPrice);
     },
-    // 定额建筑安装工程费(含定额设备购置费*40%) 取固定类别是“建筑安装工程费”的金额,扣除定额设备购置费*60%的金额
+    // 定额建筑安装工程费(含定额设备购置费*40%) 取固定类别是“建筑安装工程费”的定额建安费,扣除定额设备购置费*60%的定额设备费
     DEJZAZGCFSBSS(tender) {
-      let baseFee = this['JZAZGCF'](tender);
+      let baseFee = this['DEJZAZGCF'](tender);
       const fixedNode = projectObj.project.mainTree.roots.find(node => node.getFlag() === fixedFlag.CONSTRUCTION_INSTALL_FEE);
-      const totalEquipmentFee = cbTools.getEquipmentFee(fixedNode, tender);
-      baseFee = (baseFee - totalEquipmentFee * 0.6).toDecimal(decimalObj.process);
+      const equipmentFee = cbTools.getEquipmentFee(fixedNode, tender, 'equipment');
+      baseFee = (baseFee - equipmentFee * 0.6).toDecimal(decimalObj.process);
       return baseFee.toDecimal(decimalObj.bills.totalPrice);
     },
-    // 定额建筑安装工程费(不含定额设备购置费、专项费用) 算法:取固定类别是“建筑安装工程费”的金额,扣除定额设备购置费和专项费用的金额
+    // 定额建筑安装工程费(不含定额设备购置费、专项费用) 算法:取固定类别是“建筑安装工程费”的定额建安费,扣除定额设备购置费和专项费用的建安费
     DEJZAZGCFBHSBZX(tender) {
-      let baseFee = this['JZAZGCF'](tender);
+      let baseFee = this['DEJZAZGCF'](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';
-      let diffFee = 0;
-      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;
-        }
-        diffFee = (diffFee + data.feesIndex[feeField][subFeeField]).toDecimal(decimalObj.process);
-      }
-      const specialFee = cbTools.getBaseFee(fixedFlag.SPECIAL_COST, tender, 'common');
-      diffFee = (diffFee + specialFee).toDecimal(decimalObj.process);
+      const equipmentFee = cbTools.getEquipmentFee(fixedNode, tender, 'equipment');
+      const specialFee = cbTools.getBaseFee(fixedFlag.SPECIAL_COST, tender, 'rationCommon');
+      const diffFee = (equipmentFee + specialFee).toDecimal(decimalObj.process);
       baseFee = (baseFee - diffFee).toDecimal(decimalObj.process);
       return baseFee.toDecimal(decimalObj.bills.totalPrice);
     },
     // 施工场地建设费 算法:按“定额建筑安装工程费”扣除专项费为基数,以累进办法计算
     // 【变更】:按【固定类别是“建筑安装工程费”的“定额建安费”,扣除固定类别是“专项费用”的“定额建安费”,扣除“设备”的“定额设备费”*60%】为基数,以累进办法计算
     SGCDJSF(tender) {
-      debugger;
       let baseFee = this['DEJZAZGCF'](tender);
       const specialFee = cbTools.getBaseFee(fixedFlag.SPECIAL_COST, tender, 'rationCommon');
       baseFee = (baseFee - specialFee).toDecimal(decimalObj.process);