Browse Source

Merge branch 'lingshan_master' of http://git.elinkit.com.cn:7070/r/epmet-cloud

master
wxz 2 years ago
parent
commit
cb3f6cadcc
  1. 8
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/agentservice/AgentServiceTrendAnalysisRstDTO.java
  2. 13
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/LingshanAgentServiceRecordDao.java
  3. 21
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/LingShanAgentServiceServiceImpl.java
  4. 11
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/LingshanAgentServiceRecordDao.xml

8
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/agentservice/AgentServiceTrendAnalysisRstDTO.java

@ -34,14 +34,14 @@ public class AgentServiceTrendAnalysisRstDTO {
//
private List<DataObj> data;
public static class DataObj {
public static class DataObj<T> {
private String name;
private Integer value;
private T value;
public DataObj() {
}
public DataObj(String name, Integer value) {
public DataObj(String name, T value) {
this.name = name;
this.value = value;
}
@ -50,7 +50,7 @@ public class AgentServiceTrendAnalysisRstDTO {
return name;
}
public Integer getValue() {
public T getValue() {
return value;
}
}

13
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/LingshanAgentServiceRecordDao.java

@ -6,6 +6,7 @@ import com.epmet.entity.LingshanAgentServiceRecordEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List;
import java.util.Set;
@ -26,4 +27,16 @@ public interface LingshanAgentServiceRecordDao extends BaseDao<LingshanAgentServ
* @Date: 2023/5/15 3:22 PM
*/
List<LingShanScreenAgentRstDTO> screenAgentListAndServiceQty(@Param("agentIds") Set<String> agentIds);
/**
* @Description: 办结率
* @param timeStart:
* @param timeEnd:
* @Return java.lang.Double
* @Author: wangxianzhang
* @Date: 2023/5/16 8:17 PM
*/
Double calculateClosedRatio(@Param("timeStart") Date timeStart,
@Param("timeEnd") Date timeEnd,
@Param("orgIdPath") String orgIdPath);
}

21
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/LingShanAgentServiceServiceImpl.java

@ -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++) {

11
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/LingshanAgentServiceRecordDao.xml

@ -58,5 +58,16 @@
group by r.AGENT_ID, r.GRID_ID
</select>
<!--办结率-->
<select id="calculateClosedRatio"
resultType="java.lang.Double">
select ifnull(count(PROCESS_STATUS = 3 or null) / count(PROCESS_STATUS != -1 or null), 0) closed_ratio
from lingshan_agent_service_record
where CREATED_TIME >= #{timeStart}
and CREATED_TIME &lt;= #{timeEnd}
and DEL_FLAG = 0
and ORG_ID_PATH like CONCAT(#{orgIdPath}, '%')
</select>
</mapper>
Loading…
Cancel
Save