|
|
@ -570,6 +570,16 @@ public class LingShanAgentServiceServiceImpl implements LingShanAgentServiceServ |
|
|
|
@Override |
|
|
|
public List<AgentServiceTrendAnalysisRstDTO> serviceTrendAnalysis(String orgType, String orgId) { |
|
|
|
|
|
|
|
String orgIdPath; |
|
|
|
|
|
|
|
if (OrgInfoConstant.AGENCY.equals(orgType)) { |
|
|
|
AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(orgId); |
|
|
|
orgIdPath = PidUtils.convertPid2OrgIdPath(agencyInfo.getId(), agencyInfo.getPids()); |
|
|
|
} else { |
|
|
|
GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(orgId); |
|
|
|
orgIdPath = PidUtils.convertPid2OrgIdPath(gridInfo.getId(), gridInfo.getPids()); |
|
|
|
} |
|
|
|
|
|
|
|
// 计算得到时间列表
|
|
|
|
Map<String, Date[]> dateCatelogue = generateTimeCatelogue(); |
|
|
|
|
|
|
@ -582,18 +592,21 @@ public class LingShanAgentServiceServiceImpl implements LingShanAgentServiceServ |
|
|
|
// 1.受理数
|
|
|
|
// 受理数,使用processTime计算,processTime可用于表示受理时间和驳回时间。要查询受理数,要查询状态为已受理和已结案两种状态,使用processTime+processStatus结合查询
|
|
|
|
LambdaQueryWrapper<LingshanAgentServiceRecordEntity> rq = new LambdaQueryWrapper<>(); |
|
|
|
rq.likeRight(LingshanAgentServiceRecordEntity::getOrgIdPath, orgIdPath); |
|
|
|
rq.ge(LingshanAgentServiceRecordEntity::getProcessTime, timeStart); |
|
|
|
rq.le(LingshanAgentServiceRecordEntity::getProcessTime, timeEnd); |
|
|
|
rq.in(LingshanAgentServiceRecordEntity::getProcessStatus, |
|
|
|
LingShanAgentServiceProcessStatusEnum.ACCEPTED.getStatusCode(), LingShanAgentServiceProcessStatusEnum.CLOSED.getStatusCode()); |
|
|
|
Integer acceptCount = agentServiceRecordDao.selectCount(rq); |
|
|
|
|
|
|
|
// 2.办结率 todo
|
|
|
|
// 2.办结率
|
|
|
|
// 本月办结的服务/本月提交的服务
|
|
|
|
Double closedRatio = agentServiceRecordDao.calculateClosedRatio(timeStart, timeEnd, orgIdPath); |
|
|
|
|
|
|
|
// 3.组合数据
|
|
|
|
ArrayList<AgentServiceTrendAnalysisRstDTO.DataObj> dataList = new ArrayList<>(); |
|
|
|
dataList.add(new AgentServiceTrendAnalysisRstDTO.DataObj("受理数", acceptCount)); |
|
|
|
dataList.add(new AgentServiceTrendAnalysisRstDTO.DataObj("办结率", 0)); |
|
|
|
dataList.add(new AgentServiceTrendAnalysisRstDTO.DataObj<>("受理数", acceptCount)); |
|
|
|
dataList.add(new AgentServiceTrendAnalysisRstDTO.DataObj<>("办结率", closedRatio)); |
|
|
|
AgentServiceTrendAnalysisRstDTO rd = new AgentServiceTrendAnalysisRstDTO(monthName, dataList); |
|
|
|
return rd; |
|
|
|
}).collect(Collectors.toList()); |
|
|
@ -607,7 +620,7 @@ public class LingShanAgentServiceServiceImpl implements LingShanAgentServiceServ |
|
|
|
* @Date: 2023/5/16 1:53 PM |
|
|
|
*/ |
|
|
|
public Map<String, Date[]> generateTimeCatelogue() { |
|
|
|
Date startDate = DateUtils.addDateMonths(new Date(), -11); |
|
|
|
Date startDate = DateUtils.addDateMonths(new Date(), -12); |
|
|
|
HashMap<String, Date[]> rm = new LinkedHashMap<>(); |
|
|
|
|
|
|
|
for (int c = 1; c <= 12; c++) { |
|
|
|