From b5b69ffb1c3893a16e9ed57a68b0db7ca516bd0d Mon Sep 17 00:00:00 2001 From: lidongdong <1459917685@qq.com> Date: 星期六, 15 十月 2022 11:34:02 +0800 Subject: [PATCH] 修改小程序报错 bug --- flower_city/src/main/java/com/dg/core/controller/HomeStatisticsController.java | 268 ++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 240 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..50251a8 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,42 @@ @Autowired IGuideEvolveService iGuideEvolveService; + + @Autowired + HomeStatisticsService homeStatisticsService; + + + @Autowired + com.dg.core.service.ISysUserService IUserService; + + + @Autowired + IOrganizationChartService iOrganizationChartService; + + + @Autowired + IAreaCodeService iAreaCodeService; + + @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 +75,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 +116,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,6 +164,202 @@ 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(homeStatisticsService.countStatisticsNum(null)+""); + List<PieChart> workOrderList=new ArrayList<>(); + List<PieChart> fingerpostList=new ArrayList<>(); + List<ClassifyAdministration> oneIds=homeStatisticsService.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 = homeStatisticsService.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=homeStatisticsService.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); + } + + } + + + + @ApiOperation("导办工单按区域统计") + @GetMapping("/getRangeStatistics") + public TableDataInfo getRangeStatistics() + { + List<AreaCode2022> code2022s=iAreaCodeService.getListByPCode("510400000000"); + + List<RangeStatistics> rangeStatistics=new ArrayList<>(); + + for (AreaCode2022 bean:code2022s) + { + RangeStatistics range=new RangeStatistics(); + range.setName(bean.getName()); + + List<String> ids; + + if(bean.getCode()==510401000000L) + { + ids=homeStatisticsService.countId(""); + } + else + { + ids=homeStatisticsService.countId(bean.getCode()+""); + } + int num=0; + if(ids!=null&&ids.size()>0) + { + num=iGuideRepairOrderService.countStatisticsNum(null,ids,null,null,null,null); + } + range.setNum(num+""); + rangeStatistics.add(range); + } + + + return getDataTable(rangeStatistics); + } + + + + -- Gitblit v1.7.1