瀏覽代碼

Merge branch 'master' of http://192.168.1.41:3000/SmartCost/YangHuCost

Tony Kang 3 年之前
父節點
當前提交
22b32bcf2b

+ 1 - 0
web/building_saas/main/html/main.html

@@ -2113,6 +2113,7 @@
     <script type="text/javascript" src="/web/building_saas/main/js/models/labour_coe.js"></script>
     <script type="text/javascript" src="/public/calculate_util.js"></script>
     <script type="text/javascript" src="/web/building_saas/main/js/models/calc_program.js"></script>
+    <script type="text/javascript" src="/web/building_saas/main/js/models/calc_data_tool.js"></script>
     <script type="text/javascript" src="/web/building_saas/main/js/models/calc_base.js"></script>
     <script type="text/javascript" src="/web/building_saas/main/js/models/installation_fee.js"></script>
     <script type="text/javascript" src="/web/building_saas/main/js/views/calc_program_manage.js"></script>

文件差異過大導致無法顯示
+ 348 - 298
web/building_saas/main/js/models/calc_base.js


+ 19 - 0
web/building_saas/main/js/models/calc_data_tool.js

@@ -0,0 +1,19 @@
+function isLowVer(ver) {
+  var fileVer = projectObj.project.projectInfo.fileVer;
+  return fileVer <= ver;
+}
+
+// 某种情况下,数据库会产生大量的billsItemID值为“-1”的脏数据,这些数据的金额会参与计算影响正确性,此方法是过滤这些脏数据。
+function cleanDirtyData(nodeArr) {
+  if (nodeArr.length === 0) return nodeArr;
+
+  var rst = [];
+  var node1 = nodeArr[0];
+  if (node1.data && node1.data.type) {
+    rst = nodeArr.filter((node) => node.data.billsItemID !== "-1");
+  } else {
+    rst = nodeArr.filter((node) => node.billsItemID !== "-1");
+    // test: rst = nodeArr.filter((node) => parseFloat(node.quantity) < 10);
+  }
+  return rst;
+}

+ 9 - 3
web/building_saas/main/js/models/calc_program.js

@@ -2088,8 +2088,15 @@ class CalcProgram {
       }
       calcTools.checkFeeField(treeNode, ftObj);
 
-      // 数量、金额时,同步定额建安费
-      if (calcTools.isInheritFrom(treeNode, 1)) {
+      // 数量、金额时,同步定额建安费。(3000703及以下版本,漏掉了根节点固定ID为19的判断。新版本补上。因影响计算结果,版本分隔)
+      var need = false;
+      if (isLowVer("3000703") && calcTools.isInheritFrom(treeNode, 1)) need = true;
+      if (
+        !isLowVer("3000703") &&
+        (calcTools.isInheritFrom(treeNode, fixedFlag.CONSTRUCTION_INSTALL_FEE) || calcTools.isInheritFrom(treeNode, fixedFlag.ONE_SEVEN_BILLS))
+      )
+        need = true;
+      if (need) {
         let ftObj2 = {
           fieldName: "rationCommon",
           unitFee: ftObj.unitFee,
@@ -2136,7 +2143,6 @@ class CalcProgram {
       $CE.template = template;
 
       calcTools.initFees(treeNode);
-
       for (let idx of template.compiledSeq) {
         let calcItem = template.calcItems[idx];
         $CE.tempCalcItem = calcItem;