|
@@ -317,13 +317,8 @@ module.exports = app => {
|
|
|
viewPmData: PermissionCheck.viewPmData(this.ctx.session.sessionUser.permission),
|
|
|
auditType: auditConst.auditType,
|
|
|
source_type: 1,
|
|
|
+ bglObj: 'null',
|
|
|
changes: 'null',
|
|
|
- changeId: '-1',
|
|
|
- businessId: '-1',
|
|
|
- change_times: 1,
|
|
|
- cPlanId: -1,
|
|
|
- cPrjId: -1,
|
|
|
- cAplId: -1,
|
|
|
|
|
|
};
|
|
|
await this.layout('report/index.ejs', renderData, 'report/rpt_all_popup.ejs');
|
|
@@ -473,13 +468,8 @@ module.exports = app => {
|
|
|
OSS_PATH: ctx.app.config.fujianOssPath,
|
|
|
viewPmData: PermissionCheck.viewPmData(this.ctx.session.sessionUser.permission),
|
|
|
source_type: 101,
|
|
|
+ bglObj: 'null',
|
|
|
changes: 'null',
|
|
|
- changeId: '-1',
|
|
|
- businessId: '-1',
|
|
|
- change_times: 1,
|
|
|
- cPlanId: -1,
|
|
|
- cPrjId: -1,
|
|
|
- cAplId: -1,
|
|
|
};
|
|
|
/*
|
|
|
//*/
|
|
@@ -620,13 +610,8 @@ module.exports = app => {
|
|
|
OSS_PATH: ctx.app.config.fujianOssPath,
|
|
|
viewPmData: PermissionCheck.viewPmData(this.ctx.session.sessionUser.permission),
|
|
|
source_type: 200,
|
|
|
+ bglObj: 'null',
|
|
|
changes: 'null',
|
|
|
- changeId: '-1',
|
|
|
- businessId: '-1',
|
|
|
- change_times: 1,
|
|
|
- cPlanId: -1,
|
|
|
- cPrjId: -1,
|
|
|
- cAplId: -1,
|
|
|
};
|
|
|
await this.layout('report/index.ejs', renderData, 'report/rpt_all_popup.ejs');
|
|
|
|
|
@@ -644,24 +629,40 @@ module.exports = app => {
|
|
|
pageShow.showArchive = 1;
|
|
|
pageShow.closeShowAllCustomized = 0;
|
|
|
const tenderId = ctx.params.id;
|
|
|
+ const bglObj = {};
|
|
|
+ if (stage_id === -300) {
|
|
|
+ bglObj.BUSINESS_ID = ctx.params.cid;
|
|
|
+ bglObj.change = await ctx.service.change.getChangeByCid(ctx.params.cid);
|
|
|
+ bglObj.currentBz = bglObj.change;
|
|
|
+ bglObj.status = bglObj.change.status;
|
|
|
+ // const audit = await ctx.service.changeAudit.getChangeByCid(ctx.params.cid);
|
|
|
+ }
|
|
|
+ if (stage_id === -301) {
|
|
|
+ bglObj.BUSINESS_ID = ctx.params.cplnid;
|
|
|
+ bglObj.change_plan = await ctx.service.changePlan.getDataById(ctx.params.cplnid);
|
|
|
+ bglObj.currentBz = bglObj.change_plan;
|
|
|
+ bglObj.status = bglObj.change_plan.status;
|
|
|
+ }
|
|
|
+ if (stage_id === -302) {
|
|
|
+ bglObj.BUSINESS_ID = ctx.params.cprjid;
|
|
|
+ bglObj.change_project = await ctx.service.changeProject.getDataById(ctx.params.cprjid);
|
|
|
+ bglObj.currentBz = bglObj.change_project;
|
|
|
+ bglObj.status = bglObj.change_project.status;
|
|
|
+ }
|
|
|
+ if (stage_id === -303) {
|
|
|
+ bglObj.BUSINESS_ID = ctx.params.caid;
|
|
|
+ bglObj.change_apply = await ctx.service.changeApply.getDataById(ctx.params.caid);
|
|
|
+ bglObj.currentBz = bglObj.change_apply;
|
|
|
+ bglObj.status = bglObj.change_apply.status;
|
|
|
+ }
|
|
|
const changeId = ctx.params.cid;
|
|
|
- const cPlanId = ctx.params.cplnid || '-1';
|
|
|
- const cPrjId = ctx.params.cprjid || '-1';
|
|
|
- const cAplId = ctx.params.caid || '-1';
|
|
|
- let bzId = '';
|
|
|
- if (stage_id === -300) bzId = changeId;
|
|
|
- if (stage_id === -301) bzId = cPlanId;
|
|
|
- if (stage_id === -302) bzId = cPrjId;
|
|
|
- if (stage_id === -303) bzId = cAplId;
|
|
|
const paymentDetail_id = -1;
|
|
|
const pid = ctx.session.sessionProject.id;
|
|
|
const budget_id = -1;
|
|
|
const sp_id = -1;
|
|
|
const { treeNodes, custCfg } = await this._createNodes(ctx, source_type, pid);
|
|
|
- const sorts = ctx.query.sort ? ctx.query.sort : 0;
|
|
|
- const orders = ctx.query.order ? ctx.query.order : 0;
|
|
|
const state = ctx.session.sessionProject.page_show.openChangeState && ctx.query.state ? parseInt(ctx.query.state) : 0;
|
|
|
- const changes = await ctx.service.change.getListByStatus(tenderId, 0, 1, sorts, orders, state);
|
|
|
+ const changes = await ctx.service.change.getListByStatus(tenderId, 0, 1, 0, 0, state);
|
|
|
let change_times = 1;
|
|
|
const stageList = [];
|
|
|
const unitList = await ctx.service.constructionUnit.getAllDataByCondition({ where: { pid } }); // 找公司章用的
|
|
@@ -680,7 +681,7 @@ module.exports = app => {
|
|
|
}
|
|
|
}
|
|
|
let archiveList = [];
|
|
|
- const archives = await ctx.service.rptArchive.getArchiveByBzId(pid, stage_id, bzId);
|
|
|
+ const archives = await ctx.service.rptArchive.getArchiveByBzId(pid, stage_id, bglObj.BUSINESS_ID);
|
|
|
if (archives.length > 0) {
|
|
|
archiveList = JSON.parse(archives[0].content);
|
|
|
}
|
|
@@ -790,13 +791,9 @@ module.exports = app => {
|
|
|
OSS_PATH: ctx.app.config.fujianOssPath,
|
|
|
viewPmData: PermissionCheck.viewPmData(this.ctx.session.sessionUser.permission),
|
|
|
source_type,
|
|
|
+ bglObj: JSON.stringify(bglObj),
|
|
|
changes: JSON.stringify(changes),
|
|
|
- changeId,
|
|
|
- businessId: bzId,
|
|
|
- change_times,
|
|
|
- cPlanId,
|
|
|
- cPrjId,
|
|
|
- cAplId,
|
|
|
+ bizId: bglObj.BUSINESS_ID,
|
|
|
};
|
|
|
await this.layout('report/index.ejs', renderData, 'report/rpt_all_popup.ejs');
|
|
|
} catch (err) {
|
|
@@ -863,6 +860,30 @@ module.exports = app => {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ _mergeBlankRoleSignDate(roleRel, auditors) {
|
|
|
+ // 有些签名信息的sign_date是空白的(从前一业务copy过来并清理),需要根据审核信息来自动填写上审核时间
|
|
|
+ // 1. 用户ID 2. sign_date为空白
|
|
|
+ if (roleRel && auditors) {
|
|
|
+ roleRel.forEach(record => {
|
|
|
+ const contents = JSON.parse(record.rel_content);
|
|
|
+ let hasMerge = false;
|
|
|
+ contents.forEach(role => {
|
|
|
+ if (!role.sign_date || role.sign_date === '') {
|
|
|
+ auditors.forEach(audit => {
|
|
|
+ if (audit.aid === role.acc_id) {
|
|
|
+ role.sign_date = audit.end_time;
|
|
|
+ hasMerge = true;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ if (hasMerge) {
|
|
|
+ record.rel_content = JSON.stringify(contents);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
async _getReport(ctx, params) {
|
|
|
// console.log('in getReport');
|
|
|
// console.log(params);
|
|
@@ -945,6 +966,7 @@ module.exports = app => {
|
|
|
default:
|
|
|
break;
|
|
|
}
|
|
|
+ this._mergeBlankRoleSignDate(roleRel, stgAudit);
|
|
|
}
|
|
|
|
|
|
stageFlow.forEach(x => {
|
|
@@ -1024,7 +1046,7 @@ module.exports = app => {
|
|
|
ctx.status = 201;
|
|
|
return;
|
|
|
}
|
|
|
- if (![-100, -200, -300].includes(params.stage_id)) {
|
|
|
+ if (params.stage_id > 0) {
|
|
|
await this._saveCustomSelects(params);
|
|
|
}
|
|
|
// const pageRstArr = await getMultiRptsCommon(ctx, params, JV.OUTPUT_TYPE_NORMAL, this.app.baseDir) || [];
|
|
@@ -1043,9 +1065,14 @@ module.exports = app => {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ const roleRel = await ctx.service.roleRptRel.getRoleRptRelByDetailIds(params.tender_id, params.rpt_ids, params.stage_id, params.business_id); // 新需求:在审批流程中的签名需要显示
|
|
|
+ roleRel.sort(function(rr1, rr2) {
|
|
|
+ return params.rpt_ids.indexOf(parseInt(rr1.rpt_id)) - params.rpt_ids.indexOf(parseInt(rr2.rpt_id));
|
|
|
+ });
|
|
|
+
|
|
|
let stgAudit = null,
|
|
|
stageList = [];
|
|
|
- if (![-100, -200, -300, -301, -302, -303].includes(params.stage_id)) {
|
|
|
+ if (params.stage_id > 0) {
|
|
|
stgAudit = await ctx.service.stageAudit.getStageAudit(params.stage_id, params.stage_times);
|
|
|
stageList = await ctx.service.stage.getValidStagesShort(params.tender_id);
|
|
|
} else if ([-100, -200].includes(params.stage_id)) {
|
|
@@ -1073,13 +1100,9 @@ module.exports = app => {
|
|
|
default:
|
|
|
break;
|
|
|
}
|
|
|
+ this._mergeBlankRoleSignDate(roleRel, stgAudit);
|
|
|
}
|
|
|
|
|
|
- const roleRel = await ctx.service.roleRptRel.getRoleRptRelByDetailIds(params.tender_id, params.rpt_ids, params.stage_id, params.business_id); // 新需求:在审批流程中的签名需要显示
|
|
|
- roleRel.sort(function(rr1, rr2) {
|
|
|
- return params.rpt_ids.indexOf(parseInt(rr1.rpt_id)) - params.rpt_ids.indexOf(parseInt(rr2.rpt_id));
|
|
|
- });
|
|
|
-
|
|
|
mergeStampSignature(ctx, params.stage_status, pageRstArr, roleRel, params.rpt_ids, stgAudit, stageList);
|
|
|
mergeTextSignature(params.isTextSignature, params.stage_status, pageRstArr, roleRel, params.rpt_ids, stgAudit, stageList);
|
|
|
|