|
@@ -75,7 +75,7 @@ module.exports = app => {
|
|
|
return rst;
|
|
|
}
|
|
|
|
|
|
- async getRoleRptRelByDetailIds(tenderId, rptId, sid) {
|
|
|
+ async getRoleRptRelByDetailIds(tenderId, rptId, sid, bzId = '-1') {
|
|
|
this.initSqlBuilder();
|
|
|
this.sqlBuilder.setAndWhere('tender_id', {
|
|
|
value: tenderId,
|
|
@@ -86,7 +86,7 @@ module.exports = app => {
|
|
|
value: rptId,
|
|
|
operate: 'in',
|
|
|
});
|
|
|
- } else {
|
|
|
+ } else if (rptId !== '-1' && rptId !== null && rptId !== '') {
|
|
|
this.sqlBuilder.setAndWhere('rpt_id', {
|
|
|
value: rptId,
|
|
|
operate: '=',
|
|
@@ -96,11 +96,14 @@ module.exports = app => {
|
|
|
value: sid,
|
|
|
operate: '=',
|
|
|
});
|
|
|
- this.sqlBuilder.columns = ['id', 'tender_id', 'rpt_id', 'sid', 'rel_content'];
|
|
|
+ if (bzId !== '-1' && bzId !== null && bzId !== '') {
|
|
|
+ this.sqlBuilder.setAndWhere('business_id', {
|
|
|
+ value: `"${bzId}"`,
|
|
|
+ operate: '=',
|
|
|
+ });
|
|
|
+ }
|
|
|
+ this.sqlBuilder.columns = ['id', 'tender_id', 'rpt_id', 'sid', 'business_id', 'rel_content'];
|
|
|
const [sql, sqlParam] = this.sqlBuilder.build(this.tableName);
|
|
|
- // console.log(sql);
|
|
|
- // console.log(this.tableName);
|
|
|
- // console.log(sqlParam);
|
|
|
const list = await this.db.query(sql, sqlParam);
|
|
|
// console.log(list);
|
|
|
return list;
|
|
@@ -130,6 +133,21 @@ module.exports = app => {
|
|
|
return rst;
|
|
|
}
|
|
|
|
|
|
+ async createRoleRelationshipFromOtherBz(tender_id, sid, currentBzId, preBzId) {
|
|
|
+ // 此方法适合变更令相关业务
|
|
|
+ if (preBzId && currentBzId) {
|
|
|
+ const preRst = await this.getRoleRptRelByDetailIds(tender_id, '-1', sid, '', preBzId);
|
|
|
+ if (preRst.length > 0) {
|
|
|
+ preRst.forEach(async role => {
|
|
|
+ const curRst = await this.getRoleRptRelByDetailIds(tender_id, role.rpt_id, sid, '', currentBzId);
|
|
|
+ if (curRst.length === 0) {
|
|
|
+ await this.createRoleRelationship(tender_id, role.rpt_id, sid, currentBzId, '', JSON.parse(role.rel_content));
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
async addInitialStageData(tender_id, stage, preStage) {
|
|
|
// 在加stage的时候需要挂上这个,copy之前的签名人
|
|
|
const rst = [];
|