Переглянути джерело

Merge branch 'master' of http://192.168.1.41:3000/maixinrong/Calculation

laiguoran 5 роки тому
батько
коміт
22042d772d
3 змінених файлів з 33 додано та 204 видалено
  1. 19 11
      app/controller/report_controller.js
  2. 14 0
      app/extend/helper.js
  3. 0 193
      sql/update.sql

+ 19 - 11
app/controller/report_controller.js

@@ -638,11 +638,11 @@ async function getMultiRptsCommon(ctx, params, outputType, baseDir) {
     try {
         const rptPageRstArray = [];
         // 1. 这里只用一份数据,根据实际应用情况,先备份
-        const backupData = {};
-        for (let filterIdx = 0; filterIdx < filterTables.length; filterIdx++) {
-            backupData[filterTables[filterIdx]] = [];
-            Object.assign(backupData[filterTables[filterIdx]], rawDataObj[filterTables[filterIdx]]);
-        }
+        // const backupData = {};
+        // for (let filterIdx = 0; filterIdx < filterTables.length; filterIdx++) {
+        //     backupData[filterTables[filterIdx]] = [];
+        //     Object.assign(backupData[filterTables[filterIdx]], rawDataObj[filterTables[filterIdx]]);
+        // }
         // 2. 一个一个模板创建数据
         // let defProperties = await ctx.service.rptPreDefineCfg.getCfgById('Administrator');
         // defProperties = JSON.parse(defProperties[0].defined_content);
@@ -651,6 +651,14 @@ async function getMultiRptsCommon(ctx, params, outputType, baseDir) {
             const rptTpl = (rptTpls[tplIdx]._doc) ? rptTpls[tplIdx]._doc : rptTpls[tplIdx];
             rptDataUtil.initialize(rptTpl);
             const customSelect = await ctx.service.rptCustomDefine.getCustomDefine(params.tender_id, params.stage_id, rptTpl.id);
+
+            // 从汇总的rawDataObj中拷贝所需数据表至curRawDataObj,以供后续使用
+            const curRawDataObj = {};
+            const filter = rptDataUtil.getDataRequestFilter();
+            for (const table of filter.tables) {
+                curRawDataObj[table] = ctx.helper.clone(rawDataObj[table]);
+            }
+
             const tplData = rptDataUtil.assembleData(ctx, rawDataObj, baseDir, null, customSelect);
             const printCom = JpcEx.createNew();
             rptTpl[JV.NODE_MAIN_INFO][JV.NODE_PAGE_INFO][JV.PROP_PAGE_SIZE] = params.pageSize;
@@ -673,12 +681,12 @@ async function getMultiRptsCommon(ctx, params, outputType, baseDir) {
             }
             rptPageRstArray.push(pageRst);
             // 注意:这里需要把备份数据assign回去!!!
-            if (tplIdx < rptTpls.length - 1) {
-                for (let filterIdx = 0; filterIdx < filterTables.length; filterIdx++) {
-                    backupData[filterTables[filterIdx]] = [];
-                    Object.assign(rawDataObj[filterTables[filterIdx]], backupData[filterTables[filterIdx]]);
-                }
-            }
+            // if (tplIdx < rptTpls.length - 1) {
+            //     for (let filterIdx = 0; filterIdx < filterTables.length; filterIdx++) {
+            //         backupData[filterTables[filterIdx]] = [];
+            //         Object.assign(rawDataObj[filterTables[filterIdx]], backupData[filterTables[filterIdx]]);
+            //     }
+            // }
         }
         return rptPageRstArray;
     } catch (ex) {

+ 14 - 0
app/extend/helper.js

@@ -941,4 +941,18 @@ module.exports = {
             this.ctx.debugInfo.other.push(data);
         }
     },
+
+    /**
+     * 深拷贝
+     * @param obj
+     * @returns {*}
+     */
+    clone: function (obj) {
+        if (obj === null) return null;
+        var o = obj instanceof Array ? [] : {};
+        for (var i in obj) {
+            o[i] = (obj[i] instanceof Date) ? new Date(obj[i].getTime()) : (typeof obj[i] === "object" ? this.clone(obj[i]) : obj[i]);
+        }
+        return o;
+    },
 };

+ 0 - 193
sql/update.sql

@@ -31,200 +31,6 @@ ALTER TABLE `zh_role_rpt_rel`
 ADD COLUMN `sid` INT NULL AFTER `rpt_id`,
 DROP INDEX `tender_idx` ,
 ADD INDEX `tender_idx` (`tender_id` ASC, `rpt_id` ASC);
-;
-
-update zh_role_rpt_rel set sid = 1044 where id = 275;
-update zh_role_rpt_rel set sid = 1044 where id = 276;
-update zh_role_rpt_rel set sid = 1044 where id = 277;
-update zh_role_rpt_rel set sid = 1044 where id = 281;
-update zh_role_rpt_rel set sid = 1044 where id = 282;
-update zh_role_rpt_rel set sid = 1052 where id = 21;
-update zh_role_rpt_rel set sid = 1074 where id = 60;
-update zh_role_rpt_rel set sid = 1074 where id = 61;
-update zh_role_rpt_rel set sid = 1074 where id = 62;
-update zh_role_rpt_rel set sid = 1078 where id = 23;
-update zh_role_rpt_rel set sid = 1083 where id = 24;
-update zh_role_rpt_rel set sid = 1083 where id = 25;
-update zh_role_rpt_rel set sid = 1084 where id = 37;
-update zh_role_rpt_rel set sid = 1084 where id = 38;
-update zh_role_rpt_rel set sid = 1084 where id = 39;
-update zh_role_rpt_rel set sid = 1086 where id = 28;
-update zh_role_rpt_rel set sid = 1089 where id = 29;
-update zh_role_rpt_rel set sid = 1089 where id = 30;
-update zh_role_rpt_rel set sid = 1090 where id = 31;
-update zh_role_rpt_rel set sid = 1096 where id = 121;
-update zh_role_rpt_rel set sid = 1162 where id = 35;
-update zh_role_rpt_rel set sid = 1162 where id = 36;
-update zh_role_rpt_rel set sid = 1162 where id = 176;
-update zh_role_rpt_rel set sid = 1169 where id = 55;
-update zh_role_rpt_rel set sid = 1185 where id = 40;
-update zh_role_rpt_rel set sid = 1193 where id = 53;
-update zh_role_rpt_rel set sid = 1225 where id = 54;
-update zh_role_rpt_rel set sid = 1264 where id = 232;
-update zh_role_rpt_rel set sid = 1264 where id = 274;
-update zh_role_rpt_rel set sid = 1265 where id = 59;
-update zh_role_rpt_rel set sid = 1296 where id = 64;
-update zh_role_rpt_rel set sid = 1296 where id = 65;
-update zh_role_rpt_rel set sid = 1296 where id = 66;
-update zh_role_rpt_rel set sid = 1298 where id = 69;
-update zh_role_rpt_rel set sid = 1298 where id = 70;
-update zh_role_rpt_rel set sid = 1299 where id = 82;
-update zh_role_rpt_rel set sid = 1299 where id = 84;
-update zh_role_rpt_rel set sid = 1299 where id = 85;
-update zh_role_rpt_rel set sid = 1299 where id = 86;
-update zh_role_rpt_rel set sid = 1299 where id = 87;
-update zh_role_rpt_rel set sid = 1299 where id = 88;
-update zh_role_rpt_rel set sid = 1299 where id = 89;
-update zh_role_rpt_rel set sid = 1299 where id = 90;
-update zh_role_rpt_rel set sid = 1300 where id = 76;
-update zh_role_rpt_rel set sid = 1300 where id = 77;
-update zh_role_rpt_rel set sid = 1300 where id = 78;
-update zh_role_rpt_rel set sid = 1300 where id = 79;
-update zh_role_rpt_rel set sid = 1300 where id = 80;
-update zh_role_rpt_rel set sid = 1303 where id = 131;
-update zh_role_rpt_rel set sid = 1303 where id = 132;
-update zh_role_rpt_rel set sid = 1303 where id = 133;
-update zh_role_rpt_rel set sid = 1303 where id = 134;
-update zh_role_rpt_rel set sid = 1303 where id = 135;
-update zh_role_rpt_rel set sid = 1303 where id = 136;
-update zh_role_rpt_rel set sid = 1311 where id = 71;
-update zh_role_rpt_rel set sid = 1311 where id = 72;
-update zh_role_rpt_rel set sid = 1311 where id = 73;
-update zh_role_rpt_rel set sid = 1311 where id = 74;
-update zh_role_rpt_rel set sid = 1311 where id = 75;
-update zh_role_rpt_rel set sid = 1311 where id = 83;
-update zh_role_rpt_rel set sid = 1318 where id = 122;
-update zh_role_rpt_rel set sid = 1321 where id = 81;
-update zh_role_rpt_rel set sid = 1328 where id = 92;
-update zh_role_rpt_rel set sid = 1328 where id = 112;
-update zh_role_rpt_rel set sid = 1328 where id = 113;
-update zh_role_rpt_rel set sid = 1328 where id = 114;
-update zh_role_rpt_rel set sid = 1328 where id = 115;
-update zh_role_rpt_rel set sid = 1328 where id = 116;
-update zh_role_rpt_rel set sid = 1329 where id = 107;
-update zh_role_rpt_rel set sid = 1329 where id = 108;
-update zh_role_rpt_rel set sid = 1329 where id = 109;
-update zh_role_rpt_rel set sid = 1329 where id = 110;
-update zh_role_rpt_rel set sid = 1329 where id = 111;
-update zh_role_rpt_rel set sid = 1343 where id = 139;
-update zh_role_rpt_rel set sid = 1344 where id = 124;
-update zh_role_rpt_rel set sid = 1344 where id = 125;
-update zh_role_rpt_rel set sid = 1344 where id = 126;
-update zh_role_rpt_rel set sid = 1344 where id = 127;
-update zh_role_rpt_rel set sid = 1344 where id = 128;
-update zh_role_rpt_rel set sid = 1354 where id = 95;
-update zh_role_rpt_rel set sid = 1354 where id = 96;
-update zh_role_rpt_rel set sid = 1354 where id = 97;
-update zh_role_rpt_rel set sid = 1354 where id = 98;
-update zh_role_rpt_rel set sid = 1354 where id = 99;
-update zh_role_rpt_rel set sid = 1361 where id = 93;
-update zh_role_rpt_rel set sid = 1361 where id = 94;
-update zh_role_rpt_rel set sid = 1367 where id = 100;
-update zh_role_rpt_rel set sid = 1367 where id = 101;
-update zh_role_rpt_rel set sid = 1367 where id = 102;
-update zh_role_rpt_rel set sid = 1367 where id = 103;
-update zh_role_rpt_rel set sid = 1367 where id = 104;
-update zh_role_rpt_rel set sid = 1367 where id = 105;
-update zh_role_rpt_rel set sid = 1367 where id = 106;
-update zh_role_rpt_rel set sid = 1387 where id = 130;
-update zh_role_rpt_rel set sid = 1553 where id = 140;
-update zh_role_rpt_rel set sid = 1599 where id = 146;
-update zh_role_rpt_rel set sid = 1599 where id = 148;
-update zh_role_rpt_rel set sid = 1599 where id = 149;
-update zh_role_rpt_rel set sid = 1599 where id = 150;
-update zh_role_rpt_rel set sid = 1599 where id = 151;
-update zh_role_rpt_rel set sid = 1603 where id = 147;
-update zh_role_rpt_rel set sid = 1614 where id = 145;
-update zh_role_rpt_rel set sid = 1620 where id = 142;
-update zh_role_rpt_rel set sid = 1620 where id = 143;
-update zh_role_rpt_rel set sid = 1620 where id = 144;
-update zh_role_rpt_rel set sid = 1620 where id = 201;
-update zh_role_rpt_rel set sid = 1620 where id = 202;
-update zh_role_rpt_rel set sid = 1620 where id = 203;
-update zh_role_rpt_rel set sid = 1620 where id = 204;
-update zh_role_rpt_rel set sid = 1627 where id = 167;
-update zh_role_rpt_rel set sid = 1627 where id = 168;
-update zh_role_rpt_rel set sid = 1627 where id = 169;
-update zh_role_rpt_rel set sid = 1627 where id = 170;
-update zh_role_rpt_rel set sid = 1627 where id = 171;
-update zh_role_rpt_rel set sid = 1629 where id = 188;
-update zh_role_rpt_rel set sid = 1629 where id = 189;
-update zh_role_rpt_rel set sid = 1676 where id = 152;
-update zh_role_rpt_rel set sid = 1676 where id = 153;
-update zh_role_rpt_rel set sid = 1676 where id = 154;
-update zh_role_rpt_rel set sid = 1676 where id = 155;
-update zh_role_rpt_rel set sid = 1676 where id = 156;
-update zh_role_rpt_rel set sid = 1676 where id = 157;
-update zh_role_rpt_rel set sid = 1794 where id = 175;
-update zh_role_rpt_rel set sid = 1817 where id = 291;
-update zh_role_rpt_rel set sid = 1820 where id = 200;
-update zh_role_rpt_rel set sid = 1844 where id = 178;
-update zh_role_rpt_rel set sid = 1846 where id = 280;
-update zh_role_rpt_rel set sid = 1854 where id = 180;
-update zh_role_rpt_rel set sid = 1879 where id = 195;
-update zh_role_rpt_rel set sid = 1879 where id = 196;
-update zh_role_rpt_rel set sid = 1879 where id = 197;
-update zh_role_rpt_rel set sid = 1879 where id = 198;
-update zh_role_rpt_rel set sid = 1879 where id = 199;
-update zh_role_rpt_rel set sid = 1881 where id = 181;
-update zh_role_rpt_rel set sid = 1881 where id = 182;
-update zh_role_rpt_rel set sid = 1881 where id = 183;
-update zh_role_rpt_rel set sid = 1881 where id = 184;
-update zh_role_rpt_rel set sid = 1881 where id = 185;
-update zh_role_rpt_rel set sid = 1881 where id = 186;
-update zh_role_rpt_rel set sid = 1881 where id = 187;
-update zh_role_rpt_rel set sid = 1930 where id = 292;
-update zh_role_rpt_rel set sid = 1936 where id = 193;
-update zh_role_rpt_rel set sid = 1945 where id = 194;
-update zh_role_rpt_rel set sid = 2057 where id = 221;
-update zh_role_rpt_rel set sid = 2057 where id = 222;
-update zh_role_rpt_rel set sid = 2057 where id = 223;
-update zh_role_rpt_rel set sid = 2057 where id = 224;
-update zh_role_rpt_rel set sid = 2057 where id = 225;
-update zh_role_rpt_rel set sid = 2058 where id = 242;
-update zh_role_rpt_rel set sid = 2058 where id = 243;
-update zh_role_rpt_rel set sid = 2058 where id = 244;
-update zh_role_rpt_rel set sid = 2058 where id = 245;
-update zh_role_rpt_rel set sid = 2058 where id = 246;
-update zh_role_rpt_rel set sid = 2058 where id = 261;
-update zh_role_rpt_rel set sid = 2062 where id = 248;
-update zh_role_rpt_rel set sid = 2062 where id = 251;
-update zh_role_rpt_rel set sid = 2062 where id = 254;
-update zh_role_rpt_rel set sid = 2062 where id = 255;
-update zh_role_rpt_rel set sid = 2062 where id = 256;
-update zh_role_rpt_rel set sid = 2062 where id = 257;
-update zh_role_rpt_rel set sid = 2064 where id = 233;
-update zh_role_rpt_rel set sid = 2064 where id = 234;
-update zh_role_rpt_rel set sid = 2064 where id = 235;
-update zh_role_rpt_rel set sid = 2064 where id = 236;
-update zh_role_rpt_rel set sid = 2064 where id = 237;
-update zh_role_rpt_rel set sid = 2078 where id = 247;
-update zh_role_rpt_rel set sid = 2078 where id = 249;
-update zh_role_rpt_rel set sid = 2078 where id = 250;
-update zh_role_rpt_rel set sid = 2078 where id = 252;
-update zh_role_rpt_rel set sid = 2078 where id = 253;
-update zh_role_rpt_rel set sid = 2092 where id = 258;
-update zh_role_rpt_rel set sid = 2093 where id = 259;
-update zh_role_rpt_rel set sid = 2093 where id = 260;
-update zh_role_rpt_rel set sid = 2093 where id = 263;
-update zh_role_rpt_rel set sid = 2102 where id = 265;
-update zh_role_rpt_rel set sid = 2102 where id = 271;
-update zh_role_rpt_rel set sid = 2102 where id = 289;
-update zh_role_rpt_rel set sid = 2102 where id = 290;
-update zh_role_rpt_rel set sid = 2109 where id = 266;
-update zh_role_rpt_rel set sid = 2109 where id = 267;
-update zh_role_rpt_rel set sid = 2119 where id = 269;
-update zh_role_rpt_rel set sid = 2119 where id = 270;
-update zh_role_rpt_rel set sid = 2119 where id = 278;
-update zh_role_rpt_rel set sid = 2119 where id = 279;
-update zh_role_rpt_rel set sid = 2127 where id = 272;
-update zh_role_rpt_rel set sid = 2161 where id = 294;
-update zh_role_rpt_rel set sid = 2161 where id = 295;
-update zh_role_rpt_rel set sid = 2161 where id = 297;
-update zh_role_rpt_rel set sid = 2177 where id = 293;
-update zh_role_rpt_rel set sid = 2186 where id = 296;
-update zh_role_rpt_rel set sid = 2187 where id = 288;
 
 
 -- ----------------------------