From 7ba5730956fab5327b95110a8a70ff5ee025e35d Mon Sep 17 00:00:00 2001
From: fengjin <1435304038@qq.com>
Date: 星期一, 24 十月 2022 16:03:08 +0800
Subject: [PATCH] 放开短信测试
---
flower_city/src/main/java/com/dg/core/controller/HomeStatisticsController.java | 316 ++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 277 insertions(+), 39 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..57ce7f3 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,9 @@
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.db.manual.pojo.AppletUserCount;
+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 +14,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,48 +29,69 @@
@Autowired
IGuideEvolveService iGuideEvolveService;
+
+ @Autowired
+ HomeStatisticsService homeStatisticsService;
+
+
+ @Autowired
+ com.dg.core.service.ISysUserService IUserService;
+
+
+ @Autowired
+ IOrganizationChartService iOrganizationChartService;
+
+
+ @Autowired
+ IAreaCodeService iAreaCodeService;
+
+ @Autowired
+ private ISysUserRecordService iSysUserRecordService;
+
+
@ApiOperation("首页统计不同状态工单数")
@GetMapping("/getWorkOrder")
- public ResultData getWorkOrder()
+ public ResultData<WorkOrder> 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));
+ //状态(1待分配 2 待办结 3 已办结 4 待评价 5 已取消)
+ workOrder.setAllNum(iGuideRepairOrderService.countStatisticsNum("",null,null,null,null,null,null,null));
+ workOrder.setWaitDistribution(iGuideRepairOrderService.countStatisticsNum("1",null,null,null,null,null,null,null));
+ workOrder.setWaitDealWith(iGuideRepairOrderService.countStatisticsNum("2",null,null,null,null,null,null,null));
+ workOrder.setHaveDealWith(iGuideRepairOrderService.countStatisticsNum("3",null,null,null,null,null,null,null));
+ workOrder.setRemainEvaluated(iGuideRepairOrderService.countStatisticsNum("4",null,null,null,null,null,null,null));
+ workOrder.setCanceled(iGuideRepairOrderService.countStatisticsNum("5",null,null,null,null,null,null,null));
+ // //服务状态(1.已解决 2.未解决)
+ workOrder.setUnsolved(iGuideRepairOrderService.countStatisticsNum(null,null,null,null,null,null,"2",null));
+ workOrder.setResolved(iGuideRepairOrderService.countStatisticsNum(null,null,null,null,null,null,"1",null));
//是否超时 (1 未超时 2已超时) 超时未办结
- workOrder.setOvertime(iGuideRepairOrderService.countStatisticsNum(null,null,null,"2",null));
+ workOrder.setOvertime(iGuideRepairOrderService.countStatisticsNum(null,null,null,"2",null,null,null,null));
// 超时未办结
- workOrder.setOvertimeWaitDealWith(iGuideRepairOrderService.countStatisticsNum("2",null,null,"2",null));
+ workOrder.setOvertimeWaitDealWith(iGuideRepairOrderService.countStatisticsNum("2",null,null,"2",null,null,null,null));
return ResultData.success(workOrder);
}
@ApiOperation("首页统计不同时间段的工单数量")
@GetMapping("/getTimeWorkOrder")
- public ResultData getTimeWorkOrder()
+ public ResultData<TimeWorkOrder> getTimeWorkOrder()
{
//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,null,null));
+ timeWorkOrder.setYearNum(iGuideRepairOrderService.countStatisticsNum(null,null,"4",null,null,null,null,null));
+ timeWorkOrder.setMonthNum(iGuideRepairOrderService.countStatisticsNum(null,null,"3",null,null,null,null,null));
+ timeWorkOrder.setTodayNum(iGuideRepairOrderService.countStatisticsNum(null,null,"1",null,null,null,null,null));
+ timeWorkOrder.setYesterdayNum(iGuideRepairOrderService.countStatisticsNum(null,null,"2",null,null,null,null,null));
return ResultData.success(timeWorkOrder);
}
@ApiOperation("根据选择的时间段 筛选导办工单数 timeType:1 本年度 15 近15天的 30 近30天的")
@GetMapping("/getSelectionTimeOrder")
- public ResultData getSelectionTimeOrder(@RequestParam("timeType") Integer timeType)
+ public ResultData<CountList> getSelectionTimeOrder(@RequestParam("timeType") Integer timeType)
{
if(timeType<1)
{
@@ -96,58 +117,275 @@
@ApiOperation("获取效率比值")
@GetMapping("/getEfficiency")
- public ResultData getEfficiency()
+ public ResultData<EfficiencyEntity> getEfficiency()
{
EfficiencyEntity entity=new EfficiencyEntity();
//总工单数
- int allNum=iGuideRepairOrderService.countStatisticsNum("",null,null,null,null);
+ int allNum=iGuideRepairOrderService.countStatisticsNum("",null,null,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,null,null);
if(bj!=0)
{
// 好评率=评价为满意的导办工单数量/已办结状态工单数量
- String goodReputationEfficiency=weekDf.format((float)(iGuideRepairOrderService.countStatisticsNum(null,null,null,null,"1")
- /bj));
+ String goodReputationEfficiency=weekDf.format((float)(iGuideRepairOrderService.countStatisticsNum(null,null,null,null,"1",null,null,null)
+ /(float)bj));
entity.setGoodReputationEfficiency(goodReputationEfficiency);
// 解决率=已解决状态的导办工单数量/已办结状态工单数量
- String resolveEfficiency=weekDf.format((float)(iGuideRepairOrderService.countStatisticsNum("7",null,null,null,null)
- /bj));
+ String resolveEfficiency=weekDf.format((float)(iGuideRepairOrderService.countStatisticsNum(null,null,null,null,null,null,"1",null)
+ /(float)bj));
entity.setResolveEfficiency(resolveEfficiency);
if(allNum!=0)
{
// 办结率=待评价+已办结状态的导办工单数量/总工单数量
- String workEfficiency=weekDf.format((float)((iGuideRepairOrderService.countStatisticsNum("4",null,null,null,null)
- +bj)/allNum));
+ String workEfficiency=weekDf.format((float)((iGuideRepairOrderService.countStatisticsNum("4",null,null,null,null,null,null,null)
+ +bj)/(float)allNum));
entity.setWorkEfficiency(workEfficiency);
}
}
- int cs=iGuideRepairOrderService.countStatisticsNum(null,null,null,"2",null);
+ int cs=iGuideRepairOrderService.countStatisticsNum(null,null,null,"2",null,null,null,null);
if(cs!=0)
{
// 超时办结率=超时状态下的待评价+已办结状态的导办工单数量/超时状态的导办工单数量
- String timeoutEfficiency=weekDf.format((float)((iGuideRepairOrderService.countStatisticsNum("4",null,null,"2",null)
- +iGuideRepairOrderService.countStatisticsNum("3",null,null,null,null))
- /cs));
+ 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))
+ /(float)cs));
entity.setTimeoutEfficiency(timeoutEfficiency);
}
if(allNum!=0)
{
- // 回复率=最新进展里0条回复的导办工单数量/总工单数量
+ // 回复率=最新进展里大于0条回复的导办工单数量/总工单数量
//状态(1待分配 2 待办结 3 已办结 4 待评价 5 已取消 6未解决 7已解决 8 系统自动分配 9 回复 10转派 11手动分配)
- String reversionRate=weekDf.format((float)(iGuideEvolveService.countStatisticsNum("9",null)/allNum));
+ String reversionRate=weekDf.format((float)(homeStatisticsService.reversionRate("9",null)/(float)allNum));
entity.setReversionRate(reversionRate);
}
return ResultData.success(entity);
}
+ @ApiOperation("工单 办事指南饼状图数据")
+ @GetMapping("/getPieChart")
+ public ResultData<PieChartAll> getPieChart()
+ {
+ PieChartAll pieChartAll=new PieChartAll();
+ pieChartAll.setWorkOrderNum(iGuideRepairOrderService.countStatisticsNum("",null,null,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,null,null);
+ 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<OrganizationEntity> 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<GuidePlate> 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<Guidance> 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<RangeStatistics> 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=homeStatisticsService.rangeStatistics(ids);
+ }
+ range.setNum(num+"");
+ rangeStatistics.add(range);
+ }
+
+
+ return getDataTable(rangeStatistics);
+ }
+
+
+ /**
+ * 小程序用户访问量统计1.累计访问量2.本年访问量 3.本月访问量 4.今日访问量 5.昨日访问
+ * @return
+ */
+ @ApiOperation(value = "小程序用户访问量统计1.累计访问量2.本年访问量 3.本月访问量 4.今日访问量 5.昨日访问",response = AppletUserCount.class)
+ @GetMapping("/selectUserRecordCount")
+ public ResultData selectUserRecordCount(){
+ return iSysUserRecordService.selectUserRecordCount();
+ }
+
+ /**
+ * 小程序用户访问量统计1.近15天 2.近30天 3.近一年
+ * @return
+ */
+ @ApiOperation(value = "小程序用户访问量统计1.近15天 2.近30天 3.近一年",response = AppletUserCount.class)
+ @GetMapping("/selectByDateType")
+ public ResultData selectByDateType(@RequestParam("dateType") Integer dateType){
+ return iSysUserRecordService.selectByDateType(dateType);
+ }
+
+
+
+
--
Gitblit v1.7.1