From 08f1b1f1804a8bd833d42f257908d80e88387b55 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期五, 14 三月 2025 11:27:47 +0800 Subject: [PATCH] 3.5增加登录验证、修改密码、人员列表调整 --- flower_city/src/main/java/com/dg/core/controller/HomeStatisticsController.java | 311 +++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 297 insertions(+), 14 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 57ce7f3..a1a61b8 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 @@ -48,6 +48,9 @@ @Autowired private ISysUserRecordService iSysUserRecordService; + @Autowired(required = true) + IAutomessageSmartConsultingService iAutomessageSmartConsultingService; + @ApiOperation("首页统计不同状态工单数") @GetMapping("/getWorkOrder") @@ -152,7 +155,7 @@ { // 超时办结率=超时状态下的待评价+已办结状态的导办工单数量/超时状态的导办工单数量 String timeoutEfficiency=weekDf.format((float)((iGuideRepairOrderService.countStatisticsNum("4",null,null,"2",null,null,null,null) - +iGuideRepairOrderService.countStatisticsNum("3",null,null,null,null,null,null,null)) + +iGuideRepairOrderService.countStatisticsNum("3",null,null,"2",null,null,null,null)) /(float)cs)); entity.setTimeoutEfficiency(timeoutEfficiency); @@ -162,8 +165,15 @@ { // 回复率=最新进展里大于0条回复的导办工单数量/总工单数量 //状态(1待分配 2 待办结 3 已办结 4 待评价 5 已取消 6未解决 7已解决 8 系统自动分配 9 回复 10转派 11手动分配) - String reversionRate=weekDf.format((float)(homeStatisticsService.reversionRate("9",null)/(float)allNum)); - entity.setReversionRate(reversionRate); + + String num=(homeStatisticsService.reversionRate("9",null)); + if(!StringUtils.isEmpty(num)) + { + String reversionRate=weekDf.format(Float.valueOf(num)/(float)allNum); + entity.setReversionRate(reversionRate); + } + + } return ResultData.success(entity); @@ -175,7 +185,7 @@ { PieChartAll pieChartAll=new PieChartAll(); pieChartAll.setWorkOrderNum(iGuideRepairOrderService.countStatisticsNum("",null,null,null,null,null,null,null)+""); - pieChartAll.setFingerpostNum(homeStatisticsService.countStatisticsNum(null)+""); + pieChartAll.setFingerpostNum(homeStatisticsService.countStatisticsNum(null,null)+""); List<PieChart> workOrderList=new ArrayList<>(); List<PieChart> fingerpostList=new ArrayList<>(); List<ClassifyAdministration> oneIds=homeStatisticsService.getClassify(null,"1"); @@ -199,7 +209,7 @@ if(clasIds.size()>0) { workOrderNum=iGuideRepairOrderService.countStatisticsNum(null,null,null,null,null,clasIds,null,null); - fingerpostNum=homeStatisticsService.countStatisticsNum(clasIds); + fingerpostNum=homeStatisticsService.countStatisticsNum(clasIds,null); } workOrder.setNum(workOrderNum+""); fingerpost.setNum(fingerpostNum+""); @@ -243,8 +253,8 @@ if(allNum>0 && score>0) { - java.text.DecimalFormat weekDf=new java.text.DecimalFormat("##.##");//传入格式模板 - String workEfficiency=weekDf.format((float)(score/allNum)); + java.text.DecimalFormat weekDf=new java.text.DecimalFormat("##.#");//传入格式模板 + String workEfficiency=weekDf.format((float)score/(float)allNum); bean.setNum(workEfficiency); } } @@ -288,22 +298,22 @@ @GetMapping("/getGuidePlate") public TableDataInfo<GuidePlate> getGuidePlate(@RequestParam("type") String type) { - int allNum=homeStatisticsService.staffNum(); + int allNum=homeStatisticsService.staffNum(null); if(StringUtils.equals("1",type)) { //安评价 - return getDataTable(homeStatisticsService.score(),allNum); + return getDataTable(homeStatisticsService.score(null),allNum); } else if(StringUtils.equals("2",type)) { //2 按办结量 - return getDataTable(homeStatisticsService.guidePlatePeople(),allNum); + return getDataTable(homeStatisticsService.guidePlatePeople(null),allNum); } else { //3 按超时 - return getDataTable(homeStatisticsService.timeout(),allNum); + return getDataTable(homeStatisticsService.timeout(null),allNum); } } @@ -312,14 +322,14 @@ @GetMapping("/getGuidance") public TableDataInfo<Guidance> getGuidance(@RequestParam("type") String type) { - int allNum=homeStatisticsService.countWork(); + int allNum=homeStatisticsService.countWork(null); if(StringUtils.equals("1",type)) { - return getDataTable(homeStatisticsService.guidanceBrowse(),allNum); + return getDataTable(homeStatisticsService.guidanceBrowse(null),allNum); } else { - return getDataTable(homeStatisticsService.guidanceTransaction(),allNum); + return getDataTable(homeStatisticsService.guidanceTransaction(null),allNum); } } @@ -386,8 +396,281 @@ + /*************************************************** 部门数据统计 start **********************************************************/ + @ApiOperation("部门数据根据选择的时间段 筛选导办工单数 timeType:1 本年度 15 近15天的 30 近30天的") + @GetMapping("/department/getSelectionTimeOrder") + public ResultData<CountList> getDepartmentOrder(@RequestParam("timeType") Integer timeType,@RequestParam("ids") List<String> ids) + { + if(ids==null || ids.size()<1) + { + return ResultData.success(); + } + + if(timeType<1) + { + return ResultData.error("请输入时间"); + } + + if(timeType==1) + { + Calendar calendar=Calendar.getInstance(); + timeType=calendar.get(Calendar.DAY_OF_YEAR); + } +// System.out.println(timeType); + //1 本年度 15 近15天的 30 近30天的 + List<CountListNum> listOne=iGuideRepairOrderService.countListNum("2",ids,timeType); + List<CountListNum> listTwo=iGuideRepairOrderService.countListNum("3",ids,timeType); + CountList countList=new CountList(); + countList.setWaitDealWithList(listOne); + countList.setHaveDealWith(listTwo); + return ResultData.success(countList); + } + + @ApiOperation("部门数据首页统计不同时间段的工单数量") + @GetMapping("/department/getTimeWorkOrder") + public ResultData<TimeWorkOrder> getDepartmentTimeWorkOrder(@RequestParam("ids") List<String> ids) + { + if(ids==null || ids.size()<1) + { + return ResultData.success(); + } + + + //1 今天 2昨天 3本月 4本年度 + //累计全部 本年 本月 今日 昨日 + TimeWorkOrder timeWorkOrder=new TimeWorkOrder(); + timeWorkOrder.setAllNum(iGuideRepairOrderService.countStatisticsNum(null,ids,null,null,null,null,null,null)); + timeWorkOrder.setYearNum(iGuideRepairOrderService.countStatisticsNum(null,ids,"4",null,null,null,null,null)); + timeWorkOrder.setMonthNum(iGuideRepairOrderService.countStatisticsNum(null,ids,"3",null,null,null,null,null)); + timeWorkOrder.setTodayNum(iGuideRepairOrderService.countStatisticsNum(null,ids,"1",null,null,null,null,null)); + timeWorkOrder.setYesterdayNum(iGuideRepairOrderService.countStatisticsNum(null,ids,"2",null,null,null,null,null)); + return ResultData.success(timeWorkOrder); + } + + + @ApiOperation("部门数据首页统计不同状态工单数") + @GetMapping("/department/getWorkOrder") + public ResultData<WorkOrder> getDepartmentWorkOrder(@RequestParam("ids") List<String> ids) + { + if(ids==null || ids.size()<1) + { + return ResultData.success(); + } + WorkOrder workOrder=new WorkOrder(); + //状态(1待分配 2 待办结 3 已办结 4 待评价 5 已取消) + workOrder.setAllNum(iGuideRepairOrderService.countStatisticsNum("",ids,null,null,null,null,null,null)); + workOrder.setWaitDistribution(iGuideRepairOrderService.countStatisticsNum("1",ids,null,null,null,null,null,null)); + workOrder.setWaitDealWith(iGuideRepairOrderService.countStatisticsNum("2",ids,null,null,null,null,null,null)); + workOrder.setHaveDealWith(iGuideRepairOrderService.countStatisticsNum("3",ids,null,null,null,null,null,null)); + workOrder.setRemainEvaluated(iGuideRepairOrderService.countStatisticsNum("4",ids,null,null,null,null,null,null)); + workOrder.setCanceled(iGuideRepairOrderService.countStatisticsNum("5",ids,null,null,null,null,null,null)); + // //服务状态(1.已解决 2.未解决) + workOrder.setUnsolved(iGuideRepairOrderService.countStatisticsNum(null,ids,null,null,null,null,"2",null)); + workOrder.setResolved(iGuideRepairOrderService.countStatisticsNum(null,ids,null,null,null,null,"1",null)); + + //是否超时 (1 未超时 2已超时) 超时未办结 + workOrder.setOvertime(iGuideRepairOrderService.countStatisticsNum(null,ids,null,"2",null,null,null,null)); +// 超时未办结 + workOrder.setOvertimeWaitDealWith(iGuideRepairOrderService.countStatisticsNum("2",ids,null,"2",null,null,null,null)); + return ResultData.success(workOrder); + } + + @ApiOperation("部门数据获取效率比值") + @GetMapping("/department/getEfficiency") + public ResultData<EfficiencyEntity> getDepartmentEfficiency(@RequestParam("ids") List<String> ids) + { + + if(ids==null || ids.size()<1) + { + return ResultData.success(); + } + + EfficiencyEntity entity=new EfficiencyEntity(); + //总工单数 + int allNum=iGuideRepairOrderService.countStatisticsNum("",ids,null,null,null,null,null,null); + + java.text.DecimalFormat weekDf=new java.text.DecimalFormat("##.##%");//传入格式模板 + + int bj=iGuideRepairOrderService.countStatisticsNum("3",ids,null,null,null,null,null,null); + if(bj!=0) + { + // 好评率=评价为满意的导办工单数量/已办结状态工单数量 + String goodReputationEfficiency=weekDf.format((float)(iGuideRepairOrderService.countStatisticsNum(null,ids,null,null,"1",null,null,null) + /(float)bj)); + entity.setGoodReputationEfficiency(goodReputationEfficiency); + + // 解决率=已解决状态的导办工单数量/已办结状态工单数量 + String resolveEfficiency=weekDf.format((float)(iGuideRepairOrderService.countStatisticsNum(null,ids,null,null,null,null,"1",null) + /(float)bj)); + entity.setResolveEfficiency(resolveEfficiency); + + if(allNum!=0) + { +// 办结率=待评价+已办结状态的导办工单数量/总工单数量 + String workEfficiency=weekDf.format((float)((iGuideRepairOrderService.countStatisticsNum("4",ids,null,null,null,null,null,null) + +bj)/(float)allNum)); + entity.setWorkEfficiency(workEfficiency); + } + } + + int cs=iGuideRepairOrderService.countStatisticsNum(null,ids,null,"2",null,null,null,null); + if(cs!=0) + { + // 超时办结率=超时状态下的待评价+已办结状态的导办工单数量/超时状态的导办工单数量 + String timeoutEfficiency=weekDf.format((float)((iGuideRepairOrderService.countStatisticsNum("4",ids,null,"2",null,null,null,null) + +iGuideRepairOrderService.countStatisticsNum("3",ids,null,"2",null,null,null,null)) + /(float)cs)); + entity.setTimeoutEfficiency(timeoutEfficiency); + + } + + if(allNum!=0) + { + // 回复率=最新进展里大于0条回复的导办工单数量/总工单数量 + //状态(1待分配 2 待办结 3 已办结 4 待评价 5 已取消 6未解决 7已解决 8 系统自动分配 9 回复 10转派 11手动分配) + + String num=(homeStatisticsService.reversionRate("9",null)); + if(!StringUtils.isEmpty(num)) + { + String reversionRate=weekDf.format(Float.valueOf(num)/(float)allNum); + entity.setReversionRate(reversionRate); + } + + + } + + return ResultData.success(entity); + } + + + @ApiOperation("部门数据 工单 办事指南饼状图数据") + @GetMapping("/department/getPieChart") + public ResultData<PieChartAll> getDepartmentPieChart(@RequestParam("ids") List<String> ids) + { + if(ids==null || ids.size()<1) + { + return ResultData.success(); + } + + PieChartAll pieChartAll=new PieChartAll(); + pieChartAll.setWorkOrderNum(iGuideRepairOrderService.countStatisticsNum("",ids,null,null,null,null,null,null)+""); + pieChartAll.setFingerpostNum(homeStatisticsService.countStatisticsNum(null,ids)+""); + 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,ids,null,null,null,clasIds,null,null); + fingerpostNum=homeStatisticsService.countStatisticsNum(clasIds,ids); + } + 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按工单量 3按办结量 4 按未办结量 5 按超时") + @GetMapping("/department/getGuidePlate") + public TableDataInfo<GuidePlate> getDepartmentGuidePlate(@RequestParam("type") String type,@RequestParam("ids") List<String> ids) + { + if(ids==null || ids.size()<1) + { + return getDataTable(new ArrayList<>()); + } + + int allNum=homeStatisticsService.staffNum(ids); + + if(StringUtils.equals("1",type)) + { + //安评价 + return getDataTable(homeStatisticsService.score(ids),allNum); + } + else if(StringUtils.equals("2",type)) + { + //2按工单量 + return getDataTable(homeStatisticsService.workunit(ids),allNum); + } + else if(StringUtils.equals("3",type)) + { + //3 按办结量 + return getDataTable(homeStatisticsService.guidePlatePeople(ids),allNum); + } + else if(StringUtils.equals("4",type)) + { + //4按未办结量 + return getDataTable(homeStatisticsService.tosettled(ids),allNum); + } + else + { + //5 按超时 + return getDataTable(homeStatisticsService.timeout(ids),allNum); + } + + } + + + @ApiOperation("部门数据办事指南排行榜 type 1 按浏览量 2 按办结量") + @GetMapping("/department/getGuidance") + public TableDataInfo<Guidance> getDepartmentGuidance(@RequestParam("type") String type,@RequestParam("ids") List<String> ids) + { + if(ids==null || ids.size()<1) + { + return getDataTable(new ArrayList<>()); + } + + int allNum=homeStatisticsService.countWork(ids); + if(StringUtils.equals("1",type)) + { + return getDataTable(homeStatisticsService.guidanceBrowse(ids),allNum); + } + else + { + return getDataTable(homeStatisticsService.guidanceTransaction(ids),allNum); + } + + } + + + + /*************************************************** 部门数据统计 end **********************************************************/ + + + /** + * 统计访问量 + * @return + */ + @ApiOperation("统计访问量") + @GetMapping("/countSmartConsulting") + public ResultData countSmartConsulting(){ + return ResultData.success(iAutomessageSmartConsultingService.countSmartConsulting()) ; + } + -- Gitblit v1.7.1