Explorar el Código

feat: 优化weapp仪表盘和子项目控制器,增加审计数据的子类型,调整SQL查询以获取更多字段

Co-authored-by: Copilot <copilot@github.com>
lanjianrong hace 1 mes
padre
commit
b25cbb169a

+ 35 - 48
app/controller/weapp_dashboard_controller.js

@@ -7,22 +7,22 @@ module.exports = app => {
     class WeappDashboardController extends app.BaseController {
         async workspace(ctx) {
             try {
-                const allAuditTenders = await ctx.service.ledgerAudit.getAuditTender(ctx.projectAccount.id);
+                // const allAuditTenders = await ctx.service.ledgerAudit.getAuditTender(ctx.projectAccount.id);
                 const allAuditStages = await ctx.service.stageAudit.getAuditStage(ctx.projectAccount.id);
                 const allAuditChanges = await ctx.service.changeAudit.getAuditChange(ctx.projectAccount.id);
-                const allAuditRevise = await ctx.service.reviseAudit.getAuditRevise(ctx.projectAccount.id);
+                // const allAuditRevise = await ctx.service.reviseAudit.getAuditRevise(ctx.projectAccount.id);
                 const allAuditMaterial = await ctx.service.materialAudit.getAuditMaterial(ctx.projectAccount.id);
                 const allAuditAdvance = await ctx.service.advanceAudit.getAuditAdvance(ctx.projectAccount.id);
                 const allAuditChangeProject = await ctx.service.changeProjectAudit.getAuditChangeProject(ctx.projectAccount.id);
                 const allAuditChangeApply = await ctx.service.changeApplyAudit.getAuditChangeApply(ctx.projectAccount.id);
                 const allAuditChangePlan = await ctx.service.changePlanAudit.getAuditChangePlan(ctx.projectAccount.id);
-                const allAuditPayments = await ctx.service.paymentDetailAudit.getAuditPayment(ctx.projectAccount.id);
-                const allAuditStageAss = await ctx.service.stageAuditAss.getAuditStageAss(ctx.projectAccount.id);
-                const allAuditFinancials = await ctx.service.financialPayAudit.getAuditFinancial(ctx.projectAccount.id);
-                const allAuditInspections = await ctx.service.qualityInspectionAudit.getAuditInspection(ctx.projectAccount.id);
+                // const allAuditPayments = await ctx.service.paymentDetailAudit.getAuditPayment(ctx.projectAccount.id);
+                // const allAuditStageAss = await ctx.service.stageAuditAss.getAuditStageAss(ctx.projectAccount.id);
+                // const allAuditFinancials = await ctx.service.financialPayAudit.getAuditFinancial(ctx.projectAccount.id);
+                const allAuditQualityInspections = await ctx.service.qualityInspectionAudit.getAuditInspection(ctx.projectAccount.id);
                 const allAuditSafeInspections = await ctx.service.safeInspectionAudit.getAuditInspection(ctx.projectAccount.id);
-                const allAuditSafeStage = await ctx.service.safeStageAudit.getAuditStage(ctx.projectAccount.id);
-                const allAuditPhasePay = await ctx.service.phasePayAudit.getAuditStage(ctx.projectAccount.id);
+                // const allAuditSafeStage = await ctx.service.safeStageAudit.getAuditStage(ctx.projectAccount.id);
+                // const allAuditPhasePay = await ctx.service.phasePayAudit.getAuditStage(ctx.projectAccount.id);
 
                 const dashboardStatus = {
                     all: 0,
@@ -53,38 +53,39 @@ module.exports = app => {
                 }
 
                 const dashboardShenpis = [];
-                const auditTenders = await DashboardStats.auditSet(ctx, allAuditTenders, subProjects, dashboardStatus, 'ledger');
-                dashboardShenpis.push(...auditTenders);
+                // 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);
+                dashboardShenpis.push(...(auditStages.map(item => ({ ...item, type: 'stage', subType: 'stage' }))));
                 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);
+                dashboardShenpis.push(...(auditChanges.map(item => ({ ...item, type: 'change', subType: 'change' }))));
+                // 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);
+                dashboardShenpis.push(...(auditMaterial.map(item => ({ ...item, type: 'material', subType: 'material' }))));
                 const auditAdvance = await DashboardStats.auditSet(ctx, allAuditAdvance, subProjects, dashboardStatus, 'advance');
-                dashboardShenpis.push(...auditAdvance);
+                dashboardShenpis.push(...(auditAdvance.map(item => ({ ...item, type: 'advance', subType: 'advance' }))));
                 const auditChangeProject = await DashboardStats.auditSet(ctx, allAuditChangeProject, subProjects, dashboardStatus, 'changeProject');
-                dashboardShenpis.push(...auditChangeProject);
+                dashboardShenpis.push(...(auditChangeProject.map(item => ({ ...item, type: 'change', subType: 'changeProject' }))));
                 const auditChangeApply = await DashboardStats.auditSet(ctx, allAuditChangeApply, subProjects, dashboardStatus, 'changeApply');
-                dashboardShenpis.push(...auditChangeApply);
+                dashboardShenpis.push(...(auditChangeApply.map(item => ({ ...item, type: 'change', subType: 'changeApply' }))));
                 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);
+                dashboardShenpis.push(...(auditChangePlan.map(item => ({ ...item, type: 'change', subType: 'changePlan' }))));
+                // 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 auditQualityInspections = await DashboardStats.auditSet(ctx, allAuditQualityInspections, subProjects, dashboardStatus, 'inspection');
+                dashboardShenpis.push(...(auditQualityInspections.map(item => ({ ...item, type: 'qualityInspection', subType: 'qualityInspection' }))));
                 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);
+                dashboardShenpis.push(...(auditSafeInspections.map(item => ({ ...item, type: 'safeInspection', subType: 'safeInspection' }))));
+
+                // const auditPhasePay = await DashboardStats.auditSet(ctx, allAuditPhasePay, subProjects, dashboardStatus, 'phasePay');
+                // dashboardShenpis.push(...auditPhasePay);
                 const renderData = {
                     code: 0,
                     msg: '获取成功',
@@ -94,23 +95,9 @@ module.exports = app => {
                             all: dashboardStatus.all,
                             dashboard: dashboardStatus.dashboard,
                             worry: dashboardStatus.worry,
-                            early: dashboardStatus.early
+                            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;

+ 12 - 10
app/controller/weapp_subp_controller.js

@@ -43,45 +43,47 @@ module.exports = app => {
                 const auditList = [];
                 // 获取待审批的计量期列表
                 const auditStages = await ctx.service.stageAudit.getAuditStageByWap(ctx.projectAccount.id, subProjectId);
-                auditList.push(...(auditStages.map(item => ({ ...item, type: 'stage' }))));
+                auditList.push(...(auditStages.map(item => ({ ...item, type: 'stage', subType: 'stage' }))));
                 // 获取待审批的变更期
                 const auditChanges = await ctx.service.changeAudit.getAuditChangeByWap(ctx.projectAccount.id, subProjectId);
-                auditList.push(...(auditChanges.map(item => ({ ...item, type: 'change' }))));
+
+                auditList.push(...(auditChanges.map(item => ({ ...item, type: 'change', subType: 'change' }))));
+
                 // 获取待审批的变更立项
                 if (pageShow.openChangeProject) {
                     const changeProjects = await ctx.service.changeProjectAudit.getAuditChangeProjectByWap(ctx.projectAccount.id, subProjectId);
-                    auditList.push(...(changeProjects.map(item => ({ ...item, type: 'changeProject' }))));
+                    auditList.push(...(changeProjects.map(item => ({ ...item, type: 'change', subType: 'changeProject' }))));
                 }
                 // 获取待审批的变更申请
                 if (pageShow.openChangeApply) {
                     const changeApplys = await ctx.service.changeApplyAudit.getAuditChangeApplyByWap(ctx.projectAccount.id, subProjectId);
-                    auditList.push(...(changeApplys.map(item => ({ ...item, type: 'changeApply' }))));
+                    auditList.push(...(changeApplys.map(item => ({ ...item, type: 'change', subType: 'changeApply' }))));
                 }
                 // 获取待审批的变更方案
                 if (pageShow.openChangePlan) {
                     const changePlans = await ctx.service.changePlanAudit.getAuditChangePlanByWap(ctx.projectAccount.id, subProjectId);
-                    auditList.push(...(changePlans.map(item => ({ ...item, type: 'changePlan' }))));
+                    auditList.push(...(changePlans.map(item => ({ ...item, type: 'change', subType: 'changePlan' }))));
                 }
                 // 获取待审批的台账修订
                 const ledgerRevises = await ctx.service.reviseAudit.getAuditReviseByWap(ctx.projectAccount.id, subProjectId);
-                auditList.push(...(ledgerRevises.map(item => ({ ...item, type: 'revise' }))));
+                auditList.push(...(ledgerRevises.map(item => ({ ...item, type: 'revise', subType: 'revise' }))));
                 // 获取待审批的预付款
                 const auditAdvance = await ctx.service.advanceAudit.getAuditAdvanceByWap(ctx.projectAccount.id, subProjectId);
-                auditList.push(...(auditAdvance.map(item => ({ ...item, type: 'advance' }))));
+                auditList.push(...(auditAdvance.map(item => ({ ...item, type: 'advance', subType: 'advance' }))));
                 // 获取待审批的材料调差
                 if (pageShow.openMaterial) {
                     const materialList = await ctx.service.materialAudit.getAuditMaterialByWap(ctx.projectAccount.id, subProjectId);
-                    auditList.push(...(materialList.map(item => ({ ...item, type: 'material' }))));
+                    auditList.push(...(materialList.map(item => ({ ...item, type: 'material', subType: 'material' }))));
                 }
                 // 获取待审批的质量巡检单
                 if (pageShow.qualityInspection) {
                     const qualityInspectionList = await ctx.service.qualityInspectionAudit.getAuditInspectionByWap(ctx.projectAccount.id, subProjectId);
-                    auditList.push(...(qualityInspectionList.map(item => ({ ...item, type: 'qualityInspection' }))));
+                    auditList.push(...(qualityInspectionList.map(item => ({ ...item, type: 'qualityInspection', subType: 'qualityInspection' }))));
                 }
                 // 获取待审批的安全巡检
                 if (pageShow.safeInspection) {
                     const safeInspectionList = await ctx.service.safeInspectionAudit.getAuditInspectionByWap(ctx.projectAccount.id, subProjectId);
-                    auditList.push(...(safeInspectionList.map(item => ({ ...item, type: 'safeInspection' }))));
+                    auditList.push(...(safeInspectionList.map(item => ({ ...item, type: 'safeInspection', subType: 'safeInspection' }))));
                 }
                 // 按照审批时间倒序排序
                 auditList.sort((a, b) => new Date(b.begin_time).getTime() - new Date(a.begin_time).getTime());

+ 1 - 1
app/service/change_audit.js

@@ -331,7 +331,7 @@ module.exports = app => {
          */
         async getAuditChangeByWap(uid, spid = '') {
             const spSql = spid ? ' and t.`spid` = "' + spid + '"' : '';
-            const sql = 'SELECT ca.`uid`, ca.`times`, ca.`usite`, ca.`usort`, ca.`tid`, ca.`cid`, ca.`sin_time`, ca.`name` As `caname`, ' +
+            const sql = 'SELECT ca.`uid`, ca.`times`, ca.`usite`, ca.`usort`, ca.`tid`, ca.`cid`, ca.`sin_time`, ca.`begin_time`, ca.`name` As `caname`, ' +
                 '    c.`code` As `ccode`, c.`name` As `cname`, c.`status` As `cstatus`, c.`quality`, c.`total_price`,' +
                 '    t.`name`, t.`type`, t.`user_id`, ' +
                 '    ti.`deal_info`, ti.`decimal` ' +