Browse Source

Merge remote-tracking branch 'origin/dev_data_fusion' into dev_data_fusion

master
sunyuchao 4 years ago
parent
commit
0ac0abcad3
  1. 14
      epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenProjectDataDao.xml
  2. 3
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/AgencyProjectFormDTO.java
  3. 181
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactAgencyGovernDailyDTO.java
  4. 193
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactGridGovernDailyDTO.java
  5. 28
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/AgencyGovernDailyFormDTO.java
  6. 28
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/GridGovernDailyFormDTO.java
  7. 29
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenGovernRankDataDailyDTO.java
  8. 29
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/GovernRankDataDailyFormDTO.java
  9. 13
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/BaseReportConstant.java
  10. 74
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/GovernanceDataReportController.java
  11. 37
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/BaseReportDao.java
  12. 31
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenGovernRankDataDailyEntity.java
  13. 48
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/GovernanceDataReportService.java
  14. 22
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactAgencyGovernDailyService.java
  15. 21
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactGridGovernDailyService.java
  16. 33
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactAgencyGovernDailyServiceImpl.java
  17. 38
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactGridGovernDailyServiceImpl.java
  18. 19
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenGovernRankDataDailyService.java
  19. 33
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenGovernRankDataDailyServiceImpl.java
  20. 37
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/BaseReportServiceImpl.java
  21. 112
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/GovernanceDataReportServiceImpl.java
  22. 151
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/BaseReportDao.xml

14
epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenProjectDataDao.xml

@ -60,14 +60,14 @@
<select id="projectDistributionDetail" resultType="com.epmet.evaluationindex.screen.dto.result.ScreenProjectDetailResultDTO">
SELECT
project_id as projectId,
PROJECT_TITLE as projectTitle,
project_content AS projectContent,
IFNULL(PROJECT_TITLE,'') as projectTitle,
IFNULL(project_content,'') AS projectContent,
project_create_time as reportTime,
ALL_CATEGORY_NAME as categoryName,
LINK_USER_ID as reportUserId,
LINK_NAME as reportUserName,
link_mobile as mobile,
project_address as reportAddress,
IFNULL(ALL_CATEGORY_NAME,'') as categoryName,
IFNULL(LINK_USER_ID,'') as reportUserId,
IFNULL(LINK_NAME,'') as reportUserName,
IFNULL(link_mobile,'') as mobile,
IFNULL(project_address,'') as reportAddress,
CUSTOMER_ID as customerId,
PROJECT_STATUS_CODE as projectStatusCode
FROM

3
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/AgencyProjectFormDTO.java

@ -24,8 +24,7 @@ public class AgencyProjectFormDTO implements Serializable {
private List<DataList> dataList;
@Data
public class DataList implements Serializable {
private static final long serialVersionUID = 1L;
public static class DataList{
/**
* 客户Id dim_customer.id

181
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactAgencyGovernDailyDTO.java

@ -0,0 +1,181 @@
package com.epmet.dto.extract;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* @author zhaoqifeng
* @dscription
* @date 2021/6/24 15:32
*/
@Data
public class FactAgencyGovernDailyDTO implements Serializable {
private static final long serialVersionUID = 4776545209536007717L;
private String id;
/**
* 客户id
*/
private String customerId;
/**
* 数据更新至yyyyMMdd;
*/
private String dateId;
/**
* 组织id
*/
private String agencyId;
/**
* agency_id所属的机关级别社区级community
街道:street,
区县级: district,
市级: city
省级:province
*/
private String level;
/**
* 组织i所属的组织id
*/
private String pid;
/**
* 组织i所有上级id
*/
private String pids;
/**
* 界面展示问题解决总数=1+2+3+4+5+6+7+8
*/
private Integer problemResolvedCount;
/**
* 界面展示党群自治占比=9+10/PROBLEM_RESOLVED_COUNT; 此列存储的是小数
*/
private BigDecimal groupSelfGovernRatio;
/**
* 界面展示网格自治占比=GRID_SELF_GOVERN_PROJECT_TOTAL/PROBLEM_RESOLVED_COUNT此列存储的是小数
*/
private BigDecimal gridSelfGovernRatio;
/**
* 界面展示社区解决占比=COMMUNITY_CLOSED_COUNT/PROBLEM_RESOLVED_COUNT此列存储的是小数
*/
private BigDecimal communityClosedRatio;
/**
* 界面展示街道解决占比=STREET_CLOSED_COUNT/PROBLEM_RESOLVED_COUNT此列存储的是小数
*/
private BigDecimal streetClosedRatio;
/**
* 界面展示区直部门解决占比=DISTRICT_DEPT_CLOSED_COUNT/PROBLEM_RESOLVED_COUNT此列存储的是小数
*/
private BigDecimal districtDeptClosedRatio;
/**
* 1当前组织内话题关闭已解决数
*/
private Integer topicResolvedCount;
/**
* 2当前组织内话题关闭无需解决数
*/
private Integer topicUnResolvedCount;
/**
* 3当前组织内议题关闭已解决数
*/
private Integer issueResolvedCount;
/**
* 4当前组织内议题关闭无需解决数
*/
private Integer issueUnResolvedCount;
/**
* 5当前组织内来源于议题的项目结案已解决数
*/
private Integer issueProjectResolvedCount;
/**
* 6当前组织内来源于议题的项目结案无需解决数
*/
private Integer issueProjectUnResolvedCount;
/**
* 7当前组织内项目立项结案已解决数默认为0
*/
private Integer approvalProjectResolvedCount;
/**
* 8当前组织内项目立项结案无需解决数默认为0
*/
private Integer approvalProjectUnResolvedCount;
/**
* 9当前组织内未出小组即未转议题的话题关闭已解决数
*/
private Integer inGroupTopicResolvedCount;
/**
* 10当前组织内未出小组即未转议题的话题关闭无需解决数
*/
private Integer inGroupTopicUnResolvedCount;
/**
* 未出当前网格的结案项目数
*/
private Integer gridSelfGovernProjectTotal;
/**
* 当前组织内结案的项目中由社区结案的项目总数
*/
private Integer communityClosedCount;
/**
* 当前组织内结案的项目中由街道结案的项目总数
*/
private Integer streetClosedCount;
/**
* 当前组织内结案的项目中由区直部门结案的项目总数
*/
private Integer districtDeptClosedCount;
/**
* 删除标识 默认为0
*/
private String delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
*
*/
private String createdBy;
/**
*
*/
private Date createdTime;
/**
*
*/
private String updatedBy;
/**
*
*/
private Date updatedTime;
}

193
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactGridGovernDailyDTO.java

@ -0,0 +1,193 @@
package com.epmet.dto.extract;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* @author zhaoqifeng
* @dscription
* @date 2021/6/24 15:34
*/
@Data
public class FactGridGovernDailyDTO implements Serializable {
private static final long serialVersionUID = -5492115478082510064L;
private String id;
/**
* 客户id
*/
private String customerId;
/**
* 数据更新至yyyyMMdd;
*/
private String dateId;
/**
* 网格id
*/
private String gridId;
/**
* 网格所属的组织id
*/
private String pid;
/**
* 网格所有上级id
*/
private String pids;
/**
* 界面展示问题解决总数=1+2+3+4+5+6+7+8
*/
private Integer problemResolvedCount;
/**
* 界面展示党群自治占比=9+10/PROBLEM_RESOLVED_COUNT; 此列存储的是小数
*/
private BigDecimal groupSelfGovernRatio;
/**
* 界面展示网格自治占比=GRID_SELF_GOVERN_PROJECT_TOTAL/PROBLEM_RESOLVED_COUNT此列存储的是小数
*/
private BigDecimal gridSelfGovernRatio;
/**
* 界面展示社区解决占比=COMMUNITY_CLOSED_COUNT/PROBLEM_RESOLVED_COUNT此列存储的是小数
*/
private BigDecimal communityClosedRatio;
/**
* 界面展示街道解决占比=STREET_CLOSED_COUNT/PROBLEM_RESOLVED_COUNT此列存储的是小数
*/
private BigDecimal streetClosedRatio;
/**
* 界面展示区直部门解决占比=DISTRICT_DEPT_CLOSED_COUNT/PROBLEM_RESOLVED_COUNT此列存储的是小数
*/
private BigDecimal districtDeptClosedRatio;
/**
* 1当前网格内话题关闭已解决数
*/
private Integer topicResolvedCount;
/**
* 2当前网格内话题关闭无需解决数
*/
private Integer topicUnResolvedCount;
/**
* 3当前网格内议题关闭已解决数
*/
private Integer issueResolvedCount;
/**
* 4当前网格内议题关闭无需解决数
*/
private Integer issueUnResolvedCount;
/**
* 5当前网格内来源于议题的项目结案已解决数
*/
private Integer issueProjectResolvedCount;
/**
* 6当前网格内来源于议题的项目结案无需解决数
*/
private Integer issueProjectUnResolvedCount;
/**
* 7当前网格内项目立项结案已解决数默认为0
*/
private Integer approvalProjectResolvedCount;
/**
* 8当前网格内项目立项结案无需解决数默认为0
*/
private Integer approvalProjectUnResolvedCount;
/**
* 9当前网格内未出小组即未转议题的话题关闭已解决数
*/
private Integer inGroupTopicResolvedCount;
/**
* 10当前网格内未出小组即未转议题的话题关闭无需解决数
*/
private Integer inGroupTopicUnResolvedCount;
/**
* 11来源于议题的项目未出网格结案并且已解决的项目数
*/
private Integer fromIssueResolvedInGridCount;
/**
* 12来源于议题的项目未出网格结案并且无需解决的项目数
*/
private Integer fromIssueUnResolvedInGridCount;
/**
* 13来源于项目立项的项目未出网格结案并且已解决的项目数因现在网格不能立项所以此列默认为0
*/
private Integer fromAgencyResolvedInGridCount;
/**
* 14来源于项目立项的项目未出网格结案并且无需解决的项目数因现在网格不能立项所以此列默认为0
*/
private Integer fromAgencyUnResolvedInGridCount;
/**
* 15未出当前网格的结案项目数=11+12+13+14
*/
private Integer gridSelfGovernProjectTotal;
/**
* 当前网格内出来的项目由社区结案(已解决+未解决)的项目总数
*/
private Integer communityClosedCount;
/**
* 当前网格内出来的项目由街道结案(已解决+未解决)的项目总数
*/
private Integer streetClosedCount;
/**
* 当前网格内出来的项目由街道结案(已解决+未解决)的项目总数
*/
private Integer districtDeptClosedCount;
/**
* 删除标识 默认为0
*/
private String delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
*
*/
private String createdBy;
/**
*
*/
private Date createdTime;
/**
*
*/
private String updatedBy;
/**
*
*/
private Date updatedTime;
}

28
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/AgencyGovernDailyFormDTO.java

@ -0,0 +1,28 @@
package com.epmet.dto.extract.form;
import com.epmet.dto.extract.FactAgencyGovernDailyDTO;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription
* @date 2021/6/24 15:28
*/
@Data
public class AgencyGovernDailyFormDTO implements Serializable {
private static final long serialVersionUID = 106752296400100448L;
/**
* 当为true时后台将删除本月数据
*/
private Boolean isFirst;
/**
* yyyyMMdd
*/
private String dateId;
private List<FactAgencyGovernDailyDTO> dataList;
}

28
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/GridGovernDailyFormDTO.java

@ -0,0 +1,28 @@
package com.epmet.dto.extract.form;
import com.epmet.dto.extract.FactGridGovernDailyDTO;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription
* @date 2021/6/24 15:36
*/
@Data
public class GridGovernDailyFormDTO implements Serializable {
private static final long serialVersionUID = 1630151176835406040L;
/**
* 当为true时后台将删除本月数据
*/
private Boolean isFirst;
/**
* yyyyMMdd
*/
private String dateId;
private List<FactGridGovernDailyDTO> dataList;
}

29
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenGovernRankDataDailyDTO.java

@ -99,6 +99,35 @@ public class ScreenGovernRankDataDailyDTO implements Serializable {
*/
private BigDecimal satisfactionRatio;
/**
* 响应数
*/
private Integer responseCount;
/**
* 项目转入次数
*/
private Integer transferCount;
/**
* 解决项目数
*/
private Integer resolvedCount;
/**
* 已关闭项目数
*/
private Integer closedCount;
/**
* 自治项目数
*/
private Integer governCount;
/**
* 满意项目数
*/
private Integer satisfactionCount;
/**
* 已关闭项目由议题转的项目
*/
private Integer closedProjectCount;
/**
* 删除标识 0未删除1已删除
*/

29
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/GovernRankDataDailyFormDTO.java

@ -0,0 +1,29 @@
package com.epmet.dto.screencoll.form;
import com.epmet.dto.screen.ScreenGovernRankDataDailyDTO;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription
* @date 2021/6/24 10:04
*/
@Data
public class GovernRankDataDailyFormDTO implements Serializable {
private static final long serialVersionUID = 3485797660632260565L;
/**
* 当为true时后台将删除本月数据
*/
private Boolean isFirst;
/**
* yyyyMMdd
*/
private String dateId;
private List<ScreenGovernRankDataDailyDTO> dataList;
}

13
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/BaseReportConstant.java

@ -0,0 +1,13 @@
package com.epmet.constant;
/**
* @Author zxc
* @DateTime 2021/6/24 5:19 下午
* @DESC
*/
public interface BaseReportConstant {
String DATA_IS_NULL = "上传%s数据为空";
}

74
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/GovernanceDataReportController.java

@ -0,0 +1,74 @@
package com.epmet.controller;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.extract.form.AgencyGovernDailyFormDTO;
import com.epmet.dto.extract.form.GridGovernDailyFormDTO;
import com.epmet.dto.screencoll.form.GovernRankDataDailyFormDTO;
import com.epmet.service.GovernanceDataReportService;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.sql.ResultSet;
/**
* 治理能力数据上报
*
* @author zhaoqifeng
* @date 2021/6/24 15:16
*/
@RestController
@RequestMapping("governance")
public class GovernanceDataReportController {
@Resource
private GovernanceDataReportService governanceDataReportService;
/**
* 基层治理-治理能力排行数据(按天统计)
*
* @param customerId
* @param formDTO
* @return com.epmet.commons.tools.utils.Result
* @author zhaoqifeng
* @date 2021/6/24 10:02
*/
@PostMapping("governrankdatadaily")
public Result governRankDataDaily(@RequestHeader("CustomerId") String customerId, @RequestBody GovernRankDataDailyFormDTO formDTO) {
governanceDataReportService.insertGovernRankDataDaily(formDTO, customerId);
return new Result();
}
/**
* 组织的治理指数按天统计
*
* @param customerId
* @param formDTO
* @return com.epmet.commons.tools.utils.Result
* @author zhaoqifeng
* @date 2021/6/24 15:38
*/
@PostMapping("agencygoverndaily")
public Result agencyGovernDaily(@RequestHeader("CustomerId") String customerId, @RequestBody AgencyGovernDailyFormDTO formDTO) {
governanceDataReportService.insertAgencyGovernDaily(formDTO, customerId);
return new Result();
}
/**
* 网格的治理指数按天统计
*
* @param customerId
* @param formDTO
* @return com.epmet.commons.tools.utils.Result
* @author zhaoqifeng
* @date 2021/6/24 15:38
*/
@PostMapping("gridgoverndaily")
public Result gridGovernDaily(@RequestHeader("CustomerId") String customerId, @RequestBody GridGovernDailyFormDTO formDTO) {
governanceDataReportService.insertGridGovernDaily(formDTO, customerId);
return new Result();
}
}

37
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/BaseReportDao.java

@ -1,5 +1,8 @@
package com.epmet.dao.stats;
import com.epmet.dto.basereport.form.AgencyProjectFormDTO;
import com.epmet.dto.basereport.form.AgencyRegUserFormDTO;
import com.epmet.dto.basereport.form.GridRegUserFormDTO;
import com.epmet.dto.basereport.form.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -84,4 +87,38 @@ public interface BaseReportDao {
* @author sun
*/
void insertBatchAgencyHotTopic(@Param("list") List<AgencyHotTopicFormDTO.DataList> dataList);
/**
* @Description 根据dateId删除客户组织项目数据
* @Param customerId
* @Param dateId
* @author zxc
* @date 2021/6/24 5:30 下午
*/
int delAgencyProject(@Param("customerId") String customerId, @Param("dateId") String dateId);
/**
* @Description 批量新增组织项目数据
* @Param dataList
* @author zxc
* @date 2021/6/25 9:14 上午
*/
void insertAgencyProject(@Param("list")List<AgencyProjectFormDTO.DataList> dataList);
/**
* @Description 根据dateId删除客户网格项目数据
* @Param customerId
* @Param dateId
* @author zxc
* @date 2021/6/25 10:36 上午
*/
int delGridProject(@Param("customerId") String customerId, @Param("dateId") String dateId);
/**
* @Description 批量新增网格项目数据
* @Param dataList
* @author zxc
* @date 2021/6/25 10:37 上午
*/
void insertGridProject(@Param("list")List<GridProjectFormDTO.DataList> dataList);
}

31
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenGovernRankDataDailyEntity.java

@ -97,6 +97,35 @@ public class ScreenGovernRankDataDailyEntity extends BaseEpmetEntity {
/**
* 满意率
*/
private BigDecimal satisfactionRatio;
private BigDecimal satisfactionRatio;.
/**
* 响应数
*/
private Integer responseCount;
/**
* 项目转入次数
*/
private Integer transferCount;
/**
* 解决项目数
*/
private Integer resolvedCount;
/**
* 已关闭项目数
*/
private Integer closedCount;
/**
* 自治项目数
*/
private Integer governCount;
/**
* 满意项目数
*/
private Integer satisfactionCount;
/**
* 已关闭项目由议题转的项目
*/
private Integer closedProjectCount;
}

48
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/GovernanceDataReportService.java

@ -0,0 +1,48 @@
package com.epmet.service;
import com.epmet.dto.extract.form.AgencyGovernDailyFormDTO;
import com.epmet.dto.extract.form.GridGovernDailyFormDTO;
import com.epmet.dto.screencoll.form.GovernRankDataDailyFormDTO;
/**
* 治理能力数据上报
*
* @author zhaoqifeng
* @date 2021/6/24 15:18
*/
public interface GovernanceDataReportService {
/**
* 基层治理-治理能力排行数据(按天统计)
*
* @param formDTO
* @param customerId
* @return void
* @author zhaoqifeng
* @date 2021/6/24 10:14
*/
void insertGovernRankDataDaily(GovernRankDataDailyFormDTO formDTO, String customerId);
/**
* 组织的治理指数按天统计
*
* @param formDTO
* @param customerId
* @return void
* @author zhaoqifeng
* @date 2021/6/24 15:40
*/
void insertAgencyGovernDaily(AgencyGovernDailyFormDTO formDTO, String customerId);
/**
* 网格的治理指数按天统计
*
* @param formDTO
* @param customerId
* @return void
* @author zhaoqifeng
* @date 2021/6/24 15:40
*/
void insertGridGovernDaily(GridGovernDailyFormDTO formDTO, String customerId);
}

22
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactAgencyGovernDailyService.java

@ -18,8 +18,11 @@
package com.epmet.service.evaluationindex.extract.todata;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.dto.extract.FactAgencyGovernDailyDTO;
import com.epmet.entity.evaluationindex.extract.FactAgencyGovernDailyEntity;
import java.util.List;
/**
* 组织的治理指数按天统计
*
@ -38,4 +41,23 @@ public interface FactAgencyGovernDailyService extends BaseService<FactAgencyGove
*/
void extractFactAgencyGovernDaily(String customerId, String dateId);
/**
* 删除数据
* @author zhaoqifeng
* @date 2021/6/24 15:56
* @param customerId
* @param dateId
* @return java.lang.Integer
*/
Integer deleteAgencyGovernData(String customerId, String dateId);
/**
* 批量插入
* @author zhaoqifeng
* @date 2021/6/24 15:56
* @param list
* @return void
*/
void insertBatch(List<FactAgencyGovernDailyDTO> list);
}

21
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactGridGovernDailyService.java

@ -18,9 +18,12 @@
package com.epmet.service.evaluationindex.extract.todata;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.dto.extract.FactGridGovernDailyDTO;
import com.epmet.dto.extract.form.ExtractFactGridGovernDailyFromDTO;
import com.epmet.entity.evaluationindex.extract.FactGridGovernDailyEntity;
import java.util.List;
/**
* 网格的治理指数按天统计
*
@ -41,4 +44,22 @@ public interface FactGridGovernDailyService extends BaseService<FactGridGovernDa
*/
void extractFactGridGovernDaily(ExtractFactGridGovernDailyFromDTO fromDTO);
/**
* 删除数据
* @author zhaoqifeng
* @date 2021/6/24 16:09
* @param customerId
* @param dateId
* @return java.lang.Integer
*/
Integer deleteGridGovernData(String customerId, String dateId);
/**
* 批量插入
* @author zhaoqifeng
* @date 2021/6/24 16:09
* @param list
* @return void
*/
void insertBatch(List<FactGridGovernDailyDTO> list);
}

33
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactAgencyGovernDailyServiceImpl.java

@ -17,10 +17,13 @@
package com.epmet.service.evaluationindex.extract.todata.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.constant.*;
import com.epmet.dao.evaluationindex.extract.FactAgencyGovernDailyDao;
import com.epmet.dto.extract.FactAgencyGovernDailyDTO;
import com.epmet.dto.extract.result.OrgStatisticsResultDTO;
import com.epmet.dto.stats.DimAgencyDTO;
import com.epmet.entity.evaluationindex.extract.FactAgencyGovernDailyEntity;
@ -301,6 +304,36 @@ public class FactAgencyGovernDailyServiceImpl extends BaseServiceImpl<FactAgency
}
}
/**
* 删除数据
*
* @param customerId
* @param dateId
* @return java.lang.Integer
* @author zhaoqifeng
* @date 2021/6/24 15:56
*/
@Override
public Integer deleteAgencyGovernData(String customerId, String dateId) {
LambdaQueryWrapper<FactAgencyGovernDailyEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(FactAgencyGovernDailyEntity :: getCustomerId, customerId)
.eq(FactAgencyGovernDailyEntity :: getDateId, dateId);
return baseDao.delete(wrapper);
}
/**
* 批量插入
*
* @param list
* @return void
* @author zhaoqifeng
* @date 2021/6/24 15:56
*/
@Override
public void insertBatch(List<FactAgencyGovernDailyDTO> list) {
this.insertBatch(ConvertUtils.sourceToTarget(list, FactAgencyGovernDailyEntity.class));
}
private FactAgencyGovernDailyEntity initEntity(DimAgencyDTO agency, String dateId) {
FactAgencyGovernDailyEntity entity = new FactAgencyGovernDailyEntity();
entity.setCustomerId(agency.getCustomerId());

38
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactGridGovernDailyServiceImpl.java

@ -17,19 +17,19 @@
package com.epmet.service.evaluationindex.extract.todata.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.constant.DimObjectActionConstant;
import com.epmet.constant.DimObjectStatusConstant;
import com.epmet.constant.ProjectConstant;
import com.epmet.dao.evaluationindex.extract.FactGridGovernDailyDao;
import com.epmet.dto.extract.FactGridGovernDailyDTO;
import com.epmet.dto.extract.FactOriginProjectLogDailyDTO;
import com.epmet.dto.extract.form.ExtractFactGridGovernDailyFromDTO;
import com.epmet.dto.org.GridInfoDTO;
import com.epmet.entity.evaluationindex.extract.FactGridGovernDailyEntity;
import com.epmet.entity.evaluationindex.extract.GovernGridClosedTotalCommonDTO;
import com.epmet.entity.evaluationindex.extract.GovernGridTotalCommonDTO;
import com.epmet.entity.evaluationindex.extract.GovernProjectInfoDTO;
import com.epmet.entity.evaluationindex.extract.*;
import com.epmet.entity.org.CustomerAgencyEntity;
import com.epmet.service.evaluationindex.extract.todata.FactGridGovernDailyService;
import com.epmet.service.evaluationindex.extract.todata.FactOriginIssueMainDailyService;
@ -247,6 +247,36 @@ public class FactGridGovernDailyServiceImpl extends BaseServiceImpl<FactGridGove
log.info("extractFactGridGovernDaily completed");
}
/**
* 删除数据
*
* @param customerId
* @param dateId
* @return java.lang.Integer
* @author zhaoqifeng
* @date 2021/6/24 16:09
*/
@Override
public Integer deleteGridGovernData(String customerId, String dateId) {
LambdaQueryWrapper<FactGridGovernDailyEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(FactGridGovernDailyEntity :: getCustomerId, customerId)
.eq(FactGridGovernDailyEntity :: getDateId, dateId);
return baseDao.delete(wrapper);
}
/**
* 批量插入
*
* @param list
* @return void
* @author zhaoqifeng
* @date 2021/6/24 16:09
*/
@Override
public void insertBatch(List<FactGridGovernDailyDTO> list) {
this.insertBatch(ConvertUtils.sourceToTarget(list, FactGridGovernDailyEntity.class));
}
private Map<String, GovernGridClosedTotalCommonDTO> getGovernGridClosedTotalCommonDTOMap(String customerId, List<String> gridIds) {
Map<String, GovernGridClosedTotalCommonDTO> resultMap = new HashMap<>();
for (String gridId : gridIds) {

19
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenGovernRankDataDailyService.java

@ -118,4 +118,23 @@ public interface ScreenGovernRankDataDailyService extends BaseService<ScreenGove
* @date 2020/9/25 10:32
*/
void delAndSaveRankData(String customerId, String orgType, String dateId, Integer deleteSize, List<ScreenGovernRankDataDailyEntity> entityList);
/**
* 删除数据
* @author zhaoqifeng
* @date 2021/6/24 14:46
* @param customerId
* @param dateId
* @return java.lang.Integer
*/
Integer deleteGovernRankDataDaily(String customerId, String dateId);
/**
* 批量插入
* @author zhaoqifeng
* @date 2021/6/24 15:24
* @param list
* @return void
*/
void insertBatch(List<ScreenGovernRankDataDailyDTO> list);
}

33
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenGovernRankDataDailyServiceImpl.java

@ -17,6 +17,7 @@
package com.epmet.service.evaluationindex.screen.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
@ -167,4 +168,36 @@ public class ScreenGovernRankDataDailyServiceImpl extends BaseServiceImpl<Screen
insertBatch(entityList);
}
/**
* 删除数据
*
* @param customerId
* @param dateId
* @return java.lang.Integer
* @author zhaoqifeng
* @date 2021/6/24 14:46
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Integer deleteGovernRankDataDaily(String customerId, String dateId) {
LambdaQueryWrapper<ScreenGovernRankDataDailyEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ScreenGovernRankDataDailyEntity :: getCustomerId, customerId)
.eq(ScreenGovernRankDataDailyEntity :: getDateId, dateId);
return baseDao.delete(wrapper);
}
/**
* 批量插入
*
* @param list
* @return void
* @author zhaoqifeng
* @date 2021/6/24 15:24
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void insertBatch(List<ScreenGovernRankDataDailyDTO> list) {
this.insertBatch(ConvertUtils.sourceToTarget(list, ScreenGovernRankDataDailyEntity.class));
}
}

37
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/BaseReportServiceImpl.java

@ -1,19 +1,25 @@
package com.epmet.service.impl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.constant.BaseReportConstant;
import com.epmet.dao.stats.BaseReportDao;
import com.epmet.dto.basereport.form.*;
import com.epmet.service.BaseReportService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.ListUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.List;
/**
* @Author sun
* @Description 部分基础数据上报
*/
@Service
@Slf4j
public class BaseReportServiceImpl implements BaseReportService {
@Autowired
@ -208,7 +214,20 @@ public class BaseReportServiceImpl implements BaseReportService {
@Override
@Transactional(rollbackFor = Exception.class)
public void gridProject(GridProjectFormDTO formDTO) {
if (CollectionUtils.isEmpty(formDTO.getDataList())){
log.warn(String.format(BaseReportConstant.DATA_IS_NULL),"网格项目");
return;
}
if (formDTO.getIsFirst()) {
int deleteNum;
do {
deleteNum = baseReportDao.delGridProject(formDTO.getDataList().get(NumConstant.ZERO).getCustomerId(), formDTO.getDataList().get(NumConstant.ZERO).getDateId());
} while (deleteNum > NumConstant.ZERO);
}
List<List<GridProjectFormDTO.DataList>> partition = ListUtils.partition(formDTO.getDataList(), NumConstant.ONE_HUNDRED);
partition.forEach(p -> {
baseReportDao.insertGridProject(p);
});
}
/**
@ -217,9 +236,21 @@ public class BaseReportServiceImpl implements BaseReportService {
* @author sun
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void agencyProject(AgencyProjectFormDTO formDTO) {
if (CollectionUtils.isEmpty(formDTO.getDataList())){
log.warn(String.format(BaseReportConstant.DATA_IS_NULL),"组织项目");
return;
}
if (formDTO.getIsFirst()) {
int deleteNum;
do {
deleteNum = baseReportDao.delAgencyProject(formDTO.getDataList().get(NumConstant.ZERO).getCustomerId(), formDTO.getDataList().get(NumConstant.ZERO).getDateId());
} while (deleteNum > NumConstant.ZERO);
}
List<List<AgencyProjectFormDTO.DataList>> partition = ListUtils.partition(formDTO.getDataList(), NumConstant.ONE_HUNDRED);
partition.forEach(p -> {
baseReportDao.insertAgencyProject(p);
});
}
}

112
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/GovernanceDataReportServiceImpl.java

@ -0,0 +1,112 @@
package com.epmet.service.impl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.dto.extract.form.AgencyGovernDailyFormDTO;
import com.epmet.dto.extract.form.GridGovernDailyFormDTO;
import com.epmet.dto.screencoll.form.GovernRankDataDailyFormDTO;
import com.epmet.entity.evaluationindex.screen.ScreenGovernRankDataDailyEntity;
import com.epmet.service.GovernanceDataReportService;
import com.epmet.service.evaluationindex.extract.todata.FactAgencyGovernDailyService;
import com.epmet.service.evaluationindex.extract.todata.FactGridGovernDailyService;
import com.epmet.service.evaluationindex.screen.ScreenGovernRankDataDailyService;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import javax.annotation.Resource;
/**
* @author zhaoqifeng
* @dscription
* @date 2021/6/24 15:19
*/
@Service
public class GovernanceDataReportServiceImpl implements GovernanceDataReportService {
@Resource
private ScreenGovernRankDataDailyService screenGovernRankDataDailyService;
@Resource
private FactAgencyGovernDailyService factAgencyGovernDailyService;
@Resource
private FactGridGovernDailyService factGridGovernDailyService;
/**
* 基层治理-治理能力排行数据(按天统计)
*
* @param formDTO
* @param customerId
* @return void
* @author zhaoqifeng
* @date 2021/6/24 10:14
*/
@Override
public void insertGovernRankDataDaily(GovernRankDataDailyFormDTO formDTO, String customerId) {
if (StringUtils.isEmpty(formDTO.getDateId()) || formDTO.getDateId().length() != NumConstant.SIX) {
throw new RenException("dateId格式应为: yyyyMMdd,当前传入:" + formDTO.getDateId());
}
if (formDTO.getIsFirst()) {
int deleteNum;
do {
deleteNum = screenGovernRankDataDailyService.deleteGovernRankDataDaily(customerId, formDTO.getDateId());
} while (deleteNum != NumConstant.ZERO);
}
if (!CollectionUtils.isEmpty(formDTO.getDataList())) {
formDTO.getDataList().forEach(item -> item.setCustomerId(customerId));
screenGovernRankDataDailyService.insertBatch(formDTO.getDataList());
}
}
/**
* 组织的治理指数按天统计
*
* @param formDTO
* @param customerId
* @return void
* @author zhaoqifeng
* @date 2021/6/24 15:40
*/
@Override
public void insertAgencyGovernDaily(AgencyGovernDailyFormDTO formDTO, String customerId) {
if (StringUtils.isEmpty(formDTO.getDateId()) || formDTO.getDateId().length() != NumConstant.SIX) {
throw new RenException("dateId格式应为: yyyyMMdd,当前传入:" + formDTO.getDateId());
}
if (formDTO.getIsFirst()) {
int deleteNum;
do {
deleteNum = factAgencyGovernDailyService.deleteAgencyGovernData(customerId, formDTO.getDateId());
} while (deleteNum != NumConstant.ZERO);
}
if (!CollectionUtils.isEmpty(formDTO.getDataList())) {
formDTO.getDataList().forEach(item -> item.setCustomerId(customerId));
factAgencyGovernDailyService.insertBatch(formDTO.getDataList());
}
}
/**
* 网格的治理指数按天统计
*
* @param formDTO
* @param customerId
* @return void
* @author zhaoqifeng
* @date 2021/6/24 15:40
*/
@Override
public void insertGridGovernDaily(GridGovernDailyFormDTO formDTO, String customerId) {
if (StringUtils.isEmpty(formDTO.getDateId()) || formDTO.getDateId().length() != NumConstant.SIX) {
throw new RenException("dateId格式应为: yyyyMMdd,当前传入:" + formDTO.getDateId());
}
if (formDTO.getIsFirst()) {
int deleteNum;
do {
deleteNum = factGridGovernDailyService.deleteGridGovernData(customerId, formDTO.getDateId());
} while (deleteNum != NumConstant.ZERO);
}
if (!CollectionUtils.isEmpty(formDTO.getDataList())) {
formDTO.getDataList().forEach(item -> item.setCustomerId(customerId));
factGridGovernDailyService.insertBatch(formDTO.getDataList());
}
}
}

151
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/BaseReportDao.xml

@ -156,5 +156,156 @@
<insert id="insertBatchAgencyHotTopic">
</insert>
<!-- 根据dateId删除客户组织项目数据 -->
<delete id="delAgencyProject">
DELETE FROM fact_agency_project_daily
WHERE customer_id = #{customerId}
AND date_id = #{dateId}
LIMIT 1000
</delete>
<!-- 批量新增组织项目数据 -->
<insert id="insertAgencyProject">
INSERT INTO fact_agency_project_daily
(
ID,
CUSTOMER_ID,
AGENCY_ID,
PARENT_ID,
DATE_ID,
WEEK_ID,
MONTH_ID,
QUARTER_ID,
YEAR_ID,
PROJECT_TOTAL,
PENDING_TOTAL,
PENDING_RATIO,
CLOSED_TOTAL,
CLOSED_RATIO,
RESOLVED_TOTAL,
RESOLVED_RATIO,
UNRESOLVED_TOTAL,
UNRESOLVED_RATIO,
PROJECT_INCR,
PENDING_INCR,
CLOSED_INCR,
RESOLVED_INCR,
UNRESOLVED_INCR,
DEL_FLAG,
REVISION,
CREATED_BY,
CREATED_TIME,
UPDATED_BY,
UPDATED_TIME)
values
<foreach collection="list" item="i" separator=",">
(
REPLACE(UUID(), '-', ''),
#{i.customerId},
#{i.agencyId},
#{i.parentId},
#{i.dateId},
#{i.weekId},
#{i.monthId},
#{i.quarterId},
#{i.yearId},
#{i.projectTotal},
#{i.pendingTotal},
#{i.pendingRatio},
#{i.closedTotal},
#{i.closedRatio},
#{i.resolvedTotal},
#{i.resolvedRatio},
#{i.unresolvedTotal},
#{i.unresolvedRatio},
#{i.projectIncr},
#{i.pendingIncr},
#{i.closedIncr},
#{i.resolvedIncr},
#{i.unresolvedIncr},
0,
0,
'BASE_REPORT',
now(),
'BASE_REPORT',
now()
)
</foreach>
</insert>
<!-- 批量新增网格项目数据 -->
<insert id="insertGridProject">
INSERT INTO fact_grid_project_daily
(ID,
CUSTOMER_ID,
AGENCY_ID,
GRID_ID,
DATE_ID,
WEEK_ID,
MONTH_ID,
QUARTER_ID,
YEAR_ID,
PROJECT_TOTAL,
PENDING_TOTAL,
PENDING_RATIO,
CLOSED_TOTAL,
CLOSED_RATIO,
RESOLVED_TOTAL,
RESOLVED_RATIO,
UNRESOLVED_TOTAL,
UNRESOLVED_RATIO,
PROJECT_INCR,
PENDING_INCR,
CLOSED_INCR,
RESOLVED_INCR,
UNRESOLVED_INCR,
DEL_FLAG,
REVISION,
CREATED_BY,
CREATED_TIME,
UPDATED_BY,
UPDATED_TIME)
values
<foreach collection="list" item="i" separator=",">
(
REPLACE(UUID(), '-', ''),
#{i.customerId},
#{i.agencyId},
#{i.gridId},
#{i.dateId},
#{i.weekId},
#{i.monthId},
#{i.quarterId},
#{i.yearId},
#{i.projectTotal},
#{i.pendingTotal},
#{i.pendingRatio},
#{i.closedTotal},
#{i.closedRatio},
#{i.resolvedTotal},
#{i.resolvedRatio},
#{i.unresolvedTotal},
#{i.unresolvedRatio},
#{i.projectIncr},
#{i.pendingIncr},
#{i.closedIncr},
#{i.resolvedIncr},
#{i.unresolvedIncr},
0,
0,
'BASE_REPORT',
NOW(),
'BASE_REPORT',
NOW()
)
</foreach>
</insert>
<!-- 根据dateId删除客户网格项目数据 -->
<delete id="delGridProject">
DELETE FROM fact_grid_project_daily
WHERE customer_id = #{customerId}
AND date_id = #{dateId}
LIMIT 1000
</delete>
</mapper>

Loading…
Cancel
Save