lidongdong
2022-10-11 edd51e72fb0d3d9ac3e604f164618dde92a0c29a
flower_city/src/main/java/com/dg/core/controller/HomeStatisticsController.java
@@ -2,8 +2,10 @@
import com.dg.core.ResultData;
import com.dg.core.db.gen.entity.*;
import com.dg.core.service.IClassifyAdministrationService;
import com.dg.core.service.IGuideEvolveService;
import com.dg.core.service.IGuideRepairOrderService;
import com.dg.core.service.ITransactionEventService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
@@ -13,6 +15,7 @@
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
@@ -29,25 +32,32 @@
    @Autowired
    IGuideEvolveService iGuideEvolveService;
    //分类
    @Autowired
    IClassifyAdministrationService iClassifyAdministrationService;
    @Autowired
    ITransactionEventService iTransactionEventService;
    @ApiOperation("首页统计不同状态工单数")
    @GetMapping("/getWorkOrder")
    public ResultData getWorkOrder()
    {
        WorkOrder workOrder=new WorkOrder();
        //状态(1待分配  2 待办结 3 已办结 4 待评价 5 已取消  6未解决  7已解决)
        workOrder.setAllNum(iGuideRepairOrderService.countStatisticsNum("",null,null,null,null));
        workOrder.setWaitDistribution(iGuideRepairOrderService.countStatisticsNum("1",null,null,null,null));
        workOrder.setWaitDealWith(iGuideRepairOrderService.countStatisticsNum("2",null,null,null,null));
        workOrder.setHaveDealWith(iGuideRepairOrderService.countStatisticsNum("3",null,null,null,null));
        workOrder.setRemainEvaluated(iGuideRepairOrderService.countStatisticsNum("4",null,null,null,null));
        workOrder.setCanceled(iGuideRepairOrderService.countStatisticsNum("5",null,null,null,null));
        workOrder.setUnsolved(iGuideRepairOrderService.countStatisticsNum("6",null,null,null,null));
        workOrder.setResolved(iGuideRepairOrderService.countStatisticsNum("7",null,null,null,null));
        workOrder.setAllNum(iGuideRepairOrderService.countStatisticsNum("",null,null,null,null,null));
        workOrder.setWaitDistribution(iGuideRepairOrderService.countStatisticsNum("1",null,null,null,null,null));
        workOrder.setWaitDealWith(iGuideRepairOrderService.countStatisticsNum("2",null,null,null,null,null));
        workOrder.setHaveDealWith(iGuideRepairOrderService.countStatisticsNum("3",null,null,null,null,null));
        workOrder.setRemainEvaluated(iGuideRepairOrderService.countStatisticsNum("4",null,null,null,null,null));
        workOrder.setCanceled(iGuideRepairOrderService.countStatisticsNum("5",null,null,null,null,null));
        workOrder.setUnsolved(iGuideRepairOrderService.countStatisticsNum("6",null,null,null,null,null));
        workOrder.setResolved(iGuideRepairOrderService.countStatisticsNum("7",null,null,null,null,null));
        //是否超时 (1 未超时   2已超时) 超时未办结
        workOrder.setOvertime(iGuideRepairOrderService.countStatisticsNum(null,null,null,"2",null));
        workOrder.setOvertime(iGuideRepairOrderService.countStatisticsNum(null,null,null,"2",null,null));
//        超时未办结
        workOrder.setOvertimeWaitDealWith(iGuideRepairOrderService.countStatisticsNum("2",null,null,"2",null));
        workOrder.setOvertimeWaitDealWith(iGuideRepairOrderService.countStatisticsNum("2",null,null,"2",null,null));
        return ResultData.success(workOrder);
    }
@@ -59,11 +69,11 @@
        //1 今天   2昨天   3本月   4本年度
        //累计全部 本年 本月 今日 昨日
        TimeWorkOrder timeWorkOrder=new TimeWorkOrder();
        timeWorkOrder.setAllNum(iGuideRepairOrderService.countStatisticsNum(null,null,null,null,null));
        timeWorkOrder.setYearNum(iGuideRepairOrderService.countStatisticsNum(null,null,"4",null,null));
        timeWorkOrder.setMonthNum(iGuideRepairOrderService.countStatisticsNum(null,null,"3",null,null));
        timeWorkOrder.setTodayNum(iGuideRepairOrderService.countStatisticsNum(null,null,"1",null,null));
        timeWorkOrder.setYesterdayNum(iGuideRepairOrderService.countStatisticsNum(null,null,"2",null,null));
        timeWorkOrder.setAllNum(iGuideRepairOrderService.countStatisticsNum(null,null,null,null,null,null));
        timeWorkOrder.setYearNum(iGuideRepairOrderService.countStatisticsNum(null,null,"4",null,null,null));
        timeWorkOrder.setMonthNum(iGuideRepairOrderService.countStatisticsNum(null,null,"3",null,null,null));
        timeWorkOrder.setTodayNum(iGuideRepairOrderService.countStatisticsNum(null,null,"1",null,null,null));
        timeWorkOrder.setYesterdayNum(iGuideRepairOrderService.countStatisticsNum(null,null,"2",null,null,null));
        return ResultData.success(timeWorkOrder);
    }
@@ -100,38 +110,38 @@
    {
        EfficiencyEntity entity=new EfficiencyEntity();
        //总工单数
        int allNum=iGuideRepairOrderService.countStatisticsNum("",null,null,null,null);
        int allNum=iGuideRepairOrderService.countStatisticsNum("",null,null,null,null,null);
        java.text.DecimalFormat weekDf=new java.text.DecimalFormat("##.##%");//传入格式模板
        int bj=iGuideRepairOrderService.countStatisticsNum("3",null,null,null,null);
        int bj=iGuideRepairOrderService.countStatisticsNum("3",null,null,null,null,null);
        if(bj!=0)
        {
            //        好评率=评价为满意的导办工单数量/已办结状态工单数量
            String goodReputationEfficiency=weekDf.format((float)(iGuideRepairOrderService.countStatisticsNum(null,null,null,null,"1")
            String goodReputationEfficiency=weekDf.format((float)(iGuideRepairOrderService.countStatisticsNum(null,null,null,null,"1",null)
                    /bj));
            entity.setGoodReputationEfficiency(goodReputationEfficiency);
            //      解决率=已解决状态的导办工单数量/已办结状态工单数量
            String resolveEfficiency=weekDf.format((float)(iGuideRepairOrderService.countStatisticsNum("7",null,null,null,null)
            String resolveEfficiency=weekDf.format((float)(iGuideRepairOrderService.countStatisticsNum("7",null,null,null,null,null)
                    /bj));
            entity.setResolveEfficiency(resolveEfficiency);
            if(allNum!=0)
            {
//              办结率=待评价+已办结状态的导办工单数量/总工单数量
                String workEfficiency=weekDf.format((float)((iGuideRepairOrderService.countStatisticsNum("4",null,null,null,null)
                String workEfficiency=weekDf.format((float)((iGuideRepairOrderService.countStatisticsNum("4",null,null,null,null,null)
                        +bj)/allNum));
                entity.setWorkEfficiency(workEfficiency);
            }
        }
        int cs=iGuideRepairOrderService.countStatisticsNum(null,null,null,"2",null);
        int cs=iGuideRepairOrderService.countStatisticsNum(null,null,null,"2",null,null);
        if(cs!=0)
        {
            //        超时办结率=超时状态下的待评价+已办结状态的导办工单数量/超时状态的导办工单数量
            String timeoutEfficiency=weekDf.format((float)((iGuideRepairOrderService.countStatisticsNum("4",null,null,"2",null)
                    +iGuideRepairOrderService.countStatisticsNum("3",null,null,null,null))
            String timeoutEfficiency=weekDf.format((float)((iGuideRepairOrderService.countStatisticsNum("4",null,null,"2",null,null)
                    +iGuideRepairOrderService.countStatisticsNum("3",null,null,null,null,null))
                    /cs));
            entity.setTimeoutEfficiency(timeoutEfficiency);
@@ -148,11 +158,59 @@
        return ResultData.success(entity);
    }
    @ApiOperation("工单  办事指南饼状图数据")
    @GetMapping("/getPieChart")
    public ResultData getPieChart()
    {
        PieChartAll pieChartAll=new PieChartAll();
        pieChartAll.setWorkOrderNum(iGuideRepairOrderService.countStatisticsNum("",null,null,null,null,null)+"");
        pieChartAll.setFingerpostNum(iTransactionEventService.countStatisticsNum(null)+"");
        List<PieChart> workOrderList=new ArrayList<>();
        List<PieChart> fingerpostList=new ArrayList<>();
        List<ClassifyAdministration> oneIds=iClassifyAdministrationService.getClassify(null,"1");
        for (ClassifyAdministration oneClassify:oneIds)
        {
            PieChart workOrder=new PieChart();
            PieChart fingerpost=new PieChart();
            workOrder.setName(oneClassify.getClassifyName());
            fingerpost.setName(oneClassify.getClassifyName());
            List<ClassifyAdministration> twoIds = iClassifyAdministrationService.getClassify(oneClassify.getId()+"",null);
            List clasIds=new ArrayList();
            clasIds.add(oneClassify.getId());
            for (ClassifyAdministration classify:twoIds)
            {
                clasIds.add(classify.getId());
            }
            int workOrderNum=0;
            int fingerpostNum=0;
            if(clasIds.size()>0)
            {
                workOrderNum=iGuideRepairOrderService.countStatisticsNum(null,null,null,null,null,clasIds);
                fingerpostNum=iTransactionEventService.countStatisticsNum(clasIds);
            }
            workOrder.setNum(workOrderNum+"");
            fingerpost.setNum(fingerpostNum+"");
            workOrderList.add(workOrder);
            fingerpostList.add(fingerpost);
        }
        pieChartAll.setWorkOrderList(workOrderList);
        pieChartAll.setFingerpostList(fingerpostList);
        return ResultData.success(pieChartAll);
    }
    @ApiOperation("组织排行榜")
    @GetMapping("/getOrganization")
    public ResultData getOrganization()
    {
        return ResultData.success();
    }