'use strict' module.exports = app => { class AdvanceAudit extends app.BaseService { constructor(ctx) { super(ctx) this.tableName = 'advance_audit' } /** * 获取审核人流程列表 * @param {Number} vid 预付款记录id * @param {Number} times 审核次数 */ async getAuditGroupByList(vid, times) { const sql = 'SELECT la.`aid`, pa.`name`, pa.`company`, pa.`role`, la.`times`, la.`sid`, la.`aid`, la.`order` ' + 'FROM ?? AS la, ?? AS pa ' + 'WHERE la.`sid` = ? and la.`times` = ? and la.`aid` = pa.`id` GROUP BY la.`aid` ORDER BY la.`order`' const sqlParam = [this.tableName, this.ctx.service.projectAccount.tableName, vid, times] return await this.db.query(sql, sqlParam) } /** * 获取审核人流程列表(包括原报) * @param {Number} vid 预付款记录id * @param {Number} times 审核次数 */ async getAuditGroupByListWithOwner(vid, times) { const result = await this.getAuditGroupByList(vid, times) const sql = 'SELECT pa.`id` As aid, pa.`name`, pa.`company`, pa.`role`, ? As times, ? As sid, 0 As `order`' + ' FROM ' + this.ctx.service.advance.tableName + ' As s' + ' LEFT JOIN ' + this.ctx.service.projectAccount.tableName + ' As pa' + ' ON s.user_id = pa.id' + ' WHERE s.id = ?' const sqlParam = [times, stageId, stageId] const user = await this.db.queryOne(sql, sqlParam) result.unshift(user) return result } } return AdvanceAudit }