From 94e3a209bb9a31c4ddbd31494bb1628f6fe2e96e Mon Sep 17 00:00:00 2001 From: lidongdong <1459917685@qq.com> Date: 星期三, 12 十月 2022 17:54:49 +0800 Subject: [PATCH] 新增首页工单 办事指南排行榜接口 导办人员排行榜接口 组织排行榜接口 新增办事指南统计接口 导办人员统计接口 组织胖行榜统计接口 --- flower_city/src/main/java/com/dg/core/controller/HomeStatisticsController.java | 226 +++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 198 insertions(+), 28 deletions(-) diff --git a/flower_city/src/main/java/com/dg/core/controller/HomeStatisticsController.java b/flower_city/src/main/java/com/dg/core/controller/HomeStatisticsController.java index 647fbe8..03a9ca0 100644 --- a/flower_city/src/main/java/com/dg/core/controller/HomeStatisticsController.java +++ b/flower_city/src/main/java/com/dg/core/controller/HomeStatisticsController.java @@ -2,8 +2,8 @@ import com.dg.core.ResultData; import com.dg.core.db.gen.entity.*; -import com.dg.core.service.IGuideEvolveService; -import com.dg.core.service.IGuideRepairOrderService; +import com.dg.core.service.*; +import com.dg.core.util.TableDataInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; @@ -13,13 +13,12 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import java.util.Calendar; -import java.util.List; +import java.util.*; @Api(tags = {"首页统计接口"}) @RestController @RequestMapping("/Home") -public class HomeStatisticsController +public class HomeStatisticsController extends BaseController { //导办工单接口 @Autowired @@ -29,25 +28,44 @@ @Autowired IGuideEvolveService iGuideEvolveService; + //分类 + @Autowired + IClassifyAdministrationService iClassifyAdministrationService; + + @Autowired + ITransactionEventService iTransactionEventService; + + @Autowired + HomeStatisticsService homeStatisticsService; + + + @Autowired + com.dg.core.service.ISysUserService IUserService; + + + @Autowired + IOrganizationChartService iOrganizationChartService; + + @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 +77,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 +118,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 +166,163 @@ 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("组织排行榜 type 1 安评价 2 按办结量") + @GetMapping("/getOrganization") + public TableDataInfo getOrganization(@RequestParam("type") String type) + { + List<OrganizationEntity> guidePlates=homeStatisticsService.getDepartment(); + + if(StringUtils.equals("1",type)) + { + for (OrganizationEntity bean:guidePlates) + { + bean.setNum(0+""); + List<String> ids=iOrganizationChartService.getIds(bean.getId()+""); + + //总评分 + String scoreNum=homeStatisticsService.organizationScore(ids)+""; + int score=0; + if(!StringUtils.isEmpty(scoreNum) && !StringUtils.equals("null",scoreNum)) + { + score=Integer.valueOf(scoreNum); + } + + //总数量 + int allNum=homeStatisticsService.organizationNum(ids); + + if(allNum>0 && score>0) + { + java.text.DecimalFormat weekDf=new java.text.DecimalFormat("##.##");//传入格式模板 + String workEfficiency=weekDf.format((float)(score/allNum)); + bean.setNum(workEfficiency); + } + } + } + else + { + for (OrganizationEntity bean:guidePlates) + { + bean.setNum(0+""); + List<String> ids=iOrganizationChartService.getIds(bean.getId()+""); + //总数量 + int allNum=homeStatisticsService.organizationNum(ids); + if(allNum>0) + { + bean.setNum(allNum+""); + } + } + } + + OrganizationEntity entity=null; + for(int i = 0 ;i< guidePlates.size() -1; i++) { + for (int j = 0; j < guidePlates.size() - 1 - i; j++) { + + if(Float.valueOf(guidePlates.get(j).getNum())>Float.valueOf(guidePlates.get(j+1).getNum())) + { + entity=guidePlates.get(j); + guidePlates.set(j,guidePlates.get(j+1)); + guidePlates.set(j+1,entity); + } + } + } + + Collections.reverse(guidePlates); + + return getDataTable(guidePlates,guidePlates.size()); + } + + + + @ApiOperation("导办人员排行榜 type 1 安评价 2 按办结量 3 按超时") + @GetMapping("/getGuidePlate") + public TableDataInfo getGuidePlate(@RequestParam("type") String type) + { + int allNum=homeStatisticsService.staffNum(); + + if(StringUtils.equals("1",type)) + { + //安评价 + return getDataTable(homeStatisticsService.score(),allNum); + } + else if(StringUtils.equals("2",type)) + { + //2 按办结量 + return getDataTable(homeStatisticsService.guidePlatePeople(),allNum); + } + else + { + //3 按超时 + return getDataTable(homeStatisticsService.timeout(),allNum); + } + } + + + + @ApiOperation("办事指南排行榜 type 1 按浏览量 2 按办结量") + @GetMapping("/getGuidance") + public TableDataInfo getGuidance(@RequestParam("type") String type) + { + int allNum=homeStatisticsService.countWork(); + if(StringUtils.equals("1",type)) + { + return getDataTable(homeStatisticsService.guidanceBrowse(),allNum); + } + else + { + return getDataTable(homeStatisticsService.guidanceTransaction(),allNum); + } + + } + + -- Gitblit v1.7.1