Procházet zdrojové kódy

fix(client): 河南养护:① {信息化费} 公式计算不正确。② 缺少基数:{工程监理费}。③ {设计文件审查费(一阶段)}和 {设计文件审查费(二阶段)} 计算后金额不满2000元均应按2000元计。

chenshilong před 3 roky
rodič
revize
0c86666cfa
1 změnil soubory, kde provedl 8 přidání a 3 odebrání
  1. 8 3
      web/over_write/js/henan_2022.js

+ 8 - 3
web/over_write/js/henan_2022.js

@@ -1,3 +1,5 @@
+const { max } = require("lodash");
+
 if (typeof feeRateObject !== "undefined") {
   feeRateObject.feeRateSpecialHandle = function (subRate, value) {
     let result = {};
@@ -57,6 +59,7 @@ if (typeof baseFigureMap !== "undefined") {
       pick: true,
     },
     信息化费: {
+      isProgressive: true,
       base: "YHXMXXHF",
       fixedFlag: null,
       filter: [fixedFlag.MAINTENANCE_EXPENSES],
@@ -68,7 +71,6 @@ if (typeof baseFigureMap !== "undefined") {
       fixedFlag: null,
       filter: [fixedFlag.MAINTENANCE_EXPENSES],
       pick: true,
-      engineeringList: littleFixNames,
     },
     设计文件审查费: {
       isProgressive: true,
@@ -409,31 +411,34 @@ if (typeof baseFigureTemplate !== "undefined") {
       return (installFee * (Math.pow(1 + costGrowthRate, growthPeriod - 1) - 1)).toDecimal(decimalObj.bills.totalPrice);
     },
     // 设计文件审查费(一阶段) 算法:以{定额建筑安装工程费}为基数,采用累进办法计算。
+    // 设计文件审查费(一阶段)和 设计文件审查费(二阶段)两个基数计算后金额不满2000元均应按2000元计。
     SJWJSCFYJD(tender) {
       const baseFee = this["DEJZAZGCF"](tender);
       if (!tender) {
         calcBase.baseProgressiveFee = baseFee;
       }
-      return calculateUtil.getProgressiveFee(
+      const rst = calculateUtil.getProgressiveFee(
         baseFee,
         "设计文件审查费(一阶段)",
         projectObj.project.property.progressiveInterval,
         decimalObj.bills.totalPrice,
         deficiency
       );
+      return max([rst, 2000]);
     },
     SJWJSCFEJD(tender) {
       const baseFee = this["DEJZAZGCF"](tender);
       if (!tender) {
         calcBase.baseProgressiveFee = baseFee;
       }
-      return calculateUtil.getProgressiveFee(
+      const rst = calculateUtil.getProgressiveFee(
         baseFee,
         "设计文件审查费(二阶段)",
         projectObj.project.property.progressiveInterval,
         decimalObj.bills.totalPrice,
         deficiency
       );
+      return max([rst, 2000]);
     },
     GCSJFYJD(tender) {
       const baseFee = this["DEJZAZGCF"](tender);