Browse Source

治理能力统计

dev_shibei_match
zhaoqifeng 5 years ago
parent
commit
1e0daa70fc
  1. 20
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/result/OrgStatisticsResultDTO.java
  2. 21
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectLogDailyDao.java
  3. 19
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectMainDailyDao.java
  4. 13
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectOrgPeriodDailyDao.java
  5. 10
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectProcessDao.java
  6. 20
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/FactOriginProjectLogDailyService.java
  7. 19
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/FactOriginProjectMainDailyService.java
  8. 11
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/impl/FactOriginProjectLogDailyServiceImpl.java
  9. 11
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/impl/FactOriginProjectMainDailyServiceImpl.java
  10. 2
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/impl/ProjectExtractServiceImpl.java
  11. 9
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/indexcoll/IndexCollCommunityService.java
  12. 36
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/indexcoll/impl/IndexCollCommunityServiceImpl.java
  13. 25
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectLogDailyDao.xml
  14. 49
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml
  15. 19
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectOrgPeriodDailyDao.xml
  16. 25
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectProcessDao.xml

20
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/result/OrgStatisticsResultDTO.java

@ -0,0 +1,20 @@
package com.epmet.dto.extract.result;
import lombok.Data;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/9/18 14:39
*/
@Data
public class OrgStatisticsResultDTO implements Serializable {
private static final long serialVersionUID = 9221060553279124719L;
private String customerId;
private String agencyId;
private Integer count;
private Integer sum;
private String ratio;
}

21
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectLogDailyDao.java

@ -18,6 +18,7 @@
package com.epmet.dao.evaluationindex.extract;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.extract.result.OrgStatisticsResultDTO;
import com.epmet.dto.extract.result.NotReturnProjectResultDTO;
import com.epmet.dto.extract.result.ProjectEvaluateResultDTO;
import com.epmet.entity.evaluationindex.extract.FactOriginProjectLogDailyEntity;
@ -34,6 +35,15 @@ import java.util.List;
*/
@Mapper
public interface FactOriginProjectLogDailyDao extends BaseDao<FactOriginProjectLogDailyEntity> {
/**
* 机关被吹哨次数
* @author zhaoqifeng
* @date 2020/9/18 14:46
* @param monthId
* @param level
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
*/
List<OrgStatisticsResultDTO> selectAgencyTransferCount(@Param("monthId") String monthId, @Param("level")String level);
/**
* @Description 查询未被退回的项目数
@ -52,4 +62,13 @@ public interface FactOriginProjectLogDailyDao extends BaseDao<FactOriginProjectL
* @date 2020/9/18 3:28 下午
*/
List<ProjectEvaluateResultDTO> selectProjectEvaluate(@Param("customerId") String customerId,@Param("monthId") String monthId);
}
/**
* 根据日期删除数据
* @author zhaoqifeng
* @date 2020/9/18 17:32
* @param date
* @return void
*/
void deleteByDate(@Param("date") String date);
}

19
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectMainDailyDao.java

@ -19,6 +19,7 @@ package com.epmet.dao.evaluationindex.extract;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.extract.FactOriginProjectMainDailyDTO;
import com.epmet.dto.extract.result.OrgStatisticsResultDTO;
import com.epmet.dto.extract.result.GridProjectClosedTotalResultDTO;
import com.epmet.entity.evaluationindex.extract.FactOriginProjectMainDailyEntity;
import org.apache.ibatis.annotations.Mapper;
@ -53,6 +54,15 @@ public interface FactOriginProjectMainDailyDao extends BaseDao<FactOriginProject
*/
List<FactOriginProjectMainDailyDTO> getPendingList(@Param("customerId") String customerId);
/**
* 项目超期数
* @author zhaoqifeng
* @date 2020/9/18 16:28
* @param monthId
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
*/
List<OrgStatisticsResultDTO> selectOverdueCount(@Param("monthId") String monthId);
/**
* @Description 网格办结项目数
* @param customerId
@ -62,4 +72,13 @@ public interface FactOriginProjectMainDailyDao extends BaseDao<FactOriginProject
* @date 2020/9/18 2:06 下午
*/
List<GridProjectClosedTotalResultDTO> selectGridClosedProject(@Param("customerId") String customerId,@Param("monthId") String monthId,@Param("status") String status);
/**
* 根据日期删除数据
* @author zhaoqifeng
* @date 2020/9/18 17:32
* @param date
* @return void
*/
void deleteByDate(@Param("date") String date);
}

13
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectOrgPeriodDailyDao.java

@ -49,6 +49,19 @@ public interface FactOriginProjectOrgPeriodDailyDao extends BaseDao<FactOriginPr
* @author wangc
* @date 2020.09.17 14:43
**/
void deleteByProjectId(@Param("projectId") String projectId);
/**
* 获取项目响应度
* @author zhaoqifeng
* @date 2020/9/18 15:52
* @param monthId
* @param level
* @param orgType
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
*/
List<OrgStatisticsResultDTO> selectResponsiveness(@Param("monthId") String monthId, @Param("level")String level,
@Param("orgType")String orgType);
void deleteByProjectId(@Param("list") List<String> list);
/**

10
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectProcessDao.java

@ -102,4 +102,14 @@ public interface ProjectProcessDao extends BaseDao<ProjectProcessEntity> {
* @date 2020.09.17 17:56
**/
List<ProjectOrgRelationWhenResponseResultDTO> selectResponseTrace(@Param("projects") List<String> projects);
/**
* 获取办结组织
* @author zhaoqifeng
* @date 2020/9/18 18:01
* @param customerId
* @param date
* @return java.util.List<com.epmet.entity.project.ProjectProcessEntity>
*/
List<ProjectProcessEntity> selectFinishOrg(@Param("customerId") String customerId, @Param("date") String date);
}

20
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/FactOriginProjectLogDailyService.java

@ -20,6 +20,7 @@ package com.epmet.service.evaluationindex.extract;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.extract.FactOriginProjectLogDailyDTO;
import com.epmet.dto.extract.result.OrgStatisticsResultDTO;
import com.epmet.dto.extract.result.NotReturnProjectResultDTO;
import com.epmet.dto.extract.result.ProjectEvaluateResultDTO;
import com.epmet.entity.evaluationindex.extract.FactOriginProjectLogDailyEntity;
@ -95,6 +96,16 @@ public interface FactOriginProjectLogDailyService extends BaseService<FactOrigin
*/
void delete(String[] ids);
/**
* 机关被吹哨次数
* @author zhaoqifeng
* @date 2020/9/18 14:53
* @param monthId
* @param level
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
*/
List<OrgStatisticsResultDTO> getAgencyTransferCount(String monthId, String level);
/**
* @Description 查询未被退回的项目数
* @param customerId
@ -112,4 +123,13 @@ public interface FactOriginProjectLogDailyService extends BaseService<FactOrigin
* @date 2020/9/18 3:28 下午
*/
List<ProjectEvaluateResultDTO> selectProjectEvaluate(String customerId,String monthId);
/**
* 根据日期删除数据
* @author zhaoqifeng
* @date 2020/9/18 17:30
* @param date
* @return void
*/
void deleteByDate(String date);
}

19
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/FactOriginProjectMainDailyService.java

@ -20,6 +20,7 @@ package com.epmet.service.evaluationindex.extract;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.extract.FactOriginProjectMainDailyDTO;
import com.epmet.dto.extract.result.OrgStatisticsResultDTO;
import com.epmet.dto.extract.result.GridProjectClosedTotalResultDTO;
import com.epmet.entity.evaluationindex.extract.FactOriginProjectMainDailyEntity;
@ -121,4 +122,22 @@ public interface FactOriginProjectMainDailyService extends BaseService<FactOrigi
* @date 2020/9/18 2:06 下午
*/
List<GridProjectClosedTotalResultDTO> selectGridClosedProject(String customerId,String monthId,String status);
/**
* 项目超期数
* @author zhaoqifeng
* @date 2020/9/18 16:29
* @param monthId
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
*/
List<OrgStatisticsResultDTO> getOverdueCount(String monthId);
/**
* 根据日期删除数据
* @author zhaoqifeng
* @date 2020/9/18 17:30
* @param date
* @return void
*/
void deleteByDate(String date);
}

11
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/impl/FactOriginProjectLogDailyServiceImpl.java

@ -25,6 +25,7 @@ import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.dao.evaluationindex.extract.FactOriginProjectLogDailyDao;
import com.epmet.dto.extract.FactOriginProjectLogDailyDTO;
import com.epmet.dto.extract.result.OrgStatisticsResultDTO;
import com.epmet.dto.extract.result.NotReturnProjectResultDTO;
import com.epmet.dto.extract.result.ProjectEvaluateResultDTO;
import com.epmet.entity.evaluationindex.extract.FactOriginProjectLogDailyEntity;
@ -99,6 +100,11 @@ public class FactOriginProjectLogDailyServiceImpl extends BaseServiceImpl<FactOr
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Override
public List<OrgStatisticsResultDTO> getAgencyTransferCount(String monthId, String level) {
return baseDao.selectAgencyTransferCount(monthId, level);
}
/**
* @Description 查询未被退回的项目数
* @param customerId
@ -123,4 +129,9 @@ public class FactOriginProjectLogDailyServiceImpl extends BaseServiceImpl<FactOr
return baseDao.selectProjectEvaluate(customerId, monthId);
}
@Override
public void deleteByDate(String date) {
baseDao.deleteByDate(date);
}
}

11
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/impl/FactOriginProjectMainDailyServiceImpl.java

@ -25,6 +25,7 @@ import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.dao.evaluationindex.extract.FactOriginProjectMainDailyDao;
import com.epmet.dto.extract.FactOriginProjectMainDailyDTO;
import com.epmet.dto.extract.result.OrgStatisticsResultDTO;
import com.epmet.dto.extract.result.GridProjectClosedTotalResultDTO;
import com.epmet.entity.evaluationindex.extract.FactOriginProjectMainDailyEntity;
import com.epmet.service.evaluationindex.extract.FactOriginProjectMainDailyService;
@ -107,6 +108,11 @@ public class FactOriginProjectMainDailyServiceImpl extends BaseServiceImpl<FactO
return baseDao.getPendingList(customerId);
}
@Override
public List<OrgStatisticsResultDTO> getOverdueCount(String monthId) {
return baseDao.selectOverdueCount(monthId);
}
/**
* @Description 网格办结项目数
* @param customerId
@ -120,4 +126,9 @@ public class FactOriginProjectMainDailyServiceImpl extends BaseServiceImpl<FactO
return baseDao.selectGridClosedProject(customerId, monthId,status);
}
@Override
public void deleteByDate(String date) {
baseDao.deleteByDate(date);
}
}

2
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/impl/ProjectExtractServiceImpl.java

@ -143,6 +143,7 @@ public class ProjectExtractServiceImpl implements ProjectExtractService {
}));
//插入数据
if (!list.isEmpty()) {
factOriginProjectMainDailyService.deleteByDate(dateString);
factOriginProjectMainDailyService.insertBatch(list);
}
}
@ -221,6 +222,7 @@ public class ProjectExtractServiceImpl implements ProjectExtractService {
}).collect(Collectors.toList()));
if (!logList.isEmpty()) {
factOriginProjectLogDailyService.deleteByDate(dateString);
factOriginProjectLogDailyService.insertBatch(logList);
}
}

9
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/indexcoll/IndexCollCommunityService.java

@ -7,4 +7,13 @@ package com.epmet.service.evaluationindex.indexcoll;
* @date 2020/9/18 10:33
*/
public interface IndexCollCommunityService {
/**
* 社区治理能力统计
*
* @author zhaoqifeng
* @date 2020/9/18 13:52
* @param
* @return void
*/
void saveCommunityAbility();
}

36
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/indexcoll/impl/IndexCollCommunityServiceImpl.java

@ -1,11 +1,22 @@
package com.epmet.service.evaluationindex.indexcoll.impl;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.constant.DataSourceConstant;
import com.epmet.dao.evaluationindex.extract.FactOriginProjectOrgPeriodDailyDao;
import com.epmet.dao.evaluationindex.indexcoll.FactIndexGovrnAblityOrgMonthlyDao;
import com.epmet.dto.extract.result.OrgStatisticsResultDTO;
import com.epmet.service.evaluationindex.extract.FactOriginProjectLogDailyService;
import com.epmet.service.evaluationindex.extract.FactOriginProjectMainDailyService;
import com.epmet.service.evaluationindex.indexcoll.IndexCollCommunityService;
import com.epmet.util.DimIdGenerator;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription
@ -15,4 +26,29 @@ import org.springframework.stereotype.Service;
@Slf4j
@DataSource(DataSourceConstant.EVALUATION_INDEX)
public class IndexCollCommunityServiceImpl implements IndexCollCommunityService {
@Autowired
private FactIndexGovrnAblityOrgMonthlyDao factIndexGovrnAblityOrgMonthlyDao;
@Autowired
private FactOriginProjectLogDailyService factOriginProjectLogDailyService;
@Autowired
private FactOriginProjectOrgPeriodDailyDao factOriginProjectOrgPeriodDailyDao;
@Autowired
private FactOriginProjectMainDailyService factOriginProjectMainDailyService;
@Override
public void saveCommunityAbility() {
//当前日期前一天
Date date = DateUtils.getBeforeDay(new Date());
//获取日期相关维度
DimIdGenerator.DimIdBean dimId = DimIdGenerator.getDimIdBean(date);
//被吹哨次数统计
List<OrgStatisticsResultDTO> transferCount = factOriginProjectLogDailyService.getAgencyTransferCount(dimId.getMonthId(), "community");
//社区项目响应度
List<OrgStatisticsResultDTO> responsiveness = factOriginProjectOrgPeriodDailyDao.selectResponsiveness(dimId.getMonthId(), "community",
"agency");
//社区超期项目率
List<OrgStatisticsResultDTO> overdueCount = factOriginProjectMainDailyService.getOverdueCount(dimId.getMonthId());
//社区办结项目满意度
}
}

25
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectLogDailyDao.xml

@ -2,7 +2,32 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.evaluationindex.extract.FactOriginProjectLogDailyDao">
<delete id="deleteByDate">
DELETE FROM
fact_origin_project_log_daily
<if test='null != date and "" != date'>
WHERE
DATE_ID = #{date}
</if>
</delete>
<select id="selectAgencyTransferCount" resultType="com.epmet.dto.extract.result.OrgStatisticsResultDTO">
SELECT
fopld.CUSTOMER_ID,
fopld.AGENCY_ID,
COUNT( fopld.ID ) AS "count"
FROM
fact_origin_project_log_daily fopld
INNER JOIN dim_agency da ON fopld.AGENCY_ID = da.ID
AND da.`LEVEL` = #{level}
WHERE
fopld.IS_ACTIVE = 0
AND fopld.ACTION_CODE = 'transfer'
AND fopld.MONTH_ID = #{monthId}
GROUP BY
fopld.CUSTOMER_ID,
fopld.AGENCY_ID
</select>
<!-- 查询未被退回的项目数 -->
<select id="selectNotReturnProject" resultType="com.epmet.dto.extract.result.NotReturnProjectResultDTO">
SELECT

49
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml

@ -44,6 +44,46 @@
WHERE CUSTOMER_ID = #{customerId}
AND PROJECT_STATUS = 'pending'
</select>
<select id="selectOverdueCount" resultType="com.epmet.dto.extract.result.OrgStatisticsResultDTO">
SELECT
a.CUSTOMER_ID,
a.AGENCY_ID,
a.`count` AS "sum",
IFNULL( b.`count`, 0 ) AS "count"
FROM
(
SELECT
f.CUSTOMER_ID,
f.AGENCY_ID,
COUNT( f.ID ) AS "count"
FROM
fact_origin_project_main_daily f
INNER JOIN dim_agency da ON f.AGENCY_ID = da.ID
AND da.`LEVEL` = 'community'
WHERE
f.IS_OVERDUE = 0
AND f.MONTH_ID = #{monthId}
GROUP BY
f.CUSTOMER_ID,
f.AGENCY_ID
) a
LEFT JOIN (
SELECT
f.CUSTOMER_ID,
f.AGENCY_ID,
COUNT( f.ID ) AS "count"
FROM
fact_origin_project_main_daily f
INNER JOIN dim_agency da ON f.AGENCY_ID = da.ID
AND da.`LEVEL` = 'community'
WHERE
f.IS_OVERDUE = 1
AND f.MONTH_ID = #{monthId}
GROUP BY
f.CUSTOMER_ID,
f.AGENCY_ID
) b ON a.AGENCY_ID = b.AGENCY_ID
</select>
<!-- 网格办结项目数 -->
<select id="selectGridClosedProject" resultType="com.epmet.dto.extract.result.GridProjectClosedTotalResultDTO">
@ -59,6 +99,13 @@
AND MONTH_ID = #{monthId}
GROUP BY GRID_ID
</select>
<delete id="deleteByDate">
DELETE FROM
fact_origin_project_main_daily
<if test='null != date and "" != date'>
WHERE
DATE_ID = #{date}
</if>
</delete>
</mapper>

19
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectOrgPeriodDailyDao.xml

@ -44,6 +44,25 @@
</foreach>
</delete>
<select id="selectResponsiveness" resultType="com.epmet.dto.extract.result.OrgStatisticsResultDTO">
SELECT
f.CUSTOMER_ID,
f.ORG_ID AS "agencyId",
SUM( PERIOD_TILL_REPLY_FIRSTLY ) AS "sum",
COUNT( f.ID ) AS "count"
FROM
fact_origin_project_org_period_daily f
INNER JOIN dim_agency da ON f.ORG_ID = da.ID
AND da.`LEVEL` = #{level}
WHERE
f.ORG_TYPE = #{orgType}
AND DATE_FORMAT(INFORMED_DATE, '%Y%m') = #{monthId}
AND PERIOD_TILL_REPLY_FIRSTLY != 0
GROUP BY
f.CUSTOMER_ID,
f.ORG_ID
</select>
<!-- 批量插入 -->
<insert id="insertBatch" parameterType="java.util.List">
insert into fact_origin_project_org_period_daily

25
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectProcessDao.xml

@ -141,4 +141,29 @@
)
ORDER BY process.STAFF_ID , process.CREATED_TIME ASC
</select>
<select id="selectFinishOrg" resultType="com.epmet.entity.project.ProjectProcessEntity">
SELECT
a.PROJECT_ID,
a.ORG_ID_PATH,
b.ORG_ID_PATH
FROM
(
SELECT
ps.PROJECT_ID,
ps.ORG_ID_PATH
FROM
project_process pp
INNER JOIN project_staff ps ON pp.STAFF_ID = ps.STAFF_ID
AND pp.DEPARTMENT_NAME = ps.DEPARTMENT_NAME
AND pp.PROJECT_ID = ps.PROJECT_ID
AND ps.IS_HANDLE = 'handle'
AND pp.CREATED_TIME = ps.UPDATED_TIME
WHERE
pp.OPERATION = 'close'
) a
LEFT JOIN (
SELECT PROJECT_ID, ORG_ID_PATH, MIN( LENGTH( ORG_ID_PATH ))
FROM project_staff GROUP BY PROJECT_ID
) b ON a.PROJECT_ID = b.PROJECT_ID
</select>
</mapper>
Loading…
Cancel
Save