浏览代码

Merge branch 'master' of http://smartcost.f3322.net:3000/SmartCost/ConstructionCost

zhongzewei 7 年之前
父节点
当前提交
0e4da4e032

+ 6 - 1
modules/reports/rpt_component/jpc_flow_tab.js

@@ -14,6 +14,7 @@ let PDFKit = require('pdfkit');
 let JpcFlowTabSrv = function(){};
 JpcFlowTabSrv.prototype.createNew = function(){
     //grpPageInfo :{"segGrpRecStartIdx": 0, "insertedGrpRecAmt": 0, "preAddPageGrpInfo": null}; //纯属解释参数grpPageInfo结构
+    //valueIdx: [isFollowMode, type(normal, auto-height, group), valueIndex, sub-value-index(自动行高特有), total-value-amount(自动行高特有)] //解释 dispValueIdxLst 数据构造
     function private_addPageValue(ValuedIdxLst, sortedSequence, grpSequenceInfo, startRecIdx, maxRecPerPage,page_seg_map, segIdx, pageIdx, grpPageInfo, isFollow, segAutoHeightInfo, prePageLeftAutoHeightRecAmt) {
         let vIdx = [], preAmt = 0, insertedGrpAmt = 0, grp_lines = 0, followMode = (isFollow)?JV.TYPE_FOLLOW_MODE:-1, nextPageAutoHeightRecAmt = 0;
         if (grpSequenceInfo && grpPageInfo) {
@@ -809,7 +810,11 @@ JpcFlowTabSrv.prototype.createNew = function(){
                     }
                     //page sum content
                     for (let di = 0; di < page_sum_data_fields.length; di++) {
-                        rowGrandTotal[di] = rowGrandTotal[di] + 1.0 * JpcFieldHelper.getValue(page_sum_data_fields[di], contentValuesIdx[rowIdx][2]);
+                        if (contentValuesIdx[rowIdx][1] === JV.DISPLAY_VAL_TYPE_NORMAL ||
+                            contentValuesIdx[rowIdx][1] === JV.DISPLAY_VAL_TYPE_AUTO_HEIGHT && contentValuesIdx[rowIdx][3] === 0) {
+                            rowGrandTotal[di] = rowGrandTotal[di] + 1.0 * JpcFieldHelper.getValue(page_sum_data_fields[di], contentValuesIdx[rowIdx][2]);
+                        }
+                        // rowGrandTotal[di] = rowGrandTotal[di] + 1.0 * JpcFieldHelper.getValue(page_sum_data_fields[di], contentValuesIdx[rowIdx][2]);
                     }
                 }
                 me.pageSumValLst.push(rowGrandTotal);

+ 3 - 2
test/unit/reports/test_tpl_09.js

@@ -28,9 +28,10 @@ let demoPrjId = - 1;
 let demoRptId = 232, pagesize = "A4";
 
 // demoPrjId = 720; //QA: DW3
-demoPrjId = 1626; //QA:
+demoPrjId = 2260; //QA:
 //*/
-let userId_Leng = "59cdf14a0034a1000ba52b97"; //小冷User Id 换成_id了
+// let userId_Leng = "59cdf14a0034a1000ba52b97"; //小冷User Id 换成_id了
+let userId_Leng = "5acac1e885bf55000bd055ba";
 let userId_Dft = userId_Leng;
 /*/
  let userId_Dft = "595328da1934dc327cad08eb";

+ 7 - 5
web/building_saas/main/js/models/calc_program.js

@@ -251,12 +251,12 @@ let calcTools = {
                     if (md.type == gljType.MACHINE_LABOUR) {
                         let q = md["consumption"] ? md["consumption"] : 0;
                         let p = md["basePrice"] ? md["basePrice"] : 0;
-                        mdSum = mdSum + (q * p).toDecimal(decimalObj.ration.unitFee);
-                        mdSum = (mdSum).toDecimal(decimalObj.ration.unitFee);
+                        mdSum = mdSum + (q * p).toDecimal(decimalObj.ration.unitPrice);
+                        mdSum = (mdSum).toDecimal(decimalObj.ration.unitPrice);
                     }
                 }
-                result = result + (glj["quantity"] * mdSum).toDecimal(decimalObj.ration.unitFee);
-                result = (result).toDecimal(decimalObj.ration.unitFee);
+                result = result + (glj["quantity"] * mdSum).toDecimal(decimalObj.ration.unitPrice);
+                result = (result).toDecimal(decimalObj.ration.unitPrice);
             }
         }
         return result;
@@ -1540,7 +1540,9 @@ class CalcProgram {
                 for (let idx of template.compiledSeq) {
                     let calcItem = template.calcItems[idx];
                     $CE.tempCalcItem = calcItem;
-                    let feeRate = parseFloatPlus(calcItem.feeRate) ? parseFloatPlus(calcItem.feeRate).toDecimal(decimalObj.feeRate) : 100;  // 100%
+                    let feeRate = 100;  // 100%
+                    if (calcItem.feeRate != undefined)
+                        feeRate = parseFloat(calcItem.feeRate).toDecimal(decimalObj.feeRate);
                     // console.log(`[${calcItem.ID}]: ${calcItem.compiledExpr}`);   // for test.
                     calcItem.unitFee = (eval(calcItem.compiledExpr) * feeRate * 0.01).toDecimal(decimalObj.decimal('unitPrice', treeNode));   // 如果eval()对清单树有影响,就换成小麦的Expression对象再试