advance_audit.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. 'use strict'
  2. module.exports = app => {
  3. class AdvanceAudit extends app.BaseService {
  4. constructor(ctx) {
  5. super(ctx)
  6. this.tableName = 'advance_audit'
  7. }
  8. /**
  9. * 获取审核人流程列表
  10. * @param {Number} vid 预付款记录id
  11. * @param {Number} times 审核次数
  12. */
  13. async getAuditGroupByList(vid, times) {
  14. const sql =
  15. 'SELECT la.`aid`, pa.`name`, pa.`company`, pa.`role`, la.`times`, la.`sid`, la.`aid`, la.`order` ' +
  16. 'FROM ?? AS la, ?? AS pa ' +
  17. 'WHERE la.`sid` = ? and la.`times` = ? and la.`aid` = pa.`id` GROUP BY la.`aid` ORDER BY la.`order`'
  18. const sqlParam = [this.tableName, this.ctx.service.projectAccount.tableName, vid, times]
  19. return await this.db.query(sql, sqlParam)
  20. }
  21. /**
  22. * 获取审核人流程列表(包括原报)
  23. * @param {Number} vid 预付款记录id
  24. * @param {Number} times 审核次数
  25. */
  26. async getAuditGroupByListWithOwner(vid, times) {
  27. const result = await this.getAuditGroupByList(vid, times)
  28. const sql =
  29. 'SELECT pa.`id` As aid, pa.`name`, pa.`company`, pa.`role`, ? As times, ? As sid, 0 As `order`' +
  30. ' FROM ' +
  31. this.ctx.service.advance.tableName +
  32. ' As s' +
  33. ' LEFT JOIN ' +
  34. this.ctx.service.projectAccount.tableName +
  35. ' As pa' +
  36. ' ON s.user_id = pa.id' +
  37. ' WHERE s.id = ?'
  38. const sqlParam = [times, stageId, stageId]
  39. const user = await this.db.queryOne(sql, sqlParam)
  40. result.unshift(user)
  41. return result
  42. }
  43. }
  44. return AdvanceAudit
  45. }