浏览代码

甲供、甲定

chenshilong 6 年之前
父节点
当前提交
c02808f68d
共有 2 个文件被更改,包括 26 次插入23 次删除
  1. 16 12
      web/building_saas/main/js/models/calc_program.js
  2. 10 11
      web/over_write/js/jiangxi_2017.js

+ 16 - 12
web/building_saas/main/js/models/calc_program.js

@@ -603,7 +603,7 @@ let calcTools = {
         }
         return result;
     },
-    partASupplyFee: function (treeNode, baseName, isTender) {
+    partASupplyFee: function (treeNode, baseName, isTender, isRationPirce = true) {
         if (!treeNode.data.gljList) return 0;
         let projectGLJ = projectObj.project.projectGLJ;
 
@@ -643,6 +643,7 @@ let calcTools = {
                 if(supply.code == composition.code && supply.name == composition.name && supply.unit == composition.unit &&
                     supply.specs == composition.specs && supply.type == composition.type ){
                     composition.basePrice = supply.unit_price.base_price;
+                    composition.marketPrice = supply.unit_price.market_price;
                     composition.supply = supply.supply;
                     composition.supplyX = 1;
                     if (composition.supply == supplyType.BFJG){
@@ -657,7 +658,7 @@ let calcTools = {
 
         let sum = 0;
         for (let glj of treeNode.data.gljList){
-            let gljQ;
+            let gljQ, gljP;
             if (isTender){
                 calcTools.calcGLJTenderQty(treeNode, glj);
                 gljQ = glj.tenderQuantity;
@@ -665,6 +666,8 @@ let calcTools = {
             else
                 gljQ = glj.quantity;
 
+            gljP = isRationPirce ? glj.basePrice : glj.marketPrice;
+
             let X = 1;    // 部分甲供系数(默认1,即完全甲供)
             let tempSGLJ = supplyGLJsIdx[glj.projectGLJID];
             // 当前材料是甲供材料:①普通 ②商品硂等不计组成物的母体材料
@@ -676,7 +679,7 @@ let calcTools = {
                     Q = Q ? Q : 1;
                     X = tempSGLJ.supply_quantity / Q;
                 }
-                sum = (sum + glj.basePrice * gljQ * X).toDecimal(decimalObj.process);
+                sum = (sum + gljP * gljQ * X).toDecimal(decimalObj.process);
             }
             else{   // 当前材料不是甲供材料
                 if (compT.includes(glj.type)) {   // 混凝土等。组成物的母体,母体如果有组成物,则母体无法作为甲供材料,无法设置,此时要看其组成物是否是甲供材料;母体如果没有组成物,则母体有可能成为甲供材料。
@@ -689,7 +692,8 @@ let calcTools = {
                                 if (baseName.includes('甲供') && (c.supply == supplyType.BFJG)){
                                     X = c.supplyX;
                                 };
-                                sum = (sum + c.basePrice * c.consumption * gljQ * X).toDecimal(decimalObj.process);
+                                let cP = isRationPirce ? c.basePrice : c.marketPrice;
+                                sum = (sum + cP * c.consumption * gljQ * X).toDecimal(decimalObj.process);
                             }
                         }
                     };
@@ -921,7 +925,7 @@ let rationCalcBasesNameKinds = {
     RGF:        ['定额基价人工费', '定额人工费'],
     CLF:        ['定额基价材料费', '定额材料费'],
     QTCLF:      ['定额其他材料费'],
-    JXF:        ['定额基价机械费', '定额施工机具使用费'],
+    JXF:        ['定额基价机械费', '定额机械费', '定额施工机具使用费'],
     JSRGF:      ['定额基价机上人工费'],
     ZCF:        ['主材费'],
     SBF:        ['设备费'],
@@ -936,19 +940,19 @@ let rationCalcBasesNameKinds = {
 
     JG_RGF:     ['甲供定额基价人工费', '甲供定额人工费', '甲供人工费'],
     JG_CLF:     ['甲供定额基价材料费', '甲供定额材料费', '甲供材料费'],
-    JG_JXF:     ['甲供定额基价机械费', '甲供定额施工机具费', '甲供机械费'],
+    JG_JXF:     ['甲供定额基价机械费', '甲供定额机械费', '甲供机械费', '甲供定额施工机具费'],
     JG_ZCF:     ['甲供主材费'],
     JG_SBF:     ['甲供设备费'],
 
-    JD_RGF:     ['甲定定额基价人工费', '甲定定额人工费'],
-    JD_CLF:     ['甲定定额基价材料费', '甲定定额材料费'],
-    JD_JXF:     ['甲定定额基价机械费', '甲定定额施工机具费'],
+    JD_RGF:     ['甲定定额基价人工费', '甲定定额人工费', '甲定人工费'],
+    JD_CLF:     ['甲定定额基价材料费', '甲定定额材料费', '甲定材料费'],
+    JD_JXF:     ['甲定定额基价机械费', '甲定定额机械费', '甲定机械费', '甲定定额施工机具费'],
     JD_ZCF:     ['甲定主材费'],
     JD_SBF:     ['甲定设备费'],
 
-    FB_RGF:     ['分包定额基价人工费'],
-    FB_CLF:     ['分包定额基价材料费'],
-    FB_JXF:     ['分包定额基价机械费'],
+    FB_RGF:     ['分包定额基价人工费', '分包人工费'],
+    FB_CLF:     ['分包定额基价材料费', '分包材料费'],
+    FB_JXF:     ['分包定额基价机械费', '分包机械费'],
     FB_ZCF:     ['分包主材费'],
     FB_SBF:     ['分包设备费'],
     FB_RGGR:    ['分包人工工日']

+ 10 - 11
web/over_write/js/jiangxi_2017.js

@@ -50,34 +50,34 @@ function overwriteRationCalcBases (taxType){
         return calcTools.labourDays(node, isTender);
     };
     rationCalcBases['甲供人工费'] = function (node, isTender) {
-        return calcTools.partASupplyFee(node, '甲供人工费', isTender);
+        return calcTools.partASupplyFee(node, '甲供人工费', isTender, false);
     };
     rationCalcBases['甲供材料费'] = function (node, isTender) {
-        return calcTools.partASupplyFee(node, '甲供材料费', isTender);
+        return calcTools.partASupplyFee(node, '甲供材料费', isTender, false);
     };
     rationCalcBases['甲供机械费'] = function (node, isTender) {
-        return calcTools.partASupplyFee(node, '甲供机械费', isTender);
+        return calcTools.partASupplyFee(node, '甲供机械费', isTender, false);
     };
     rationCalcBases['甲供主材费'] = function (node, isTender) {
-        return calcTools.partASupplyFee(node, '甲供主材费', isTender);
+        return calcTools.partASupplyFee(node, '甲供主材费', isTender, false);
     };
     rationCalcBases['甲供设备费'] = function (node, isTender) {
-        return calcTools.partASupplyFee(node, '甲供设备费', isTender);
+        return calcTools.partASupplyFee(node, '甲供设备费', isTender, false);
     };
     rationCalcBases['甲定人工费'] = function (node, isTender) {
-        return calcTools.partASupplyFee(node, '甲定人工费', isTender);
+        return calcTools.partASupplyFee(node, '甲定人工费', isTender, false);
     };
     rationCalcBases['甲定材料费'] = function (node, isTender) {
-        return calcTools.partASupplyFee(node, '甲定材料费', isTender);
+        return calcTools.partASupplyFee(node, '甲定材料费', isTender, false);
     };
     rationCalcBases['甲定机械费'] = function (node, isTender) {
-        return calcTools.partASupplyFee(node, '甲定机械费', isTender);
+        return calcTools.partASupplyFee(node, '甲定机械费', isTender, false);
     };
     rationCalcBases['甲定主材费'] = function (node, isTender) {
-        return calcTools.partASupplyFee(node, '甲定主材费', isTender);
+        return calcTools.partASupplyFee(node, '甲定主材费', isTender, false);
     };
     rationCalcBases['甲定设备费'] = function (node, isTender) {
-        return calcTools.partASupplyFee(node, '甲定设备费', isTender);
+        return calcTools.partASupplyFee(node, '甲定设备费', isTender, false);
     };
     rationCalcBases['暂估材料费'] = function (node, isTender) {
         return calcTools.estimateFee(node, true, isTender);
@@ -120,7 +120,6 @@ function overwriteRationCalcBases (taxType){
     };
 };
 
-
 (function overwriteFeeTypes() {
     if (typeof cpFeeTypes == 'undefined') return;
     cpFeeTypes = [