Browse Source

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

# Conflicts:
#	epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java
dev_shibei_match
yinzuomei 4 years ago
parent
commit
6a79f698ce
  1. 85
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/AgencyGroupTotalFormDTO.java
  2. 85
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/AgencyHotTopicFormDTO.java
  3. 196
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/AgencyIssueFormDTO.java
  4. 141
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/AgencyProjectFormDTO.java
  5. 106
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/AgencyRegUserFormDTO.java
  6. 80
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/AgencyTopicIssueFormDTO.java
  7. 96
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/AgencyTopicStatusFormDTO.java
  8. 86
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/GridGroupTotalFormDTO.java
  9. 85
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/GridHotTopicFormDTO.java
  10. 196
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/GridIssueFormDTO.java
  11. 141
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/GridProjectFormDTO.java
  12. 113
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/GridRegUserFormDTO.java
  13. 81
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/GridTopicIssueFormDTO.java
  14. 95
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/GridTopicStatusFormDTO.java
  15. 0
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/result/.gitkeep
  16. 4
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectDataDTO.java
  17. 5
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/form/ScreenProjectDataInfoFormDTO.java
  18. 175
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/BaseReportController.java
  19. 22
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java
  20. 35
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectDao.java
  21. 5
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenProjectDataEntity.java
  22. 10
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/BaseReportService.java
  23. 10
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/ScreenProjectSettleService.java
  24. 7
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java
  25. 34
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java
  26. 13
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/BaseReportServiceImpl.java
  27. 28
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectService.java
  28. 38
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectServiceImpl.java
  29. 50
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml
  30. 2
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java
  31. 34
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionDetailServiceImpl.java

85
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/AgencyGroupTotalFormDTO.java

@ -0,0 +1,85 @@
package com.epmet.dto.basereport.form;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Description 基础数据上报-组织群组总数-接口入参
* @Auth sun
*/
@Data
public class AgencyGroupTotalFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 为true时需要删除历史数据
*/
private Boolean isFirst;
/**
* 数据集合对象
*/
private List<DataList> dataList;
@Data
public class DataList implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 客户ID
*/
private String customerId;
/**
* 机构ID 关联机关dim表
*/
private String agencyId;
/**
* 父级机关ID
*/
private String pid;
/**
* 统计日期 关联日期dim表
*/
private String dateId;
/**
* 周ID
*/
private String weekId;
/**
* 月份ID
*/
private String monthId;
/**
* 季度ID
*/
private String quarterId;
/**
* 年ID
*/
private String yearId;
/**
* 当前组织及下级小组总数
*/
private Integer groupTotal;
/**
* 当前组织及下级楼院小组总数
*/
private Integer ordinaryTotal;
/**
* 当前组织及下级支部小组总数
*/
private Integer branchTotal;
}
}

85
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/AgencyHotTopicFormDTO.java

@ -0,0 +1,85 @@
package com.epmet.dto.basereport.form;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Description 基础数据上报-组织热议话题数据-接口入参
* @Auth sun
*/
@Data
public class AgencyHotTopicFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 为true时需要删除历史数据
*/
private Boolean isFirst;
/**
* 数据集合对象
*/
private List<DataList> dataList;
@Data
public class DataList implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 客户ID
*/
private String customerId;
/**
* 机构ID 关联机关dm表
*/
private String agencyId;
/**
* 父级机关ID
*/
private String pid;
/**
* 统计日期 关联日期dm表
*/
private String dateId;
/**
* 周ID
*/
private String weekId;
/**
* 月ID
*/
private String monthId;
/**
* 季度ID
*/
private String quarterId;
/**
* 年ID
*/
private String yearId;
/**
* 话题总数
*/
private Integer topicTotal;
/**
* 话题状态热议中:hot_discuss
*/
private String status;
/**
* 状态话题数量
*/
private Integer topicCount;
}
}

196
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/AgencyIssueFormDTO.java

@ -0,0 +1,196 @@
package com.epmet.dto.basereport.form;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
/**
* @Description 基础数据上报-组织议题数据-接口入参
* @Auth sun
*/
@Data
public class AgencyIssueFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 为true时需要删除历史数据
*/
private Boolean isFirst;
/**
* 数据集合对象
*/
private List<DataList> dataList;
@Data
public class DataList implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 客户ID
*/
private String customerId;
/**
* 组织ID
*/
private String agencyId;
/**
* 上级组织ID
*/
private String pid;
/**
* 年度ID
*/
private String yearId;
/**
* 季度ID
*/
private String quarterId;
/**
* 月度ID
*/
private String monthId;
/**
* 周ID
*/
private String weekId;
/**
* 日期ID
*/
private String dateId;
/**
* 当日议题增量
*/
private Integer issueIncr;
/**
* 议题总数
*/
private Integer issueTotal;
/**
* 当日已转项目的议题数增量
*/
private Integer shiftProjectIncr;
/**
* 已转项目的议题总数
*/
private Integer shiftProjectTotal;
/**
* 已转项目所占百分比
*/
private BigDecimal shiftProjectPercent;
/**
* 当日表决中议题数增量
*/
private Integer votingIncr;
/**
* 表决中议题总数
*/
private Integer votingTotal;
/**
* 表决中议题所占百分比
*/
private BigDecimal votingPercent;
/**
* 当日已关闭议题数增量
*/
private Integer closedIncr;
/**
* 当日已关闭议题中已解决数量
*/
private Integer closedResolvedIncr;
/**
* 当日已关闭议题中无需解决数量
*/
private Integer closedUnresolvedIncr;
/**
* 已关闭议题总数
*/
private Integer closedTotal;
/**
* 已关闭议题中已解决总数
*/
private Integer closedResolvedTotal;
/**
* 已关闭议题中未解决总数
*/
private Integer closedUnresolvedTotal;
/**
* 已关闭议题所占百分比
*/
private BigDecimal closedPercent;
/**
* 已关闭议题中已解决百分比
*/
private BigDecimal closedResolvedPercent;
/**
* 已关闭议题中未解决百分比
*/
private BigDecimal closedUnresolvedPercent;
/**
* 当日已结案议题数
*/
private Integer closedCaseIncr;
/**
* 当日已结案议题中已解决数
*/
private Integer closedCaseResolvedIncr;
/**
* 当日已结案议题中未解决数
*/
private Integer closedCaseUnresolvedIncr;
/**
* 已结案议题总数
*/
private Integer closedCaseTotal;
/**
* 已结案议题中已解决总数
*/
private Integer closedCaseResolvedTotal;
/**
* 已结案议题中未解决总数
*/
private Integer closedCaseUnresolvedTotal;
/**
* 已结案议题中已解决百分比
*/
private BigDecimal closedCaseResolvedPercent;
/**
* 已结案议题中未解决百分比
*/
private BigDecimal closedCaseUnresolvedPercent;
}
}

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

@ -0,0 +1,141 @@
package com.epmet.dto.basereport.form;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
/**
* @Description 基础数据上报-组织项目数据-接口入参
* @Auth sun
*/
@Data
public class AgencyProjectFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 为true时需要删除历史数据
*/
private Boolean isFirst;
/**
* 数据集合对象
*/
private List<DataList> dataList;
@Data
public class DataList implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 客户Id dim_customer.id
*/
private String customerId;
/**
* 机关Id dim_agency.id
*/
private String agencyId;
/**
* 上级组织Iddim_agency.pid
*/
private String parentId;
/**
* 日维度Id dim_date.id
*/
private String dateId;
/**
* 周维度Id dim_week.id
*/
private String weekId;
/**
* 月维度Id dim_month.id
*/
private String monthId;
/**
* 季ID
*/
private String quarterId;
/**
* 年维度Id dim_year.id
*/
private String yearId;
/**
* 截止当日项目总数 当前组织及下级项目总数
*/
private Integer projectTotal = 0;
/**
* 截止当日处理中项目数 当前组织及下级所有未结案项目总数
*/
private Integer pendingTotal = 0;
/**
* 截止当日处理中项目占比 当前组织及下级未结案项目百分比存百分比数小数点后两位
*/
private BigDecimal pendingRatio = new BigDecimal("0");
/**
* 截止当日已结案项目数 当前组织及下级已结案项目总数
*/
private Integer closedTotal = 0;
/**
* 截止当日已结案项目占比 当前组织及下级已结案项目百分比存百分比数小数点后两位
*/
private BigDecimal closedRatio = new BigDecimal("0");
/**
* 截止当日已结案中已解决项目数 当前组织及下级已结案项目中已解决总数
*/
private Integer resolvedTotal = 0;
/**
* 截止当日已结案中已解决项目占比 当前组织及下级已结案项目中已解决占比
*/
private BigDecimal resolvedRatio = new BigDecimal("0");
/**
* 截止当日已结案中未解决项目数 当前组织及下级已结案项目中未解决总数
*/
private Integer unresolvedTotal = 0;
/**
* 截止当日已结案中未解决项目占比 当前组织及下级已结案项目中未解决占比
*/
private BigDecimal unresolvedRatio = new BigDecimal("0");
/**
* 当日项目总数 当前组织及下级项目总数
*/
private Integer projectIncr = 0;
/**
* 当日处理中项目数 当前组织及下级前一日新增处理中项目数
*/
private Integer pendingIncr = 0;
/**
* 当日已结案项目数 当前组织及下级前一日新增结案项目数
*/
private Integer closedIncr = 0;
/**
* 当日已结案项目中已解决数 当前组织及下级前一日新增结案中已解决项目数
*/
private Integer resolvedIncr = 0;
/**
* 当日已结案项目组未解决数 当前组织及下级前一日新增结案中未解决项目数
*/
private Integer unresolvedIncr = 0;
}
}

106
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/AgencyRegUserFormDTO.java

@ -0,0 +1,106 @@
package com.epmet.dto.basereport.form;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
/**
* @Description 基础数据上报-组织机关注册用户数据-接口入参
* @Auth sun
*/
@Data
public class AgencyRegUserFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 为true时需要删除历史数据
*/
private Boolean isFirst;
/**
* 数据集合对象
*/
private List<DataList> dataList;
@Data
public class DataList implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 客户id
*/
private String customerId;
/**
* 机关id
*/
private String agencyId;
/**
*
*/
private String dateId;
/**
*
*/
private String weekId;
/**
*
*/
private String yearId;
/**
* 注册用户总数
*/
private Integer regTotal;
/**
* 居民总数
*/
private Integer resiTotal;
/**
* 热心居民总数
*/
private Integer warmHeartedTotal;
/**
* 党员总数
*/
private Integer partymemberTotal;
/**
* 本日注册居民日增量
*/
private Integer regIncr;
/**
* 本日热心居民日增量
*/
private Integer warmIncr;
/**
* 本日党员认证日增量
*/
private Integer partymemberIncr;
/**
* 居民总数占比
*/
private BigDecimal resiProportion;
/**
* 党员总数占比
*/
private BigDecimal partymemberProportion;
/**
* 热心居民占比
*/
private BigDecimal warmHeartedProportion;
}
}

80
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/AgencyTopicIssueFormDTO.java

@ -0,0 +1,80 @@
package com.epmet.dto.basereport.form;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Description 基础数据上报-组织话题转议题数据-接口入参
* @Auth sun
*/
@Data
public class AgencyTopicIssueFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 为true时需要删除历史数据
*/
private Boolean isFirst;
/**
* 数据集合对象
*/
private List<DataList> dataList;
@Data
public class DataList implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 客户Id
* */
private String customerId;
/**
* 父级机关ID
*/
private String pid;
/**
* 机关ID
*/
private String agencyId;
/**
* 日期ID
*/
private String dateId;
/**
* 周ID
*/
private String weekId;
/**
* 月ID
*/
private String monthId;
/**
* 季ID
*/
private String quarterId;
/**
* 年ID
*/
private String yearId;
/**
* 已转议题数量
*/
private Integer issueTotal;
/**
* 已转议题当日增量
*/
private Integer issueIncr;
}
}

96
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/AgencyTopicStatusFormDTO.java

@ -0,0 +1,96 @@
package com.epmet.dto.basereport.form;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
/**
* @Description 基础数据上报-组织状态话题数据-接口入参
* @Auth sun
*/
@Data
public class AgencyTopicStatusFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 为true时需要删除历史数据
*/
private Boolean isFirst;
/**
* 数据集合对象
*/
private List<DataList> dataList;
@Data
public class DataList implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 客户Id
* */
private String customerId;
/**
* 机构ID 关联机关dm表
*/
private String agencyId;
/**
* 父级机关ID
*/
private String pid;
/**
* 统计日期 关联日期dm表
*/
private String dateId;
/**
* 周ID
*/
private String weekId;
/**
* 月ID
*/
private String monthId;
/**
* 季度ID
*/
private String quarterId;
/**
* 年ID
*/
private String yearId;
/**
* 话题状态ID 关联dim_topic_status表
讨论中 discussing
已屏蔽 hidden
已关闭 closed
已转项目 shift_project
*/
private String topicStatusId;
/**
* 话题数量 指定状态的话题数量
*/
private Integer topicCount;
/**
* 话题状态百分比 指定状态话题数/话题总数
总数在topic_total_agency_daily中
*/
private BigDecimal topicProportion;
/**
* 话题增量 单位时间内的状态话题的增加数
*/
private Integer topicIncrement;
}
}

86
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/GridGroupTotalFormDTO.java

@ -0,0 +1,86 @@
package com.epmet.dto.basereport.form;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
/**
* @Description 基础数据上报-网格群组总数-接口入参
* @Auth sun
*/
@Data
public class GridGroupTotalFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 为true时需要删除历史数据
*/
private Boolean isFirst;
/**
* 数据集合对象
*/
private List<DataList> dataList;
@Data
public class DataList implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 客户ID
*/
private String customerId;
/**
* 机构ID 关联机关dim表
*/
private String agencyId;
/**
* 网格ID
*/
private String gridId;
/**
* 统计日期 关联日期dim表
*/
private String dateId;
/**
* 周ID
*/
private String weekId;
/**
* 月份ID
*/
private String monthId;
/**
* 季度ID
*/
private String quarterId;
/**
* 年ID
*/
private String yearId;
/**
* 网格下小组总数
*/
private Integer groupTotal;
/**
* 网格下楼院小组总数
*/
private Integer ordinaryTotal;
/**
* 网格下支部小组总数
*/
private Integer branchTotal;
}
}

85
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/GridHotTopicFormDTO.java

@ -0,0 +1,85 @@
package com.epmet.dto.basereport.form;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Description 基础数据上报-网格热议话题数据-接口入参
* @Auth sun
*/
@Data
public class GridHotTopicFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 为true时需要删除历史数据
*/
private Boolean isFirst;
/**
* 数据集合对象
*/
private List<DataList> dataList;
@Data
public class DataList implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 客户ID
*/
private String customerId;
/**
* 机关ID
*/
private String agencyId;
/**
* 网格ID 关联网格dm表
*/
private String gridId;
/**
* 日期ID
*/
private String dateId;
/**
* 周ID
*/
private String weekId;
/**
* 月ID
*/
private String monthId;
/**
* 季度ID
*/
private String quarterId;
/**
* 年ID
*/
private String yearId;
/**
* 话题总数
*/
private Integer topicTotal;
/**
* 话题状态热议中:hot_discuss
*/
private String status;
/**
* 状态话题数量
*/
private Integer topicCount;
}
}

196
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/GridIssueFormDTO.java

@ -0,0 +1,196 @@
package com.epmet.dto.basereport.form;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
/**
* @Description 基础数据上报-网格议题数据-接口入参
* @Auth sun
*/
@Data
public class GridIssueFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 为true时需要删除历史数据
*/
private Boolean isFirst;
/**
* 数据集合对象
*/
private List<DataList> dataList;
@Data
public class DataList implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 客户ID
*/
private String customerId;
/**
* 组织ID
*/
private String agencyId;
/**
* 网格ID
*/
private String gridId;
/**
* 年度ID
*/
private String yearId;
/**
* 季度ID
*/
private String quarterId;
/**
* 月度ID
*/
private String monthId;
/**
* 周ID
*/
private String weekId;
/**
* 日期ID
*/
private String dateId;
/**
* 当日议题增量
*/
private Integer issueIncr;
/**
* 议题总数
*/
private Integer issueTotal;
/**
* 当日已转项目的议题数增量
*/
private Integer shiftProjectIncr;
/**
* 已转项目的议题总数
*/
private Integer shiftProjectTotal;
/**
* 已转项目所占百分比
*/
private BigDecimal shiftProjectPercent;
/**
* 当日表决中议题数增量
*/
private Integer votingIncr;
/**
* 表决中议题总数
*/
private Integer votingTotal;
/**
* 表决中议题所占百分比
*/
private BigDecimal votingPercent;
/**
* 当日已关闭议题数增量
*/
private Integer closedIncr;
/**
* 当日已关闭议题中已解决数量
*/
private Integer closedResolvedIncr;
/**
* 当日已关闭议题中无需解决数量
*/
private Integer closedUnresolvedIncr;
/**
* 已关闭议题总数
*/
private Integer closedTotal;
/**
* 已关闭议题中已解决总数
*/
private Integer closedResolvedTotal;
/**
* 已关闭议题中未解决总数
*/
private Integer closedUnresolvedTotal;
/**
* 已关闭议题所占百分比
*/
private BigDecimal closedPercent;
/**
* 已关闭议题中已解决百分比
*/
private BigDecimal closedResolvedPercent;
/**
* 已关闭议题中未解决百分比
*/
private BigDecimal closedUnresolvedPercent;
/**
* 当日已结案议题数
*/
private Integer closedCaseIncr;
/**
* 当日已结案议题中已解决数
*/
private Integer closedCaseResolvedIncr;
/**
* 当日已结案议题中未解决数
*/
private Integer closedCaseUnresolvedIncr;
/**
* 已结案议题总数
*/
private Integer closedCaseTotal;
/**
* 已结案议题中已解决总数
*/
private Integer closedCaseResolvedTotal;
/**
* 已结案议题中未解决总数
*/
private Integer closedCaseUnresolvedTotal;
/**
* 已结案议题中已解决百分比
*/
private BigDecimal closedCaseResolvedPercent;
/**
* 已结案议题中未解决百分比
*/
private BigDecimal closedCaseUnresolvedPercent;
}
}

141
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/GridProjectFormDTO.java

@ -0,0 +1,141 @@
package com.epmet.dto.basereport.form;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
/**
* @Description 基础数据上报-网格项目数据-接口入参
* @Auth sun
*/
@Data
public class GridProjectFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 为true时需要删除历史数据
*/
private Boolean isFirst;
/**
* 数据集合对象
*/
private List<DataList> dataList;
@Data
public class DataList implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 客户Id dim_customer.id
*/
private String customerId;
/**
* 机关Id dim_agency.id
*/
private String agencyId;
/**
* 网格Id dim_grid.id
*/
private String gridId;
/**
* 日维度Id dim_date.id
*/
private String dateId;
/**
* 周维度Id dim_week.id
*/
private String weekId;
/**
* 月维度Id dim_month.id
*/
private String monthId;
/**
* 季ID
*/
private String quarterId;
/**
* 年维度Id dim_year.id
*/
private String yearId;
/**
* 截止当日网格下项目总数 当前组织及下级项目总数
*/
private Integer projectTotal = 0;
/**
* 截止当日网格下处理中项目数 当前组织及下级所有未结案项目总数
*/
private Integer pendingTotal = 0;
/**
* 截止当日网格下处理中项目占比 当前组织及下级未结案项目百分比存百分比数小数点后两位
*/
private BigDecimal pendingRatio = new BigDecimal("0");
/**
* 截止当日网格下已结案项目数 当前组织及下级已结案项目总数
*/
private Integer closedTotal = 0;
/**
* 截止当日网格下已结案项目占比 当前组织及下级已结案项目百分比存百分比数小数点后两位
*/
private BigDecimal closedRatio = new BigDecimal("0");
/**
* 截止当日已结案中已解决项目数 当前组织及下级已结案项目中已解决总数
*/
private Integer resolvedTotal = 0;
/**
* 截止当日已结案中已解决项目占比 当前组织及下级已结案项目中已解决占比
*/
private BigDecimal resolvedRatio = new BigDecimal("0");
/**
* 截止当日已结案中未解决项目数 当前组织及下级已结案项目中未解决总数
*/
private Integer unresolvedTotal = 0;
/**
* 截止当日已结案中未解决项目占比 当前组织及下级已结案项目中未解决占比
*/
private BigDecimal unresolvedRatio = new BigDecimal("0");
/**
* 当日已结案项目中已解决数 当前组织及下级前一日新增结案中已解决项目数
*/
private Integer resolvedIncr = 0;
/**
* 当日已结案项目组未解决数 当前组织及下级前一日新增结案中未解决项目数
*/
private Integer unresolvedIncr = 0;
/**
* 当日网格下项目总数 该网格下项目总数
*/
private Integer projectIncr = 0;
/**
* 当日网格下处理中项目数 该网格下未结案项目总数
*/
private Integer pendingIncr = 0;
/**
* 当日网格下已结案项目数 该网格下已结案项目总数
*/
private Integer closedIncr = 0;
}
}

113
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/GridRegUserFormDTO.java

@ -0,0 +1,113 @@
package com.epmet.dto.basereport.form;
import com.epmet.dto.indexcollect.form.GridPartyAbilityFormDTO;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
/**
* @Description 基础数据上报-网格注册用户数据-接口入参
* @Auth sun
*/
@Data
public class GridRegUserFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 为true时需要删除历史数据
*/
private Boolean isFirst;
/**
* 数据集合对象
*/
private List<DataList> dataList;
@Data
public class DataList implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 客户id
*/
private String customerId;
/**
* 机关id
*/
private String agencyId;
/**
* 网格id
*/
private String gridId;
/**
* 日维度Id
*/
private String dateId;
/**
* 周维度Id
*/
private String weekId;
/**
* 年维度Id
*/
private String yearId;
/**
* 注册用户总数
*/
private Integer regTotal;
/**
* 居民总数
*/
private Integer resiTotal;
/**
* 热心居民总数
*/
private Integer warmHeartedTotal;
/**
* 党员总数
*/
private Integer partymemberTotal;
/**
* 本日注册居民日增量
*/
private Integer regIncr;
/**
* 本日热心居民日增量
*/
private Integer warmIncr;
/**
* 本日党员认证日增量
*/
private Integer partymemberIncr;
/**
* 居民总数占比
*/
private BigDecimal resiProportion;
/**
* 党员总数占比
*/
private BigDecimal partymemberProportion;
/**
* 热心居民占比
*/
private BigDecimal warmHeartedProportion;
}
}

81
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/GridTopicIssueFormDTO.java

@ -0,0 +1,81 @@
package com.epmet.dto.basereport.form;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
/**
* @Description 基础数据上报-网格话题转议题数据-接口入参
* @Auth sun
*/
@Data
public class GridTopicIssueFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 为true时需要删除历史数据
*/
private Boolean isFirst;
/**
* 数据集合对象
*/
private List<DataList> dataList;
@Data
public class DataList implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 客户Id
* */
private String customerId;
/**
* 机关ID
*/
private String agencyId;
/**
* 网格ID
*/
private String gridId;
/**
* 日期ID
*/
private String dateId;
/**
* 周ID
*/
private String weekId;
/**
* 月ID
*/
private String monthId;
/**
* 季度ID
*/
private String quarterId;
/**
* 年ID
*/
private String yearId;
/**
* 新增转议题数
*/
private Integer issueIncr;
/**
* 转议题总数
*/
private Integer issueTotal;
}
}

95
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/GridTopicStatusFormDTO.java

@ -0,0 +1,95 @@
package com.epmet.dto.basereport.form;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
/**
* @Description 基础数据上报-网格状态话题数据-接口入参
* @Auth sun
*/
@Data
public class GridTopicStatusFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 为true时需要删除历史数据
*/
private Boolean isFirst;
/**
* 数据集合对象
*/
private List<DataList> dataList;
@Data
public class DataList implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 客户Id
* */
private String customerId;
/**
* 机关ID
*/
private String agencyId;
/**
* 网格ID 关联网格dm表
*/
private String gridId;
/**
* 日期ID
*/
private String dateId;
/**
* 周ID
*/
private String weekId;
/**
* 月ID
*/
private String monthId;
/**
* 季度ID
*/
private String quarterId;
/**
* 年ID
*/
private String yearId;
/**
* 话题状态ID 讨论中 discussing
已屏蔽 hidden
已关闭 closed
已转项目 shift_project
*/
private String topicStatusId;
/**
* 话题数量
*/
private Integer topicCount;
/**
* 话题状态占比 指定状态话题数/话题总数
总数在topic_total_grid_daily中
*/
private BigDecimal topicProportion;
/**
* 话题增量
*/
private Integer topicIncrement;
}
}

0
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/result/.gitkeep

4
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectDataDTO.java

@ -180,5 +180,9 @@ public class ScreenProjectDataDTO implements Serializable {
private String topicId;
private Integer responseCount;
/**
* 满意度得分
*/
private BigDecimal satisfactionScore;
}

5
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/form/ScreenProjectDataInfoFormDTO.java

@ -112,4 +112,9 @@ public class ScreenProjectDataInfoFormDTO implements Serializable {
* 议题图片地址
*/
private String[] projectImgUrl;
/**
* 满意度得分
*/
private BigDecimal satisfactionScore;
}

175
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/BaseReportController.java

@ -0,0 +1,175 @@
package com.epmet.controller;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.basereport.form.*;
import com.epmet.service.BaseReportService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* @Author sun
* @Description 部分基础数据上报
*/
@RestController
@RequestMapping("basereport")
public class BaseReportController {
@Autowired
private BaseReportService baseReportService;
/**
* @Param formDTO
* @Description 网格注册用户数据
* @author sun
*/
@PostMapping("gridreguser")
public Result gridreguser(@RequestHeader("CustomerId") String customerId, @RequestBody GridRegUserFormDTO formDTO) {
return new Result();
}
/**
* @Param formDTO
* @Description 组织机关注册用户数据
* @author sun
*/
@PostMapping("agencyreguser")
public Result agencyreguser(@RequestHeader("CustomerId") String customerId, @RequestBody AgencyRegUserFormDTO formDTO) {
return new Result();
}
/**
* @Param formDTO
* @Description 网格群组总数
* @author sun
*/
@PostMapping("gridgrouptotal")
public Result gridgrouptotal(@RequestHeader("CustomerId") String customerId, @RequestBody GridGroupTotalFormDTO formDTO) {
return new Result();
}
/**
* @Param formDTO
* @Description 组织群组总数
* @author sun
*/
@PostMapping("agencygrouptotal")
public Result agencygrouptotal(@RequestHeader("CustomerId") String customerId, @RequestBody AgencyGroupTotalFormDTO formDTO) {
return new Result();
}
/**
* @Param formDTO
* @Description 网格热议话题数据
* @author sun
*/
@PostMapping("gridhottopic")
public Result gridhottopic(@RequestHeader("CustomerId") String customerId, @RequestBody GridHotTopicFormDTO formDTO) {
return new Result();
}
/**
* @Param formDTO
* @Description 组织热议话题数据
* @author sun
*/
@PostMapping("agencyhottopic")
public Result agencyhottopic(@RequestHeader("CustomerId") String customerId, @RequestBody AgencyHotTopicFormDTO formDTO) {
return new Result();
}
/**
* @Param formDTO
* @Description 网格状态话题数据
* @author sun
*/
@PostMapping("gridtopicstatus")
public Result gridtopicstatus(@RequestHeader("CustomerId") String customerId, @RequestBody GridTopicStatusFormDTO formDTO) {
return new Result();
}
/**
* @Param formDTO
* @Description 组织状态话题数据
* @author sun
*/
@PostMapping("agencytopicstatus")
public Result agencytopicstatus(@RequestHeader("CustomerId") String customerId, @RequestBody AgencyTopicStatusFormDTO formDTO) {
return new Result();
}
/**
* @Param formDTO
* @Description 网格话题转议题数据
* @author sun
*/
@PostMapping("gridtopicissue")
public Result gridtopicissue(@RequestHeader("CustomerId") String customerId, @RequestBody GridTopicIssueFormDTO formDTO) {
return new Result();
}
/**
* @Param formDTO
* @Description 组织话题转议题数据
* @author sun
*/
@PostMapping("agencytopicissue")
public Result agencytopicissue(@RequestHeader("CustomerId") String customerId, @RequestBody AgencyTopicIssueFormDTO formDTO) {
return new Result();
}
/**
* @Param formDTO
* @Description 网格议题数据
* @author sun
*/
@PostMapping("gridissue")
public Result gridissue(@RequestHeader("CustomerId") String customerId, @RequestBody GridIssueFormDTO formDTO) {
return new Result();
}
/**
* @Param formDTO
* @Description 组织议题数据
* @author sun
*/
@PostMapping("agencyissue")
public Result agencyissue(@RequestHeader("CustomerId") String customerId, @RequestBody AgencyIssueFormDTO formDTO) {
return new Result();
}
/**
* @Param formDTO
* @Description 网格项目数据
* @author sun
*/
@PostMapping("gridproject")
public Result gridproject(@RequestHeader("CustomerId") String customerId, @RequestBody GridProjectFormDTO formDTO) {
return new Result();
}
/**
* @Param formDTO
* @Description 组织项目数据
* @author sun
*/
@PostMapping("agencyproject")
public Result agencyproject(@RequestHeader("CustomerId") String customerId, @RequestBody AgencyProjectFormDTO formDTO) {
return new Result();
}
}

22
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java

@ -44,6 +44,7 @@ import com.epmet.service.evaluationindex.indexcal.*;
import com.epmet.service.evaluationindex.screen.*;
import com.epmet.service.stats.DimAgencyService;
import com.epmet.service.stats.DimCustomerPartymemberService;
import com.epmet.service.stats.DimCustomerService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -121,6 +122,8 @@ public class DemoController {
private FactGridGovernDailyService factGridGovernDailyService;
@Autowired
private FactAgencyGovernDailyService factAgencyGovernDailyService;
@Autowired
private DimCustomerService dimCustomerService;
@GetMapping("testAlarm")
public void testAlarm() {
@ -935,4 +938,23 @@ public class DemoController {
factAgencyGovernDailyService.extractFactAgencyGovernDaily(fromDTO.getCustomerId(), fromDTO.getDateId());
return new Result();
}
/**
* @return com.epmet.commons.tools.utils.Result
* @param
* @author yinzuomei
* @description 将产品内部客户来源于议题并且已结案的项目赋值满意度得分
* @Date 2021/6/23 15:55
**/
@PostMapping("update-satisfaction-core")
public Result updateProjectSatisfactionScore(){
List<String> customerIds=dimCustomerService.getAllCustomerId();
customerIds.forEach(customerId->{
screenProjectSettleService.updateProjectSatisfactionScore(customerId,null,null);
log.info("更新完成");
});
return new Result();
}
}

35
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectDao.java

@ -18,20 +18,17 @@
package com.epmet.dao.project;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.CustomerProjectParameterDTO;
import com.epmet.dto.ProjectDTO;
import com.epmet.dto.ProjectSatisfactionStatisticsDTO;
import com.epmet.dto.project.ProjectAgencyDTO;
import com.epmet.dto.project.ProjectCategoryDTO;
import com.epmet.dto.project.ProjectGridDTO;
import com.epmet.dto.project.ProjectPointDTO;
import com.epmet.dto.project.result.ProjectExceedParamsResultDTO;
import com.epmet.dto.screen.ScreenProjectProcessAttachmentDTO;
import com.epmet.entity.evaluationindex.extract.FactOriginProjectMainDailyEntity;
import com.epmet.entity.project.ProjectEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
import java.util.List;
/**
@ -158,4 +155,34 @@ public interface ProjectDao extends BaseDao<ProjectEntity> {
* @return java.lang.String
*/
String selectValueByKey(@Param("customerId") String customerId, @Param("parameterKey") String parameterKey);
/**
* 计算某个项目的群满意度得分
*
* @param customerId
* @param projectId
* @return 得分
*/
BigDecimal selectProjectSatisfactionScore(@Param("customerId")String customerId,
@Param("projectId")String projectId);
/**
* 查询当天dateId有评价记录的项目id
*
* @param customerId
* @param dateId
* @return
*/
List<String> selectEvaluateProjectIds(@Param("customerId") String customerId, @Param("dateId")String dateId);
/**
* 可根据状态筛选项目id
*
* @param customerId
* @param projectStatus 状态:待处理 pending结案closed
* @return
*/
List<String> selectClosedProjectIds(@Param("customerId")String customerId,
@Param("origin")String origin,
@Param("projectStatus")String projectStatus);
}

5
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenProjectDataEntity.java

@ -144,5 +144,8 @@ public class ScreenProjectDataEntity extends BaseEpmetEntity {
*/
private String allParentIds;
/**
* 满意度得分
*/
private BigDecimal satisfactionScore;
}

10
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/BaseReportService.java

@ -0,0 +1,10 @@
package com.epmet.service;
/**
* @Author sun
* @Description 部分基础数据上报
*/
public interface BaseReportService {
}

10
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/ScreenProjectSettleService.java

@ -24,4 +24,14 @@ public interface ScreenProjectSettleService {
*/
void extractScreenData(ScreenCentralZoneDataFormDTO param);
/**
* 更新项目得分
*
* @param customerId
* @param dateId //dateId可以为空,如果为空重新计算当前客户下所有的项目的分数; dateId不为空,只计算当天存在评价记录的项目,更新项目对应的得分。
* @param projectId 项目id可为空
* @return void
*/
void updateProjectSatisfactionScore(String customerId,String dateId,String projectId);
}

7
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java

@ -280,6 +280,13 @@ public class ScreenExtractServiceImpl implements ScreenExtractService {
}catch (Exception e){
log.error("大屏项目数据抽取_按天抽取_按天统计失败,customerId为:"+customerId+"dateId为:"+dateId, e);
}
try{
//dateId可以为空,如果为空重新计算当前客户下所有的项目的分数
//dateId不为空,只计算当天存在评价记录的项目,更新项目对应的得分。
screenProjectSettleService.updateProjectSatisfactionScore(customerId,dateId,null);
}catch(Exception e){
log.error("群众不满得分更新失败");
}
}
/**

34
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java

@ -102,6 +102,8 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic
} else {
meta.setLinkUserId(meta.getLinkName());
}
//项目满意度得分
meta.setSatisfactionScore(projectService.calProjectSatisfactionScore(param.getCustomerId(),meta.getProjectId()));
return meta;
})).collect(Collectors.toList());
}
@ -170,4 +172,36 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic
}
/**
* 更新项目得分
*
* @param customerId
* @param dateId //dateId可以为空,如果为空重新计算当前客户下所有的项目的分数; dateId不为空,只计算当天存在评价记录的项目,更新项目对应的得分。
* @param projectId 项目id可为空
* @return void
*/
@Override
public void updateProjectSatisfactionScore(String customerId, String dateId,String projectId) {
if(StringUtils.isNotBlank(projectId)){
projectService.calProjectSatisfactionScore(customerId,projectId);
return;
}
List<String> projectIds=new ArrayList<>();
if(StringUtils.isNotBlank(dateId)){
List<String> list=projectService.selectEvaluateProjectIds(customerId,dateId);
if(!CollectionUtils.isEmpty(list)){
projectIds.addAll(list);
}
}else{
// 只有来源于议题的项目,才有分数
List<String> closedProjectIds=projectService.selectClosedProjectIds(customerId,"issue","closed");
if(!CollectionUtils.isEmpty(closedProjectIds)){
projectIds.addAll(closedProjectIds);
}
}
projectIds.forEach(id->{
projectService.calProjectSatisfactionScore(customerId,id);
});
}
}

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

@ -0,0 +1,13 @@
package com.epmet.service.impl;
import com.epmet.service.BaseReportService;
import org.springframework.stereotype.Service;
/**
* @Author sun
* @Description 部分基础数据上报
*/
@Service
public class BaseReportServiceImpl implements BaseReportService {
}

28
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectService.java

@ -27,6 +27,7 @@ import com.epmet.entity.evaluationindex.extract.FactOriginProjectMainDailyEntity
import com.epmet.entity.project.ProjectEntity;
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
import java.util.Set;
@ -162,4 +163,31 @@ public interface ProjectService extends BaseService<ProjectEntity> {
*/
List<FactOriginProjectMainDailyEntity> getProjectSatisfaction(String customerId);
/**
* 计算某个项目的群满意度得分
*
* @param customerId
* @param projectId
* @return 得分
*/
BigDecimal calProjectSatisfactionScore(String customerId,String projectId);
/**
* 查询当天dateId有评价记录的项目id
*
* @param customerId
* @param dateId
* @return
*/
List<String> selectEvaluateProjectIds(String customerId, String dateId);
/**
* 可根据状态筛选项目id
*
* @param customerId
* @param origin :issue,agency
* @param projectStatus 状态:待处理 pending结案closed
* @return
*/
List<String> selectClosedProjectIds(String customerId,String origin ,String projectStatus);
}

38
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectServiceImpl.java

@ -35,6 +35,7 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
@ -196,5 +197,42 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
}).collect(Collectors.toList());
}
/**
* 计算某个项目的群满意度得分
*
* @param customerId
* @param projectId
* @return 得分
*/
@Override
public BigDecimal calProjectSatisfactionScore(String customerId, String projectId) {
return baseDao.selectProjectSatisfactionScore(customerId,projectId);
}
/**
* 查询当天dateId有评价记录的项目id
*
* @param customerId
* @param dateId
* @return
*/
@Override
public List<String> selectEvaluateProjectIds(String customerId, String dateId) {
return baseDao.selectEvaluateProjectIds(customerId,dateId);
}
/**
* 可根据状态筛选项目id
*
* @param customerId
* @param origin 来源issue, agency
* @param projectStatus 状态:待处理 pending结案closed
* @return
*/
@Override
public List<String> selectClosedProjectIds(String customerId, String origin,String projectStatus) {
return baseDao.selectClosedProjectIds(customerId,origin,projectStatus);
}
}

50
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml

@ -162,4 +162,54 @@
and CUSTOMER_ID = #{customerId}
and PARAMETER_KEY = #{parameterKey}
</select>
<!-- 计算某个项目的群满意度得分 -->
<select id="selectProjectSatisfactionScore" parameterType="map" resultType="java.math.BigDecimal">
SELECT
IFNULL(
(
(s.SHOULD_EVALUATE_COUNT - s.GOOD_COUNT - s.BAD_COUNT - s.PERFECT_COUNT) * 80
+ s.BAD_COUNT * 60
+ s.GOOD_COUNT * 80
+ s.PERFECT_COUNT * 100
)/s.SHOULD_EVALUATE_COUNT
,
0
) AS score
FROM
project_satisfaction_statistics s
WHERE
s.DEL_FLAG = '0'
AND s.CUSTOMER_ID = #{customerId}
and s.PROJECT_ID=#{projectId}
</select>
<!-- 查询当天(dateId)有评价记录的项目id -->
<select id="selectEvaluateProjectIds" parameterType="map" resultType="java.lang.String">
SELECT
psd.PROJECT_ID
FROM
project_satisfaction_detail psd
WHERE
psd.DEL_FLAG = '0'
AND psd.CUSTOMER_ID = #{customerId}
AND DATE_FORMAT(psd.CREATED_TIME,'%Y%m%d')=#{dateId}
</select>
<!-- 可根据状态筛选项目id -->
<select id="selectClosedProjectIds" parameterType="map" resultType="java.lang.String">
SELECT
p.id
FROM
project p
WHERE
p.DEL_FLAG = '0'
AND p.CUSTOMER_ID = #{customerId}
<if test="projectStatus != null and projectStatus.trim() != ''">
AND p.`STATUS` =#{projectStatus}
</if>
<if test="origin != null and origin.trim() != ''">
AND p.ORIGIN =#{origin}
</if>
</select>
</mapper>

2
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java

@ -178,7 +178,7 @@ public interface ProjectConstant {
String EVALUATE_GOOD = "good";
String EVALUATE_BAD = "bad";
String EVALUATE_PERFECT = "perfect";
String EVALUATE="evaluate";
/**
* 三个月六个月12个月
*/

34
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionDetailServiceImpl.java

@ -20,16 +20,20 @@ package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.rocketmq.messages.ProjectChangedMQMsg;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.distributedlock.DistributedLock;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.scan.param.TextScanParamDTO;
import com.epmet.commons.tools.scan.param.TextTaskDTO;
import com.epmet.commons.tools.scan.result.SyncScanResult;
import com.epmet.commons.tools.security.user.LoginUserUtil;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.IpUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.ScanContentUtils;
import com.epmet.constant.ProjectConstant;
@ -39,25 +43,28 @@ import com.epmet.dao.ProjectSatisfactionStatisticsDao;
import com.epmet.dto.ProjectSatisfactionDetailDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.entity.ProjectEntity;
import com.epmet.entity.ProjectSatisfactionDetailEntity;
import com.epmet.entity.ProjectSatisfactionStatisticsEntity;
import com.epmet.feign.EpmetMessageOpenFeignClient;
import com.epmet.feign.EpmetUserFeignClient;
import com.epmet.feign.GovIssueOpenFeignClient;
import com.epmet.redis.ProjectRedis;
import com.epmet.redis.ProjectSatisfactionDetailRedis;
import com.epmet.send.SendMqMsgUtil;
import com.epmet.service.ProjectSatisfactionDetailService;
import com.epmet.service.ProjectSatisfactionStatisticsService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.redisson.api.RLock;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import java.util.*;
import java.util.stream.Collectors;
@ -91,6 +98,10 @@ public class ProjectSatisfactionDetailServiceImpl extends BaseServiceImpl<Projec
private GovIssueOpenFeignClient govIssueOpenFeignClient;
@Autowired
private ProjectSatisfactionStatisticsService projectSatisfactionStatisticsService;
@Autowired
private LoginUserUtil loginUserUtil;
@Autowired
private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient;
@Override
public PageData<ProjectSatisfactionDetailDTO> page(Map<String, Object> params) {
@ -240,6 +251,21 @@ public class ProjectSatisfactionDetailServiceImpl extends BaseServiceImpl<Projec
baseDao.insert(entity);
// 更新
statisticsDao.updateEvaluateData(formDTO.getProjectId(), formDTO.getSatisfaction());
//项目满意度评价-项目实时统计消息
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
ProjectChangedMQMsg msg = new ProjectChangedMQMsg(entity.getCustomerId(),
ProjectConstant.EVALUATE,
entity.getProjectId(),
formDTO.getUserId(),
new Date(),
StrConstant.EPMETY_STR,
IpUtils.getIpAddr(request),
loginUserUtil.getLoginUserApp(),
loginUserUtil.getLoginUserClient());
boolean msgResult = SendMqMsgUtil.build().openFeignClient(epmetMessageOpenFeignClient).sendProjectChangedMqMsg(msg);
if (!msgResult) {
log.error("项目实时统计消息发送失败");
}
}
/**

Loading…
Cancel
Save