Просмотр исходного кода

feat: 更新weapp仪表盘控制器,优化审计数据处理逻辑,增加审计状态返回字段

caipin 1 месяц назад
Родитель
Сommit
01aec001f1
1 измененных файлов с 71 добавлено и 20 удалено
  1. 71 20
      app/controller/weapp_dashboard_controller.js

+ 71 - 20
app/controller/weapp_dashboard_controller.js

@@ -1,6 +1,7 @@
 'use strict';
 
 const DashboardStats = require('../lib/dashboard_stats');
+const auditConst = require('../const/audit');
 
 module.exports = app => {
     class WeappDashboardController extends app.BaseController {
@@ -27,42 +28,92 @@ module.exports = app => {
                     all: 0,
                     dashboard: 0,
                     worry: 0,
-                    early: 0
+                    early: 0,
+                    shenpi: {
+                        ledger: 0,
+                        stage: 0,
+                        change: 0,
+                        revise: 0,
+                        material: 0,
+                        advance: 0,
+                        changeProject: 0,
+                        changeApply: 0,
+                        changePlan: 0,
+                        payment: 0,
+                        financial: 0,
+                        inspection: 0,
+                        safeInspection: 0,
+                        safeStage: 0,
+                        phasePay: 0,
+                    },
                 };
                 const subProjects = await ctx.service.subProject.getSubProject(ctx.projectAccount.project_id, ctx.projectAccount.id, ctx.projectAccount.is_admin, true);
                 for (const subProject of subProjects) {
                     subProject.page_show = ctx.service.subProject.getPageShow(subProject.page_show);
                 }
 
-                await DashboardStats.auditSet(ctx, allAuditTenders, subProjects, dashboardStatus, 'ledger');
-                await DashboardStats.auditSet(ctx, allAuditStages, subProjects, dashboardStatus, 'stage');
-                await DashboardStats.auditSet(ctx, allAuditChanges, subProjects, dashboardStatus, 'change');
-                await DashboardStats.auditSet(ctx, allAuditRevise, subProjects, dashboardStatus, 'revise');
-                await DashboardStats.auditSet(ctx, allAuditMaterial, subProjects, dashboardStatus, 'material');
-                await DashboardStats.auditSet(ctx, allAuditAdvance, subProjects, dashboardStatus, 'advance');
-                await DashboardStats.auditSet(ctx, allAuditChangeProject, subProjects, dashboardStatus, 'changeProject');
-                await DashboardStats.auditSet(ctx, allAuditChangeApply, subProjects, dashboardStatus, 'changeApply');
-                await DashboardStats.auditSet(ctx, allAuditChangePlan, subProjects, dashboardStatus, 'changePlan');
-                await DashboardStats.auditSet(ctx, allAuditPayments, subProjects, dashboardStatus, 'payment');
-                await DashboardStats.auditSet(ctx, allAuditStageAss, subProjects, dashboardStatus, 'stageAss');
-                await DashboardStats.auditSet(ctx, allAuditFinancials, subProjects, dashboardStatus, 'financial');
-                await DashboardStats.auditSet(ctx, allAuditInspections, subProjects, dashboardStatus, 'inspection');
-                await DashboardStats.auditSet(ctx, allAuditSafeInspections, subProjects, dashboardStatus, 'safeInspection');
-                await DashboardStats.auditSet(ctx, allAuditSafeStage, subProjects, dashboardStatus, 'safeStage');
-                await DashboardStats.auditSet(ctx, allAuditPhasePay, subProjects, dashboardStatus, 'phasePay');
-
-                ctx.body = {
+                const dashboardShenpis = [];
+                const auditTenders = await DashboardStats.auditSet(ctx, allAuditTenders, subProjects, dashboardStatus, 'ledger');
+                dashboardShenpis.push(...auditTenders);
+                const auditStages = await DashboardStats.auditSet(ctx, allAuditStages, subProjects, dashboardStatus, 'stage');
+                dashboardShenpis.push(...auditStages);
+                const auditChanges = await DashboardStats.auditSet(ctx, allAuditChanges, subProjects, dashboardStatus, 'change');
+                dashboardShenpis.push(...auditChanges);
+                const auditRevise = await DashboardStats.auditSet(ctx, allAuditRevise, subProjects, dashboardStatus, 'revise');
+                dashboardShenpis.push(...auditRevise);
+                const auditMaterial = await DashboardStats.auditSet(ctx, allAuditMaterial, subProjects, dashboardStatus, 'material');
+                dashboardShenpis.push(...auditMaterial);
+                const auditAdvance = await DashboardStats.auditSet(ctx, allAuditAdvance, subProjects, dashboardStatus, 'advance');
+                dashboardShenpis.push(...auditAdvance);
+                const auditChangeProject = await DashboardStats.auditSet(ctx, allAuditChangeProject, subProjects, dashboardStatus, 'changeProject');
+                dashboardShenpis.push(...auditChangeProject);
+                const auditChangeApply = await DashboardStats.auditSet(ctx, allAuditChangeApply, subProjects, dashboardStatus, 'changeApply');
+                dashboardShenpis.push(...auditChangeApply);
+                const auditChangePlan = await DashboardStats.auditSet(ctx, allAuditChangePlan, subProjects, dashboardStatus, 'changePlan');
+                dashboardShenpis.push(...auditChangePlan);
+                const auditPayments = await DashboardStats.auditSet(ctx, allAuditPayments, subProjects, dashboardStatus, 'payment');
+                dashboardShenpis.push(...auditPayments);
+                const auditStageAss = await DashboardStats.auditSet(ctx, allAuditStageAss, subProjects, dashboardStatus, 'stageAss');
+                dashboardShenpis.push(...auditStageAss);
+                const auditFinancials = await DashboardStats.auditSet(ctx, allAuditFinancials, subProjects, dashboardStatus, 'financial');
+                dashboardShenpis.push(...auditFinancials);
+                const auditInspections = await DashboardStats.auditSet(ctx, allAuditInspections, subProjects, dashboardStatus, 'inspection');
+                dashboardShenpis.push(...auditInspections);
+                const auditSafeInspections = await DashboardStats.auditSet(ctx, allAuditSafeInspections, subProjects, dashboardStatus, 'safeInspection');
+                dashboardShenpis.push(...auditSafeInspections);
+                const auditSafeStage = await DashboardStats.auditSet(ctx, allAuditSafeStage, subProjects, dashboardStatus, 'safeStage');
+                dashboardShenpis.push(...auditSafeStage);
+                const auditPhasePay = await DashboardStats.auditSet(ctx, allAuditPhasePay, subProjects, dashboardStatus, 'phasePay');
+                dashboardShenpis.push(...auditPhasePay);
+                const renderData = {
                     code: 0,
                     msg: '获取成功',
                     data: {
+                        dashboardShenpis: ctx.helper._.orderBy(dashboardShenpis, ['start_audit', 'shenpi_time'], ['desc', 'asc']),
                         dashboardStatus: {
                             all: dashboardStatus.all,
                             dashboard: dashboardStatus.dashboard,
                             worry: dashboardStatus.worry,
                             early: dashboardStatus.early
-                        }
+                        },
+                        acLedger: auditConst.ledger,
+                        acStage: auditConst.stage,
+                        acChange: auditConst.change,
+                        acRevise: auditConst.revise,
+                        acMaterial: auditConst.material,
+                        acAdvance: auditConst.advance,
+                        acChangeProject: auditConst.changeProject,
+                        acChangeApply: auditConst.changeApply,
+                        acChangePlan: auditConst.changeApply,
+                        acFinancial: auditConst.financial,
+                        acInspection: auditConst.inspection,
+                        acSafeStage: auditConst.safeStage,
+                        acPhasePay: auditConst.phasePay,
+                        pushType: auditConst.pushType,
                     }
                 };
+
+                ctx.body = renderData;
             } catch (error) {
                 this.log(error);
                 ctx.body = { code: -1, msg: error.toString(), data: null };