|
@@ -255,18 +255,19 @@ module.exports = app => {
|
|
|
* @param {int} hadlimit - 分页
|
|
|
* @return {object} list - 列表
|
|
|
*/
|
|
|
- async getListByStatus(tenderId, status = 0, hadlimit = 1, sortBy = '', orderBy = '') {
|
|
|
+ async getListByStatus(tenderId, status = 0, hadlimit = 1, sortBy = '', orderBy = '', state = 0) {
|
|
|
let sql = '';
|
|
|
let sqlParam = '';
|
|
|
+ const stateSql = state ? ' AND a.state = ' + state : '';
|
|
|
if (this.ctx.tender.isTourist && status === 0) {
|
|
|
- sql = 'SELECT a.* FROM ?? As a WHERE a.tid = ?';
|
|
|
+ sql = 'SELECT a.* FROM ?? As a WHERE a.tid = ?' + stateSql;
|
|
|
sqlParam = [this.tableName, tenderId];
|
|
|
} else {
|
|
|
switch (status) {
|
|
|
case 0: // 包含你的所有变更令
|
|
|
sql =
|
|
|
'SELECT a.* FROM ?? AS a WHERE a.tid = ? AND ' +
|
|
|
- '(a.uid = ? OR (a.status != ? AND a.cid IN (SELECT b.cid FROM ?? AS b WHERE b.uid = ? AND a.times = b.times GROUP BY b.cid)) OR a.status = ? )';
|
|
|
+ '(a.uid = ? OR (a.status != ? AND a.cid IN (SELECT b.cid FROM ?? AS b WHERE b.uid = ? AND a.times = b.times GROUP BY b.cid)) OR a.status = ? )' + stateSql;
|
|
|
sqlParam = [
|
|
|
this.tableName,
|
|
|
tenderId,
|
|
@@ -278,14 +279,14 @@ module.exports = app => {
|
|
|
];
|
|
|
break;
|
|
|
case 1: // 待处理(你的)
|
|
|
- sql = 'SELECT a.* FROM ?? as a WHERE cid in(SELECT b.cid FROM ?? as b WHERE tid = ? AND uid = ? AND status = ?)';
|
|
|
+ sql = 'SELECT a.* FROM ?? as a WHERE cid in(SELECT b.cid FROM ?? as b WHERE tid = ? AND uid = ? AND status = ?)' + stateSql;
|
|
|
sqlParam = [this.tableName, this.ctx.service.changeAudit.tableName, tenderId, this.ctx.session.sessionUser.accountId, audit.flow.auditStatus.checking];
|
|
|
break;
|
|
|
case 5: // 待上报(所有的)PS:取未上报,退回,修订的变更令
|
|
|
sql =
|
|
|
'SELECT a.* FROM ?? AS a WHERE ' +
|
|
|
'a.cid IN (SELECT b.cid FROM ?? AS b WHERE b.uid = ? GROUP BY b.cid) AND ' +
|
|
|
- '(a.status = ? OR a.status = ? OR a.status = ?) AND a.tid = ?';
|
|
|
+ '(a.status = ? OR a.status = ? OR a.status = ?) AND a.tid = ?' + stateSql;
|
|
|
sqlParam = [
|
|
|
this.tableName,
|
|
|
this.ctx.service.changeAudit.tableName,
|
|
@@ -301,11 +302,11 @@ module.exports = app => {
|
|
|
sql =
|
|
|
'SELECT a.* FROM ?? AS a WHERE ' +
|
|
|
'a.cid IN (SELECT b.cid FROM ?? AS b WHERE b.uid = ? AND a.times = b.times GROUP BY b.cid) AND ' +
|
|
|
- 'a.status = ? AND a.tid = ?';
|
|
|
+ 'a.status = ? AND a.tid = ?' + stateSql;
|
|
|
sqlParam = [this.tableName, this.ctx.service.changeAudit.tableName, this.ctx.session.sessionUser.accountId, status, tenderId];
|
|
|
break;
|
|
|
case 3: // 已完成(所有的)
|
|
|
- sql = 'SELECT a.* FROM ?? AS a WHERE a.status = ? AND a.tid = ?';
|
|
|
+ sql = 'SELECT a.* FROM ?? AS a WHERE a.status = ? AND a.tid = ?' + stateSql;
|
|
|
sqlParam = [this.tableName, status, tenderId];
|
|
|
break;
|
|
|
default:
|
|
@@ -337,9 +338,10 @@ module.exports = app => {
|
|
|
* @param {int} status - 状态
|
|
|
* @return {void}
|
|
|
*/
|
|
|
- async getCountByStatus(tenderId, status) {
|
|
|
+ async getCountByStatus(tenderId, status, state = 0) {
|
|
|
+ const stateSql = state ? ' AND a.state = ' + state : '';
|
|
|
if (this.ctx.tender.isTourist && status === 0) {
|
|
|
- const sql5 = 'SELECT count(*) AS count FROM ?? WHERE tid = ? ORDER BY in_time DESC';
|
|
|
+ const sql5 = 'SELECT count(*) AS count FROM ?? AS a WHERE a.tid = ?' + stateSql + ' ORDER BY a.in_time DESC';
|
|
|
const sqlParam5 = [this.tableName, tenderId];
|
|
|
const result5 = await this.db.query(sql5, sqlParam5);
|
|
|
return result5[0].count;
|
|
@@ -348,7 +350,7 @@ module.exports = app => {
|
|
|
case 0: // 包含你的所有变更令
|
|
|
const sql =
|
|
|
'SELECT count(*) AS count FROM ?? AS a WHERE a.tid = ? AND ' +
|
|
|
- '(a.uid = ? OR (a.status != ? AND a.cid IN (SELECT b.cid FROM ?? AS b WHERE b.uid = ? AND a.times = b.times GROUP BY b.cid)) OR a.status = ? )';
|
|
|
+ '(a.uid = ? OR (a.status != ? AND a.cid IN (SELECT b.cid FROM ?? AS b WHERE b.uid = ? AND a.times = b.times GROUP BY b.cid)) OR a.status = ? )' + stateSql;
|
|
|
const sqlParam = [
|
|
|
this.tableName,
|
|
|
tenderId,
|
|
@@ -366,7 +368,7 @@ module.exports = app => {
|
|
|
// uid: this.ctx.session.sessionUser.accountId,
|
|
|
// status: 2,
|
|
|
// });
|
|
|
- const sql6 = 'SELECT count(*) AS count FROM ?? as a WHERE cid in(SELECT b.cid FROM ?? as b WHERE tid = ? AND uid = ? AND status = ?)';
|
|
|
+ const sql6 = 'SELECT count(*) AS count FROM ?? as a WHERE cid in(SELECT b.cid FROM ?? as b WHERE tid = ? AND uid = ? AND status = ?)' + stateSql;
|
|
|
const sqlParam6 = [this.tableName, this.ctx.service.changeAudit.tableName, tenderId, this.ctx.session.sessionUser.accountId, audit.flow.auditStatus.checking];
|
|
|
const result6 = await this.db.query(sql6, sqlParam6);
|
|
|
return result6[0].count;
|
|
@@ -374,7 +376,7 @@ module.exports = app => {
|
|
|
const sql2 =
|
|
|
'SELECT count(*) AS count FROM ?? AS a WHERE ' +
|
|
|
'a.cid IN (SELECT b.cid FROM ?? AS b WHERE b.uid = ? AND a.times = b.times GROUP BY b.cid) ' +
|
|
|
- 'AND (a.status = ? OR a.status = ? OR a.status = ?) AND a.tid = ?';
|
|
|
+ 'AND (a.status = ? OR a.status = ? OR a.status = ?) AND a.tid = ?' + stateSql;
|
|
|
const sqlParam2 = [
|
|
|
this.tableName,
|
|
|
this.ctx.service.changeAudit.tableName,
|
|
@@ -390,12 +392,12 @@ module.exports = app => {
|
|
|
case 4: // 终止(所有的)
|
|
|
const sql3 =
|
|
|
'SELECT count(*) AS count FROM ?? AS a WHERE ' +
|
|
|
- 'a.cid IN (SELECT b.cid FROM ?? AS b WHERE b.uid = ? AND a.times = b.times GROUP BY b.cid) AND a.status = ? AND a.tid = ?';
|
|
|
+ 'a.cid IN (SELECT b.cid FROM ?? AS b WHERE b.uid = ? AND a.times = b.times GROUP BY b.cid) AND a.status = ? AND a.tid = ?' + stateSql;
|
|
|
const sqlParam3 = [this.tableName, this.ctx.service.changeAudit.tableName, this.ctx.session.sessionUser.accountId, status, tenderId];
|
|
|
const result3 = await this.db.query(sql3, sqlParam3);
|
|
|
return result3[0].count;
|
|
|
case 3: // 已完成(所有的)
|
|
|
- const sql4 = 'SELECT count(*) AS count FROM ?? WHERE status = ? AND tid = ?';
|
|
|
+ const sql4 = 'SELECT count(*) AS count FROM ?? AS a WHERE a.status = ? AND a.tid = ?' + stateSql;
|
|
|
const sqlParam4 = [this.tableName, status, tenderId];
|
|
|
const result4 = await this.db.query(sql4, sqlParam4);
|
|
|
return result4[0].count;
|