Browse Source

Merge remote-tracking branch 'remotes/origin/dev_screen_data_an_2.0' into dev

master
jianjun 5 years ago
parent
commit
b1428bacb0
  1. 31
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/form/AnScreenFormDTO.java
  2. 28
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/form/AnScreenRankFormDTO.java
  3. 25
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/form/AnScreenTrendFormDTO.java
  4. 42
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/GrassRootsGovernRankResultDTO.java
  5. 38
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/GrassRootsGovernResultDTO.java
  6. 42
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/GrassRootsGovernTrendDTO.java
  7. 44
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/GrassRootsGovernTrendResultDTO.java
  8. 34
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/GrassRootsOrgRankResultDTO.java
  9. 30
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/GrassRootsOrgResultDTO.java
  10. 33
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/GrassRootsOrgTrendDTO.java
  11. 34
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/GrassRootsOrgTrendResultDTO.java
  12. 50
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/PmRankResultDTO.java
  13. 34
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/PmTotalResultDTO.java
  14. 35
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/PmTotalTrendDTO.java
  15. 39
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/PmTotalTrendResultDTO.java
  16. 30
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/ProjectProfileResultDTO.java
  17. 175
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/AnScreenController.java
  18. 43
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenan/ScreenAnCommunityProjectProfileDao.java
  19. 69
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenan/ScreenAnGrassRootsGovernMonthlyDao.java
  20. 70
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenan/ScreenAnGrassRootsOrgMonthlyDao.java
  21. 45
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenan/ScreenAnGrassRootsPmRankDao.java
  22. 59
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenan/ScreenAnGrassRootsPmTotalMonthlyDao.java
  23. 115
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/AnScreenService.java
  24. 255
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/AnScreenServiceImpl.java
  25. 13
      epmet-module/data-report/data-report-server/src/main/resources/mapper/screenan/ScreenAnCommunityProjectProfileDao.xml
  26. 44
      epmet-module/data-report/data-report-server/src/main/resources/mapper/screenan/ScreenAnGrassRootsGovernMonthlyDao.xml
  27. 38
      epmet-module/data-report/data-report-server/src/main/resources/mapper/screenan/ScreenAnGrassRootsOrgMonthlyDao.xml
  28. 21
      epmet-module/data-report/data-report-server/src/main/resources/mapper/screenan/ScreenAnGrassRootsPmRankDao.xml
  29. 28
      epmet-module/data-report/data-report-server/src/main/resources/mapper/screenan/ScreenAnGrassRootsPmTotalMonthlyDao.xml
  30. 36
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/AnCommunityProjectProfileFormDTO.java
  31. 62
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/AnGrassRootsGovernMonthlyFormDTO.java
  32. 51
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/AnGrassRootsOrgMonthlyFormDTO.java
  33. 71
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/AnGrassRootsPmRankFormDTO.java
  34. 57
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/AnGrassRootsPmTotalMonthlyFormDTO.java
  35. 99
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/AnScreenCollController.java
  36. 55
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenAnCommunityProjectProfileDao.java
  37. 60
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenAnGrassRootsGovernMonthlyDao.java
  38. 61
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenAnGrassRootsOrgMonthlyDao.java
  39. 56
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenAnGrassRootsPmRankDao.java
  40. 64
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenAnGrassRootsPmTotalMonthlyDao.java
  41. 66
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenAnCommunityProjectProfileEntity.java
  42. 107
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenAnGrassRootsGovernMonthlyEntity.java
  43. 96
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenAnGrassRootsOrgMonthlyEntity.java
  44. 101
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenAnGrassRootsPmRankEntity.java
  45. 101
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenAnGrassRootsPmTotalMonthlyEntity.java
  46. 3
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/indexcoll/impl/FactIndexCollectServiceImpl.java
  47. 59
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/AnScreenCollService.java
  48. 191
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/AnScreenCollServiceImpl.java
  49. 46
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenAnCommunityProjectProfileDao.xml
  50. 63
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenAnGrassRootsGovernMonthlyDao.xml
  51. 60
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenAnGrassRootsOrgMonthlyDao.xml
  52. 59
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenAnGrassRootsPmRankDao.xml
  53. 61
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenAnGrassRootsPmTotalMonthlyDao.xml

31
epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/form/AnScreenFormDTO.java

@ -0,0 +1,31 @@
package com.epmet.evaluationindex.screen.dto.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/10/9 9:47
*/
@Data
public class AnScreenFormDTO implements Serializable {
private static final long serialVersionUID = 5402826635847080766L;
public interface AnScreenGroup extends CustomerClientShowGroup {}
/**
* 组织ID
*/
@NotBlank(message = "机关Id不能为空", groups = AnScreenGroup.class)
private String agencyId;
/**
* 月份ID
*/
@NotBlank(message = "月份Id不能为空", groups = AnScreenGroup.class)
private String monthId;
}

28
epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/form/AnScreenRankFormDTO.java

@ -0,0 +1,28 @@
package com.epmet.evaluationindex.screen.dto.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/10/9 9:47
*/
@Data
public class AnScreenRankFormDTO implements Serializable {
private static final long serialVersionUID = -766779327034367216L;
public interface AnScreenRankGroup extends CustomerClientShowGroup {}
/**
* 组织ID
*/
@NotBlank(message = "机关Id不能为空", groups = AnScreenRankFormDTO.AnScreenRankGroup.class)
private String agencyId;
@NotNull(message = "top值不能为空", groups = AnScreenRankFormDTO.AnScreenRankGroup.class)
private Integer topNum;
}

25
epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/form/AnScreenTrendFormDTO.java

@ -0,0 +1,25 @@
package com.epmet.evaluationindex.screen.dto.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/10/9 9:48
*/
@Data
public class AnScreenTrendFormDTO implements Serializable {
private static final long serialVersionUID = -766779327034367216L;
public interface AnScreenTrendGroup extends CustomerClientShowGroup {}
/**
* 组织ID
*/
@NotBlank(message = "机关Id不能为空", groups = AnScreenTrendFormDTO.AnScreenTrendGroup.class)
private String agencyId;
}

42
epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/GrassRootsGovernRankResultDTO.java

@ -0,0 +1,42 @@
package com.epmet.evaluationindex.screen.dto.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription 09基层治理-治理排行
* @date 2020/10/9 10:54
*/
@NoArgsConstructor
@Data
public class GrassRootsGovernRankResultDTO implements Serializable {
private static final long serialVersionUID = 5175488557393182160L;
/**
* 参与项目数
*/
private Integer partiProjectTotal;
/**
* 办结项目数
*/
private Integer closedProjectTotal;
/**
* 响应度
*/
private String projectResponseRatio;
/**
* 满意度
*/
private String projectSatisRatio;
/**
* 办结率 当前界面在社区时才显示
*/
private String closedProjectRatio;
/**
* 组织名称
*/
private String orgName;
}

38
epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/GrassRootsGovernResultDTO.java

@ -0,0 +1,38 @@
package com.epmet.evaluationindex.screen.dto.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription 07基层治理-总数
* @date 2020/10/9 10:36
*/
@NoArgsConstructor
@Data
public class GrassRootsGovernResultDTO implements Serializable {
private static final long serialVersionUID = 3455494963816549169L;
/**
* 参与项目数
*/
private Integer partiProjectTotal;
/**
* 办结项目数
*/
private Integer closedProjectTotal;
/**
* 项目响应度
*/
private String projectResponseRatio;
/**
* 项目满意率
*/
private String projectSatisRatio;
/**
* 办结率当前界面是社区时显示
*/
private String closedProjectRatio;
}

42
epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/GrassRootsGovernTrendDTO.java

@ -0,0 +1,42 @@
package com.epmet.evaluationindex.screen.dto.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/10/9 15:08
*/
@NoArgsConstructor
@Data
public class GrassRootsGovernTrendDTO implements Serializable {
private static final long serialVersionUID = 4977117178308139861L;
/**
* 月份
*/
private String monthId;
/**
* 参与项目数
*/
private Integer partiProjectTotal;
/**
* 办结项目数
*/
private Integer closedProjectTotal;
/**
* 项目响应度
*/
private BigDecimal projectResponseRatio;
/**
* 项目满意率
*/
private BigDecimal projectSatisRatio;
/**
* 办结率当前界面是社区时显示
*/
private BigDecimal closedProjectRatio;
}

44
epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/GrassRootsGovernTrendResultDTO.java

@ -0,0 +1,44 @@
package com.epmet.evaluationindex.screen.dto.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription 08基层治理-指标月度趋势
* @date 2020/10/9 10:48
*/
@NoArgsConstructor
@Data
public class GrassRootsGovernTrendResultDTO implements Serializable {
private static final long serialVersionUID = 5640652259031475809L;
/**
* 横坐标集合
*/
private List<String> xAxis;
/**
* 参与项目数
*/
private List<Integer> partiProjectTotalList;
/**
* 办结项目数
*/
private List<Integer> closedProjectTotalList;
/**
* 项目响应度
*/
private List<BigDecimal> projectResponseRatioList;
/**
* 项目满意率
*/
private List<BigDecimal> projectSatisRatioList;
/**
* 办结率当前界面是社区时显示
*/
private List<BigDecimal> closedProjectRatioList;
}

34
epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/GrassRootsOrgRankResultDTO.java

@ -0,0 +1,34 @@
package com.epmet.evaluationindex.screen.dto.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription 06基层组织-组织排行榜单
* @date 2020/10/9 10:32
*/
@NoArgsConstructor
@Data
public class GrassRootsOrgRankResultDTO implements Serializable {
private static final long serialVersionUID = 3573854743057339033L;
/**
* 党群数
*/
private Integer groupTotal;
/**
* 议题数
*/
private Integer issueTotal;
/**
* 项目数
*/
private Integer projectTotal;
/**
* 组织名称
*/
private String orgName;
}

30
epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/GrassRootsOrgResultDTO.java

@ -0,0 +1,30 @@
package com.epmet.evaluationindex.screen.dto.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription 04基层组织-党群数议题数项目数
* @date 2020/10/9 10:22
*/
@NoArgsConstructor
@Data
public class GrassRootsOrgResultDTO implements Serializable {
private static final long serialVersionUID = 6623022965863266247L;
/**
* 党群数
*/
private Integer groupTotal;
/**
* 议题数
*/
private Integer issueTotal;
/**
* 项目数
*/
private Integer projectTotal;
}

33
epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/GrassRootsOrgTrendDTO.java

@ -0,0 +1,33 @@
package com.epmet.evaluationindex.screen.dto.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/10/9 15:10
*/
@NoArgsConstructor
@Data
public class GrassRootsOrgTrendDTO implements Serializable {
private static final long serialVersionUID = 6172847581584903056L;
/**
* 月份
*/
private String monthId;
/**
* 党群数
*/
private Integer groupTotal;
/**
* 议题数
*/
private Integer issueTotal;
/**
* 项目数
*/
private Integer projectTotal;
}

34
epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/GrassRootsOrgTrendResultDTO.java

@ -0,0 +1,34 @@
package com.epmet.evaluationindex.screen.dto.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription 05基层组织-指标月度趋势
* @date 2020/10/9 10:25
*/
@NoArgsConstructor
@Data
public class GrassRootsOrgTrendResultDTO implements Serializable {
private static final long serialVersionUID = -6911028881641915610L;
/**
* 横坐标集合
*/
private List<String> xAxis;
/**
* 党群数
*/
private List<Integer> groupTotalList;
/**
* 议题数
*/
private List<Integer> issueTotalList;
/**
* 项目数
*/
private List<Integer> projectTotal;
}

50
epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/PmRankResultDTO.java

@ -0,0 +1,50 @@
package com.epmet.evaluationindex.screen.dto.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription 03基层党员-党员排行榜单
* @date 2020/10/9 10:12
*/
@NoArgsConstructor
@Data
public class PmRankResultDTO implements Serializable {
private static final long serialVersionUID = 2939125411579816231L;
/**
* 用户ID
*/
private String userId;
/**
* 姓名
*/
private String userName;
/**
* 所属支部名称
*/
private String branchName;
/**
* 所属社区名称
*/
private String communityName;
/**
* 群成员数
*/
private Integer groupMemberTotal;
/**
* 话题数
*/
private Integer topicTotal;
/**
* 参与人次
*/
private Integer partiUserTotal;
/**
* 议题数
*/
private Integer issueTotal;
}

34
epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/PmTotalResultDTO.java

@ -0,0 +1,34 @@
package com.epmet.evaluationindex.screen.dto.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription 01基层党员-各类总数
* @date 2020/10/9 10:04
*/
@NoArgsConstructor
@Data
public class PmTotalResultDTO implements Serializable {
private static final long serialVersionUID = 4317234373580733128L;
/**
* 群成员数
*/
private Integer groupMemberTotal;
/**
* 话题数
*/
private Integer topicTotal;
/**
* 话题参与人次
*/
private Integer topicPartiUserTotal;
/**
* 议题数
*/
private Integer issueTotal;
}

35
epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/PmTotalTrendDTO.java

@ -0,0 +1,35 @@
package com.epmet.evaluationindex.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/10/9 15:05
*/
@Data
public class PmTotalTrendDTO implements Serializable {
private static final long serialVersionUID = -6773118646805355171L;
/**
* 月份
*/
private String monthId;
/**
* 群成员数
*/
private Integer groupMemberTotal;
/**
* 话题数
*/
private Integer topicTotal;
/**
* 话题参与人次
*/
private Integer topicPartiUserTotal;
/**
* 议题数
*/
private Integer issueTotal;
}

39
epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/PmTotalTrendResultDTO.java

@ -0,0 +1,39 @@
package com.epmet.evaluationindex.screen.dto.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription 02基层党员-指标月度趋势
* @date 2020/10/9 10:06
*/
@NoArgsConstructor
@Data
public class PmTotalTrendResultDTO implements Serializable {
private static final long serialVersionUID = -5705077703115309896L;
/**
* 横坐标集合
*/
private List<String> xAxis;
/**
* 群成员数
*/
private List<Integer> groupMemberTotalList;
/**
* 话题数
*/
private List<Integer> topicTotalList;
/**
* 话题参与人次
*/
private List<Integer> topicPartiUserTotalList;
/**
* 议题数
*/
private List<Integer> issueTotalList;
}

30
epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/ProjectProfileResultDTO.java

@ -0,0 +1,30 @@
package com.epmet.evaluationindex.screen.dto.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription 10项目
* @date 2020/10/9 10:57
*/
@NoArgsConstructor
@Data
public class ProjectProfileResultDTO implements Serializable {
private static final long serialVersionUID = -6525050844558886157L;
/**
* 组织id
*/
private String orgId;
/**
* 项目数量
*/
private Integer projectTotal;
/**
* 级别
*/
private String level;
}

175
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/AnScreenController.java

@ -0,0 +1,175 @@
package com.epmet.datareport.controller.screen;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.datareport.service.evaluationindex.screen.AnScreenService;
import com.epmet.evaluationindex.screen.dto.form.AnScreenFormDTO;
import com.epmet.evaluationindex.screen.dto.form.AnScreenRankFormDTO;
import com.epmet.evaluationindex.screen.dto.form.AnScreenTrendFormDTO;
import com.epmet.evaluationindex.screen.dto.result.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 安宁大屏
*
* @author zhaoqifeng
* @date 2020/10/9 9:32
*/
@RestController
@RequestMapping("anscreen")
public class AnScreenController {
@Autowired
private AnScreenService anScreenService;
/**
* 基层党员-各类总数
*
* @param formDTO
* @return com.epmet.evaluationindex.screen.dto.result.PmTotalResultDTO
* @author zhaoqifeng
* @date 2020/10/9 13:55
*/
@PostMapping("pmtotal")
public Result<PmTotalResultDTO> pmTotal(@RequestBody AnScreenFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, AnScreenFormDTO.AnScreenGroup.class);
PmTotalResultDTO result = anScreenService.pmTotal(formDTO);
return new Result<PmTotalResultDTO>().ok(result);
}
/**
* 基层党员-指标月度趋势
*
* @param formDTO
* @return com.epmet.evaluationindex.screen.dto.result.PmTotalTrendResultDTO
* @author zhaoqifeng
* @date 2020/10/9 13:57
*/
@PostMapping("pmtotaltrend")
public Result<PmTotalTrendResultDTO> pmTotalTrend(@RequestBody AnScreenTrendFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, AnScreenTrendFormDTO.AnScreenTrendGroup.class);
PmTotalTrendResultDTO result = anScreenService.pmTotalTrend(formDTO);
return new Result<PmTotalTrendResultDTO>().ok(result);
}
/**
* 基层党员-党员排行榜单
*
* @param formDTO
* @return java.util.List<com.epmet.evaluationindex.screen.dto.result.PmRankResultDTO>
* @author zhaoqifeng
* @date 2020/10/9 13:59
*/
@PostMapping("pmrank")
public Result<List<PmRankResultDTO>> pmRank(@RequestBody AnScreenRankFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, AnScreenRankFormDTO.AnScreenRankGroup.class);
List<PmRankResultDTO> result = anScreenService.pmRank(formDTO);
return new Result<List<PmRankResultDTO>>().ok(result);
}
/**
* 基层组织-党群数议题数项目数
*
* @param formDTO
* @return java.util.List<com.epmet.evaluationindex.screen.dto.result.GrassRootsOrgResultDTO>
* @author zhaoqifeng
* @date 2020/10/9 14:01
*/
@PostMapping("grassrootsorg")
public Result<GrassRootsOrgResultDTO> grassRootsOrg(@RequestBody AnScreenFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, AnScreenFormDTO.AnScreenGroup.class);
GrassRootsOrgResultDTO result = anScreenService.grassRootsOrg(formDTO);
return new Result<GrassRootsOrgResultDTO>().ok(result);
}
/**
* 基层组织-指标月度趋势
*
* @param formDTO
* @return com.epmet.evaluationindex.screen.dto.result.GrassRootsOrgTrendResultDTO
* @author zhaoqifeng
* @date 2020/10/9 14:03
*/
@PostMapping("grassrootsorgtrend")
public Result<GrassRootsOrgTrendResultDTO> grassRootsOrgTrend(@RequestBody AnScreenTrendFormDTO formDTO) {
GrassRootsOrgTrendResultDTO result = anScreenService.grassRootsOrgTrend(formDTO);
return new Result<GrassRootsOrgTrendResultDTO>().ok(result);
}
/**
* 基层组织-组织排行榜单
*
* @param formDTO
* @return java.util.List<com.epmet.evaluationindex.screen.dto.result.GrassRootsOrgRankResultDTO>
* @author zhaoqifeng
* @date 2020/10/9 14:06
*/
@PostMapping("grassrootsorgrank")
public Result<List<GrassRootsOrgRankResultDTO>> grassRootsOrgRank(@RequestBody AnScreenFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, AnScreenFormDTO.AnScreenGroup.class);
List<GrassRootsOrgRankResultDTO> result = anScreenService.grassRootsOrgRank(formDTO);
return new Result<List<GrassRootsOrgRankResultDTO>>().ok(result);
}
/**
* 基层治理-总数
*
* @param formDTO
* @return com.epmet.evaluationindex.screen.dto.result.GrassRootsGovernResultDTO
* @author zhaoqifeng
* @date 2020/10/9 14:10
*/
@PostMapping("grassrootsgovern")
public Result<GrassRootsGovernResultDTO> grassRootsGovern(@RequestBody AnScreenFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, AnScreenFormDTO.AnScreenGroup.class);
GrassRootsGovernResultDTO result = anScreenService.grassRootsGovern(formDTO);
return new Result<GrassRootsGovernResultDTO>().ok(result);
}
/**
* 基层治理-指标月度趋势
*
* @param formDTO
* @return com.epmet.evaluationindex.screen.dto.result.GrassRootsGovernTrendResultDTO
* @author zhaoqifeng
* @date 2020/10/9 14:11
*/
@PostMapping("grassrootsgoverntrend")
public Result<GrassRootsGovernTrendResultDTO> grassRootsGovernTrend(@RequestBody AnScreenTrendFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, AnScreenTrendFormDTO.AnScreenTrendGroup.class);
GrassRootsGovernTrendResultDTO result = anScreenService.grassRootsGovernTrend(formDTO);
return new Result<GrassRootsGovernTrendResultDTO>().ok(result);
}
/**
* 基层治理-治理排行
*
* @param formDTO
* @return java.util.List<com.epmet.evaluationindex.screen.dto.result.GrassRootsGovernRankResultDTO>
* @author zhaoqifeng
* @date 2020/10/9 14:13
*/
@PostMapping("grassrootsgovernrank")
public Result<List<GrassRootsGovernRankResultDTO>> grassRootsGovernRank(@RequestBody AnScreenFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, AnScreenFormDTO.AnScreenGroup.class);
List<GrassRootsGovernRankResultDTO> result = anScreenService.grassRootsGovernRank(formDTO);
return new Result<List<GrassRootsGovernRankResultDTO>>().ok(result);
}
/**
* 项目
*
* @param customerId
* @return java.util.List<com.epmet.evaluationindex.screen.dto.result.ProjectProfileResultDTO>
* @author zhaoqifeng
* @date 2020/10/9 14:16
*/
@PostMapping("projectprofile")
public Result<List<ProjectProfileResultDTO>> projectProfile(@RequestHeader("CustomerId") String customerId) {
List<ProjectProfileResultDTO> result = anScreenService.projectProfile(customerId);
return new Result<List<ProjectProfileResultDTO>>().ok(result);
}
}

43
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenan/ScreenAnCommunityProjectProfileDao.java

@ -0,0 +1,43 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.datareport.dao.evaluationindex.screenan;
import com.epmet.evaluationindex.screen.dto.result.ProjectProfileResultDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 安宁-社区-项目概况数量颜色
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-10-09
*/
@Mapper
public interface ScreenAnCommunityProjectProfileDao {
/**
* 项目
*
* @param customerId
* @return java.util.List<com.epmet.evaluationindex.screen.dto.result.ProjectProfileResultDTO>
* @author zhaoqifeng
* @date 2020/10/9 17:17
*/
List<ProjectProfileResultDTO> selectProjectProfile(@Param("customerId") String customerId);
}

69
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenan/ScreenAnGrassRootsGovernMonthlyDao.java

@ -0,0 +1,69 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.datareport.dao.evaluationindex.screenan;
import com.epmet.evaluationindex.screen.dto.result.GrassRootsGovernRankResultDTO;
import com.epmet.evaluationindex.screen.dto.result.GrassRootsGovernResultDTO;
import com.epmet.evaluationindex.screen.dto.result.GrassRootsGovernTrendDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 安宁-基层治理-各类数
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-10-09
*/
@Mapper
public interface ScreenAnGrassRootsGovernMonthlyDao {
/**
* 基层治理-总数
*
* @param agencyId
* @param monthId
* @return com.epmet.evaluationindex.screen.dto.result.GrassRootsGovernResultDTO
* @author zhaoqifeng
* @date 2020/10/9 16:48
*/
GrassRootsGovernResultDTO selectGrassRootsGovern(@Param("agencyId") String agencyId, @Param("monthId") String monthId);
/**
* 基层治理-指标月度趋势
*
* @param agencyId
* @param yearId
* @return java.util.List<com.epmet.evaluationindex.screen.dto.result.GrassRootsGovernTrendDTO>
* @author zhaoqifeng
* @date 2020/10/9 16:49
*/
List<GrassRootsGovernTrendDTO> selectGrassRootsGovernTrend(@Param("agencyId") String agencyId, @Param("yearId") String yearId);
/**
* 基层治理-治理排行
*
* @param agencyId
* @param monthId
* @return java.util.List<com.epmet.evaluationindex.screen.dto.result.GrassRootsGovernRankResultDTO>
* @author zhaoqifeng
* @date 2020/10/9 16:49
*/
List<GrassRootsGovernRankResultDTO> selectGrassRootsGovernRank(@Param("agencyId") String agencyId, @Param("monthId") String monthId);
}

70
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenan/ScreenAnGrassRootsOrgMonthlyDao.java

@ -0,0 +1,70 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.datareport.dao.evaluationindex.screenan;
import com.epmet.evaluationindex.screen.dto.result.GrassRootsOrgRankResultDTO;
import com.epmet.evaluationindex.screen.dto.result.GrassRootsOrgResultDTO;
import com.epmet.evaluationindex.screen.dto.result.GrassRootsOrgTrendDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 安宁-基层组织(党群数|议题数|项目数)-按月
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-10-09
*/
@Mapper
public interface ScreenAnGrassRootsOrgMonthlyDao {
/**
* 基层组织-党群数议题数项目数
*
* @param agencyId
* @param monthId
* @return com.epmet.evaluationindex.screen.dto.result.GrassRootsOrgResultDTO
* @author zhaoqifeng
* @date 2020/10/9 16:25
*/
GrassRootsOrgResultDTO selectGrassRootsOrg(@Param("agencyId") String agencyId, @Param("monthId") String monthId);
/**
* 基层组织-指标月度趋势
*
* @param agencyId
* @param yearId
* @return java.util.List<com.epmet.evaluationindex.screen.dto.result.GrassRootsOrgTrendDTO>
* @author zhaoqifeng
* @date 2020/10/9 16:32
*/
List<GrassRootsOrgTrendDTO> selectGrassRootsOrgTrend(@Param("agencyId") String agencyId, @Param("yearId") String yearId);
/**
* 基层组织-组织排行榜单
*
* @param agencyId
* @param monthId
* @return java.util.List<com.epmet.evaluationindex.screen.dto.result.GrassRootsOrgRankResultDTO>
* @author zhaoqifeng
* @date 2020/10/9 16:36
*/
List<GrassRootsOrgRankResultDTO> selectGrassRootsOrgRank(@Param("agencyId") String agencyId, @Param("monthId") String monthId);
}

45
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenan/ScreenAnGrassRootsPmRankDao.java

@ -0,0 +1,45 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.datareport.dao.evaluationindex.screenan;
import com.epmet.evaluationindex.screen.dto.result.PmRankResultDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 安宁-基层党员-排行榜单
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-10-09
*/
@Mapper
public interface ScreenAnGrassRootsPmRankDao {
/**
* 基层党员-党员排行榜单
*
* @param agencyId
* @param topNum
* @return java.util.List<com.epmet.evaluationindex.screen.dto.result.PmRankResultDTO>
* @author zhaoqifeng
* @date 2020/10/9 15:43
*/
List<PmRankResultDTO> selectPmRank(@Param("agencyId") String agencyId, @Param("topNum") Integer topNum);
}

59
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenan/ScreenAnGrassRootsPmTotalMonthlyDao.java

@ -0,0 +1,59 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.datareport.dao.evaluationindex.screenan;
import com.epmet.evaluationindex.screen.dto.form.AnScreenFormDTO;
import com.epmet.evaluationindex.screen.dto.result.PmTotalResultDTO;
import com.epmet.evaluationindex.screen.dto.result.PmTotalTrendDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 安宁-基层党员-各类总数
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-10-09
*/
@Mapper
public interface ScreenAnGrassRootsPmTotalMonthlyDao {
/**
* 基层党员-各类总数
*
* @param agencyId
* @param monthId
* @return com.epmet.evaluationindex.screen.dto.result.PmTotalResultDTO
* @author zhaoqifeng
* @date 2020/10/9 15:14
*/
PmTotalResultDTO selectPmTotal(@Param("agencyId") String agencyId, @Param("monthId") String monthId);
/**
* 基层党员-指标月度趋势
*
* @param agencyId
* @param yearId
* @return java.util.List<com.epmet.evaluationindex.screen.dto.result.PmTotalTrendDTO>
* @author zhaoqifeng
* @date 2020/10/9 15:12
*/
List<PmTotalTrendDTO> selectPmTotalTrend(@Param("agencyId") String agencyId, @Param("yearId") String yearId);
}

115
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/AnScreenService.java

@ -0,0 +1,115 @@
package com.epmet.datareport.service.evaluationindex.screen;
import com.epmet.evaluationindex.screen.dto.form.AnScreenFormDTO;
import com.epmet.evaluationindex.screen.dto.form.AnScreenRankFormDTO;
import com.epmet.evaluationindex.screen.dto.form.AnScreenTrendFormDTO;
import com.epmet.evaluationindex.screen.dto.result.*;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/10/9 9:34
*/
public interface AnScreenService {
/**
* 基层党员-各类总数
*
* @param formDTO
* @return com.epmet.evaluationindex.screen.dto.result.PmTotalResultDTO
* @author zhaoqifeng
* @date 2020/10/9 13:55
*/
PmTotalResultDTO pmTotal(AnScreenFormDTO formDTO);
/**
* 基层党员-指标月度趋势
*
* @param formDTO
* @return com.epmet.evaluationindex.screen.dto.result.PmTotalTrendResultDTO
* @author zhaoqifeng
* @date 2020/10/9 13:57
*/
PmTotalTrendResultDTO pmTotalTrend(AnScreenTrendFormDTO formDTO);
/**
* 基层党员-党员排行榜单
*
* @param formDTO
* @return java.util.List<com.epmet.evaluationindex.screen.dto.result.PmRankResultDTO>
* @author zhaoqifeng
* @date 2020/10/9 13:59
*/
List<PmRankResultDTO> pmRank(AnScreenRankFormDTO formDTO);
/**
* 基层组织-党群数议题数项目数
*
* @param formDTO
* @return com.epmet.evaluationindex.screen.dto.result.GrassRootsOrgResultDTO
* @author zhaoqifeng
* @date 2020/10/9 14:01
*/
GrassRootsOrgResultDTO grassRootsOrg(AnScreenFormDTO formDTO);
/**
* 基层组织-指标月度趋势
*
* @param formDTO
* @return com.epmet.evaluationindex.screen.dto.result.GrassRootsOrgTrendResultDTO
* @author zhaoqifeng
* @date 2020/10/9 14:03
*/
GrassRootsOrgTrendResultDTO grassRootsOrgTrend(AnScreenTrendFormDTO formDTO);
/**
* 基层组织-组织排行榜单
*
* @param formDTO
* @return java.util.List<com.epmet.evaluationindex.screen.dto.result.GrassRootsOrgRankResultDTO>
* @author zhaoqifeng
* @date 2020/10/9 14:06
*/
List<GrassRootsOrgRankResultDTO> grassRootsOrgRank(AnScreenFormDTO formDTO);
/**
* 基层治理-总数
*
* @param formDTO
* @return com.epmet.evaluationindex.screen.dto.result.GrassRootsGovernResultDTO
* @author zhaoqifeng
* @date 2020/10/9 14:10
*/
GrassRootsGovernResultDTO grassRootsGovern(AnScreenFormDTO formDTO);
/**
* 基层治理-指标月度趋势
*
* @param formDTO
* @return com.epmet.evaluationindex.screen.dto.result.GrassRootsGovernTrendResultDTO
* @author zhaoqifeng
* @date 2020/10/9 14:11
*/
GrassRootsGovernTrendResultDTO grassRootsGovernTrend(AnScreenTrendFormDTO formDTO);
/**
* 基层治理-治理排行
*
* @param formDTO
* @return java.util.List<com.epmet.evaluationindex.screen.dto.result.GrassRootsGovernRankResultDTO>
* @author zhaoqifeng
* @date 2020/10/9 14:13
*/
List<GrassRootsGovernRankResultDTO> grassRootsGovernRank(AnScreenFormDTO formDTO);
/**
* 项目
*
* @param customerId
* @return java.util.List<com.epmet.evaluationindex.screen.dto.result.ProjectProfileResultDTO>
* @author zhaoqifeng
* @date 2020/10/9 14:16
*/
List<ProjectProfileResultDTO> projectProfile(String customerId);
}

255
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/AnScreenServiceImpl.java

@ -0,0 +1,255 @@
package com.epmet.datareport.service.evaluationindex.screen.impl;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.constant.DataSourceConstant;
import com.epmet.datareport.dao.evaluationindex.screenan.*;
import com.epmet.datareport.service.evaluationindex.screen.AnScreenService;
import com.epmet.evaluationindex.screen.dto.form.AnScreenFormDTO;
import com.epmet.evaluationindex.screen.dto.form.AnScreenRankFormDTO;
import com.epmet.evaluationindex.screen.dto.form.AnScreenTrendFormDTO;
import com.epmet.evaluationindex.screen.dto.result.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/10/9 9:35
*/
@Service
@DataSource(DataSourceConstant.EVALUATION_INDEX)
public class AnScreenServiceImpl implements AnScreenService {
@Autowired
private ScreenAnGrassRootsPmTotalMonthlyDao screenAnGrassRootsPmTotalMonthlyDao;
@Autowired
private ScreenAnGrassRootsPmRankDao screenAnGrassRootsPmRankDao;
@Autowired
private ScreenAnGrassRootsOrgMonthlyDao screenAnGrassRootsOrgMonthlyDao;
@Autowired
private ScreenAnGrassRootsGovernMonthlyDao screenAnGrassRootsGovernMonthlyDao;
@Autowired
private ScreenAnCommunityProjectProfileDao screenAnCommunityProjectProfileDao;
/**
* 基层党员-各类总数
*
* @param formDTO
* @return com.epmet.evaluationindex.screen.dto.result.PmTotalResultDTO
* @author zhaoqifeng
* @date 2020/10/9 13:55
*/
@Override
public PmTotalResultDTO pmTotal(AnScreenFormDTO formDTO) {
return screenAnGrassRootsPmTotalMonthlyDao.selectPmTotal(formDTO.getAgencyId(), formDTO.getMonthId());
}
/**
* 基层党员-指标月度趋势
*
* @param formDTO
* @return com.epmet.evaluationindex.screen.dto.result.PmTotalTrendResultDTO
* @author zhaoqifeng
* @date 2020/10/9 13:57
*/
@Override
public PmTotalTrendResultDTO pmTotalTrend(AnScreenTrendFormDTO formDTO) {
PmTotalTrendResultDTO resultDTO = new PmTotalTrendResultDTO();
String yearId = DateUtils.format(new Date(), DateUtils.DATE_PATTERN_YYYY);
List<PmTotalTrendDTO> list = screenAnGrassRootsPmTotalMonthlyDao.selectPmTotalTrend(formDTO.getAgencyId(), yearId);
List<String> xAxis = list.stream().map(item -> getMonth(item.getMonthId())).collect(Collectors.toList());
List<Integer> groupMemberTotalList = list.stream().map(PmTotalTrendDTO::getGroupMemberTotal).collect(Collectors.toList());
List<Integer> topicTotalList = list.stream().map(PmTotalTrendDTO::getTopicTotal).collect(Collectors.toList());
List<Integer> topicPartiUserTotalList = list.stream().map(PmTotalTrendDTO::getTopicPartiUserTotal).collect(Collectors.toList());
List<Integer> issueTotalList = list.stream().map(PmTotalTrendDTO::getIssueTotal).collect(Collectors.toList());
resultDTO.setXAxis(xAxis);
resultDTO.setGroupMemberTotalList(groupMemberTotalList);
resultDTO.setTopicTotalList(topicTotalList);
resultDTO.setTopicPartiUserTotalList(topicPartiUserTotalList);
resultDTO.setIssueTotalList(issueTotalList);
return resultDTO;
}
/**
* 基层党员-党员排行榜单
*
* @param formDTO
* @return java.util.List<com.epmet.evaluationindex.screen.dto.result.PmRankResultDTO>
* @author zhaoqifeng
* @date 2020/10/9 13:59
*/
@Override
public List<PmRankResultDTO> pmRank(AnScreenRankFormDTO formDTO) {
return screenAnGrassRootsPmRankDao.selectPmRank(formDTO.getAgencyId(), formDTO.getTopNum());
}
/**
* 基层组织-党群数议题数项目数
*
* @param formDTO
* @return java.util.List<com.epmet.evaluationindex.screen.dto.result.GrassRootsOrgResultDTO>
* @author zhaoqifeng
* @date 2020/10/9 14:01
*/
@Override
public GrassRootsOrgResultDTO grassRootsOrg(AnScreenFormDTO formDTO) {
return screenAnGrassRootsOrgMonthlyDao.selectGrassRootsOrg(formDTO.getAgencyId(), formDTO.getMonthId());
}
/**
* 基层组织-指标月度趋势
*
* @param formDTO
* @return com.epmet.evaluationindex.screen.dto.result.GrassRootsOrgTrendResultDTO
* @author zhaoqifeng
* @date 2020/10/9 14:03
*/
@Override
public GrassRootsOrgTrendResultDTO grassRootsOrgTrend(AnScreenTrendFormDTO formDTO) {
GrassRootsOrgTrendResultDTO resultDTO = new GrassRootsOrgTrendResultDTO();
String yearId = DateUtils.format(new Date(), DateUtils.DATE_PATTERN_YYYY);
List<GrassRootsOrgTrendDTO> list = screenAnGrassRootsOrgMonthlyDao.selectGrassRootsOrgTrend(formDTO.getAgencyId(), yearId);
List<String> xAxis = list.stream().map(item -> getMonth(item.getMonthId())).collect(Collectors.toList());
List<Integer> groupTotalList = list.stream().map(GrassRootsOrgTrendDTO::getGroupTotal).collect(Collectors.toList());
List<Integer> issueTotalList = list.stream().map(GrassRootsOrgTrendDTO::getIssueTotal).collect(Collectors.toList());
List<Integer> projectTotal = list.stream().map(GrassRootsOrgTrendDTO::getProjectTotal).collect(Collectors.toList());
resultDTO.setXAxis(xAxis);
resultDTO.setGroupTotalList(groupTotalList);
resultDTO.setIssueTotalList(issueTotalList);
resultDTO.setProjectTotal(projectTotal);
return resultDTO;
}
/**
* 基层组织-组织排行榜单
*
* @param formDTO
* @return java.util.List<com.epmet.evaluationindex.screen.dto.result.GrassRootsOrgRankResultDTO>
* @author zhaoqifeng
* @date 2020/10/9 14:06
*/
@Override
public List<GrassRootsOrgRankResultDTO> grassRootsOrgRank(AnScreenFormDTO formDTO) {
return screenAnGrassRootsOrgMonthlyDao.selectGrassRootsOrgRank(formDTO.getAgencyId(), formDTO.getMonthId());
}
/**
* 基层治理-总数
*
* @param formDTO
* @return com.epmet.evaluationindex.screen.dto.result.GrassRootsGovernResultDTO
* @author zhaoqifeng
* @date 2020/10/9 14:10
*/
@Override
public GrassRootsGovernResultDTO grassRootsGovern(AnScreenFormDTO formDTO) {
return screenAnGrassRootsGovernMonthlyDao.selectGrassRootsGovern(formDTO.getAgencyId(), formDTO.getMonthId());
}
/**
* 基层治理-指标月度趋势
*
* @param formDTO
* @return com.epmet.evaluationindex.screen.dto.result.GrassRootsGovernTrendResultDTO
* @author zhaoqifeng
* @date 2020/10/9 14:11
*/
@Override
public GrassRootsGovernTrendResultDTO grassRootsGovernTrend(AnScreenTrendFormDTO formDTO) {
GrassRootsGovernTrendResultDTO resultDTO = new GrassRootsGovernTrendResultDTO();
String yearId = DateUtils.format(new Date(), DateUtils.DATE_PATTERN_YYYY);
List<GrassRootsGovernTrendDTO> list = screenAnGrassRootsGovernMonthlyDao.selectGrassRootsGovernTrend(formDTO.getAgencyId(), yearId);
List<String> xAxis = list.stream().map(item -> getMonth(item.getMonthId())).collect(Collectors.toList());
List<Integer> partiProjectTotalList = list.stream().map(GrassRootsGovernTrendDTO::getPartiProjectTotal).collect(Collectors.toList());
List<Integer> closedProjectTotalList = list.stream().map(GrassRootsGovernTrendDTO::getClosedProjectTotal).collect(Collectors.toList());
List<BigDecimal> projectResponseRatioList = list.stream().map(GrassRootsGovernTrendDTO::getProjectResponseRatio).collect(Collectors.toList());
List<BigDecimal> projectSatisRatioList = list.stream().map(GrassRootsGovernTrendDTO::getProjectSatisRatio).collect(Collectors.toList());
List<BigDecimal> closedProjectRatioList = list.stream().map(GrassRootsGovernTrendDTO::getClosedProjectRatio).collect(Collectors.toList());
resultDTO.setXAxis(xAxis);
resultDTO.setPartiProjectTotalList(partiProjectTotalList);
resultDTO.setClosedProjectTotalList(closedProjectTotalList);
resultDTO.setProjectResponseRatioList(projectResponseRatioList);
resultDTO.setProjectSatisRatioList(projectSatisRatioList);
resultDTO.setClosedProjectRatioList(closedProjectRatioList);
return resultDTO;
}
/**
* 基层治理-治理排行
*
* @param formDTO
* @return java.util.List<com.epmet.evaluationindex.screen.dto.result.GrassRootsGovernRankResultDTO>
* @author zhaoqifeng
* @date 2020/10/9 14:13
*/
@Override
public List<GrassRootsGovernRankResultDTO> grassRootsGovernRank(AnScreenFormDTO formDTO) {
return screenAnGrassRootsGovernMonthlyDao.selectGrassRootsGovernRank(formDTO.getAgencyId(), formDTO.getMonthId());
}
/**
* 项目
*
* @param customerId
* @return java.util.List<com.epmet.evaluationindex.screen.dto.result.ProjectProfileResultDTO>
* @author zhaoqifeng
* @date 2020/10/9 14:16
*/
@Override
public List<ProjectProfileResultDTO> projectProfile(String customerId) {
return screenAnCommunityProjectProfileDao.selectProjectProfile(customerId);
}
private String getMonth(String monthId) {
String month = monthId.substring(NumConstant.FOUR, NumConstant.SIX);
String name = "";
switch (month) {
case "01":
name = "1月";
break;
case "02":
name = "2月";
break;
case "03":
name = "3月";
break;
case "04":
name = "4月";
break;
case "05":
name = "5月";
break;
case "06":
name = "6月";
break;
case "07":
name = "7月";
break;
case "08":
name = "8月";
break;
case "09":
name = "9月";
break;
case "10":
name = "10月";
break;
case "11":
name = "11月";
break;
case "12":
name = "12月";
break;
default:
break;
}
return name;
}
}

13
epmet-module/data-report/data-report-server/src/main/resources/mapper/screenan/ScreenAnCommunityProjectProfileDao.xml

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.datareport.dao.evaluationindex.screenan.ScreenAnCommunityProjectProfileDao">
<select id="selectProjectProfile" resultType="com.epmet.evaluationindex.screen.dto.result.ProjectProfileResultDTO">
SELECT ORG_ID,
PROJECT_TOTAL,
LEVEL
FROM screen_an_community_project_profile
WHERE DEL_FLAG = 0
AND CUSTOMER_ID = #{customerId}
</select>
</mapper>

44
epmet-module/data-report/data-report-server/src/main/resources/mapper/screenan/ScreenAnGrassRootsGovernMonthlyDao.xml

@ -0,0 +1,44 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.datareport.dao.evaluationindex.screenan.ScreenAnGrassRootsGovernMonthlyDao">
<select id="selectGrassRootsGovern" resultType="com.epmet.evaluationindex.screen.dto.result.GrassRootsGovernResultDTO">
SELECT PARTI_PROJECT_TOTAL,
CLOSED_PROJECT_TOTAL,
CONCAT( 0 + cast( TRUNCATE ( PROJECT_RESPONSE_RATIO, 1 ) AS CHAR ), '%' ) AS "projectResponseRatio",
CONCAT( 0 + cast( TRUNCATE ( PROJECT_SATIS_RATIO, 1 ) AS CHAR ), '%' ) AS "projectSatisRatio",
CONCAT( 0 + cast( TRUNCATE ( CLOSED_PROJECT_RATIO, 1 ) AS CHAR ), '%' ) AS "closedProjectRatio"
FROM screen_an_grass_roots_govern_monthly
WHERE DEL_FLAG = 0
AND ORG_ID = #{agencyId}
AND MONTH_ID = #{monthId}
</select>
<select id="selectGrassRootsGovernTrend" resultType="com.epmet.evaluationindex.screen.dto.result.GrassRootsGovernTrendDTO">
SELECT MONTH_ID,
PARTI_PROJECT_TOTAL,
CLOSED_PROJECT_TOTAL,
0 + cast( TRUNCATE ( PROJECT_RESPONSE_RATIO, 1 ) AS CHAR ) AS "projectResponseRatio",
0 + cast( TRUNCATE ( PROJECT_SATIS_RATIO, 1 ) AS CHAR ) AS "projectSatisRatio",
0 + cast( TRUNCATE ( CLOSED_PROJECT_RATIO, 1 ) AS CHAR ) AS "closedProjectRatio"
FROM screen_an_grass_roots_govern_monthly
WHERE DEL_FLAG = 0
AND ORG_ID = #{agencyId}
AND YEAR_ID = #{yearId}
ORDER BY MONTH_ID
</select>
<select id="selectGrassRootsGovernRank" resultType="com.epmet.evaluationindex.screen.dto.result.GrassRootsGovernRankResultDTO">
SELECT ORG_NAME,
PARTI_PROJECT_TOTAL,
CLOSED_PROJECT_TOTAL,
CONCAT( 0 + cast( TRUNCATE ( PROJECT_RESPONSE_RATIO, 1 ) AS CHAR ), '%' ) AS "projectResponseRatio",
CONCAT( 0 + cast( TRUNCATE ( PROJECT_SATIS_RATIO, 1 ) AS CHAR ), '%' ) AS "projectSatisRatio",
CONCAT( 0 + cast( TRUNCATE ( CLOSED_PROJECT_RATIO, 1 ) AS CHAR ), '%' ) AS "closedProjectRatio"
FROM screen_an_grass_roots_govern_monthly
WHERE DEL_FLAG = 0
AND PID = #{agencyId}
AND MONTH_ID = #{monthId}
ORDER BY PARTI_PROJECT_TOTAL DESC
</select>
</mapper>

38
epmet-module/data-report/data-report-server/src/main/resources/mapper/screenan/ScreenAnGrassRootsOrgMonthlyDao.xml

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.datareport.dao.evaluationindex.screenan.ScreenAnGrassRootsOrgMonthlyDao">
<!--基层组织-党群数、议题数、项目数-->
<select id="selectGrassRootsOrg" resultType="com.epmet.evaluationindex.screen.dto.result.GrassRootsOrgResultDTO">
SELECT GROUP_TOTAL,
ISSUE_TOTAL,
PROJECT_TOTAL
FROM screen_an_grass_roots_org_monthly
WHERE DEL_FLAG = 0
AND ORG_ID = #{agencyId}
AND MONTH_ID = #{monthId}
</select>
<select id="selectGrassRootsOrgTrend" resultType="com.epmet.evaluationindex.screen.dto.result.GrassRootsOrgTrendDTO">
SELECT MONTH_ID,
GROUP_TOTAL,
ISSUE_TOTAL,
PROJECT_TOTAL
FROM screen_an_grass_roots_org_monthly
WHERE DEL_FLAG = 0
AND ORG_ID = #{agencyId}
AND YEAR_ID = #{yearId}
ORDER BY MONTH_ID
</select>
<select id="selectGrassRootsOrgRank" resultType="com.epmet.evaluationindex.screen.dto.result.GrassRootsOrgRankResultDTO">
SELECT ORG_NAME,
GROUP_TOTAL,
ISSUE_TOTAL,
PROJECT_TOTAL
FROM screen_an_grass_roots_org_monthly
WHERE DEL_FLAG = 0
AND PID = #{agencyId}
AND MONTH_ID = #{monthId}
ORDER BY GROUP_TOTAL DESC
</select>
</mapper>

21
epmet-module/data-report/data-report-server/src/main/resources/mapper/screenan/ScreenAnGrassRootsPmRankDao.xml

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.datareport.dao.evaluationindex.screenan.ScreenAnGrassRootsPmRankDao">
<!--基层党员-党员排行榜单-->
<select id="selectPmRank" resultType="com.epmet.evaluationindex.screen.dto.result.PmRankResultDTO">
SELECT USER_ID,
USER_NAME,
BRANCH_NAME,
COMMUNITY_NAME,
GROUP_MEMBER_TOTAL,
TOPIC_TOTAL,
PARTI_USER_TOTAL,
ISSUE_TOTAL
FROM screen_an_grass_roots_pm_rank
WHERE DEL_FLAG = 0
AND ALL_PARENT_IDS LIKE concat('%', trim(#{agencyId}), '%')
ORDER BY GROUP_MEMBER_TOTAL DESC
LIMIT #{topNum}
</select>
</mapper>

28
epmet-module/data-report/data-report-server/src/main/resources/mapper/screenan/ScreenAnGrassRootsPmTotalMonthlyDao.xml

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.datareport.dao.evaluationindex.screenan.ScreenAnGrassRootsPmTotalMonthlyDao">
<!--基层党员-各类总数-->
<select id="selectPmTotal" resultType="com.epmet.evaluationindex.screen.dto.result.PmTotalResultDTO">
SELECT GROUP_MEMBER_TOTAL,
TOPIC_TOTAL,
TOPIC_PARTI_USER_TOTAL,
ISSUE_TOTAL
FROM screen_an_grass_roots_pm_total_monthly
WHERE DEL_FLAG = '0'
AND ORG_ID = #{agencyId}
AND MONTH_ID = #{monthId}
</select>
<select id="selectPmTotalTrend" resultType="com.epmet.evaluationindex.screen.dto.result.PmTotalTrendDTO">
SELECT MONTH_ID,
GROUP_MEMBER_TOTAL,
TOPIC_TOTAL,
TOPIC_PARTI_USER_TOTAL,
ISSUE_TOTAL
FROM screen_an_grass_roots_pm_total_monthly
WHERE DEL_FLAG = '0'
AND ORG_ID = #{agencyId}
AND YEAR_ID = #{yearId}
ORDER BY MONTH_ID
</select>
</mapper>

36
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/AnCommunityProjectProfileFormDTO.java

@ -0,0 +1,36 @@
package com.epmet.dto.screencoll.form;
import lombok.Data;
import java.io.Serializable;
/**
* 安宁-社区-项目概况数量颜色
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-10-09
*/
@Data
public class AnCommunityProjectProfileFormDTO implements Serializable {
private static final long serialVersionUID = 1466172677051250092L;
/**
* 数据更新至: yyyy|yyyyMM|yyyyMMdd项目根据实际情况赋值
*/
private String dataEndTime;
/**
* 社区id
*/
private String orgId;
/**
* 项目数
*/
private Integer projectTotal;
/**
* 等级
*/
private String level;
}

62
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/AnGrassRootsGovernMonthlyFormDTO.java

@ -0,0 +1,62 @@
package com.epmet.dto.screencoll.form;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 安宁-基层治理-各类数
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-10-09
*/
@Data
public class AnGrassRootsGovernMonthlyFormDTO implements Serializable {
private static final long serialVersionUID = -6947401956711903753L;
/**
* 网格街道或社区id
*/
private String orgId;
/**
* 网格街道名称或者社区名称
*/
private String orgName;
/**
* 网格grid;组织agency
*/
private String orgType;
/**
* org_id的上一级id
*/
private String pid;
/**
* 参与项目数
*/
private Integer partiProjectTotal;
/**
* 办结项目数
*/
private Integer closedProjectTotal;
/**
* 项目响应度 存储的是%前面的数
*/
private BigDecimal projectResponseRatio;
/**
* 项目满意率存储的是%前面的数
*/
private BigDecimal projectSatisRatio;
/**
* 办结率 for 社区
*/
private BigDecimal closedProjectRatio;
}

51
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/AnGrassRootsOrgMonthlyFormDTO.java

@ -0,0 +1,51 @@
package com.epmet.dto.screencoll.form;
import lombok.Data;
import java.io.Serializable;
/**
* 安宁-基层组织(党群数|议题数|项目数)-按月
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-10-09
*/
@Data
public class AnGrassRootsOrgMonthlyFormDTO implements Serializable {
private static final long serialVersionUID = -7389300512268641307L;
/**
* 网格id或者组织(街道或社区)id
*/
private String orgId;
/**
* 组织名称OR网格名称
*/
private String orgName;
/**
* 网格grid; 组织agency
*/
private String orgType;
/**
* org_id的上一级id
*/
private String pid;
/**
* 党群数
*/
private Integer groupTotal;
/**
* 议题数
*/
private Integer issueTotal;
/**
* 项目数
*/
private Integer projectTotal;
}

71
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/AnGrassRootsPmRankFormDTO.java

@ -0,0 +1,71 @@
package com.epmet.dto.screencoll.form;
import lombok.Data;
import java.io.Serializable;
/**
* 安宁-基层党员-排行榜单
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-10-09
*/
@Data
public class AnGrassRootsPmRankFormDTO implements Serializable {
private static final long serialVersionUID = 3642729389245262928L;
/**
* 用户id
*/
private String userId;
/**
* 姓名
*/
private String userName;
/**
* 所属支部id
*/
private String branchId;
/**
* 所属支部名称
*/
private String branchName;
/**
* 所属社区id
*/
private String communityId;
/**
* 所属社区名称
*/
private String communityName;
/**
* 群成员数
*/
private Integer groupMemberTotal;
/**
* 话题数
*/
private Integer topicTotal;
/**
* 参与人次
*/
private Integer partiUserTotal;
/**
* 议题数
*/
private Integer issueTotal;
/**
* 所有上级ID用英文逗号分开
*/
private String allParentIds;
}

57
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/AnGrassRootsPmTotalMonthlyFormDTO.java

@ -0,0 +1,57 @@
package com.epmet.dto.screencoll.form;
import lombok.Data;
import java.io.Serializable;
/**
* 安宁-基层党员-各类总数
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-10-09
*/
@Data
public class AnGrassRootsPmTotalMonthlyFormDTO implements Serializable {
private static final long serialVersionUID = 8675347783888892404L;
/**
* 网格id或者组织(街道或社区)id
*/
private String orgId;
/**
* 组织名称OR网格名称
*/
private String orgName;
/**
* 网格grid;组织agency
*/
private String orgType;
/**
* org_id的上一级id
*/
private String pid;
/**
* 群成员数
*/
private Integer groupMemberTotal;
/**
* 话题数
*/
private Integer topicTotal;
/**
* 话题参与人次
*/
private Integer topicPartiUserTotal;
/**
* 议题数
*/
private Integer issueTotal;
}

99
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/AnScreenCollController.java

@ -0,0 +1,99 @@
package com.epmet.controller;
import com.epmet.commons.tools.exception.ValidateException;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.screencoll.ScreenCollFormDTO;
import com.epmet.dto.screencoll.form.*;
import com.epmet.service.evaluationindex.screen.AnScreenCollService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* @Description 安宁数据采集接口
* @ClassName AnScreenCollController
* @Auth wangc
* @Date 2020-10-09 13:30
*/
@RestController
@RequestMapping("anscreencoll")
public class AnScreenCollController {
@Autowired
private AnScreenCollService screenCollService;
/**
* @Description 安宁大屏数据采集 - 基层党员-各类总数
* @NEI https://nei.netease.com/interface/detail/?pid=57069&id=329494
* @param formDTO
* @return void
* @author wangc
* @date 2020.10.09 17:20
*/
@PostMapping("pmtotal")
public Result pmTotal(@RequestHeader("CustomerId") String customerId, @RequestBody ScreenCollFormDTO<AnGrassRootsPmTotalMonthlyFormDTO> formDTO){
if(StringUtils.isBlank(customerId)) throw new ValidateException("客户Id不能为空");
screenCollService.pmTotal(formDTO,customerId);
return new Result();
}
/**
* @Description 安宁大屏数据采集 - 基层党员-党员排行榜单
* @NEI https://nei.netease.com/interface/detail/?pid=57069&id=329483
* @param formDTO
* @return void
* @author wangc
* @date 2020.10.09 17:19
*/
@PostMapping("pmrank")
public Result pmRank(@RequestHeader("CustomerId") String customerId, @RequestBody ScreenCollFormDTO<AnGrassRootsPmRankFormDTO> formDTO){
if(StringUtils.isBlank(customerId)) throw new ValidateException("客户Id不能为空");
screenCollService.pmRank(formDTO,customerId);
return new Result();
}
/**
* @Description 安宁大屏数据采集 - 基层组织(党群数|议题数|项目数)-按月
* @NEI https://nei.netease.com/interface/detail/?pid=57069&id=329498
* @param formDTO
* @return void
* @author wangc
* @date 2020.10.09 17:22
*/
@PostMapping("grassrootsorg")
public Result grassrootsOrg(@RequestHeader("CustomerId") String customerId, @RequestBody ScreenCollFormDTO<AnGrassRootsOrgMonthlyFormDTO> formDTO){
if(StringUtils.isBlank(customerId)) throw new ValidateException("客户Id不能为空");
screenCollService.grassrootsOrg(formDTO,customerId);
return new Result();
}
/**
* @Description 安宁大屏数据采集 - 基层治理-各类数
* @NEI https://nei.netease.com/interface/detail/?pid=57069&id=329499
* @param formDTO
* @return void
* @author wangc
* @date 2020.10.09 17:23
*/
@PostMapping("grassrootsgovern")
public Result grassrootsGovern(@RequestHeader("CustomerId") String customerId, @RequestBody ScreenCollFormDTO<AnGrassRootsGovernMonthlyFormDTO> formDTO){
if(StringUtils.isBlank(customerId)) throw new ValidateException("客户Id不能为空");
screenCollService.grassrootsGovern(formDTO,customerId);
return new Result();
}
/**
* @Description 安宁大屏数据采集 - 中央区-项目概要
* @NEI https://nei.netease.com/interface/detail/?pid=57069&id=329502
* @param formDTO
* @return void
* @author wangc
* @date 2020.10.09 16:41
*/
@PostMapping("projectfile")
public Result projectFile(@RequestHeader("CustomerId") String customerId, @RequestBody ScreenCollFormDTO<AnCommunityProjectProfileFormDTO> formDTO){
if(StringUtils.isBlank(customerId)) throw new ValidateException("客户Id不能为空");
screenCollService.communityProjectProfile(formDTO,customerId);
return new Result();
}
}

55
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenAnCommunityProjectProfileDao.java

@ -0,0 +1,55 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dao.evaluationindex.screen;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.screencoll.form.AnCommunityProjectProfileFormDTO;
import com.epmet.entity.evaluationindex.screen.ScreenAnCommunityProjectProfileEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 安宁-社区-项目概况数量颜色
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-10-09
*/
@Mapper
public interface ScreenAnCommunityProjectProfileDao extends BaseDao<ScreenAnCommunityProjectProfileEntity> {
/**
* @Description 批量删除
* @param customerId
* @return int
* @author wangc
* @date 2020.10.09 15:30
*/
int deleteBatch(@Param("customerId") String customerId);
/**
* @Description 批量写入
* @param list
* @param customerId
* @return int
* @author wangc
* @date 2020.10.09 15:30
*/
int insertBatch(@Param("list") List<AnCommunityProjectProfileFormDTO> list,@Param("customerId") String customerId);
}

60
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenAnGrassRootsGovernMonthlyDao.java

@ -0,0 +1,60 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dao.evaluationindex.screen;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.screencoll.form.AnGrassRootsGovernMonthlyFormDTO;
import com.epmet.entity.evaluationindex.screen.ScreenAnGrassRootsGovernMonthlyEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 安宁-基层治理-各类数
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-10-09
*/
@Mapper
public interface ScreenAnGrassRootsGovernMonthlyDao extends BaseDao<ScreenAnGrassRootsGovernMonthlyEntity> {
/**
* @Description 批量删除
* @param customerId
* @return int
* @author wangc
* @date 2020.10.09 15:30
*/
int deleteBatch(@Param("customerId") String customerId, @Param("monthId") String monthId);
/**
* @Description 批量新增
* @param list
* @param customerId
* @param monthId
* @param quarterId
* @param yearId
* @return int
* @author wangc
* @date 2020.10.09 16:08
*/
int insertBatch(@Param("list") List<AnGrassRootsGovernMonthlyFormDTO> list,
@Param("customerId") String customerId, @Param("monthId") String monthId,
@Param("quarterId")String quarterId,@Param("yearId")String yearId);
}

61
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenAnGrassRootsOrgMonthlyDao.java

@ -0,0 +1,61 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dao.evaluationindex.screen;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.screencoll.form.AnGrassRootsOrgMonthlyFormDTO;
import com.epmet.entity.evaluationindex.screen.ScreenAnGrassRootsOrgMonthlyEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 安宁-基层组织(党群数|议题数|项目数)-按月
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-10-09
*/
@Mapper
public interface ScreenAnGrassRootsOrgMonthlyDao extends BaseDao<ScreenAnGrassRootsOrgMonthlyEntity> {
/**
* @Description 批量删除
* @param customerId
* @return int
* @author wangc
* @date 2020.10.09 15:30
*/
int deleteBatch(@Param("customerId") String customerId, @Param("monthId") String monthId);
/**
* @Description 批量新增
* @param list
* @param customerId
* @param monthId
* @param quarterId
* @param yearId
* @return int
* @author wangc
* @date 2020.10.09 16:07
*/
int insertBatch(@Param("list") List<AnGrassRootsOrgMonthlyFormDTO> list,
@Param("customerId") String customerId, @Param("monthId") String monthId,
@Param("quarterId")String quarterId,@Param("yearId")String yearId);
}

56
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenAnGrassRootsPmRankDao.java

@ -0,0 +1,56 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dao.evaluationindex.screen;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.screencoll.form.AnGrassRootsPmRankFormDTO;
import com.epmet.entity.evaluationindex.screen.ScreenAnGrassRootsPmRankEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 安宁-基层党员-排行榜单
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-10-09
*/
@Mapper
public interface ScreenAnGrassRootsPmRankDao extends BaseDao<ScreenAnGrassRootsPmRankEntity> {
/***
* @Description 批量删除
* @param customerId
* @return int
* @author wangc
* @date 2020.10.09 16:07
*/
int deleteBatch(@Param("customerId") String customerId);
/**
* @Description 批量新增
* @param list
* @param customerId
* @return int
* @author wangc
* @date 2020.10.09 16:10
*/
int insertBatch(@Param("list") List<AnGrassRootsPmRankFormDTO> list,@Param("customerId") String customerId);
}

64
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenAnGrassRootsPmTotalMonthlyDao.java

@ -0,0 +1,64 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dao.evaluationindex.screen;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.screencoll.form.AnGrassRootsPmTotalMonthlyFormDTO;
import com.epmet.entity.evaluationindex.screen.ScreenAnGrassRootsPmTotalMonthlyEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 安宁-基层党员-各类总数
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-10-09
*/
@Mapper
public interface ScreenAnGrassRootsPmTotalMonthlyDao extends BaseDao<ScreenAnGrassRootsPmTotalMonthlyEntity> {
/**
* @Description 批量删除
* @param customerId
* @param monthId
* @return int
* @author wangc
* @date 2020.10.09 16:25
*/
int deleteBatch(@Param("customerId")String customerId,@Param("monthId")String monthId);
/**
* @Description 批量新增
* @param list
* @param customerId
* @param monthId
* @param quarterId
* @param yearId
* @return int
* @author wangc
* @date 2020.10.09 16:35
*/
int insertBatch(@Param("list") List<AnGrassRootsPmTotalMonthlyFormDTO> list,
@Param("customerId")String customerId,
@Param("monthId")String monthId,
@Param("quarterId")String quarterId,
@Param("yearId")String yearId);
}

66
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenAnCommunityProjectProfileEntity.java

@ -0,0 +1,66 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.entity.evaluationindex.screen;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 安宁-社区-项目概况数量颜色
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-10-09
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("screen_an_community_project_profile")
public class ScreenAnCommunityProjectProfileEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户Id
*/
private String customerId;
/**
* 数据更新至: yyyy|yyyyMM|yyyyMMdd项目根据实际情况赋值
*/
private String dataEndTime;
/**
* 社区id
*/
private String orgId;
/**
* 项目数
*/
private Integer projectTotal;
/**
* 等级
*/
private String level;
}

107
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenAnGrassRootsGovernMonthlyEntity.java

@ -0,0 +1,107 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.entity.evaluationindex.screen;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.util.Date;
/**
* 安宁-基层治理-各类数
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-10-09
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("screen_an_grass_roots_govern_monthly")
public class ScreenAnGrassRootsGovernMonthlyEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户Id
*/
private String customerId;
/**
* 月维度IdyyyyMM
*/
private String monthId;
/**
* 季度Id:yyyyQ1,yyyyQ2,yyyyQ3,yyyyQ4
*/
private String quarterId;
/**
* 年Id:yyyy
*/
private String yearId;
/**
* 网格街道或社区id
*/
private String orgId;
/**
* 网格街道名称或者社区名称
*/
private String orgName;
/**
* 网格grid;组织agency
*/
private String orgType;
/**
* org_id的上一级id
*/
private String pid;
/**
* 参与项目数
*/
private Integer partiProjectTotal;
/**
* 办结项目数
*/
private Integer closedProjectTotal;
/**
* 项目响应度 存储的是%前面的数
*/
private BigDecimal projectResponseRatio;
/**
* 项目满意率存储的是%前面的数
*/
private BigDecimal projectSatisRatio;
/**
* 办结率 for 社区
*/
private BigDecimal closedProjectRatio;
}

96
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenAnGrassRootsOrgMonthlyEntity.java

@ -0,0 +1,96 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.entity.evaluationindex.screen;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 安宁-基层组织(党群数|议题数|项目数)-按月
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-10-09
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("screen_an_grass_roots_org_monthly")
public class ScreenAnGrassRootsOrgMonthlyEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户Id
*/
private String customerId;
/**
* 月维度IdyyyyMM
*/
private String monthId;
/**
* 季度Id:yyyyQ1,yyyyQ2,yyyyQ3,yyyyQ4
*/
private String quarterId;
/**
* 年Id:yyyy
*/
private String yearId;
/**
* 网格id或者组织(街道或社区)id
*/
private String orgId;
/**
* 组织名称OR网格名称
*/
private String orgName;
/**
* 网格grid; 组织agency
*/
private String orgType;
/**
* org_id的上一级id
*/
private String pid;
/**
* 党群数
*/
private Integer groupTotal;
/**
* 议题数
*/
private Integer issueTotal;
/**
* 项目数
*/
private Integer projectTotal;
}

101
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenAnGrassRootsPmRankEntity.java

@ -0,0 +1,101 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.entity.evaluationindex.screen;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 安宁-基层党员-排行榜单
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-10-09
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("screen_an_grass_roots_pm_rank")
public class ScreenAnGrassRootsPmRankEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户Id
*/
private String customerId;
/**
* 用户id
*/
private String userId;
/**
* 姓名
*/
private String userName;
/**
* 所属支部id
*/
private String branchId;
/**
* 所属支部名称
*/
private String branchName;
/**
* 所属社区id
*/
private String communityId;
/**
* 所属社区名称
*/
private String communityName;
/**
* 群成员数
*/
private Integer groupMemberTotal;
/**
* 话题数
*/
private Integer topicTotal;
/**
* 参与人次
*/
private Integer partiUserTotal;
/**
* 议题数
*/
private Integer issueTotal;
/**
* 所有上级ID用英文逗号分开
*/
private String allParentIds;
}

101
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenAnGrassRootsPmTotalMonthlyEntity.java

@ -0,0 +1,101 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.entity.evaluationindex.screen;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 安宁-基层党员-各类总数
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-10-09
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("screen_an_grass_roots_pm_total_monthly")
public class ScreenAnGrassRootsPmTotalMonthlyEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户Id
*/
private String customerId;
/**
* 月维度IdyyyyMM
*/
private String monthId;
/**
* 季度Id:yyyyQ1,yyyyQ2,yyyyQ3,yyyyQ4
*/
private String quarterId;
/**
* 年Id:yyyy
*/
private String yearId;
/**
* 网格id或者组织(街道或社区)id
*/
private String orgId;
/**
* 组织名称OR网格名称
*/
private String orgName;
/**
* 网格grid;组织agency
*/
private String orgType;
/**
* org_id的上一级id
*/
private String pid;
/**
* 群成员数
*/
private Integer groupMemberTotal;
/**
* 话题数
*/
private Integer topicTotal;
/**
* 话题参与人次
*/
private Integer topicPartiUserTotal;
/**
* 议题数
*/
private Integer issueTotal;
}

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

@ -710,7 +710,8 @@ public class FactIndexCollectServiceImpl implements FactIndexCollectService {
}
}
if ("".equals(agencyName)) {
throw new RuntimeException("在screen_customer_agency表中未查询到该客户下的组织名称:customerId =" + customerId + ", agencyId = " + agencyScore.getKey());
log.error("在screen_customer_agency表中未查询到该客户下的组织名称:customerId =" + customerId + ", agencyId = " + agencyScore.getKey());
continue;
}
// 补充表中其他字段
monthlyFormDTO = this.supplementIndexDataMonthlyTable(monthId, OrgTypeConstant.AGENCY, agencyScore.getKey(),

59
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/AnScreenCollService.java

@ -0,0 +1,59 @@
package com.epmet.service.evaluationindex.screen;
import com.epmet.dto.screencoll.ScreenCollFormDTO;
import com.epmet.dto.screencoll.form.*;
/**
* 大屏数据采集api - 安宁
*/
public interface AnScreenCollService {
/**
* @Description 安宁大屏数据采集 - 中央区-项目概要
* @NEI https://nei.netease.com/interface/detail/?pid=57069&id=329502
* @param formDTO
* @return void
* @author wangc
* @date 2020.10.09 16:41
*/
void communityProjectProfile(ScreenCollFormDTO<AnCommunityProjectProfileFormDTO> formDTO,String customerId);
/**
* @Description 安宁大屏数据采集 - 基层党员-党员排行榜单
* @NEI https://nei.netease.com/interface/detail/?pid=57069&id=329483
* @param formDTO
* @return void
* @author wangc
* @date 2020.10.09 17:19
*/
void pmRank(ScreenCollFormDTO<AnGrassRootsPmRankFormDTO> formDTO,String customerId);
/**
* @Description 安宁大屏数据采集 - 基层党员-各类总数
* @NEI https://nei.netease.com/interface/detail/?pid=57069&id=329494
* @param formDTO
* @return void
* @author wangc
* @date 2020.10.09 17:20
*/
void pmTotal(ScreenCollFormDTO<AnGrassRootsPmTotalMonthlyFormDTO> formDTO,String customerId);
/**
* @Description 安宁大屏数据采集 - 基层组织(党群数|议题数|项目数)-按月
* @param formDTO
* @return void
* @author wangc
* @date 2020.10.09 17:22
*/
void grassrootsOrg(ScreenCollFormDTO<AnGrassRootsOrgMonthlyFormDTO> formDTO,String customerId);
/**
* @Description 安宁大屏数据采集 - 基层治理-各类数
* @param formDTO
* @return void
* @author wangc
* @date 2020.10.09 17:23
*/
void grassrootsGovern(ScreenCollFormDTO<AnGrassRootsGovernMonthlyFormDTO> formDTO,String customerId);
}

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

@ -0,0 +1,191 @@
package com.epmet.service.evaluationindex.screen.impl;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.constant.DataSourceConstant;
import com.epmet.dao.evaluationindex.screen.ScreenAnCommunityProjectProfileDao;
import com.epmet.dao.evaluationindex.screen.ScreenAnGrassRootsGovernMonthlyDao;
import com.epmet.dao.evaluationindex.screen.ScreenAnGrassRootsOrgMonthlyDao;
import com.epmet.dao.evaluationindex.screen.ScreenAnGrassRootsPmRankDao;
import com.epmet.dao.evaluationindex.screen.ScreenAnGrassRootsPmTotalMonthlyDao;
import com.epmet.dto.screencoll.ScreenCollFormDTO;
import com.epmet.dto.screencoll.form.*;
import com.epmet.service.evaluationindex.screen.AnScreenCollService;
import com.google.common.collect.Lists;
import lombok.extern.slf4j.Slf4j;
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;
/**
* @Description 安宁数据采集
* @ClassName AnScreenCollServiceImpl
* @Auth wangc
* @Date 2020-10-09 13:32
*/
@Service
@DataSource(DataSourceConstant.EVALUATION_INDEX)
@Slf4j
public class AnScreenCollServiceImpl implements AnScreenCollService {
@Autowired
private ScreenAnCommunityProjectProfileDao communityProjectProfileDao;
@Autowired
private ScreenAnGrassRootsGovernMonthlyDao governMonthlyDao;
@Autowired
private ScreenAnGrassRootsOrgMonthlyDao orgMonthlyDao;
@Autowired
private ScreenAnGrassRootsPmRankDao pmRankDao;
@Autowired
private ScreenAnGrassRootsPmTotalMonthlyDao pmTotalMonthlyDao;
/**
* @Description 安宁大屏数据采集 - 中央区-项目概要
* @NEI https://nei.netease.com/interface/detail/?pid=57069&id=329502
* @param formDTO
* @return void
* @author wangc
* @date 2020.10.09 16:41
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void communityProjectProfile(ScreenCollFormDTO<AnCommunityProjectProfileFormDTO> formDTO,String customerId) {
List<AnCommunityProjectProfileFormDTO> dataList = formDTO.getDataList();
if(CollectionUtils.isEmpty(dataList)) return ;
if(formDTO.getIsFirst()){
int affectRows = communityProjectProfileDao.deleteBatch(customerId);
while(affectRows >= NumConstant.ONE){
affectRows = communityProjectProfileDao.deleteBatch(customerId);
}
}
Lists.partition(formDTO.getDataList(),NumConstant.ONE_HUNDRED).forEach(list -> {
communityProjectProfileDao.insertBatch(list,customerId);
});
}
/**
* @Description 安宁大屏数据采集 - 基层党员-党员排行榜单
* @NEI https://nei.netease.com/interface/detail/?pid=57069&id=329483
* @param formDTO
* @return void
* @author wangc
* @date 2020.10.09 17:19
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void pmRank(ScreenCollFormDTO<AnGrassRootsPmRankFormDTO> formDTO,String customerId) {
List<AnGrassRootsPmRankFormDTO> dataList = formDTO.getDataList();
if(CollectionUtils.isEmpty(dataList)) return ;
if(formDTO.getIsFirst()){
int affectRows = pmRankDao.deleteBatch(customerId);
while(affectRows >= NumConstant.ONE){
affectRows = pmRankDao.deleteBatch(customerId);
}
}
Lists.partition(formDTO.getDataList(),NumConstant.ONE_HUNDRED).forEach(list -> {
pmRankDao.insertBatch(list,customerId);
});
}
/**
* @Description 安宁大屏数据采集 - 基层党员-各类总数
* @NEI https://nei.netease.com/interface/detail/?pid=57069&id=329494
* @param formDTO
* @return void
* @author wangc
* @date 2020.10.09 17:20
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void pmTotal(ScreenCollFormDTO<AnGrassRootsPmTotalMonthlyFormDTO> formDTO,String customerId) {
List<AnGrassRootsPmTotalMonthlyFormDTO> dataList = formDTO.getDataList();
if(CollectionUtils.isEmpty(dataList)) return ;
if(formDTO.getIsFirst()){
int affectRows = pmTotalMonthlyDao.deleteBatch(customerId,formDTO.getMonthId());
while(affectRows >= NumConstant.ONE){
affectRows = pmTotalMonthlyDao.deleteBatch(customerId,formDTO.getMonthId());
}
}
String quarterId = DateUtils.getQuarterId(formDTO.getMonthId());
String yearId = DateUtils.getYearId(formDTO.getMonthId());
Lists.partition(formDTO.getDataList(),NumConstant.ONE_HUNDRED).forEach(list -> {
pmTotalMonthlyDao.insertBatch(list,
customerId,
formDTO.getMonthId(),
quarterId,
yearId);
});
}
/**
* @Description 安宁大屏数据采集 - 基层组织(党群数|议题数|项目数)-按月
* @param formDTO
* @return void
* @author wangc
* @date 2020.10.09 17:22
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void grassrootsOrg(ScreenCollFormDTO<AnGrassRootsOrgMonthlyFormDTO> formDTO,String customerId) {
List<AnGrassRootsOrgMonthlyFormDTO> dataList = formDTO.getDataList();
if(CollectionUtils.isEmpty(dataList)) return ;
if(formDTO.getIsFirst()){
int affectRows = orgMonthlyDao.deleteBatch(customerId,formDTO.getMonthId());
while(affectRows >= NumConstant.ONE){
affectRows = orgMonthlyDao.deleteBatch(customerId,formDTO.getMonthId());
}
}
String quarterId = DateUtils.getQuarterId(formDTO.getMonthId());
String yearId = DateUtils.getYearId(formDTO.getMonthId());
Lists.partition(formDTO.getDataList(),NumConstant.ONE_HUNDRED).forEach(list -> {
orgMonthlyDao.insertBatch(list,
customerId,
formDTO.getMonthId(),
quarterId,
yearId);
});
}
/**
* @Description 安宁大屏数据采集 - 基层治理-各类数
* @param formDTO
* @return void
* @author wangc
* @date 2020.10.09 17:23
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void grassrootsGovern(ScreenCollFormDTO<AnGrassRootsGovernMonthlyFormDTO> formDTO,String customerId) {
List<AnGrassRootsGovernMonthlyFormDTO> dataList = formDTO.getDataList();
if(CollectionUtils.isEmpty(dataList)) return ;
if(formDTO.getIsFirst()){
int affectRows = governMonthlyDao.deleteBatch(customerId,formDTO.getMonthId());
while(affectRows >= NumConstant.ONE){
affectRows = governMonthlyDao.deleteBatch(customerId,formDTO.getMonthId());
}
}
String quarterId = DateUtils.getQuarterId(formDTO.getMonthId());
String yearId = DateUtils.getYearId(formDTO.getMonthId());
Lists.partition(formDTO.getDataList(),NumConstant.ONE_HUNDRED).forEach(list -> {
governMonthlyDao.insertBatch(list,
customerId,
formDTO.getMonthId(),
quarterId,
yearId);
});
}
}

46
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenAnCommunityProjectProfileDao.xml

@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.evaluationindex.screen.ScreenAnCommunityProjectProfileDao">
<delete id="deleteBatch">
DELETE
FROM
screen_an_community_project_profile
WHERE
CUSTOMER_ID = #{customerId}
LIMIT 1000
</delete>
<insert id="insertBatch">
INSERT INTO screen_an_community_project_profile
( id,
customer_id,
data_end_time,
org_id,
project_total,
level,
created_by,
created_time,
updated_by,
updated_time
)
values
<foreach collection="list" item="item" index="index" separator=",">
(
(SELECT REPLACE(UUID(), '-', '') AS id),
#{customerId},
#{item.dataEndTime},
#{item.orgId},
#{item.projectTotal},
#{item.level},
'APP_USER',
NOW(),
'APP_USER',
NOW()
)
</foreach>
</insert>
</mapper>

63
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenAnGrassRootsGovernMonthlyDao.xml

@ -0,0 +1,63 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.evaluationindex.screen.ScreenAnGrassRootsGovernMonthlyDao">
<delete id="deleteBatch">
DELETE
FROM
screen_an_grass_roots_govern_monthly
WHERE
CUSTOMER_ID = #{customerId}
AND
MONTH_ID = #{monthId}
LIMIT 1000
</delete>
<insert id="insertBatch">
INSERT INTO screen_an_grass_roots_govern_monthly
(
id,
customer_id,
month_id,
quarter_id,
year_id,
org_id,
org_name,
org_type,
pid,
parti_project_total,
closed_project_total,
project_response_ratio,
project_satis_ratio,
closed_project_ratio,
created_by,
created_time,
updated_by,
updated_time
)values
<foreach collection="list" item="item" index="index" separator=",">
(
(SELECT REPLACE(UUID(), '-', '') AS id),
#{customerId},
#{monthId},
#{quarterId},
#{yearId},
#{item.orgId},
#{item.orgName},
#{item.orgType},
#{item.pid},
#{item.partiProjectTotal},
#{item.closedProjectTotal},
#{item.projectResponseRatio},
#{item.projectSatisRatio},
#{item.closedProjectRatio},
'APP_USER',
NOW(),
'APP_USER',
NOW()
)
</foreach>
</insert>
</mapper>

60
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenAnGrassRootsOrgMonthlyDao.xml

@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.evaluationindex.screen.ScreenAnGrassRootsOrgMonthlyDao">
<delete id="deleteBatch">
DELETE
FROM
screen_an_grass_roots_org_monthly
WHERE
CUSTOMER_ID = #{customerId}
AND
MONTH_ID = #{monthId}
LIMIT 1000
</delete>
<insert id="insertBatch">
INSERT INTO screen_an_grass_roots_org_monthly
(
id,
customer_id,
month_id,
quarter_id,
year_id,
org_id,
org_name,
org_type,
pid,
group_total,
issue_total,
project_total,
created_by,
created_time,
updated_by,
updated_time
)values
<foreach collection="list" item="item" index="index" separator=",">
(
(SELECT REPLACE(UUID(), '-', '') AS id),
#{customerId},
#{monthId},
#{quarterId},
#{yearId},
#{item.orgId},
#{item.orgName},
#{item.orgType},
#{item.pid},
#{item.groupTotal},
#{item.issueTotal},
#{item.projectTotal},
'APP_USER',
NOW(),
'APP_USER',
NOW()
)
</foreach>
</insert>
</mapper>

59
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenAnGrassRootsPmRankDao.xml

@ -0,0 +1,59 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.evaluationindex.screen.ScreenAnGrassRootsPmRankDao">
<delete id="deleteBatch">
DELETE
FROM
screen_an_grass_roots_pm_rank
WHERE
CUSTOMER_ID = #{customerId}
LIMIT 1000
</delete>
<insert id="insertBatch">
INSERT INTO screen_an_grass_roots_pm_rank
(
id,
customer_id,
user_id,
user_name,
branch_id,
branch_name,
community_id,
community_name,
group_member_total,
topic_total,
parti_user_total,
issue_total,
all_parent_ids,
created_by,
created_time,
updated_by,
updated_time
)values
<foreach collection="list" item="item" index="index" separator=",">
(
(SELECT REPLACE(UUID(), '-', '') AS id),
#{customerId},
#{item.userId},
#{item.userName},
#{item.branchId},
#{item.branchName},
#{item.communityId},
#{item.communityName},
#{item.groupMemberTotal},
#{item.topicTotal},
#{item.partiUserTotal},
#{item.issueTotal},
#{item.allParentIds},
'APP_USER',
NOW(),
'APP_USER',
NOW()
)
</foreach>
</insert>
</mapper>

61
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenAnGrassRootsPmTotalMonthlyDao.xml

@ -0,0 +1,61 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.evaluationindex.screen.ScreenAnGrassRootsPmTotalMonthlyDao">
<delete id="deleteBatch">
DELETE
FROM
screen_an_grass_roots_pm_total_monthly
WHERE
CUSTOMER_ID = #{customerId}
AND
MONTH_ID = #{monthId}
LIMIT 1000
</delete>
<insert id="insertBatch">
INSERT INTO screen_an_grass_roots_pm_total_monthly
(
id,
customer_id,
month_id,
quarter_id,
year_id,
org_id,
org_name,
org_type,
pid,
group_member_total,
topic_total,
topic_parti_user_total,
issue_total,
created_by,
created_time,
updated_by,
updated_time
)values
<foreach collection="list" item="item" index="index" separator=",">
(
(SELECT REPLACE(UUID(), '-', '') AS id),
#{customerId},
#{monthId},
#{quarterId},
#{yearId},
#{item.orgId},
#{item.orgName},
#{item.orgType},
#{item.pid},
#{item.groupMemberTotal},
#{item.topicTotal},
#{item.topicPartiUserTotal},
#{item.issueTotal},
'APP_USER',
NOW(),
'APP_USER',
NOW()
)
</foreach>
</insert>
</mapper>
Loading…
Cancel
Save