Explorar o código

浙江养护清单基数

zhongzewei %!s(int64=6) %!d(string=hai) anos
pai
achega
b369a040ea

+ 3 - 1
modules/common/const/bills_fixed.js

@@ -57,7 +57,9 @@ const fixedFlag = {
     //安全生产费
     SAFE_COST:27,
     //100章清单
-    ONE_HUNDRED_BILLS: 28
+    ONE_HUNDRED_BILLS: 28,
+    // 一二三部分合计
+    ONE_TO_THREE_TOTAL: 29,
 };
 
 export default fixedFlag;

+ 46 - 27
web/building_saas/main/js/models/calc_base.js

@@ -456,12 +456,7 @@ let cbTools = {
         progression.sort(function (a, b) {
            let aV = getMin(a.interval),
                bV = getMin(b.interval);
-           if (aV > bV) {
-               return 1;
-           } else if (aV < bV) {
-               return -1;
-           }
-           return 0;
+           return aV - bV;
         });
         //累进计算
         let fee = 0;
@@ -718,107 +713,125 @@ let baseFigureMap = {
     'budget': {
         //只允许固定类别是“专项费用”、“土地使用及拆迁补偿费“、“养护工程其他费”下的清单使用
         '定额建筑安装工程费(不含定额设备购置费及专项费用)': {
-            base: 'DEJZAZGCFBHSBZX', fixedFlag: null,
+            base: 'DEJZAZGCFBHSBZX',
+            fixedFlag: null,
             filter: [fixedFlag.SPECIAL_COST, fixedFlag.LAND_USED_DEMOLITION, fixedFlag.MAINTENANCE_EXPENSES],
             pick: true
         },
         '定额建筑安装工程费(其中定额设备购置费按40%计)': {
-            base: 'DEJZAZGCSBSS', fixedFlag: null,
+            base: 'DEJZAZGCSBSS',
+            fixedFlag: null,
             filter: [fixedFlag.LAND_USED_DEMOLITION, fixedFlag.MAINTENANCE_EXPENSES],
             pick: true
         },
         //只允许固定类别是“安全生产费”
         '建筑安装工程费(不含安全生产费)': {
-            base: 'JZAZGCFBHSC', fixedFlag: null,
+            base: 'JZAZGCFBHSC',
+            fixedFlag: null,
             filter: [fixedFlag.SAFE_COST],
             pick: true
         },
         //只允许固定类别是“土地使用及拆迁补偿费“、“养护工程其他费”下的清单使用
         '建筑安装工程费(不含设备费)': {
-            base: 'JZAZGCFBHSB', fixedFlag: fixedFlag.CONSTRUCTION_INSTALL_FEE,
+            base: 'JZAZGCFBHSB',
+            fixedFlag: fixedFlag.CONSTRUCTION_INSTALL_FEE,
             filter: [fixedFlag.LAND_USED_DEMOLITION, fixedFlag.MAINTENANCE_EXPENSES],
             pick: true
         },
         //只允许非固定类别是“建筑安装工程费”下的清单引用
         '建筑安装工程费': {
-            base: 'JZAZGCF', fixedFlag: fixedFlag.CONSTRUCTION_INSTALL_FEE,
+            base: 'JZAZGCF',
+            fixedFlag: fixedFlag.CONSTRUCTION_INSTALL_FEE,
             filter: [fixedFlag.CONSTRUCTION_INSTALL_FEE],
             pick: false
         },
         //只允许非固定类别是“建筑安装工程费”、非固定类别是“土地使用及拆迁补偿费”下的清单引用
         '土地使用及拆迁补偿费': {
-            base: 'TDSYJCQBCF', fixedFlag: fixedFlag.LAND_USED_DEMOLITION,
+            base: 'TDSYJCQBCF',
+            fixedFlag: fixedFlag.LAND_USED_DEMOLITION,
             filter: [fixedFlag.CONSTRUCTION_INSTALL_FEE, fixedFlag.LAND_USED_DEMOLITION],
             pick: false,
         },
         //只允许非固定类别是“建筑安装工程费”、非固定类别是“土地使用及拆迁补偿费”、非固定类别是“养护工程其他费”下的清单引用
         '养护工程其他费': {
-            base: 'YHGCQTF', fixedFlag: fixedFlag.MAINTENANCE_EXPENSES,
+            base: 'YHGCQTF',
+            fixedFlag: fixedFlag.MAINTENANCE_EXPENSES,
             filter: [fixedFlag.CONSTRUCTION_INSTALL_FEE, fixedFlag.LAND_USED_DEMOLITION, fixedFlag.MAINTENANCE_EXPENSES],
             pick: false
         },
         //只允许非固定类别是“建筑安装工程费”、非固定类别是“土地使用及拆迁补偿费”、非固定类别是“养护工程其他费”、非固定类别是“预备费”下的清单引用。
         '预备费': {
-            base: 'YBF', fixedFlag: fixedFlag.BUDGET_FEE,
+            base: 'YBF',
+            fixedFlag: fixedFlag.BUDGET_FEE,
             filter: [fixedFlag.CONSTRUCTION_INSTALL_FEE, fixedFlag.LAND_USED_DEMOLITION, fixedFlag.MAINTENANCE_EXPENSES, fixedFlag.BUDGET_FEE],
             pick: false
         },
         //只允许固定类别是“专项费用”、“土地使用及拆迁补偿费“、“养护工程其他费”下的清单使用
         '施工场地建设费': {
-            base: 'SGCDJSF', fixedFlag: null,
+            base: 'SGCDJSF',
+            fixedFlag: null,
             filter: [fixedFlag.SPECIAL_COST, fixedFlag.LAND_USED_DEMOLITION, fixedFlag.MAINTENANCE_EXPENSES],
             pick: true
         },
         //只允许固定类别是“专项费用”、“土地使用及拆迁补偿费“、“养护工程其他费”下的清单使用
         '养护单位(业主)管理费': {
-            base: 'YHDWYZGLF', fixedFlag: null,
+            base: 'YHDWYZGLF',
+            fixedFlag: null,
             filter: [fixedFlag.LAND_USED_DEMOLITION, fixedFlag.MAINTENANCE_EXPENSES],
             pick: true
         },
         //只允许固定类别是“专项费用”、“土地使用及拆迁补偿费“、“养护工程其他费”下的清单使用
         '信息化费': {
-            base: 'XXHF', fixedFlag: null,
+            base: 'XXHF',
+            fixedFlag: null,
             filter: [fixedFlag.LAND_USED_DEMOLITION, fixedFlag.MAINTENANCE_EXPENSES],
             pick: true
         },
         //只允许固定类别是“专项费用”、“土地使用及拆迁补偿费“、“养护工程其他费”下的清单使用
         '路线工程监理费': {
-            base: 'LXGCJLF', fixedFlag: null,
+            base: 'LXGCJLF',
+            fixedFlag: null,
             filter: [fixedFlag.LAND_USED_DEMOLITION, fixedFlag.MAINTENANCE_EXPENSES],
             pick: true
         },
         //只允许固定类别是“专项费用”、“土地使用及拆迁补偿费“、“养护工程其他费”下的清单使用
         '独立桥梁隧道工程监理费': {
-            base: 'QLSDGCJLF', fixedFlag: null,
+            base: 'QLSDGCJLF',
+            fixedFlag: null,
             filter: [ fixedFlag.LAND_USED_DEMOLITION, fixedFlag.MAINTENANCE_EXPENSES],
             pick: true
         },
         //只允许固定类别是“专项费用”、“土地使用及拆迁补偿费“、“养护工程其他费”下的清单使用
         '设计文件审查费': {
-            base: 'SJWJSCF', fixedFlag: null,
+            base: 'SJWJSCF',
+            fixedFlag: null,
             filter: [fixedFlag.LAND_USED_DEMOLITION, fixedFlag.MAINTENANCE_EXPENSES],
             pick: true
         },
         //只允许固定类别是“专项费用”、“土地使用及拆迁补偿费“、“养护工程其他费”下的清单使用
         '路线勘察设计费': {
-            base: 'LXKCSJF', fixedFlag: null,
+            base: 'LXKCSJF',
+            fixedFlag: null,
             filter: [fixedFlag.LAND_USED_DEMOLITION, fixedFlag.MAINTENANCE_EXPENSES],
             pick: true
         },
         //只允许固定类别是“专项费用”、“土地使用及拆迁补偿费“、“养护工程其他费”下的清单使用
         '独立桥梁隧道维修加固勘察设计费': {
-            base: 'QLSDKCSJF', fixedFlag: null,
+            base: 'QLSDKCSJF',
+            fixedFlag: null,
             filter: [fixedFlag.LAND_USED_DEMOLITION, fixedFlag.MAINTENANCE_EXPENSES],
             pick: true
         },
         '招标代理及标底(最高投标限价)编制费': {
-            base: 'ZBDLJBDBZF', fixedFlag: null,
+            base: 'ZBDLJBDBZF',
+            fixedFlag: null,
             filter: [fixedFlag.LAND_USED_DEMOLITION, fixedFlag.MAINTENANCE_EXPENSES],
             pick: true
         },
         //只允许固定类别是“价差预备费”的清单使用
         '价差预备费': {
-            base: 'JCYBF', fixedFlag: fixedFlag.CONSTRUCTION_INSTALL_FEE,
+            base: 'JCYBF',
+            fixedFlag: fixedFlag.CONSTRUCTION_INSTALL_FEE,
             filter: [fixedFlag.SPREAD_BUDGET_FEE],
             pick: true
         }
@@ -829,12 +842,16 @@ let baseFigureMap = {
     * */
     'boq': {
         //仅允许用于固定类别是“第100章至700章清单”以外的清单
-        '各章清单合计': {base: 'GZQDHJ', fixedFlag: fixedFlag.ONE_SEVEN_BILLS,
+        '各章清单合计': {
+            base: 'GZQDHJ',
+            fixedFlag: fixedFlag.ONE_SEVEN_BILLS,
             filter: [fixedFlag.ONE_SEVEN_BILLS],
             pick: false
         },
         //仅允许用于固定类别是“第100章至700章清单”以外的清单
-        '专项暂定合计': {base: 'ZXZDHJ', fixedFlag: null,
+        '专项暂定合计': {
+            base: 'ZXZDHJ',
+            fixedFlag: null,
             filter: [fixedFlag.ONE_SEVEN_BILLS],
             pick: false
         },
@@ -843,7 +860,9 @@ let baseFigureMap = {
         *  因此{100章以外合计}不设置关联的清单固定行
         * */
         //仅允许用于固定类别为“100章清单”引用
-        '100章以外清单合计': {base: 'YBZYHQDHJ', fixedFlag: null,
+        '100章以外清单合计': {
+            base: 'YBZYHQDHJ',
+            fixedFlag: null,
             filter: [fixedFlag.ONE_HUNDRED_BILLS],
             pick: true
         },

+ 3 - 1
web/building_saas/main/js/models/main_consts.js

@@ -266,7 +266,9 @@ const fixedFlag = {
     //安全生产费
     SAFE_COST:27,
     //100章清单
-    ONE_HUNDRED_BILLS: 28
+    ONE_HUNDRED_BILLS: 28,
+    // 一二三部分合计
+    ONE_TO_THREE_TOTAL: 29,
 };
 
 const gljKeyArray =['code','name','specs','unit','type'];

+ 98 - 0
web/over_write/js/zhejiang_2005.js

@@ -39,6 +39,104 @@ function overwriteRationCalcBases (taxType){
     ];
 })();
 
+// 清单基数,工程量清单的基数没有变化,只修改预算的
+if (typeof baseFigureMap !== 'undefined' && baseFigureMap.budget) {
+    baseFigureMap.budget = {
+        // 除清单固定类别是“建筑安装工程费”的以外部分可显示
+        '公路养护工程费': {
+            base: 'GLYHGCF',
+            fixedFlag: fixedFlag.CONSTRUCTION_INSTALL_FEE,
+            filter: [fixedFlag.CONSTRUCTION_INSTALL_FEE],
+            pick: false,
+        },
+        // 除清单固定类别是“建筑安装工程费”、“设备购置费”的以外部分可显示
+        '设备购置费用': {
+            base: 'SBGZFY',
+            fixedFlag: fixedFlag.EQUIPMENT_ACQUISITION_FEE,
+            filter: [fixedFlag.CONSTRUCTION_INSTALL_FEE, fixedFlag.EQUIPMENT_ACQUISITION_FEE],
+            pick: false,
+        },
+        // 除清单固定类别是“建筑安装工程费”、“设备购置费”、“养护工程其他费用”的以外部分可显示
+        '公路养护工程其他费用': {
+            base: 'GLYHGCQTFY',
+            fixedFlag: fixedFlag.MAINTENANCE_EXPENSES,
+            filter: [fixedFlag.CONSTRUCTION_INSTALL_FEE, fixedFlag.EQUIPMENT_ACQUISITION_FEE, fixedFlag.MAINTENANCE_EXPENSES],
+            pick: false,
+        },
+        // 只有清单固定类别是“养护工程其他费用”部分可显示
+        '养护工程管理经费': {
+            base: 'YHGCGLJF',
+            fixedFlag: null,
+            filter: [fixedFlag.MAINTENANCE_EXPENSES],
+            pick: true,
+        },
+        // 除清单固定类别是“建筑安装工程费”、“设备购置费”、“养护工程其他费用”、“一二三部分合计”的以外部分可显示
+        '一二三部分合计': {
+            base: 'YESBFHJ',
+            fixedFlag: fixedFlag.ONE_TO_THREE_TOTAL,
+            filter: [fixedFlag.CONSTRUCTION_INSTALL_FEE, fixedFlag.EQUIPMENT_ACQUISITION_FEE, fixedFlag.MAINTENANCE_EXPENSES, fixedFlag.ONE_TO_THREE_TOTAL],
+            pick: false,
+        },
+        // 只有清单固定类别是“预备费”部分可显示
+        '工程造价增涨预留费': {
+            base: 'GCZJZZYLF',
+            fixedFlag: null,
+            filter: [fixedFlag.BUDGET_FEE],
+            pick: true,
+
+        }
+    }
+}
+// 清单基数,工程量清单的基数没有变化,只修改预算的
+if (typeof baseFigureTemplate !== 'undefined' && baseFigureTemplate.budget) {
+    baseFigureTemplate.budget = {
+        // 公路养护工程费:取清单固定类别是“建筑安装工程费”的金额
+        GLYHGCF(tender) {
+            const feeField = 'common';
+            const subFeeField = tender ? 'tenderTotalFee' : 'totalFee';
+            return cbTools.getBillsFee(calcBase.fixedFlag.CONSTRUCTION_INSTALL_FEE, feeField, subFeeField);
+        },
+        // 设备购置费用:取清单固定类别是“设备购置费”的金额
+        SBGZFY(tender) {
+            const feeField = 'common';
+            const subFeeField = tender ? 'tenderTotalFee' : 'totalFee';
+            return cbTools.getBillsFee(calcBase.fixedFlag.EQUIPMENT_ACQUISITION_FEE, feeField, subFeeField);
+        },
+        // 公路养护工程其他费用:取清单固定类别是“养护工程其他费用”的金额。
+        GLYHGCQTFY(tender) {
+            const feeField = 'common';
+            const subFeeField = tender ? 'tenderTotalFee' : 'totalFee';
+            return cbTools.getBillsFee(calcBase.fixedFlag.MAINTENANCE_EXPENSES, feeField, subFeeField);
+        },
+        // 养护工程管理经费:取清单固定类别是“建筑安装工程费”金额为基数,采用累进办法计算
+        YHGCGLJF(tender) {
+            const baseFee = this['GLYHGCF'](tender);
+            return cbTools.getProgressiveFee(baseFee, '养护工程管理费');
+        },
+        // 一二三部分合计:取清单固定类别是“一二三部分合计”的金额
+        YESBFHJ(tender) {
+            const feeField = 'common';
+            const subFeeField = tender ? 'tenderTotalFee' : 'totalFee';
+            return cbTools.getBillsFee(calcBase.fixedFlag.ONE_TO_THREE_TOTAL, feeField, subFeeField);
+        },
+        // 工程造价增涨预留费:以{公路养护工程费}为基数,= P * [(1+i)^(n-1) -1]
+        // P:公路养护工程费总额(元)
+        // i:年造价增长率(%)(项目属性已有字段)
+        // N:增涨计费年限(项目属性已有字段)
+        GCZJZZYLF(tender) {
+            const baseFee = this['GLYHGCF'](tender);
+            //年造价增涨
+            const costGrowthRate = calcBase.project.property.costGrowthRate
+                ? calcBase.project.property.costGrowthRate
+                : 0;
+            //增涨计费年限
+            const growthPeriod = projectObj.project.property.growthPeriod
+                ? calcBase.project.property.growthPeriod
+                : 0;
+            return (baseFee * (Math.pow(1 + costGrowthRate, growthPeriod - 1) - 1)).toDecimal(decimalObj.bills.totalPrice);
+        }
+    };
+}