Jelajahi Sumber

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

zhangweicheng 6 tahun lalu
induk
melakukan
c59f5d6c43

+ 13 - 10
modules/reports/rpt_component/jpc_cross_tab.js

@@ -123,16 +123,19 @@ JpcCrossTabSrv.prototype.createNew = function(){
                     for (let j = 1; j < dataSeq[i].length; j++) {
                         b1 = false;
                         for (let k = 0; k < rstFieldsIdx.length; k++) {
-                            if (typeof(rstFieldsIdx[k]) === 'object') {
-                                let map_data_field = JE.F(rstFieldsIdx[k][JV.PROP_ID], $CURRENT_RPT);
-                                if (map_data_field[JV.PROP_AD_HOC_DATA][dataSeq[i][j - 1]] !== map_data_field[JV.PROP_AD_HOC_DATA][dataSeq[i][j]]) {
-                                    b1 = true;
-                                    break;
-                                }
-                            } else {
-                                if (data_details[rstFieldsIdx[k]][dataSeq[i][j - 1]] !== data_details[rstFieldsIdx[k]][dataSeq[i][j]]) {
-                                    b1 = true;
-                                    break;
+                            if (fields[k].hasOwnProperty(JV.TAB_FIELD_PROP_SORT)) {
+                                //只有被选择了作为排序字段的才进入排序及优化
+                                if (typeof(rstFieldsIdx[k]) === 'object') {
+                                    let map_data_field = JE.F(rstFieldsIdx[k][JV.PROP_ID], $CURRENT_RPT);
+                                    if (map_data_field[JV.PROP_AD_HOC_DATA][dataSeq[i][j - 1]] !== map_data_field[JV.PROP_AD_HOC_DATA][dataSeq[i][j]]) {
+                                        b1 = true;
+                                        break;
+                                    }
+                                } else {
+                                    if (data_details[rstFieldsIdx[k]][dataSeq[i][j - 1]] !== data_details[rstFieldsIdx[k]][dataSeq[i][j]]) {
+                                        b1 = true;
+                                        break;
+                                    }
                                 }
                             }
                         }

+ 18 - 2
modules/reports/util/rpt_yanghu_data_util.js

@@ -1452,6 +1452,18 @@ function ext_getRatioDataPriceMapProperty(propKey) {
     return rst;
 }
 
+function ext_getAdHocGljProperty(adhocDataKey, propKey) {
+    let rst = [], parentObj = this;
+    let dtObj = parentObj["myOwnRawDataObj"];
+    if (propKey && dtObj) {
+        // for (let dItem of getActDataArr(dtObj)) {
+        //     let doc = (dItem._doc === null || dItem._doc === undefined)?dItem:dItem._doc;
+        //     pri_push_property(propKey, doc, rst);
+        // }
+    }
+    return rst;
+}
+
 function ext_getProperty(propKey) {
     let rst = [], parentObj = this;
     let dtObj = parentObj["myOwnRawDataObj"];
@@ -1798,12 +1810,16 @@ function ext_getPropertyByForeignId(foreignIdVal, adHocIdKey, propKey, dftValIfN
     return rst;
 }
 
-function getActDataArr(dtObj) {
+function getActDataArr(dtObj, adhocKey) {
     let rst = null;
     if (dtObj) {
         rst = dtObj.data;
         if (dtObj.moduleName === "projectGLJ") {
-            rst = dtObj.data.gljList;
+            if (adhocKey) {
+                rst = dtObj.data[adhocKey];
+            } else {
+                rst = dtObj.data.gljList;
+            }
         }
         if (dtObj.moduleName === "calc_program") {
             rst = dtObj.data.templates;

+ 8 - 6
test/unit/reports/test_rpt_test_template.js

@@ -38,7 +38,7 @@ let demoPrjId = - 1;
 
 // let demoRptId = 56; //24
 // let demoRptId = 36; //5.1
-let demoRptId = 46; //5.5测试
+// let demoRptId = 46; //5.5测试
 // let demoRptId = 49; //5.5
 // let demoRptId = 66; //5.4
 // let demoRptId = 67; //21-2
@@ -46,6 +46,7 @@ let demoRptId = 46; //5.5测试
 // let demoRptId = 37; //5.2.1 计日工劳务
 // let demoRptId = 68; //01-2
 // let demoRptId = 71; //21-2
+let demoRptId = 74; //22
 
 let pagesize = "A4";
 //288: 11-2表(新)
@@ -63,7 +64,7 @@ let userId_Leng = "5c3ffa9aa0a92732f41216e0"; //小冷User Id (养护的)
 // demoPrjId = 776; //PROD:
 // demoPrjId = 671; //PROD:
 // demoPrjId = 473; //UAT
-demoPrjId = 552; //PROD:
+demoPrjId = 1516; //PROD:
 // demoPrjId = 756; //PROD:
 // demoPrjId = 815; //PROD:
 // demoPrjId = 4107; //UAT:
@@ -102,7 +103,7 @@ test('测试 - 测试模板啦: ', function (t) {
             if (!err) {
                 try {
                     let dt = new Date();
-                    // fsUtil.writeObjToFile(rawDataObj, "D:/GitHome/YangHuCost/tmp/rptTplRawDataObject_测试模板.jsp");
+                    fsUtil.writeObjToFile(rawDataObj, "D:/GitHome/YangHuCost/tmp/rptTplRawDataObject_测试模板.jsp");
                     let tplData = rptDataUtil.assembleData(rawDataObj);
                     // fsUtil.writeObjToFile(rawDataObj, "D:/GitHome/YangHuCost/tmp/rptTplRawDataAfterCacl_测试模板.jsp");
                     // fsUtil.writeObjToFile(tplData, "D:/GitHome/YangHuCost/tmp/rptTplAssembledData_测试模板.jsp");
@@ -123,9 +124,10 @@ test('测试 - 测试模板啦: ', function (t) {
                     }
                     if (pageRst) {
                         // fsUtil.writeObjToFile(pageRst, "D:/GitHome/YangHuCost/tmp/testBuiltPageResult_测试模板" + dt.getTime() + ".jsp");
-                        rpt_xl_util.exportExcel(pageRst, pagesize, "local_test_rpt_excel", true, null, null, function(uuidName){
-                            console.log("excel uuid: " + uuidName);
-                        });
+                        // fsUtil.writeObjToFile(pageRst, "D:/GitHome/YangHuCost/tmp/testBuiltPageResult_测试模板.jsp");
+                        // rpt_xl_util.exportExcel(pageRst, pagesize, "local_test_rpt_excel", true, null, null, function(uuidName){
+                        //     console.log("excel uuid: " + uuidName);
+                        // });
                         // rpt_pdf_util.export_pdf_file(pageRst, pagesize, 'local_test_rpt_pdf', function(uuidName){
                         //     console.log("pdf uuid: " + uuidName);
                         // });