Explorar o código

江西量价计算:人材机和定额人材机同其它省份混淆问题。

chenshilong %!s(int64=6) %!d(string=hai) anos
pai
achega
dfc5aa7a5c
Modificáronse 1 ficheiros con 20 adicións e 6 borrados
  1. 20 6
      web/building_saas/main/js/models/calc_program.js

+ 20 - 6
web/building_saas/main/js/models/calc_program.js

@@ -565,17 +565,26 @@ let calcTools = {
     marketPriceToBase: function (treeNode, baseName, isTender) {
         if (treeNode.data.type != rationType.volumePrice && treeNode.data.type != rationType.gljRation) return;
         let result = 0, me = this;
-        if (
-            (treeNode.data.subType === gljType.LABOUR && calcTools.inBase(baseName, 'RGF')) ||
-            (baseMaterialTypes.includes(treeNode.data.subType) && calcTools.inBase(baseName, 'CLF')) ||
-            (treeNode.data.subType === gljType.GENERAL_MACHINE && calcTools.inBase(baseName, 'JXF')) ||
+        let rcj;
+        if (isJX2017) {
+            rcj = (treeNode.data.subType === gljType.LABOUR && calcTools.inBase(baseName, 'SC_RGF')) ||
+                (baseMaterialTypes.includes(treeNode.data.subType) && calcTools.inBase(baseName, 'SC_CLF')) ||
+                (treeNode.data.subType === gljType.GENERAL_MACHINE && calcTools.inBase(baseName, 'SC_JXF'))
+        }
+        else{
+            rcj = (treeNode.data.subType === gljType.LABOUR && calcTools.inBase(baseName, 'RGF')) ||
+                (baseMaterialTypes.includes(treeNode.data.subType) && calcTools.inBase(baseName, 'CLF')) ||
+                (treeNode.data.subType === gljType.GENERAL_MACHINE && calcTools.inBase(baseName, 'JXF'))
+        };
+
+        if (rcj ||
             (treeNode.data.subType === gljType.MAIN_MATERIAL && calcTools.inBase(baseName, 'ZCF')) ||
             (treeNode.data.subType === gljType.EQUIPMENT && calcTools.inBase(baseName, 'SBF'))) {
             if (treeNode.data.type == rationType.volumePrice)
                 result = treeNode.data.marketUnitFee ? parseFloat(treeNode.data.marketUnitFee).toDecimal(decimalObj.ration.unitPrice) : 0
             else if (treeNode.data.type == rationType.gljRation)
-                // result = treeNode.data.basePrice ? parseFloat(treeNode.data.basePrice).toDecimal(decimalObj.ration.unitPrice) : 0;
-                // 这里因为是算基数所以要取基价,但不能直接取basePrice,受限于项目属性的三个选项。
+            // result = treeNode.data.basePrice ? parseFloat(treeNode.data.basePrice).toDecimal(decimalObj.ration.unitPrice) : 0;
+            // 这里因为是算基数所以要取基价,但不能直接取basePrice,受限于项目属性的三个选项。
                 result = gljOprObj.getBasePrice(treeNode);
         }
         else if (treeNode.data.subType === gljType.GENERAL_MACHINE && calcTools.inBase(baseName, 'JSRGF')) {
@@ -932,6 +941,11 @@ let rationCalcBasesNameKinds = {
     RGGR:       ['人工工日'],
     ZGCLF:      ['暂估材料费'],
 
+    // 市场价人工费、市场价材料费、市场价机械费。江西用,跟重庆区分开,概念上不太统一,这里要注意区分。
+    SC_RGF:     ['人工费'],
+    SC_CLF:     ['材料费'],
+    SC_JXF:     ['机械费'],
+
     JC_RGF:     ['人工费价差'],
     JC_CLF:     ['材料费价差'],
     JC_JXF:     ['机械费价差'],