weapp_dashboard_controller.js 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. 'use strict';
  2. const DashboardStats = require('../lib/dashboard_stats');
  3. const auditConst = require('../const/audit');
  4. module.exports = app => {
  5. class WeappDashboardController extends app.BaseController {
  6. async workspace(ctx) {
  7. try {
  8. const allAuditTenders = await ctx.service.ledgerAudit.getAuditTender(ctx.projectAccount.id);
  9. const allAuditStages = await ctx.service.stageAudit.getAuditStage(ctx.projectAccount.id);
  10. const allAuditChanges = await ctx.service.changeAudit.getAuditChange(ctx.projectAccount.id);
  11. const allAuditRevise = await ctx.service.reviseAudit.getAuditRevise(ctx.projectAccount.id);
  12. const allAuditMaterial = await ctx.service.materialAudit.getAuditMaterial(ctx.projectAccount.id);
  13. const allAuditAdvance = await ctx.service.advanceAudit.getAuditAdvance(ctx.projectAccount.id);
  14. const allAuditChangeProject = await ctx.service.changeProjectAudit.getAuditChangeProject(ctx.projectAccount.id);
  15. const allAuditChangeApply = await ctx.service.changeApplyAudit.getAuditChangeApply(ctx.projectAccount.id);
  16. const allAuditChangePlan = await ctx.service.changePlanAudit.getAuditChangePlan(ctx.projectAccount.id);
  17. const allAuditPayments = await ctx.service.paymentDetailAudit.getAuditPayment(ctx.projectAccount.id);
  18. const allAuditStageAss = await ctx.service.stageAuditAss.getAuditStageAss(ctx.projectAccount.id);
  19. const allAuditFinancials = await ctx.service.financialPayAudit.getAuditFinancial(ctx.projectAccount.id);
  20. const allAuditInspections = await ctx.service.qualityInspectionAudit.getAuditInspection(ctx.projectAccount.id);
  21. const allAuditSafeInspections = await ctx.service.safeInspectionAudit.getAuditInspection(ctx.projectAccount.id);
  22. const allAuditSafeStage = await ctx.service.safeStageAudit.getAuditStage(ctx.projectAccount.id);
  23. const allAuditPhasePay = await ctx.service.phasePayAudit.getAuditStage(ctx.projectAccount.id);
  24. const dashboardStatus = {
  25. all: 0,
  26. dashboard: 0,
  27. worry: 0,
  28. early: 0,
  29. shenpi: {
  30. ledger: 0,
  31. stage: 0,
  32. change: 0,
  33. revise: 0,
  34. material: 0,
  35. advance: 0,
  36. changeProject: 0,
  37. changeApply: 0,
  38. changePlan: 0,
  39. payment: 0,
  40. financial: 0,
  41. inspection: 0,
  42. safeInspection: 0,
  43. safeStage: 0,
  44. phasePay: 0,
  45. },
  46. };
  47. const subProjects = await ctx.service.subProject.getSubProject(ctx.projectAccount.project_id, ctx.projectAccount.id, ctx.projectAccount.is_admin, true);
  48. for (const subProject of subProjects) {
  49. subProject.page_show = ctx.service.subProject.getPageShow(subProject.page_show);
  50. }
  51. const dashboardShenpis = [];
  52. const auditTenders = await DashboardStats.auditSet(ctx, allAuditTenders, subProjects, dashboardStatus, 'ledger');
  53. dashboardShenpis.push(...auditTenders);
  54. const auditStages = await DashboardStats.auditSet(ctx, allAuditStages, subProjects, dashboardStatus, 'stage');
  55. dashboardShenpis.push(...auditStages);
  56. const auditChanges = await DashboardStats.auditSet(ctx, allAuditChanges, subProjects, dashboardStatus, 'change');
  57. dashboardShenpis.push(...auditChanges);
  58. const auditRevise = await DashboardStats.auditSet(ctx, allAuditRevise, subProjects, dashboardStatus, 'revise');
  59. dashboardShenpis.push(...auditRevise);
  60. const auditMaterial = await DashboardStats.auditSet(ctx, allAuditMaterial, subProjects, dashboardStatus, 'material');
  61. dashboardShenpis.push(...auditMaterial);
  62. const auditAdvance = await DashboardStats.auditSet(ctx, allAuditAdvance, subProjects, dashboardStatus, 'advance');
  63. dashboardShenpis.push(...auditAdvance);
  64. const auditChangeProject = await DashboardStats.auditSet(ctx, allAuditChangeProject, subProjects, dashboardStatus, 'changeProject');
  65. dashboardShenpis.push(...auditChangeProject);
  66. const auditChangeApply = await DashboardStats.auditSet(ctx, allAuditChangeApply, subProjects, dashboardStatus, 'changeApply');
  67. dashboardShenpis.push(...auditChangeApply);
  68. const auditChangePlan = await DashboardStats.auditSet(ctx, allAuditChangePlan, subProjects, dashboardStatus, 'changePlan');
  69. dashboardShenpis.push(...auditChangePlan);
  70. const auditPayments = await DashboardStats.auditSet(ctx, allAuditPayments, subProjects, dashboardStatus, 'payment');
  71. dashboardShenpis.push(...auditPayments);
  72. const auditStageAss = await DashboardStats.auditSet(ctx, allAuditStageAss, subProjects, dashboardStatus, 'stageAss');
  73. dashboardShenpis.push(...auditStageAss);
  74. const auditFinancials = await DashboardStats.auditSet(ctx, allAuditFinancials, subProjects, dashboardStatus, 'financial');
  75. dashboardShenpis.push(...auditFinancials);
  76. const auditInspections = await DashboardStats.auditSet(ctx, allAuditInspections, subProjects, dashboardStatus, 'inspection');
  77. dashboardShenpis.push(...auditInspections);
  78. const auditSafeInspections = await DashboardStats.auditSet(ctx, allAuditSafeInspections, subProjects, dashboardStatus, 'safeInspection');
  79. dashboardShenpis.push(...auditSafeInspections);
  80. const auditSafeStage = await DashboardStats.auditSet(ctx, allAuditSafeStage, subProjects, dashboardStatus, 'safeStage');
  81. dashboardShenpis.push(...auditSafeStage);
  82. const auditPhasePay = await DashboardStats.auditSet(ctx, allAuditPhasePay, subProjects, dashboardStatus, 'phasePay');
  83. dashboardShenpis.push(...auditPhasePay);
  84. const renderData = {
  85. code: 0,
  86. msg: '获取成功',
  87. data: {
  88. dashboardShenpis: ctx.helper._.orderBy(dashboardShenpis, ['start_audit', 'shenpi_time'], ['desc', 'asc']),
  89. dashboardStatus: {
  90. all: dashboardStatus.all,
  91. dashboard: dashboardStatus.dashboard,
  92. worry: dashboardStatus.worry,
  93. early: dashboardStatus.early
  94. },
  95. acLedger: auditConst.ledger,
  96. acStage: auditConst.stage,
  97. acChange: auditConst.change,
  98. acRevise: auditConst.revise,
  99. acMaterial: auditConst.material,
  100. acAdvance: auditConst.advance,
  101. acChangeProject: auditConst.changeProject,
  102. acChangeApply: auditConst.changeApply,
  103. acChangePlan: auditConst.changeApply,
  104. acFinancial: auditConst.financial,
  105. acInspection: auditConst.inspection,
  106. acSafeStage: auditConst.safeStage,
  107. acPhasePay: auditConst.phasePay,
  108. pushType: auditConst.pushType,
  109. }
  110. };
  111. ctx.body = renderData;
  112. } catch (error) {
  113. this.log(error);
  114. ctx.body = { code: -1, msg: error.toString(), data: null };
  115. }
  116. }
  117. }
  118. return WeappDashboardController;
  119. };