|
@@ -1044,7 +1044,37 @@ async function encodeDummySignatureDataUri(pageRst, baseDir) {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
-function createDownloadJob(ctx) {
|
|
|
|
|
|
+async function createDownloadJob(ctx, baseUuid) {
|
|
|
|
+ const params = JSON.parse(ctx.request.body.params);
|
|
|
|
+ const baseDir = this.app.baseDir;
|
|
|
|
+ function getExcelByPageData(pageRst, rpt_name, innerRoleRel) {
|
|
|
|
+ return new Promise(function(resolve, reject) {
|
|
|
|
+ rpt_xl_util.exportExcel(pageRst, params.pageSize, rpt_name, params.isOneSheet, null, null, baseDir, innerRoleRel,
|
|
|
|
+ (err, uuidName) => {
|
|
|
|
+ if (err) return reject(err);
|
|
|
|
+ const fileRst = { uuid: uuidName, reportName: rpt_name };
|
|
|
|
+ resolve(fileRst);
|
|
|
|
+ }
|
|
|
|
+ );
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ const roleRelArr = (params.stage_status === 3) ? (await ctx.service.roleRptRel.getRoleRptRelByDetailIds(params.tender_id, params.rpt_ids, params.stage_id)) : [];
|
|
|
|
+ const pageRstArr = await getMultiRptsCommon(ctx, params, JV.OUTPUT_TYPE_NORMAL, this.app.baseDir);
|
|
|
|
+ await this.ctx.helper.recursiveMkdirSync(this.app.baseDir + '/app/public/download');
|
|
|
|
+ const runnableRst = [];
|
|
|
|
+ for (let idx = 0; idx < pageRstArr.length; idx++) {
|
|
|
|
+ let roleRel = null;
|
|
|
|
+ for (const roleR of roleRelArr) {
|
|
|
|
+ if (roleR.rpt_id === params.rpt_ids[idx]) {
|
|
|
|
+ roleRel = JSON.parse(roleR.rel_content);
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ // console.log('roleRel.rel_content: ' + roleRel.rel_content);
|
|
|
|
+ // fsUtil.writeObjToFile(pageRstArr, 'D:/GitHome/temp/testBuiltPageResult.jsp');
|
|
|
|
+ runnableRst.push(getExcelByPageData(pageRstArr[idx], params.rpt_names[idx], roleRel));
|
|
|
|
+ }
|
|
|
|
+ const uuidRst = await Promise.all(runnableRst);
|
|
/*
|
|
/*
|
|
const params = JSON.parse(ctx.request.body.params);
|
|
const params = JSON.parse(ctx.request.body.params);
|
|
await this._saveCustomSelects(params);
|
|
await this._saveCustomSelects(params);
|