From 0067d58468227069251c3f23c20ed7196137166a Mon Sep 17 00:00:00 2001
From: lidongdong <1459917685@qq.com>
Date: 星期二, 15 十一月 2022 14:02:02 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/huacheng_test' into huacheng_test
---
flower_city/src/main/java/com/dg/core/controller/HomeStatisticsController.java | 282 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 272 insertions(+), 10 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 90b22a7..74a49e9 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
@@ -182,7 +182,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");
@@ -206,7 +206,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+"");
@@ -250,7 +250,7 @@
if(allNum>0 && score>0)
{
- java.text.DecimalFormat weekDf=new java.text.DecimalFormat("##.##");//传入格式模板
+ java.text.DecimalFormat weekDf=new java.text.DecimalFormat("##.#");//传入格式模板
String workEfficiency=weekDf.format((float)score/(float)allNum);
bean.setNum(workEfficiency);
}
@@ -295,22 +295,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);
}
}
@@ -319,14 +319,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);
}
}
@@ -393,8 +393,270 @@
+ /*************************************************** 部门数据统计 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,null,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.guidePlatePeople(ids),allNum);
+ }
+ else if(StringUtils.equals("3",type))
+ {
+ //3 按超时
+ return getDataTable(homeStatisticsService.timeout(ids),allNum);
+ }
+ else if(StringUtils.equals("4",type))
+ {
+ //按工单量
+ return getDataTable(homeStatisticsService.workunit(ids),allNum);
+ }
+ else
+ {
+ //按未办结量
+ return getDataTable(homeStatisticsService.tosettled(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 **********************************************************/
+
--
Gitblit v1.7.1