|
@@ -40,8 +40,11 @@ module.exports = app => {
|
|
|
* @param {int} hadlimit - 分页
|
|
|
* @return {object} list - 列表
|
|
|
*/
|
|
|
- async getListByStatus(spid, fpcid, status = 0, tid = null, used = null, hadlimit = 0, sortBy = '', orderBy = '') {
|
|
|
+ async getListByStatus(spid, fpcid = null, status = 0, tid = null, used = null, hadlimit = 0, sortBy = '', orderBy = '') {
|
|
|
let addSql = '';
|
|
|
+ if (fpcid) {
|
|
|
+ addSql += ' AND a.fpcid = ' + fpcid;
|
|
|
+ }
|
|
|
if (tid !== null) {
|
|
|
if (tid.length === 0) {
|
|
|
return [];
|
|
@@ -55,19 +58,19 @@ module.exports = app => {
|
|
|
let sqlParam = '';
|
|
|
switch (status) {
|
|
|
case 0: // 所有
|
|
|
- sql = 'SELECT a.* FROM ?? As a WHERE a.spid = ? AND a.fpcid = ?' + addSql;
|
|
|
- sqlParam = [this.tableName, spid, fpcid];
|
|
|
+ sql = 'SELECT a.* FROM ?? As a WHERE a.spid = ?' + addSql;
|
|
|
+ sqlParam = [this.tableName, spid];
|
|
|
break;
|
|
|
case 1: // 待处理(你的)
|
|
|
- sql = 'SELECT a.* FROM ?? as a WHERE a.spid = ? AND a.fpcid = ?' + addSql + ' AND (a.id in(SELECT b.fpid FROM ?? as b WHERE b.spid = ? AND b.fpcid = ? AND b.aid = ? AND b.status = ?) OR (a.uid = ? AND (a.status = ? OR a.status = ?)))';
|
|
|
- sqlParam = [this.tableName, spid, fpcid, this.ctx.service.financialPayAudit.tableName, spid, fpcid, this.ctx.session.sessionUser.accountId, auditConst.status.checking, this.ctx.session.sessionUser.accountId, auditConst.status.uncheck, auditConst.status.checkNo];
|
|
|
+ sql = 'SELECT a.* FROM ?? as a WHERE a.spid = ?' + addSql + ' AND (a.id in(SELECT b.fpid FROM ?? as b WHERE b.spid = ? AND b.aid = ? AND b.status = ?) OR (a.uid = ? AND (a.status = ? OR a.status = ?)))';
|
|
|
+ sqlParam = [this.tableName, spid, this.ctx.service.financialPayAudit.tableName, spid, this.ctx.session.sessionUser.accountId, auditConst.status.checking, this.ctx.session.sessionUser.accountId, auditConst.status.uncheck, auditConst.status.checkNo];
|
|
|
break;
|
|
|
case 5: // 待上报(所有的)PS:取未上报,退回,修订的变更令
|
|
|
sql =
|
|
|
- 'SELECT a.* FROM ?? as a WHERE a.spid = ? AND a.fpcid = ?' + addSql + ' AND (a.status = ? OR a.status = ?)';
|
|
|
+ 'SELECT a.* FROM ?? as a WHERE a.spid = ?' + addSql + ' AND (a.status = ? OR a.status = ?)';
|
|
|
sqlParam = [
|
|
|
this.tableName,
|
|
|
- spid, fpcid,
|
|
|
+ spid,
|
|
|
auditConst.status.uncheck,
|
|
|
auditConst.status.checkNo,
|
|
|
];
|
|
@@ -75,14 +78,14 @@ module.exports = app => {
|
|
|
case 2: // 进行中(所有的)
|
|
|
case 4: // 终止(所有的)
|
|
|
sql = 'SELECT a.* FROM ?? as a WHERE ' +
|
|
|
- 'a.status = ? AND a.spid = ? AND a.fpcid = ?' + addSql + ' AND (a.uid = ? OR ' +
|
|
|
+ 'a.status = ? AND a.spid = ?' + addSql + ' AND (a.uid = ? OR ' +
|
|
|
'a.id IN (SELECT b.fpid FROM ?? AS b WHERE b.aid = ? GROUP BY b.fpid))';
|
|
|
- sqlParam = [this.tableName, status, spid, fpcid, this.ctx.session.sessionUser.accountId,
|
|
|
+ sqlParam = [this.tableName, status, spid, this.ctx.session.sessionUser.accountId,
|
|
|
this.ctx.service.financialPayAudit.tableName, this.ctx.session.sessionUser.accountId];
|
|
|
break;
|
|
|
case 3: // 已完成(所有的)
|
|
|
- sql = 'SELECT a.* FROM ?? as a WHERE a.status = ? AND a.spid = ? AND a.fpcid = ?' + addSql;
|
|
|
- sqlParam = [this.tableName, status, spid, fpcid];
|
|
|
+ sql = 'SELECT a.* FROM ?? as a WHERE a.status = ? AND a.spid = ?' + addSql;
|
|
|
+ sqlParam = [this.tableName, status, spid];
|
|
|
break;
|
|
|
default:
|
|
|
break;
|
|
@@ -112,8 +115,11 @@ module.exports = app => {
|
|
|
* @param {int} status - 状态
|
|
|
* @return {void}
|
|
|
*/
|
|
|
- async getCountByStatus(spid, fpcid, status = 0, tid = null, used = null) {
|
|
|
+ async getCountByStatus(spid, fpcid = null, status = 0, tid = null, used = null) {
|
|
|
let addSql = '';
|
|
|
+ if (fpcid) {
|
|
|
+ addSql += ' AND a.fpcid = ' + fpcid;
|
|
|
+ }
|
|
|
if (tid !== null) {
|
|
|
if (tid.length === 0) {
|
|
|
return 0;
|
|
@@ -125,22 +131,22 @@ module.exports = app => {
|
|
|
}
|
|
|
switch (status) {
|
|
|
case 0: // 所有
|
|
|
- const sql5 = 'SELECT count(*) AS count FROM ?? As a WHERE a.spid = ? AND a.fpcid = ?' + addSql;
|
|
|
- const sqlParam5 = [this.tableName, spid, fpcid];
|
|
|
+ const sql5 = 'SELECT count(*) AS count FROM ?? As a WHERE a.spid = ?' + addSql;
|
|
|
+ const sqlParam5 = [this.tableName, spid];
|
|
|
const result5 = await this.db.query(sql5, sqlParam5);
|
|
|
return result5[0].count;
|
|
|
case 1: // 待处理(你的)
|
|
|
- const sql6 = 'SELECT count(*) AS count FROM ?? as a WHERE a.spid = ? AND a.fpcid = ?' + addSql + ' AND (a.id in(SELECT b.fpid FROM ?? as b WHERE b.spid = ? AND b.fpcid = ? AND b.aid = ? AND b.status = ?) OR (a.uid = ? AND (a.status = ? OR a.status = ?)))';
|
|
|
- const sqlParam6 = [this.tableName, spid, fpcid, this.ctx.service.financialPayAudit.tableName, spid, fpcid, this.ctx.session.sessionUser.accountId, auditConst.status.checking, this.ctx.session.sessionUser.accountId, auditConst.status.uncheck, auditConst.status.checkNo];
|
|
|
+ const sql6 = 'SELECT count(*) AS count FROM ?? as a WHERE a.spid = ?' + addSql + ' AND (a.id in(SELECT b.fpid FROM ?? as b WHERE b.spid = ? AND b.aid = ? AND b.status = ?) OR (a.uid = ? AND (a.status = ? OR a.status = ?)))';
|
|
|
+ const sqlParam6 = [this.tableName, spid, this.ctx.service.financialPayAudit.tableName, spid, this.ctx.session.sessionUser.accountId, auditConst.status.checking, this.ctx.session.sessionUser.accountId, auditConst.status.uncheck, auditConst.status.checkNo];
|
|
|
const result6 = await this.db.query(sql6, sqlParam6);
|
|
|
return result6[0].count;
|
|
|
case 5: // 待上报(所有的)PS:取未上报,退回的变更立项
|
|
|
const sql2 =
|
|
|
'SELECT count(*) AS count FROM ?? as a WHERE ' +
|
|
|
- 'a.spid = ? AND a.fpcid = ?' + addSql + ' AND (a.status = ? OR a.status = ?)';
|
|
|
+ 'a.spid = ?' + addSql + ' AND (a.status = ? OR a.status = ?)';
|
|
|
const sqlParam2 = [
|
|
|
this.tableName,
|
|
|
- spid, fpcid,
|
|
|
+ spid,
|
|
|
auditConst.status.uncheck,
|
|
|
auditConst.status.checkNo,
|
|
|
];
|
|
@@ -150,13 +156,13 @@ module.exports = app => {
|
|
|
case 4: // 终止(所有的)
|
|
|
const sql3 =
|
|
|
'SELECT count(*) AS count FROM ?? as a WHERE ' +
|
|
|
- 'a.status = ? AND a.spid = ? AND a.fpcid = ?' + addSql + ' AND (a.uid = ? OR a.id IN (SELECT b.fpid FROM ?? AS b WHERE b.aid = ? GROUP BY b.fpid))';
|
|
|
- const sqlParam3 = [this.tableName, status, spid, fpcid, this.ctx.session.sessionUser.accountId, this.ctx.service.financialPayAudit.tableName, this.ctx.session.sessionUser.accountId];
|
|
|
+ 'a.status = ? AND a.spid = ?' + addSql + ' AND (a.uid = ? OR a.id IN (SELECT b.fpid FROM ?? AS b WHERE b.aid = ? GROUP BY b.fpid))';
|
|
|
+ const sqlParam3 = [this.tableName, status, spid, this.ctx.session.sessionUser.accountId, this.ctx.service.financialPayAudit.tableName, this.ctx.session.sessionUser.accountId];
|
|
|
const result3 = await this.db.query(sql3, sqlParam3);
|
|
|
return result3[0].count;
|
|
|
case 3: // 已完成(所有的)
|
|
|
- const sql4 = 'SELECT count(*) AS count FROM ?? as a WHERE a.status = ? AND a.spid = ? AND a.fpcid = ?' + addSql;
|
|
|
- const sqlParam4 = [this.tableName, status, spid, fpcid];
|
|
|
+ const sql4 = 'SELECT count(*) AS count FROM ?? as a WHERE a.status = ? AND a.spid = ?' + addSql;
|
|
|
+ const sqlParam4 = [this.tableName, status, spid];
|
|
|
const result4 = await this.db.query(sql4, sqlParam4);
|
|
|
return result4[0].count;
|
|
|
default:
|