Browse Source

Merge remote-tracking branch 'remotes/origin/dev'

dev_shibei_match
jianjun 4 years ago
parent
commit
3b436e8050
  1. 12
      epmet-auth/src/main/java/com/epmet/controller/ThirdLoginController.java
  2. 27
      epmet-auth/src/main/java/com/epmet/dto/form/ThirdSendSmsCodeFormDTO.java
  3. 12
      epmet-auth/src/main/java/com/epmet/service/ThirdLoginService.java
  4. 46
      epmet-auth/src/main/java/com/epmet/service/impl/ThirdLoginServiceImpl.java
  5. 1
      epmet-cloud-generator/src/main/java/io/renren/GeneratorApplication.java
  6. 2
      epmet-cloud-generator/src/main/resources/application.yml
  7. 3
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/Constant.java
  8. 4
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java
  9. 51
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/OrgLevelEnum.java
  10. 1
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java
  11. 37
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java
  12. 4
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/DataSourceConstant.java
  13. 2
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/OrgConstant.java
  14. 96
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/FactGroupActDailyDTO.java
  15. 29
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/AgenctBasicDataFormDTO.java
  16. 38
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/AgencyGovrnFormDTO.java
  17. 33
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/GovrnRatioFormDTO.java
  18. 28
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/GridBasicDataFormDTO.java
  19. 44
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/GridGovrnFormDTO.java
  20. 18
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/PartyMemberVanguardFormDTO.java
  21. 51
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/SubAgencyFormDTO.java
  22. 51
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/SubGridFormDTO.java
  23. 96
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/AgencyBasicDataResultDTO.java
  24. 37
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/AgencyGovrnResultDTO.java
  25. 27
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/GovrnRatioResultDTO.java
  26. 96
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/GridBasicDataResultDTO.java
  27. 35
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/GridGovrnResultDTO.java
  28. 78
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/PartyMemberVanguardDetailResultDTO.java
  29. 23
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/PartyMemberVanguardRankResultDTO.java
  30. 33
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubAgencyGroupResultDTO.java
  31. 37
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubAgencyIssueResultDTO.java
  32. 33
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubAgencyProjectResultDTO.java
  33. 37
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubAgencyTopicResultDTO.java
  34. 33
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubAgencyUserResultDTO.java
  35. 33
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubGridGroupResultDTO.java
  36. 37
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubGridIssueResultDTO.java
  37. 33
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubGridProjectResultDTO.java
  38. 37
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubGridTopicResultDTO.java
  39. 33
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubGridUserResultDTO.java
  40. 76
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/ActCategoryDictDTO.java
  41. 42
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/form/BranchConAnalysisFormDTO.java
  42. 32
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/form/GroupActCategoryQueryFormDTO.java
  43. 48
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/form/GroupActRankFormDTO.java
  44. 44
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/form/SubAnalysisByCodeFormDTO.java
  45. 20
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/BranchConAnalysisDetailDTO.java
  46. 37
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/BranchConAnalysisResultDTO.java
  47. 23
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/GroupActRankDetailDTO.java
  48. 42
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/GroupActRankResultDTO.java
  49. 20
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/OrgInfoCommonDTO.java
  50. 18
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/RankCodeResultDTO.java
  51. 30
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/SubAnalysisByCodeResultDTO.java
  52. 56
      epmet-module/data-aggregator/data-aggregator-server/pom.xml
  53. 218
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/DataStatsController.java
  54. 104
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GroupActController.java
  55. 51
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/PartyMemberVanguardController.java
  56. 245
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/datastats/DataStatsDao.java
  57. 37
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/evaluationindex/EvaluationIndexDao.java
  58. 3
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerAgencyDao.java
  59. 5
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/resigroup/ResiGroupDao.java
  60. 78
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/datastats/DimAgencyEntity.java
  61. 49
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/datastats/DimCustomerEntity.java
  62. 59
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/datastats/DimGridEntity.java
  63. 162
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/DataStatsService.java
  64. 1302
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java
  65. 18
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/evaluationindex/EvaluationIndexService.java
  66. 40
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/evaluationindex/impl/EvaluationIndexServiceImpl.java
  67. 3
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java
  68. 28
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java
  69. 4
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java
  70. 47
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/resigroup/ResiGroupService.java
  71. 258
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/resigroup/impl/ResiGroupServiceImpl.java
  72. 10
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/bootstrap.yml
  73. 657
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml
  74. 23
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/evaluationindex/EvaluationIndexDao.xml
  75. 14
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerAgencyDao.xml
  76. 13
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/resigroup/ResiGroupDao.xml
  77. 117
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/dto/IndexExplainDTO.java
  78. 92
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/dto/IndexExplainTreeDTO.java
  79. 58
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/form/IndexExplainFormDTO.java
  80. 43
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/form/IndexScoreFormDTO.java
  81. 25
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/result/IndexExplainChildResult.java
  82. 53
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/result/IndexExplainResult.java
  83. 92
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/result/IndexGroupDetailResult.java
  84. 51
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/result/IndexScoreDetailResult.java
  85. 46
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/result/IndexScoreResult.java
  86. 5
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/form/AdvancedBranchRankFormDTO.java
  87. 35
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/form/PartyPointRankFormDTO.java
  88. 7
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/AblityListResultDTO.java
  89. 5
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/IndexDictResultDTO.java
  90. 21
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/IndexScoreResultDTO.java
  91. 35
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/PartyPointRankResultDTO.java
  92. 85
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/constant/IndexConstant.java
  93. 77
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/index/IndexExplainController.java
  94. 28
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/ScreenUserController.java
  95. 0
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/.gitignore
  96. 36
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/index/IndexExplainDao.java
  97. 33
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/index/IndexGroupDao.java
  98. 45
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/index/IndexGroupDetailDao.java
  99. 20
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenPartyUserRankDataDao.java
  100. 4
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/fact/FactIndexAgencySubScoreDao.java

12
epmet-auth/src/main/java/com/epmet/controller/ThirdLoginController.java

@ -104,4 +104,16 @@ public class ThirdLoginController {
return new Result().ok("");
}
/**
* @param formDTO
* @author sun
* @description 单客户-工作端微信小程序登录-发送验证码
**/
@PostMapping(value = "sendsmscode")
public Result sendSmsCode(@RequestBody ThirdSendSmsCodeFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO,ThirdSendSmsCodeFormDTO.AddUserShowGroup.class);
thirdLoginService.sendSmsCode(formDTO);
return new Result();
}
}

27
epmet-auth/src/main/java/com/epmet/dto/form/ThirdSendSmsCodeFormDTO.java

@ -0,0 +1,27 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 单客户-工作端微信小程序登录-发送验证码
* @Author sun
*/
@Data
public class ThirdSendSmsCodeFormDTO implements Serializable {
private static final long serialVersionUID = -1852541457359282018L;
/**
* 小程序appId
*/
@NotBlank(message = "appId不能为空", groups = {AddUserShowGroup.class})
private String appId;
/**
* 手机号
*/
@NotBlank(message = "手机号不能为空", groups = {AddUserShowGroup.class})
private String mobile;
public interface AddUserShowGroup extends CustomerClientShowGroup {}
}

12
epmet-auth/src/main/java/com/epmet/service/ThirdLoginService.java

@ -1,9 +1,6 @@
package com.epmet.service;
import com.epmet.dto.form.GetResiWxPhoneFormDTO;
import com.epmet.dto.form.LoginFormDTO;
import com.epmet.dto.form.ThirdStaffOrgsFormDTO;
import com.epmet.dto.form.ThirdWxmpEnteOrgFormDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.StaffOrgsResultDTO;
import com.epmet.dto.result.UserTokenResultDTO;
@ -62,4 +59,11 @@ public interface ThirdLoginService {
* @description 单客户-获取微信用户手机号
**/
String getResiWxPhone(GetResiWxPhoneFormDTO formDTO);
/**
* @param formDTO
* @author sun
* @description 单客户-工作端微信小程序登录-发送验证码
**/
void sendSmsCode(ThirdSendSmsCodeFormDTO formDTO);
}

46
epmet-auth/src/main/java/com/epmet/service/impl/ThirdLoginServiceImpl.java

@ -14,10 +14,13 @@ import com.epmet.commons.tools.security.dto.GovTokenDto;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.security.password.PasswordUtils;
import com.epmet.commons.tools.utils.*;
import com.epmet.commons.tools.validator.PhoneValidatorUtils;
import com.epmet.constant.AuthHttpUrlConstant;
import com.epmet.constant.SmsTemplateConstant;
import com.epmet.dto.*;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.feign.EpmetMessageOpenFeignClient;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.feign.GovOrgOpenFeignClient;
import com.epmet.jwt.JwtTokenProperties;
@ -56,6 +59,8 @@ public class ThirdLoginServiceImpl implements ThirdLoginService {
private EpmetUserOpenFeignClient epmetUserOpenFeignClient;
@Autowired
private GovOrgOpenFeignClient govOrgOpenFeignClient;
@Autowired
private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient;
/**
* @param formDTO
@ -589,4 +594,45 @@ public class ThirdLoginServiceImpl implements ThirdLoginService {
return phone;
}
/**
* @param formDTO
* @author sun
* @description 单客户-工作端微信小程序登录-发送验证码
**/
@Override
public void sendSmsCode(ThirdSendSmsCodeFormDTO formDTO) {
String str = "发送短信验证码异常,手机号[%s],code[%s],msg[%s]";
//1.校验手机号是否符合规范
if (!PhoneValidatorUtils.isMobile(formDTO.getMobile())) {
logger.warn(String.format(str, formDTO.getMobile(), EpmetErrorCode.ERROR_PHONE.getCode(), EpmetErrorCode.ERROR_PHONE.getMsg()));
throw new RenException(EpmetErrorCode.ERROR_PHONE.getCode());
}
//2.根据手机号校验用户是否存在
//2-1.根据appId查询对应客户Id
PaCustomerDTO customer = this.getCustomerInfo(formDTO.getAppId());
//2-2.根据手机号查询到用户信息
ThirdCustomerStaffFormDTO dto = new ThirdCustomerStaffFormDTO();
dto.setCustomerId(customer.getId());
dto.setMobile(formDTO.getMobile());
Result<List<CustomerStaffDTO>> customerStaffResult = epmetUserOpenFeignClient.getCustsomerStaffByIdAndPhone(dto);
if (!customerStaffResult.success()) {
logger.warn(String.format(str, formDTO.getMobile(), customerStaffResult.getCode(), customerStaffResult.getMsg()));
throw new RenException(customerStaffResult.getCode());
}
//3.发送短信验证码
SendVerificationCodeFormDTO sendVerificationCodeFormDTO = new SendVerificationCodeFormDTO();
sendVerificationCodeFormDTO.setMobile(formDTO.getMobile());
sendVerificationCodeFormDTO.setAliyunTemplateCode(SmsTemplateConstant.LGOIN_CONFIRM);
Result<SendVerificationCodeResultDTO> smsCodeResult = epmetMessageOpenFeignClient.sendVerificationCode(sendVerificationCodeFormDTO);
if (!smsCodeResult.success()) {
logger.warn(String.format(str, formDTO.getMobile(), smsCodeResult.getCode(), smsCodeResult.getMsg()));
throw new RenException(smsCodeResult.getCode());
}
//4.保存短信验证码(删除现有短信验证码 将新的短信验证码存入Redis)
SendSmsCodeFormDTO sendSmsCodeFormDTO = new SendSmsCodeFormDTO();
sendSmsCodeFormDTO.setMobile(formDTO.getMobile());
captchaRedis.saveSmsCode(sendSmsCodeFormDTO, smsCodeResult.getData().getCode());
logger.info(String.format("发送短信验证码成功,手机号[%s]", formDTO.getMobile()));
}
}

1
epmet-cloud-generator/src/main/java/io/renren/GeneratorApplication.java

@ -8,5 +8,6 @@ public class GeneratorApplication {
public static void main(String[] args) {
SpringApplication.run(GeneratorApplication.class, args);
System.out.println("http://localhost:8070/epmet-cloud-generator/#generator.html");
}
}

2
epmet-cloud-generator/src/main/resources/application.yml

@ -9,7 +9,7 @@ spring:
type: com.alibaba.druid.pool.DruidDataSource
#MySQL配置
driverClassName: com.mysql.jdbc.Driver
url: jdbc:mysql://192.168.1.130:3306/epmet_third?useUnicode=true&characterEncoding=UTF-8&useSSL=false
url: jdbc:mysql://192.168.1.130:3306/epmet_data_statistical?useUnicode=true&characterEncoding=UTF-8&useSSL=false
username: epmet_dba
password: EpmEt-dbA-UsEr
#oracle配置

3
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/Constant.java

@ -8,6 +8,7 @@
package com.epmet.commons.tools.constant;
/**
* 常量
*
@ -133,4 +134,6 @@ public interface Constant {
* 创建时间字段名
*/
String CREATED_TIME = "created_time";
String DEFAULT_CUSTOMER = "default";
}

4
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java

@ -48,6 +48,10 @@ public interface NumConstant {
int MAX = 99999999;
int EIGHTY_EIGHT = 88;
int EIGHTY = 80;
int NINETY = 90;
int ONE_HUNDRED_AND_EIGHTY = 180;
int THREE_HUNDRED_AND_SIXTY_FIVE = 365;
int SEVENTY_FIVE = 75;
double ZERO_DOT_ZERO = 0.0;

51
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/OrgLevelEnum.java

@ -0,0 +1,51 @@
package com.epmet.commons.tools.enums;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException;
/**
* 组织级别枚举类
* dev|test|prod
*
* @author jianjun liu
* @date 2020-07-03 11:14
**/
public enum OrgLevelEnum {
/**
* 组织等级枚举
*/
GRID("grid"),
COMMUNITY("community"),
STREET("street"),
DISTRICT("district"),
CITY("city"),
PROVINCE("province"),
;
private String code;
OrgLevelEnum(String code) {
this.code = code;
}
public static OrgLevelEnum getEnum(String code) {
OrgLevelEnum[] values = OrgLevelEnum.values();
for (OrgLevelEnum value : values) {
if (value.getCode().equals(code)) {
return value;
}
}
throw new RenException(EpmetErrorCode.INTERNAL_VALIDATE_ERROR.getCode());
}
public String getCode() {
return code;
}
}

1
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java

@ -150,6 +150,7 @@ public enum EpmetErrorCode {
TOPIC_ALREADY_SHIFTED_TO_ISSUE(9005,"该话题已被转为议题,请勿重复操作"),
TOPIC_IS_HIDDEN(9006,"该话题已被屏蔽,请先解除屏蔽"),
TOPIC_IS_CLOSED(9008,"该话题已关闭,无法转为议题"),
TOPIC_SHIFT_ISSUE(9008,"该话题已转议题,不允许关闭或屏蔽"),
CUSTOMER_CATEGORY(9101,"分类已使用,不允许删除"),
CATEGORY_NAME(9102,"分类名称已存在,不允许重复"),

37
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java

@ -17,6 +17,7 @@ import org.joda.time.LocalDate;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.ZoneId;
@ -781,4 +782,40 @@ public class DateUtils {
Date nowDate = c.getTime();
return com.epmet.commons.tools.utils.DateUtils.format(nowDate, com.epmet.commons.tools.utils.DateUtils.DATE_PATTERN_YYYYMM);
}
/**
* @Author sun
* @Description 获取当前日期的前一天日期yyyy-mm-dd
**/
public static Date yesterDay() {
Date date = new Date();
try {
DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, -24);
String str = sdf.format(calendar.getTime());
date = sdf.parse(str);
} catch (Exception e) {
e.printStackTrace();
}
return date;
}
/**
* 格式化日期
* @param dateStr String 字符型日期
* @param format String 格式
* @return Date 日期
*/
public static Date parseDate(String dateStr, String format) {
Date date = null;
try {
DateFormat dateFormat = new SimpleDateFormat(format);
date = dateFormat.parse(dateStr);
} catch (Exception e) {
e.printStackTrace();
}
return date;
}
}

4
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/DataSourceConstant.java

@ -26,4 +26,8 @@ public interface DataSourceConstant {
String EPMET_COMMON_SERVICE="commonservice";
String OPER_CRM="opercrm";
String DATA_STATISTICAL="datastatistical";
String EVALUATION_INDEX = "evaluationIndex";
}

2
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/OrgConstant.java

@ -5,4 +5,6 @@ package com.epmet.dataaggre.constant;
* @DateTime 2020/12/25 上午10:55
*/
public interface OrgConstant {
String AGENCY = "agency";
String GRID = "grid";
}

96
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/FactGroupActDailyDTO.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.dataaggre.dto.datastats;
import lombok.Data;
import java.io.Serializable;
/**
* 组织活动(参加人数组织次数平均参加人数)按天累计值分析
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-05-13
*/
@Data
public class FactGroupActDailyDTO implements Serializable {
private static final long serialVersionUID = 4411632223804355342L;
/**
* 客户ID
*/
private String customerId;
/**
* 数据更新至日期IdyyyyMMdd
*/
private String dateId;
/**
* 网格id
*/
private String orgId;
/**
* 网格grid;组织agency
*/
private String orgType;
/**
* 1)orgType=grid: pid=网格所属组织id;
2)orgType=agency pid=当前组织的上级组织
*/
private String pid;
/**
* 1)orgType=grid: pids=网格所有上级组织包括pid;
2)orgType=agency pids=当前组织的所有上级组织包括pid.
*/
private String pids;
/**
* 活动分类编码
*/
private String categoryCode;
/**
* 上级分类编码
*/
private String parentCode;
/**
* 分类等级
*/
private Integer level;
/**
* 截止到dateId: 组织次数;包含dateId这一天的数据
*/
private Integer organizeTotal;
/**
* 截止到dateId: 参加人数;包含dateId这一天的数据
*/
private Integer participateUserTotal;
/**
* 截止到dateId: 平均参加人数;包含dateId这一天的数据
*/
private Integer avgParticipateUserTotal;
}

29
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/AgenctBasicDataFormDTO.java

@ -0,0 +1,29 @@
package com.epmet.dataaggre.dto.datastats.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import com.epmet.dataaggre.dto.resigroup.form.CandidateListFormDTO;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 基础数据-组织各种数据汇总-接口入参
* @Auth sun
*/
@Data
public class AgenctBasicDataFormDTO implements Serializable {
private static final long serialVersionUID = -3381286960911634231L;
/**
* 组织Id
*/
@NotBlank(message = "组织ID不能为空",groups = AgenctBasicDataFormDTO.Agency.class)
private String agencyId;
/**
* 日维度Id
*/
private String dateId;
public interface Agency extends CustomerClientShowGroup{}
}

38
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/AgencyGovrnFormDTO.java

@ -0,0 +1,38 @@
package com.epmet.dataaggre.dto.datastats.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 治理实况-当前组织治理指数-接口入参
* @Auth sun
*/
@Data
public class AgencyGovrnFormDTO implements Serializable {
private static final long serialVersionUID = -3381286960911634231L;
/**
* 组织Id
*/
@NotBlank(message = "组织ID不能为空",groups = AgencyGovrnFormDTO.Agency.class)
private String agencyId;
/**
* 日维度Id
*/
private String dateId;
/**
* 排序类型字段
* 问题解决总数:problem
* 党群自治占比:party
* 网格自治占比:grid
* 社区解决占比:community
* 区直部门解决占比:department
* 街道解决占比:street
*/
private String type;
public interface Agency extends CustomerClientShowGroup {}
}

33
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/GovrnRatioFormDTO.java

@ -0,0 +1,33 @@
package com.epmet.dataaggre.dto.datastats.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 治理实况-组织/网格下响应解决满意自治率-接口入参
* @Auth sun
*/
@Data
public class GovrnRatioFormDTO implements Serializable {
private static final long serialVersionUID = -3381286960911634231L;
/**
* 组织Id
*/
@NotBlank(message = "组织或网格Id不能为空", groups = GovrnRatioFormDTO.AgencyGrid.class)
private String orgId;
/**
* 组织:agency 网格:grid
*/
@NotBlank(message = "网格Id不能为空", groups = GovrnRatioFormDTO.AgencyGrid.class)
private String orgType;
/**
* 日维度Id[日期不传值默认查前一天的格式20210101]
*/
private String dateId;
public interface AgencyGrid extends CustomerClientShowGroup {}
}

28
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/GridBasicDataFormDTO.java

@ -0,0 +1,28 @@
package com.epmet.dataaggre.dto.datastats.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 基础数据-网格各种数据汇总-接口入参
* @Auth sun
*/
@Data
public class GridBasicDataFormDTO implements Serializable {
private static final long serialVersionUID = -3381286960911634231L;
/**
* 网格Id
*/
@NotBlank(message = "网格ID不能为空",groups = GridBasicDataFormDTO.Grid.class)
private String gridId;
/**
* 日维度Id
*/
private String dateId;
public interface Grid extends CustomerClientShowGroup{}
}

44
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/GridGovrnFormDTO.java

@ -0,0 +1,44 @@
package com.epmet.dataaggre.dto.datastats.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 治理实况-当前网格治理指数-接口入参
* @Auth sun
*/
@Data
public class GridGovrnFormDTO implements Serializable {
private static final long serialVersionUID = -3381286960911634231L;
/**
* 组织Id
*/
@NotBlank(message = "机关Id不能为空",groups = GridGovrnFormDTO.Agency.class)
private String agencyId;
/**
* 网格Id
*/
@NotBlank(message = "网格Id不能为空",groups = GridGovrnFormDTO.Grid.class)
private String gridId;
/**
* 日维度Id
*/
private String dateId;
/**
* 排序类型字段
* 问题解决总数:problem
* 党群自治占比:party
* 网格自治占比:grid
* 社区解决占比:community
* 区直部门解决占比:department
* 街道解决占比:street
*/
private String type;
public interface Agency extends CustomerClientShowGroup {}
public interface Grid extends CustomerClientShowGroup {}
}

18
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/PartyMemberVanguardFormDTO.java

@ -0,0 +1,18 @@
package com.epmet.dataaggre.dto.datastats.form;
import lombok.Data;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2021/5/18 14:25
*/
@Data
public class PartyMemberVanguardFormDTO implements Serializable {
private static final long serialVersionUID = -4331281350678714877L;
private String agencyId;
private String orgId;
private String orgType;
}

51
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/SubAgencyFormDTO.java

@ -0,0 +1,51 @@
package com.epmet.dataaggre.dto.datastats.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 基础数据-组织直属下级数据汇总-接口入参
* @Auth sun
*/
@Data
public class SubAgencyFormDTO implements Serializable {
private static final long serialVersionUID = -3381286960911634231L;
/**
* 组织Id
*/
@NotBlank(message = "组织ID不能为空",groups = SubAgencyFormDTO.Agency.class)
private String agencyId;
/**
* 日维度Id
*/
private String dateId;
/**
* 排序类型字段
* 用户用户:user 党员:party 居民:resi
* 党群党群:group 楼院小组:ordinary 支部小组:branch
* 话题话题:topic 热议中:discussing 已处理:closed 已转议题:shiftIssue
* 议题议题:issue 表决中:voting 已转项目:shiftProject 已处理:closed
* 项目项目:project 处理中:pending 已结案:closed
*/
private String type;
public interface Agency extends CustomerClientShowGroup{}
@Data
public static class Topic implements Serializable {
//组织Id
private String agencyId;
//话题总量
private Integer topicTotal;
//话题数量
private Integer topicCount;
//话题状态 已关闭:closed、已屏蔽:hidden、 讨论中:discussing
private String topicStatus;
//话题已转议题数量
private Integer shiftedIssueTotal;
}
}

51
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/SubGridFormDTO.java

@ -0,0 +1,51 @@
package com.epmet.dataaggre.dto.datastats.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 基础数据-组织直属网格数据汇总-接口入参
* @Auth sun
*/
@Data
public class SubGridFormDTO implements Serializable {
private static final long serialVersionUID = -3381286960911634231L;
/**
* 组织Id
*/
@NotBlank(message = "组织ID不能为空",groups = SubGridFormDTO.Agency.class)
private String agencyId;
/**
* 日维度Id
*/
private String dateId;
/**
* 排序类型字段
* 用户用户:user 党员:party 居民:resi
* 党群党群:group 楼院小组:ordinary 支部小组:branch
* 话题话题:topic 热议中:discussing 已处理:closed 已转议题:shiftIssue
* 议题议题:issue 表决中:voting 已转项目:shiftProject 已处理:closed
* 项目项目:project 处理中:pending 已结案:closed
*/
private String type;
public interface Agency extends CustomerClientShowGroup{}
@Data
public static class Topic implements Serializable {
//网格Id
private String gridId;
//话题总量
private Integer topicTotal;
//话题数量
private Integer topicCount;
//话题状态 已关闭:closed、已屏蔽:hidden、 讨论中:discussing
private String topicStatus;
//话题已转议题数量
private Integer shiftedIssueTotal;
}
}

96
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/AgencyBasicDataResultDTO.java

@ -0,0 +1,96 @@
package com.epmet.dataaggre.dto.datastats.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Description 基础数据-组织各种数据汇总-接口返参
* @Auth sun
*/
@Data
public class AgencyBasicDataResultDTO implements Serializable {
private static final long serialVersionUID = 466974582608407121L;
@JsonIgnore
BigDecimal bi = new BigDecimal(0);
/**
* 组织Id
*/
private String agencyId;
//用户总数
private Integer userTotal = 0;
//党员总数
private Integer partyMemberTotal = 0;
//党员总数占比
private BigDecimal partyMemberRatio = bi;
//居民总数
private Integer resiTotal = 0;
//居民总数占比
private BigDecimal resiRatio = bi;
//党群小组总数
private Integer groupTotal = 0;
//楼院小组总数
private Integer ordinaryTotal = 0;
//楼院小组总数占比
private BigDecimal ordinaryRatio = bi;
//支部小组总数
private Integer branchTotal = 0;
//支部小组总数占比
private BigDecimal branchRatio = bi;
//话题总数
private Integer topicTotal = 0;
//热议中总数
private Integer discussingTotal = 0;
//热议中总数占比
private BigDecimal discussingRatio = bi;
//已处理总数
private Integer closedTopicTotal = 0;
//已处理总数占比
private BigDecimal closedTopicRatio = bi;
//转议题总数
private Integer shiftIssueTotal = 0;
//转议题总数占比
private BigDecimal shiftIssueRatio = bi;
//议题总数
private Integer issueTotal = 0;
//表决中总数
private Integer votingTotal = 0;
//表决中总数占比
private BigDecimal votingRatio = bi;
//已处理总数
private Integer closedIssueTotal = 0;
//已处理总数占比
private BigDecimal closedIssueRatio = bi;
//已转项目总数
private Integer shiftProjectTotal = 0;
//已转项目总数占比
private BigDecimal shiftProjectRatio = bi;
//项目总数
private Integer projectTotal = 0;
//处理中总数
private Integer pendingTotal = 0;
//处理中总数占比
private BigDecimal pendingRatio = bi;
//已结案总数
private Integer closedProjectTotal = 0;
//已结案总数占比
private BigDecimal closedProjectRatio = bi;
@Data
public static class Topic implements Serializable {
//话题总量
private Integer topicTotal;
//话题数量
private Integer topicCount;
//话题状态 已关闭:closed、已屏蔽:hidden、 讨论中:discussing
private String topicStatus;
//话题已转议题数量
private Integer shiftedIssueTotal;
//数据更新至 时间
private String deadline;
}
}

37
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/AgencyGovrnResultDTO.java

@ -0,0 +1,37 @@
package com.epmet.dataaggre.dto.datastats.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Description 治理实况-当前组织治理指数-接口返参
* @Auth sun
*/
@Data
public class AgencyGovrnResultDTO implements Serializable {
private static final long serialVersionUID = 466974582608407121L;
@JsonIgnore
BigDecimal bi = new BigDecimal(0);
//组织Id
private String agencyId;
//组织名称
private String agencyName = "";
//agency_id所属的机关级别(社区级:community,乡(镇、街道)级:street, 区县级: district, 市级: city, 省级:province)
private String level = "";
//问题解决总数
private Integer problemResolvedCount = 0;
//党群自治占比
private String groupSelfGovernRatio = "0%";
//网格自治占比
private String gridSelfGovernRatio = "0%";
//社区解决占比
private String communityResolvedRatio = "0%";
//区直部门解决占比
private String districtDeptResolvedRatio = "0%";
//街道解决占比
private String streetResolvedRatio = "0%";
}

27
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/GovrnRatioResultDTO.java

@ -0,0 +1,27 @@
package com.epmet.dataaggre.dto.datastats.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 治理实况-组织/网格下响应解决满意自治率-接口返参
* @Auth sun
*/
@Data
public class GovrnRatioResultDTO implements Serializable {
private static final long serialVersionUID = 466974582608407121L;
//组织或网格Id
private String orgId;
//组织:agency 网格:grid
private String orgType;
//响应率
private String responseRatio = "0%";
//解决率
private String resolvedRatio = "0%";
//自治率
private String governRatio = "0%";
//满意率
private String satisfactionRatio = "0%";
}

96
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/GridBasicDataResultDTO.java

@ -0,0 +1,96 @@
package com.epmet.dataaggre.dto.datastats.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Description 基础数据-网格各种数据汇总-接口返参
* @Auth sun
*/
@Data
public class GridBasicDataResultDTO implements Serializable {
private static final long serialVersionUID = 466974582608407121L;
@JsonIgnore
BigDecimal bi = new BigDecimal(0);
/**
* 网格Id
*/
private String gridId;
//用户总数
private Integer userTotal = 0;
//党员总数
private Integer partyMemberTotal = 0;
//党员总数占比
private BigDecimal partyMemberRatio = bi;
//居民总数
private Integer resiTotal = 0;
//居民总数占比
private BigDecimal resiRatio = bi;
//党群小组总数
private Integer groupTotal = 0;
//楼院小组总数
private Integer ordinaryTotal = 0;
//楼院小组总数占比
private BigDecimal ordinaryRatio = bi;
//支部小组总数
private Integer branchTotal = 0;
//支部小组总数占比
private BigDecimal branchRatio = bi;
//话题总数
private Integer topicTotal = 0;
//热议中总数
private Integer discussingTotal = 0;
//热议中总数占比
private BigDecimal discussingRatio = bi;
//已处理总数
private Integer closedTopicTotal = 0;
//已处理总数占比
private BigDecimal closedTopicRatio = bi;
//转议题总数
private Integer shiftIssueTotal = 0;
//转议题总数占比
private BigDecimal shiftIssueRatio = bi;
//议题总数
private Integer issueTotal = 0;
//表决中总数
private Integer votingTotal = 0;
//表决中总数占比
private BigDecimal votingRatio = bi;
//已处理总数
private Integer closedIssueTotal = 0;
//已处理总数占比
private BigDecimal closedIssueRatio = bi;
//已转项目总数
private Integer shiftProjectTotal = 0;
//已转项目总数占比
private BigDecimal shiftProjectRatio = bi;
//项目总数
private Integer projectTotal = 0;
//处理中总数
private Integer pendingTotal = 0;
//处理中总数占比
private BigDecimal pendingRatio = bi;
//已结案总数
private Integer closedProjectTotal = 0;
//已结案总数占比
private BigDecimal closedProjectRatio = bi;
@Data
public static class Topic implements Serializable {
//话题总量
private Integer topicTotal;
//话题数量
private Integer topicCount;
//话题状态 已关闭:closed、已屏蔽:hidden、 讨论中:discussing
private String topicStatus;
//话题已转议题数量
private Integer shiftedIssueTotal;
//数据更新至 时间
private String deadline;
}
}

35
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/GridGovrnResultDTO.java

@ -0,0 +1,35 @@
package com.epmet.dataaggre.dto.datastats.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Description 治理实况-当前网格治理指数-接口返参
* @Auth sun
*/
@Data
public class GridGovrnResultDTO implements Serializable {
private static final long serialVersionUID = 466974582608407121L;
@JsonIgnore
BigDecimal bi = new BigDecimal(0);
//网格Id
private String gridId;
//网格名称
private String gridName = "";
//问题解决总数
private Integer problemResolvedCount = 0;
//党群自治占比
private String groupSelfGovernRatio = "0%";
//网格自治占比
private String gridSelfGovernRatio = "0%";
//社区解决占比
private String communityResolvedRatio = "0%";
//区直部门解决占比
private String districtDeptResolvedRatio = "0%";
//街道解决占比
private String streetResolvedRatio = "0%";
}

78
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/PartyMemberVanguardDetailResultDTO.java

@ -0,0 +1,78 @@
package com.epmet.dataaggre.dto.datastats.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @author zhaoqifeng
* @dscription
* @date 2021/5/18 14:27
*/
@NoArgsConstructor
@Data
public class PartyMemberVanguardDetailResultDTO implements Serializable {
private static final long serialVersionUID = 8315392246739995430L;
/**
* 组织ID
*/
private String orgId;
/**
* 组织名
*/
private String orgName;
/**
* 组织类型 机关 agency 网格 grid
*/
private String orgType;
/**
* 党员建组数
*/
private Integer groupCount;
/**
* 党员建组数占比
*/
private BigDecimal groupRatio;
/**
* 组内党员人数
*/
private Integer groupMemberCount;
/**
* 组内党员人数占比
*/
private BigDecimal groupMemberRatio;
/**
* 党员发布话题数
*/
private Integer topicCount;
/**
* 党员发布话题数占比
*/
private BigDecimal topicRatio;
/**
* 党员发布话题转议题数
*/
private Integer issueCount;
/**
* 党员发布话题转议题数占比
*/
private BigDecimal issueRatio;
/**
* 党员发布话题转项目数
*/
private Integer projectCount;
/**
* 党员发布话题转项目数占比
*/
private BigDecimal projectRatio;
/**
* 党员发布话题转项目结案数
*/
private Integer projectClosedCount;
/**
* 党员发布话题转项目结案数占比
*/
private BigDecimal projectClosedRatio;
}

23
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/PartyMemberVanguardRankResultDTO.java

@ -0,0 +1,23 @@
package com.epmet.dataaggre.dto.datastats.result;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription
* @date 2021/5/18 14:30
*/
@Data
public class PartyMemberVanguardRankResultDTO implements Serializable {
private static final long serialVersionUID = -3103242333633668412L;
/**
*
* 组织级别 社区级community街道:street区县级: district市级: city省级:province
*/
private String agencyLevel;
private List<PartyMemberVanguardDetailResultDTO> agencyRank;
private List<PartyMemberVanguardDetailResultDTO> gridRank;
}

33
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubAgencyGroupResultDTO.java

@ -0,0 +1,33 @@
package com.epmet.dataaggre.dto.datastats.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Description 基础数据-查询当前组织的直属下级组织群组数据-接口返参
* @Auth sun
*/
@Data
public class SubAgencyGroupResultDTO implements Serializable {
private static final long serialVersionUID = 466974582608407121L;
@JsonIgnore
BigDecimal bi = new BigDecimal(0);
//组织Id
private String agencyId;
//组织名称
private String agencyName;
//党群小组总数
private Integer groupTotal = 0;
//楼院小组总数
private Integer ordinaryTotal = 0;
//楼院小组总数占比
private BigDecimal ordinaryRatio = bi;
//支部小组总数
private Integer branchTotal = 0;
//支部小组总数占比
private BigDecimal branchRatio = bi;
}

37
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubAgencyIssueResultDTO.java

@ -0,0 +1,37 @@
package com.epmet.dataaggre.dto.datastats.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Description 基础数据-查询当前组织的直属下级组织议题数据-接口返参
* @Auth sun
*/
@Data
public class SubAgencyIssueResultDTO implements Serializable {
private static final long serialVersionUID = 466974582608407121L;
@JsonIgnore
BigDecimal bi = new BigDecimal(0);
//组织Id
private String agencyId;
//组织名称
private String agencyName;
//议题总数
private Integer issueTotal = 0;
//表决中总数
private Integer votingTotal = 0;
//表决中总数占比
private BigDecimal votingRatio = bi;
//已处理总数
private Integer closedIssueTotal = 0;
//已处理总数占比
private BigDecimal closedIssueRatio = bi;
//已转项目总数
private Integer shiftProjectTotal = 0;
//已转项目总数占比
private BigDecimal shiftProjectRatio = bi;
}

33
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubAgencyProjectResultDTO.java

@ -0,0 +1,33 @@
package com.epmet.dataaggre.dto.datastats.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Description 基础数据-查询当前组织的直属下级组织项目数据-接口返参
* @Auth sun
*/
@Data
public class SubAgencyProjectResultDTO implements Serializable {
private static final long serialVersionUID = 466974582608407121L;
@JsonIgnore
BigDecimal bi = new BigDecimal(0);
//组织Id
private String agencyId;
//组织名称
private String agencyName;
//项目总数
private Integer projectTotal = 0;
//处理中总数
private Integer pendingTotal = 0;
//处理中总数占比
private BigDecimal pendingRatio = bi;
//已结案总数
private Integer closedProjectTotal = 0;
//已结案总数占比
private BigDecimal closedProjectRatio = bi;
}

37
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubAgencyTopicResultDTO.java

@ -0,0 +1,37 @@
package com.epmet.dataaggre.dto.datastats.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Description 基础数据-查询当前组织的直属下级组织话题数据-接口返参
* @Auth sun
*/
@Data
public class SubAgencyTopicResultDTO implements Serializable {
private static final long serialVersionUID = 466974582608407121L;
@JsonIgnore
BigDecimal bi = new BigDecimal(0);
//组织Id
private String agencyId;
//组织名称
private String agencyName;
//话题总数
private Integer topicTotal = 0;
//热议中总数
private Integer discussingTotal = 0;
//热议中总数占比
private BigDecimal discussingRatio = bi;
//已处理总数
private Integer closedTopicTotal = 0;
//已处理总数占比
private BigDecimal closedTopicRatio = bi;
//转议题总数
private Integer shiftIssueTotal = 0;
//转议题总数占比
private BigDecimal shiftIssueRatio = bi;
}

33
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubAgencyUserResultDTO.java

@ -0,0 +1,33 @@
package com.epmet.dataaggre.dto.datastats.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Description 基础数据-查询当前组织的直属下级组织用户数据-接口返参
* @Auth sun
*/
@Data
public class SubAgencyUserResultDTO implements Serializable {
private static final long serialVersionUID = 466974582608407121L;
@JsonIgnore
BigDecimal bi = new BigDecimal(0);
//组织Id
private String agencyId;
//组织名称
private String agencyName;
//用户总数
private Integer userTotal = 0;
//党员总数
private Integer partyMemberTotal = 0;
//党员总数占比
private BigDecimal partyMemberRatio = bi;
//居民总数
private Integer resiTotal = 0;
//居民总数占比
private BigDecimal resiRatio = bi;
}

33
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubGridGroupResultDTO.java

@ -0,0 +1,33 @@
package com.epmet.dataaggre.dto.datastats.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Description 基础数据-查询当前组织下直属网格列表群组数据-接口返参
* @Auth sun
*/
@Data
public class SubGridGroupResultDTO implements Serializable {
private static final long serialVersionUID = 466974582608407121L;
@JsonIgnore
BigDecimal bi = new BigDecimal(0);
//网格Id
private String gridId;
//网格名称
private String gridName;
//党群小组总数
private Integer groupTotal = 0;
//楼院小组总数
private Integer ordinaryTotal = 0;
//楼院小组总数占比
private BigDecimal ordinaryRatio = bi;
//支部小组总数
private Integer branchTotal = 0;
//支部小组总数占比
private BigDecimal branchRatio = bi;
}

37
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubGridIssueResultDTO.java

@ -0,0 +1,37 @@
package com.epmet.dataaggre.dto.datastats.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Description 基础数据-查询当前组织下直属网格列表议题数据-接口返参
* @Auth sun
*/
@Data
public class SubGridIssueResultDTO implements Serializable {
private static final long serialVersionUID = 466974582608407121L;
@JsonIgnore
BigDecimal bi = new BigDecimal(0);
//网格Id
private String gridId;
//网格名称
private String gridName;
//议题总数
private Integer issueTotal = 0;
//表决中总数
private Integer votingTotal = 0;
//表决中总数占比
private BigDecimal votingRatio = bi;
//已处理总数
private Integer closedIssueTotal = 0;
//已处理总数占比
private BigDecimal closedIssueRatio = bi;
//已转项目总数
private Integer shiftProjectTotal = 0;
//已转项目总数占比
private BigDecimal shiftProjectRatio = bi;
}

33
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubGridProjectResultDTO.java

@ -0,0 +1,33 @@
package com.epmet.dataaggre.dto.datastats.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Description 基础数据-查询当前组织下直属网格列表项目数据-接口返参
* @Auth sun
*/
@Data
public class SubGridProjectResultDTO implements Serializable {
private static final long serialVersionUID = 466974582608407121L;
@JsonIgnore
BigDecimal bi = new BigDecimal(0);
//网格Id
private String gridId;
//网格名称
private String gridName;
//项目总数
private Integer projectTotal = 0;
//处理中总数
private Integer pendingTotal = 0;
//处理中总数占比
private BigDecimal pendingRatio = bi;
//已结案总数
private Integer closedProjectTotal = 0;
//已结案总数占比
private BigDecimal closedProjectRatio = bi;
}

37
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubGridTopicResultDTO.java

@ -0,0 +1,37 @@
package com.epmet.dataaggre.dto.datastats.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Description 基础数据-查询当前组织下直属网格列表话题数据-接口返参
* @Auth sun
*/
@Data
public class SubGridTopicResultDTO implements Serializable {
private static final long serialVersionUID = 466974582608407121L;
@JsonIgnore
BigDecimal bi = new BigDecimal(0);
//网格Id
private String gridId;
//网格名称
private String gridName;
//话题总数
private Integer topicTotal = 0;
//热议中总数
private Integer discussingTotal = 0;
//热议中总数占比
private BigDecimal discussingRatio = bi;
//已处理总数
private Integer closedTopicTotal = 0;
//已处理总数占比
private BigDecimal closedTopicRatio = bi;
//转议题总数
private Integer shiftIssueTotal = 0;
//转议题总数占比
private BigDecimal shiftIssueRatio = bi;
}

33
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubGridUserResultDTO.java

@ -0,0 +1,33 @@
package com.epmet.dataaggre.dto.datastats.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Description 基础数据-查询当前组织下直属网格列表用户数据-接口返参
* @Auth sun
*/
@Data
public class SubGridUserResultDTO implements Serializable {
private static final long serialVersionUID = 466974582608407121L;
@JsonIgnore
BigDecimal bi = new BigDecimal(0);
//网格Id
private String gridId;
//网格名称
private String gridName;
//用户总数
private Integer userTotal = 0;
//党员总数
private Integer partyMemberTotal = 0;
//党员总数占比
private BigDecimal partyMemberRatio = bi;
//居民总数
private Integer resiTotal = 0;
//居民总数占比
private BigDecimal resiRatio = bi;
}

76
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/ActCategoryDictDTO.java

@ -0,0 +1,76 @@
/**
* 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.dataaggre.dto.resigroup;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
/**
* 活动类别字典
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-04-16
*/
@Data
public class ActCategoryDictDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@JsonIgnore
private String id;
/**
* 客户id
*/
@JsonIgnore
private String customerId;
/**
* 类别编码
*/
private String categoryCode;
/**
* 活动类别名称eg支部建设联建共建
*/
private String categoryName;
/**
* 等级1,2......
*/
@JsonIgnore
private Integer level;
/**
* 排序
*/
@JsonIgnore
private Integer sort;
/**
* 上级类别编码
*/
@JsonIgnore
private String parentCode;
}

42
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/form/BranchConAnalysisFormDTO.java

@ -0,0 +1,42 @@
package com.epmet.dataaggre.dto.resigroup.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 001支建+联建统计分析 入参
*
* @author yinzuomei@elink-cn.com
* @date 2021/5/18 9:16
*/
@Data
public class BranchConAnalysisFormDTO implements Serializable {
public interface AddUserInternalGroup {
}
/**
* 支部建设100联建共建101
*/
@NotBlank(message = "firstCategoryCode必传,支部建设:100;联建共建:101", groups = AddUserInternalGroup.class)
private String firstCategoryCode;
/**
* 当前客户id
*/
@NotBlank(message = "客户id不能为空", groups = AddUserInternalGroup.class)
private String customerId;
/**
* 当前组织或者网格id
*/
@NotBlank(message = "orgId不能为空", groups = AddUserInternalGroup.class)
private String orgId;
/**
* 默认传组织agency; 网格grid
*/
@NotBlank(message = "orgType不能为空", groups = AddUserInternalGroup.class)
private String orgType;
}

32
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/form/GroupActCategoryQueryFormDTO.java

@ -0,0 +1,32 @@
package com.epmet.dataaggre.dto.resigroup.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 002支建+联建二级分类字典查询 入参
*
* @author yinzuomei@elink-cn.com
* @date 2021/5/18 13:42
*/
@Data
public class GroupActCategoryQueryFormDTO implements Serializable {
private static final long serialVersionUID = 8373780230315448396L;
public interface AddUserInternalGroup {
}
/**
* 支部建设100联建共建101
*/
@NotBlank(message = "firstCategoryCode必传,支部建设:100;联建共建:101", groups = AddUserInternalGroup.class)
private String firstCategoryCode;
/**
* 当前客户id
*/
@NotBlank(message = "客户id不能为空", groups = BranchConAnalysisFormDTO.AddUserInternalGroup.class)
private String customerId;
}

48
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/form/GroupActRankFormDTO.java

@ -0,0 +1,48 @@
package com.epmet.dataaggre.dto.resigroup.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 005支建+联建下级组织排行列表
*
* @author yinzuomei@elink-cn.com
* @date 2021/5/18 17:30
*/
@Data
public class GroupActRankFormDTO implements Serializable {
private static final long serialVersionUID = 2293552582281839132L;
public interface AddUserInternalGroup {
}
/**
* 支部建设100联建共建101
*/
@NotBlank(message = "firstCategoryCode必传,支部建设:100;联建共建:101", groups = BranchConAnalysisFormDTO.AddUserInternalGroup.class)
private String firstCategoryCode;
/**
* 当前客户id
*/
@NotBlank(message = "客户id不能为空", groups = BranchConAnalysisFormDTO.AddUserInternalGroup.class)
private String customerId;
/**
* 当前组织或者网格id
*/
@NotBlank(message = "orgId不能为空", groups = BranchConAnalysisFormDTO.AddUserInternalGroup.class)
private String orgId;
/**
* 默认传组织agency; 网格grid
*/
@NotBlank(message = "orgType不能为空", groups = BranchConAnalysisFormDTO.AddUserInternalGroup.class)
private String orgType;
/**
* 排序编码可以不传前端自己处理
*/
private String rankCode;
}

44
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/form/SubAnalysisByCodeFormDTO.java

@ -0,0 +1,44 @@
package com.epmet.dataaggre.dto.resigroup.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 003支建+联建下级组织折线图 入参
*
* @author yinzuomei@elink-cn.com
* @date 2021/5/18 13:52
*/
@Data
public class SubAnalysisByCodeFormDTO implements Serializable {
private static final long serialVersionUID = -4132250208377993452L;
public interface AddUserInternalGroup {
}
/**
* 分类编码002接口返回的
*/
@NotBlank(message = "categoryCode不能为空", groups = AddUserInternalGroup.class)
private String categoryCode;
/**
* 当前客户id
*/
@NotBlank(message = "客户id不能为空", groups = AddUserInternalGroup.class)
private String customerId;
/**
* 当前组织或者网格id
*/
@NotBlank(message = "orgId不能为空", groups = AddUserInternalGroup.class)
private String orgId;
/**
* 默认传组织agency; 网格grid
*/
@NotBlank(message = "orgType不能为空", groups = AddUserInternalGroup.class)
private String orgType;
}

20
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/BranchConAnalysisDetailDTO.java

@ -0,0 +1,20 @@
package com.epmet.dataaggre.dto.resigroup.result;
import lombok.Data;
import java.io.Serializable;
/**
* 001支建+联建统计分析 返参
*
* @author yinzuomei@elink-cn.com
* @date 2021/5/18 15:12
*/
@Data
public class BranchConAnalysisDetailDTO implements Serializable {
private String name;
private String type;
private Integer value;
private Integer avg;
private String categoryCode;
}

37
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/BranchConAnalysisResultDTO.java

@ -0,0 +1,37 @@
package com.epmet.dataaggre.dto.resigroup.result;
import com.epmet.commons.tools.constant.NumConstant;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* 001支建+联建统计分析 返参
*
* @author yinzuomei@elink-cn.com
* @date 2021/5/18 10:01
*/
@Data
public class BranchConAnalysisResultDTO implements Serializable {
private static final long serialVersionUID = -4998343002705222898L;
/**
* 组织活动次数
*/
private Integer organizeTotal;
/**
* 参加活动人数
*/
private Integer participateUserTotal;
private List<BranchConAnalysisDetailDTO> dataList;
public BranchConAnalysisResultDTO() {
this.organizeTotal = NumConstant.ZERO;
this.participateUserTotal = NumConstant.ZERO;
this.dataList=new ArrayList<>();
}
}

23
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/GroupActRankDetailDTO.java

@ -0,0 +1,23 @@
package com.epmet.dataaggre.dto.resigroup.result;
import lombok.Data;
import java.io.Serializable;
/**
* 005支建+联建下级组织排行列表
*
* @author yinzuomei@elink-cn.com
* @date 2021/5/19 9:31
*/
@Data
public class GroupActRankDetailDTO implements Serializable {
private static final long serialVersionUID = 7738751412518098478L;
private String categoryCode;
private String categoryName;
private Integer organizeTotal;
private Integer participateUserTotal;
private String organizeName;
private String participateUserName;
}

42
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/GroupActRankResultDTO.java

@ -0,0 +1,42 @@
package com.epmet.dataaggre.dto.resigroup.result;
import com.epmet.commons.tools.constant.NumConstant;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* 005支建+联建下级组织排行列表
*
* @author yinzuomei@elink-cn.com
* @date 2021/5/18 17:33
*/
@Data
public class GroupActRankResultDTO implements Serializable {
private String orgId;
private String orgType;
private String orgName;
private Integer organizeTotal;
private String organizeName;
private Integer participateUserTotal;
private String participateUserName;
private List<GroupActRankDetailDTO> categoryList;
// @JsonIgnore
private Integer sortValue;
public GroupActRankResultDTO() {
this.orgId = "";
this.orgType = "";
this.orgName = "";
this.organizeTotal = NumConstant.ZERO;
this.organizeName = "组织总次数";
this.participateUserTotal = NumConstant.ZERO;
this.participateUserName = "参加总人数";
this.categoryList = new ArrayList<>();
}
}

20
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/OrgInfoCommonDTO.java

@ -0,0 +1,20 @@
package com.epmet.dataaggre.dto.resigroup.result;
import lombok.Data;
import java.io.Serializable;
/**
* 组织或者网格基本信息
*
* @author yinzuomei@elink-cn.com
* @date 2021/5/18 14:36
*/
@Data
public class OrgInfoCommonDTO implements Serializable {
private static final long serialVersionUID = -2191521364070476999L;
private String orgId;
private String orgName;
private String orgType;
}

18
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/RankCodeResultDTO.java

@ -0,0 +1,18 @@
package com.epmet.dataaggre.dto.resigroup.result;
import lombok.Data;
import java.io.Serializable;
/**
* 004支建+联建排序方式下拉框
*
* @author yinzuomei@elink-cn.com
* @date 2021/5/18 17:01
*/
@Data
public class RankCodeResultDTO implements Serializable {
private static final long serialVersionUID = 7991057885312015889L;
private String rankCode;
private String rankName;
}

30
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/SubAnalysisByCodeResultDTO.java

@ -0,0 +1,30 @@
package com.epmet.dataaggre.dto.resigroup.result;
import lombok.Data;
import java.io.Serializable;
/**
* 003支建+联建下级组织折线图 返参
*
* @author yinzuomei@elink-cn.com
* @date 2021/5/18 14:09
*/
@Data
public class SubAnalysisByCodeResultDTO implements Serializable {
private static final long serialVersionUID = -6025482721295705372L;
/**
* 横坐标名称组织名或者网格名
*/
private String name;
/**
* 参加人数组织次数平均参加人数
*/
private String type;
private Integer value;
private String orgId;
}

56
epmet-module/data-aggregator/data-aggregator-server/pom.xml

@ -158,6 +158,20 @@
<datasource.druid.opercrm.username>epmet_oper_crm_user</datasource.druid.opercrm.username>
<datasource.druid.opercrm.password>EpmEt-db-UsEr</datasource.druid.opercrm.password>
<!-- data_statistical -->
<datasource.druid.stats.url>
<![CDATA[jdbc:mysql://192.168.1.130:3306/epmet_data_statistical?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</datasource.druid.stats.url>
<datasource.druid.stats.username>epmet_data_statistical_user</datasource.druid.stats.username>
<datasource.druid.stats.password>EpmEt-db-UsEr</datasource.druid.stats.password>
<!-- epmet_evaluation_index -->
<datasource.druid.evaluationIndex.url>
<![CDATA[jdbc:mysql://192.168.1.130:3306/epmet_evaluation_index?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</datasource.druid.evaluationIndex.url>
<datasource.druid.evaluationIndex.username>epmet_evaluation_index_user</datasource.druid.evaluationIndex.username>
<datasource.druid.evaluationIndex.password>EpmEt-db-UsEr</datasource.druid.evaluationIndex.password>
<!-- redis配置 -->
<spring.redis.index>0</spring.redis.index>
<spring.redis.host>192.168.1.130</spring.redis.host>
@ -239,6 +253,20 @@
<datasource.druid.opercrm.username>epmet_oper_crm_user</datasource.druid.opercrm.username>
<datasource.druid.opercrm.password>EpmEt-db-UsEr</datasource.druid.opercrm.password>
<!-- data_statistical -->
<datasource.druid.stats.url>
<![CDATA[jdbc:mysql://192.168.1.130:3306/epmet_data_statistical?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</datasource.druid.stats.url>
<datasource.druid.stats.username>epmet_data_statistical_user</datasource.druid.stats.username>
<datasource.druid.stats.password>EpmEt-db-UsEr</datasource.druid.stats.password>
<!-- epmet_evaluation_index -->
<datasource.druid.evaluationIndex.url>
<![CDATA[jdbc:mysql://192.168.1.130:3306/epmet_evaluation_index?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</datasource.druid.evaluationIndex.url>
<datasource.druid.evaluationIndex.username>epmet_evaluation_index_user</datasource.druid.evaluationIndex.username>
<datasource.druid.evaluationIndex.password>EpmEt-db-UsEr</datasource.druid.evaluationIndex.password>
<!-- redis配置 -->
<spring.redis.index>0</spring.redis.index>
<spring.redis.host>192.168.1.130</spring.redis.host>
@ -320,6 +348,20 @@
<datasource.druid.opercrm.username>epmet</datasource.druid.opercrm.username>
<datasource.druid.opercrm.password>elink@833066</datasource.druid.opercrm.password>
<!-- data_statistical -->
<datasource.druid.stats.url>
<![CDATA[jdbc:mysql://rm-m5ef9t617j6o5eup7.mysql.rds.aliyuncs.com:3306/epmet_data_statistical?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</datasource.druid.stats.url>
<datasource.druid.stats.username>epmet</datasource.druid.stats.username>
<datasource.druid.stats.password>elink@833066</datasource.druid.stats.password>
<!-- epmet_evaluation_index -->
<datasource.druid.evaluationIndex.url>
<![CDATA[jdbc:mysql://rm-m5ef9t617j6o5eup7.mysql.rds.aliyuncs.com:3306/epmet_evaluation_index?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</datasource.druid.evaluationIndex.url>
<datasource.druid.evaluationIndex.username>epmet</datasource.druid.evaluationIndex.username>
<datasource.druid.evaluationIndex.password>elink@833066</datasource.druid.evaluationIndex.password>
<!-- redis配置 -->
<spring.redis.index>0</spring.redis.index>
<spring.redis.host>r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com</spring.redis.host>
@ -401,6 +443,20 @@
<datasource.druid.opercrm.username>epmet_oper_crm_user</datasource.druid.opercrm.username>
<datasource.druid.opercrm.password>EpmEt-db-UsEr</datasource.druid.opercrm.password>
<!-- data_statistical -->
<datasource.druid.stats.url>
<![CDATA[jdbc:mysql://rm-m5e3vzs2637224wj9.mysql.rds.aliyuncs.com:3306/epmet_data_statistical?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</datasource.druid.stats.url>
<datasource.druid.stats.username>epmet_data_statistical_user</datasource.druid.stats.username>
<datasource.druid.stats.password>EpmEt-db-UsEr</datasource.druid.stats.password>
<!-- epmet_evaluation_index -->
<datasource.druid.evaluationIndex.url>
<![CDATA[jdbc:mysql://rm-m5e3vzs2637224wj9.mysql.rds.aliyuncs.com:3306/epmet_evaluation_index?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</datasource.druid.evaluationIndex.url>
<datasource.druid.evaluationIndex.username>epmet_evaluation_index_user</datasource.druid.evaluationIndex.username>
<datasource.druid.evaluationIndex.password>EpmEt-db-UsEr</datasource.druid.evaluationIndex.password>
<!-- redis配置 -->
<spring.redis.index>0</spring.redis.index>
<spring.redis.host>r-m5ez3n1j0qc3ykq2ut.redis.rds.aliyuncs.com</spring.redis.host>

218
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/DataStatsController.java

@ -0,0 +1,218 @@
package com.epmet.dataaggre.controller;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dataaggre.dto.datastats.form.*;
import com.epmet.dataaggre.dto.datastats.result.*;
import com.epmet.dataaggre.service.datastats.DataStatsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @Author sun
* @Description 数据统计服务
*/
@RestController
@RequestMapping("datastats")
public class DataStatsController {
@Autowired
private DataStatsService dataStatsService;
/**
* @Param formDTO
* @Description 组织下五项基础数据汇总
* @author sun
*/
@PostMapping("agencybasicdata")
public Result<AgencyBasicDataResultDTO> agencyBasicData(@RequestBody AgenctBasicDataFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, AgenctBasicDataFormDTO.Agency.class);
return new Result<AgencyBasicDataResultDTO>().ok(dataStatsService.agencyBasicData(formDTO));
}
/**
* @Param formDTO
* @Description 网格下五项基础数据汇总
* @author sun
*/
@PostMapping("gridbasicdata")
public Result<GridBasicDataResultDTO> gridBasicData(@RequestBody GridBasicDataFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, GridBasicDataFormDTO.Grid.class);
return new Result<GridBasicDataResultDTO>().ok(dataStatsService.gridBasicData(formDTO));
}
/**
* @Param formDTO
* @Description 查询当前组织的直属下级组织用户数据
* @author sun
*/
@PostMapping("subagencyuser")
public Result<List<SubAgencyUserResultDTO>> subAgencyUser(@RequestBody SubAgencyFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, SubAgencyFormDTO.Agency.class);
return new Result<List<SubAgencyUserResultDTO>>().ok(dataStatsService.subAgencyUser(formDTO));
}
/**
* @Param formDTO
* @Description 查询当前组织下直属网格列表用户数据
* @author sun
*/
@PostMapping("subgriduser")
public Result<List<SubGridUserResultDTO>> subGridUser(@RequestBody SubGridFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, SubGridFormDTO.Agency.class);
return new Result<List<SubGridUserResultDTO>>().ok(dataStatsService.subGridUser(formDTO));
}
/**
* @Param formDTO
* @Description 查询当前组织的直属下级组织群组数据
* @author sun
*/
@PostMapping("subagencygroup")
public Result<List<SubAgencyGroupResultDTO>> subAgencyGroup(@RequestBody SubAgencyFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, SubAgencyFormDTO.Agency.class);
return new Result<List<SubAgencyGroupResultDTO>>().ok(dataStatsService.subAgencyGroup(formDTO));
}
/**
* @Param formDTO
* @Description 查询当前组织下直属网格列表群组数据
* @author sun
*/
@PostMapping("subgridgroup")
public Result<List<SubGridGroupResultDTO>> subGridGroup(@RequestBody SubGridFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, SubGridFormDTO.Agency.class);
return new Result<List<SubGridGroupResultDTO>>().ok(dataStatsService.subGridGroup(formDTO));
}
/**
* @Param formDTO
* @Description 查询当前组织的直属下级组织话题数据
* @author sun
*/
@PostMapping("subagencytopic")
public Result<List<SubAgencyTopicResultDTO>> subAgencyTopic(@RequestBody SubAgencyFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, SubAgencyFormDTO.Agency.class);
return new Result<List<SubAgencyTopicResultDTO>>().ok(dataStatsService.subAgencyTopic(formDTO));
}
/**
* @Param formDTO
* @Description 查询当前组织下直属网格列表话题数据
* @author sun
*/
@PostMapping("subgridtopic")
public Result<List<SubGridTopicResultDTO>> subGridTopic(@RequestBody SubGridFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, SubGridFormDTO.Agency.class);
return new Result<List<SubGridTopicResultDTO>>().ok(dataStatsService.subGridTopic(formDTO));
}
/**
* @Param formDTO
* @Description 查询当前组织的直属下级组织议题数据
* @author sun
*/
@PostMapping("subagencyissue")
public Result<List<SubAgencyIssueResultDTO>> subAgencyIssue(@RequestBody SubAgencyFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, SubAgencyFormDTO.Agency.class);
return new Result<List<SubAgencyIssueResultDTO>>().ok(dataStatsService.subAgencyIssue(formDTO));
}
/**
* @Param formDTO
* @Description 查询当前组织下直属网格列表议题数据
* @author sun
*/
@PostMapping("subgridissue")
public Result<List<SubGridIssueResultDTO>> subGridIssue(@RequestBody SubGridFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, SubGridFormDTO.Agency.class);
return new Result<List<SubGridIssueResultDTO>>().ok(dataStatsService.subGridIssue(formDTO));
}
/**
* @Param formDTO
* @Description 查询当前组织的直属下级组织项目数据
* @author sun
*/
@PostMapping("subagencyproject")
public Result<List<SubAgencyProjectResultDTO>> subAgencyProject(@RequestBody SubAgencyFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, SubAgencyFormDTO.Agency.class);
return new Result<List<SubAgencyProjectResultDTO>>().ok(dataStatsService.subAgencyProject(formDTO));
}
/**
* @Param formDTO
* @Description 查询当前组织下直属网格列表项目数据
* @author sun
*/
@PostMapping("subgridproject")
public Result<List<SubGridProjectResultDTO>> subGridProject(@RequestBody SubGridFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, SubGridFormDTO.Agency.class);
return new Result<List<SubGridProjectResultDTO>>().ok(dataStatsService.subGridProject(formDTO));
}
/**
* @Param formDTO
* @Description 治理实况-当前组织治理指数
* @author sun
*/
@PostMapping("agencygovrn")
public Result<AgencyGovrnResultDTO> agencyGovrn(@RequestBody AgencyGovrnFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, AgencyGovrnFormDTO.Agency.class);
return new Result<AgencyGovrnResultDTO>().ok(dataStatsService.agencyGovrn(formDTO));
}
/**
* @Param formDTO
* @Description 治理实况-组织直属下级治理指数列表
* @author sun
*/
@PostMapping("subagencygovrnlist")
public Result<List<AgencyGovrnResultDTO>> subAgencyGovrnList(@RequestBody AgencyGovrnFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, AgencyGovrnFormDTO.Agency.class);
return new Result<List<AgencyGovrnResultDTO>>().ok(dataStatsService.subAgencyGovrnList(formDTO));
}
/**
* @Param formDTO
* @Description 治理实况-当前网格治理指数
* @author sun
*/
@PostMapping("gridgovrn")
public Result<GridGovrnResultDTO> gridGovrn(@RequestBody GridGovrnFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, GridGovrnFormDTO.Grid.class);
return new Result<GridGovrnResultDTO>().ok(dataStatsService.gridGovrn(formDTO));
}
/**
* @Param formDTO
* @Description 治理实况-组织直属网格治理指数列表
* @author sun
*/
@PostMapping("subgridgovrnlist")
public Result<List<GridGovrnResultDTO>> subGridGovrnList(@RequestBody GridGovrnFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, GridGovrnFormDTO.Agency.class);
return new Result<List<GridGovrnResultDTO>>().ok(dataStatsService.subGridGovrnList(formDTO));
}
/**
* @Param formDTO
* @Description 治理实况-组织/网格下响应解决满意自治率
* @author sun
*/
@PostMapping("governratio")
public Result<GovrnRatioResultDTO> governRatio(@RequestBody GovrnRatioFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, GovrnRatioFormDTO.AgencyGrid.class);
if (!"agency".equals(formDTO.getOrgType()) && !"grid".equals(formDTO.getOrgType())) {
throw new RenException(String.format("入参格式错误,错误的组织或网格类型:%s", formDTO.getOrgType()));
}
return new Result<GovrnRatioResultDTO>().ok(dataStatsService.governRatio(formDTO));
}
}

104
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GroupActController.java

@ -0,0 +1,104 @@
package com.epmet.dataaggre.controller;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dataaggre.dto.resigroup.ActCategoryDictDTO;
import com.epmet.dataaggre.dto.resigroup.form.BranchConAnalysisFormDTO;
import com.epmet.dataaggre.dto.resigroup.form.GroupActCategoryQueryFormDTO;
import com.epmet.dataaggre.dto.resigroup.form.GroupActRankFormDTO;
import com.epmet.dataaggre.dto.resigroup.form.SubAnalysisByCodeFormDTO;
import com.epmet.dataaggre.dto.resigroup.result.BranchConAnalysisResultDTO;
import com.epmet.dataaggre.dto.resigroup.result.GroupActRankResultDTO;
import com.epmet.dataaggre.dto.resigroup.result.RankCodeResultDTO;
import com.epmet.dataaggre.dto.resigroup.result.SubAnalysisByCodeResultDTO;
import com.epmet.dataaggre.service.resigroup.ResiGroupService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 专项组-组织活动相关API放这
*
* @author yinzuomei@elink-cn.com
* @date 2021/5/18 9:08
*/
@RestController
@RequestMapping("groupact")
public class GroupActController {
@Autowired
private ResiGroupService resiGroupService;
/**
* @return com.epmet.commons.tools.utils.Result<com.epmet.dataaggre.dto.resigroup.result.BranchConAnalysisResultDTO>
* @param formDTO
* @author yinzuomei
* @description 001支建+联建统计分析
* @Date 2021/5/18 10:17
**/
@PostMapping("branchconanalysis")
public Result<BranchConAnalysisResultDTO> branchConAnalysis(@RequestBody BranchConAnalysisFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO,BranchConAnalysisFormDTO.AddUserInternalGroup.class);
return new Result<BranchConAnalysisResultDTO>().ok(resiGroupService.branchConAnalysis(formDTO));
}
/**
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.dataaggre.dto.resigroup.ActCategoryDictDTO>>
* @param formDTO
* @author yinzuomei
* @description 002支建+联建二级分类字典查询
* @Date 2021/5/18 13:49
**/
@PostMapping("categorydictlist")
public Result<List<ActCategoryDictDTO>> queryCategoryDictList(@RequestBody GroupActCategoryQueryFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO,GroupActCategoryQueryFormDTO.AddUserInternalGroup.class);
return new Result<List<ActCategoryDictDTO>>().ok(resiGroupService.queryActCategoryDictList(formDTO.getCustomerId(),formDTO.getFirstCategoryCode()));
}
/**
* @return com.epmet.commons.tools.utils.Result<com.epmet.dataaggre.dto.resigroup.result.SubAnalysisByCodeResultDTO>
* @param formDTO
* @author yinzuomei
* @description 003支建+联建下级组织折线图
* @Date 2021/5/18 14:31
**/
@PostMapping("subanalysisbycode")
public Result<List<SubAnalysisByCodeResultDTO>> querySubAnalysisByCode(@RequestBody SubAnalysisByCodeFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO,GroupActCategoryQueryFormDTO.AddUserInternalGroup.class);
return new Result<List<SubAnalysisByCodeResultDTO>>().ok(resiGroupService.querySubAnalysisByCode(formDTO));
}
/**
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.dataaggre.dto.resigroup.result.RankCodeResultDTO>>
* @param formDTO
* @author yinzuomei
* @description 004支建+联建排序方式下拉框
* @Date 2021/5/18 17:14
**/
@PostMapping("rankcodelist")
public Result<List<RankCodeResultDTO>> queryRankCodeList(@RequestBody GroupActCategoryQueryFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO,GroupActCategoryQueryFormDTO.AddUserInternalGroup.class);
return new Result<List<RankCodeResultDTO>>().ok(resiGroupService.queryRankCodeList(formDTO));
}
/**
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.dataaggre.dto.resigroup.result.GroupActRankResultDTO>>
* @param formDTO
* @author yinzuomei
* @description 005支建+联建下级组织排行列表
* @Date 2021/5/18 17:46
**/
@PostMapping("subranklist")
public Result<List<GroupActRankResultDTO>> querySubRankList(@RequestBody GroupActRankFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO,GroupActRankFormDTO.AddUserInternalGroup.class);
return new Result<List<GroupActRankResultDTO>>().ok(resiGroupService.querySubRankList(formDTO));
}
}

51
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/PartyMemberVanguardController.java

@ -0,0 +1,51 @@
package com.epmet.dataaggre.controller;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dataaggre.dto.datastats.form.PartyMemberVanguardFormDTO;
import com.epmet.dataaggre.dto.datastats.result.PartyMemberVanguardDetailResultDTO;
import com.epmet.dataaggre.dto.datastats.result.PartyMemberVanguardRankResultDTO;
import com.epmet.dataaggre.service.datastats.DataStatsService;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* @author zhaoqifeng
* @dscription
* @date 2021/5/18 14:19
*/
@RestController
@RequestMapping("vanguard")
public class PartyMemberVanguardController {
@Resource
private DataStatsService dataStatsService;
/**
* 党员先锋--组织/网格详情
* @author zhaoqifeng
* @date 2021/5/18 15:16
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<com.epmet.dataaggre.dto.datastats.result.PartyMemberVanguardDetailResultDTO>
*/
@PostMapping("detail")
public Result<PartyMemberVanguardDetailResultDTO> vanguardDetail(@RequestBody PartyMemberVanguardFormDTO formDTO) {
PartyMemberVanguardDetailResultDTO result = dataStatsService.vanguardDetail(formDTO);
return new Result<PartyMemberVanguardDetailResultDTO>().ok(result);
}
/**
* 党员先锋--下级组织排行
* @author zhaoqifeng
* @date 2021/5/18 15:16
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<com.epmet.dataaggre.dto.datastats.result.PartyMemberVanguardRankResultDTO>
*/
@PostMapping("orgrank")
public Result<PartyMemberVanguardRankResultDTO> vanguardRank(@RequestBody PartyMemberVanguardFormDTO formDTO) {
PartyMemberVanguardRankResultDTO result = dataStatsService.vanguardRank(formDTO);
return new Result<PartyMemberVanguardRankResultDTO>().ok(result);
}
}

245
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/datastats/DataStatsDao.java

@ -0,0 +1,245 @@
/**
* 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.dataaggre.dao.datastats;
import com.epmet.dataaggre.dto.datastats.FactGroupActDailyDTO;
import com.epmet.dataaggre.dto.datastats.form.SubAgencyFormDTO;
import com.epmet.dataaggre.dto.datastats.form.SubGridFormDTO;
import com.epmet.dataaggre.dto.datastats.result.*;
import com.epmet.dataaggre.dto.resigroup.ActCategoryDictDTO;
import com.epmet.dataaggre.dto.resigroup.result.GroupActRankDetailDTO;
import com.epmet.dataaggre.entity.datastats.DimAgencyEntity;
import com.epmet.dataaggre.entity.datastats.DimGridEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @Author sun
* @Description 数据统计服务
*/
@Mapper
public interface DataStatsDao {
/**
* @Description 查询组织下注册用户最新日统计数据
* @author sun
*/
AgencyBasicDataResultDTO getAgnecyRegUser(@Param("agencyId") String agencyId, @Param("dateId") String dateId);
/**
* @Description 查询组织下最新群组日统计数据
* @author sun
*/
AgencyBasicDataResultDTO getAgnecyGroup(@Param("agencyId") String agencyId, @Param("dateId") String dateId);
/**
* @Description 查询组织下最新状态话题-机关日统计数据表
* @author sun
*/
List<AgencyBasicDataResultDTO.Topic> getAgencyTopic(@Param("agencyId") String agencyId, @Param("dateId") String dateId);
/**
* @Description 查询组织下最新转议题话题-机关日统计数据表
* @author sun
*/
AgencyBasicDataResultDTO.Topic getAgencyTopicShiftIssue(@Param("agencyId") String agencyId, @Param("dateId") String dateId);
/**
* @Description 热议中话题-机关日统计数据
* @author sun
*/
AgencyBasicDataResultDTO.Topic getAgencyTopicHotDiscuss(@Param("agencyId") String agencyId, @Param("dateId") String dateId);
/**
* @Description 查询组织下最新议题日统计数据
* @author sun
*/
AgencyBasicDataResultDTO getAgencyIssue(@Param("agencyId") String agencyId, @Param("dateId") String dateId);
/**
* @Description 查询组织下最新项目日统计数据
* @author sun
*/
AgencyBasicDataResultDTO getAgencyProject(@Param("agencyId") String agencyId, @Param("dateId") String dateId);
/**
* @Description 查询当前组织的直属下级组织信息
* @author sun
*/
List<DimAgencyEntity> getSubAgencyList(@Param("pid") String pid);
/**
* @Description 查询直属下级组织注册用户日统计数据默认按用户总数降序
* @author sun
*/
List<SubAgencyUserResultDTO> getSubAgencyUser(@Param("agencyIds") List<String> agencyIds, @Param("dateId") String dateId);
/**
* @Description 查询组织下网格列表
* @author sun
*/
List<DimGridEntity> getSubGridList(@Param("agencyId") String agencyId);
/**
* @Description 查询网格层级注册用户日统计数据
* @author sun
*/
List<SubGridUserResultDTO> getSubGridUser(@Param("gridIds") List<String> gridIds, @Param("dateId") String dateId);
/**
* @Description 查询直属下级组织小组日统计数据默认按群组总数降序
* @author sun
*/
List<SubAgencyGroupResultDTO> getSubAgencyGroup(@Param("agencyIds") List<String> agencyIds, @Param("dateId") String dateId);
/**
* @Description 查询网格层级小组日统计数据默认按群组总数降序
* @author sun
*/
List<SubGridGroupResultDTO> getSubGridGroup(@Param("gridIds") List<String> gridIds, @Param("dateId") String dateId);
/**
* @Description 查询直属下级组织状态话题-日统计数据
* @author sun
*/
List<SubAgencyFormDTO.Topic> getSubAgencyTopic(@Param("agencyIds") List<String> agencyIds, @Param("dateId") String dateId);
/**
* @Description 查询直属下级组织转议题话题-日统计数据表
* @author sun
*/
List<SubAgencyFormDTO.Topic> getSubAgencyTopicShiftIssue(@Param("agencyIds") List<String> agencyIds, @Param("dateId") String dateId);
/**
* @Description 查询直属下级组织热议中话题-机关日统计数据
* @author sun
*/
List<SubAgencyFormDTO.Topic> getSubAgencyTopicHotDiscuss(@Param("agencyIds") List<String> agencyIds, @Param("dateId") String dateId);
/**
* @Description 查询网格层级状态话题-日统计数据
* @author sun
*/
List<SubGridFormDTO.Topic> getSubGridTopic(@Param("gridIds") List<String> gridIds, @Param("dateId") String dateId);
/**
* @Description 查询网格层级转议题话题-日统计数据表
* @author sun
*/
List<SubGridFormDTO.Topic> getSubGridTopicShiftIssue(@Param("gridIds") List<String> gridIds, @Param("dateId") String dateId);
/**
* @Description 查询网格层级热议中话题-日统计数据
* @author sun
*/
List<SubGridFormDTO.Topic> getSubGridTopicHotDiscuss(@Param("gridIds") List<String> gridIds, @Param("dateId") String dateId);
/**
* @Description 查询直属下级组织议题日统计数据默认按议题总数降序
* @author sun
*/
List<SubAgencyIssueResultDTO> getSubAgencyIssue(@Param("agencyIds") List<String> agencyIds, @Param("dateId") String dateId);
/**
* @Description 查询网格层级议题日统计数据默认按议题总数降序
* @author sun
*/
List<SubGridIssueResultDTO> getSubGridIssue(@Param("gridIds") List<String> gridIds, @Param("dateId") String dateId);
/**
* @Description 查询直属下级组织项目日统计数据默认按项目总数降序
* @author sun
*/
List<SubAgencyProjectResultDTO> getSubAgencyProject(@Param("agencyIds") List<String> agencyIds, @Param("dateId") String dateId);
/**
* @Description 查询网格层级项目日统计数据默认按项目总数降序
* @author sun
*/
List<SubGridProjectResultDTO> getSubGridProject(@Param("gridIds") List<String> gridIds, @Param("dateId") String dateId);
/**
* 查询组织党员先锋详情
* @author zhaoqifeng
* @date 2021/5/18 14:40
* @param agencyId
* @return com.epmet.dataaggre.dto.datastats.result.PartyMemberVanguardDetailResultDTO
*/
PartyMemberVanguardDetailResultDTO selectAgencyVanguardDetail(@Param("agencyId") String agencyId);
/**
* 查询网格党员先锋详情
* @author zhaoqifeng
* @date 2021/5/18 14:40
* @param grid
* @return com.epmet.dataaggre.dto.datastats.result.PartyMemberVanguardDetailResultDTO
*/
PartyMemberVanguardDetailResultDTO selectGridVanguardDetail(@Param("grid") String grid);
/**
* 查询组织党员先锋排行
* @author zhaoqifeng
* @date 2021/5/18 15:02
* @param agencyId
* @return java.util.List<com.epmet.dataaggre.dto.datastats.result.PartyMemberVanguardDetailResultDTO>
*/
List<PartyMemberVanguardDetailResultDTO> selectAgencyVanguardRank(@Param("agencyId") String agencyId);
/**
* 查询网格党员先锋排行
* @author zhaoqifeng
* @date 2021/5/18 15:03
* @param agencyId
* @return java.util.List<com.epmet.dataaggre.dto.datastats.result.PartyMemberVanguardDetailResultDTO>
*/
List<PartyMemberVanguardDetailResultDTO> selectGridVanguardRank(@Param("agencyId") String agencyId);
List<FactGroupActDailyDTO> branchConAnalysis(@Param("customerId")String customerId,
@Param("orgId")String orgId,
@Param("orgType")String orgType,
@Param("dateId")String dateId,
@Param("parentCode")String parentCode);
List<FactGroupActDailyDTO> querySubAnalysisByCode(@Param("customerId")String customerId,
@Param("pid")String pid,
@Param("dateId")String dateId,
@Param("categoryCode")String categoryCode);
List<GroupActRankDetailDTO> selectGroupActRankDetail(@Param("customerId") String customerId,
@Param("dateId") String dateId,
@Param("orgId") String orgId,
@Param("actCategoryDictDTOList") List<ActCategoryDictDTO> actCategoryDictDTOList);
DimAgencyEntity getAgencyInfo(@Param("agencyId") String agencyId);
/**
* @Param formDTO
* @Description 根据组织Id查询事件治理指数
* @author sun
*/
List<AgencyGovrnResultDTO> getAgencyGovern(@Param("agencyIds") List<String> agencyIds, @Param("dateId") String dateId);
/**
* @Param formDTO
* @Description 根据网格Id查询事件治理指数
* @author sun
*/
List<GridGovrnResultDTO> getGridGovern(@Param("gridIds") List<String> gridIds, @Param("dateId") String dateId);
}

37
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/evaluationindex/EvaluationIndexDao.java

@ -0,0 +1,37 @@
/**
* 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.dataaggre.dao.evaluationindex;
import com.epmet.dataaggre.dto.datastats.result.GovrnRatioResultDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* @Author sun
* @Description 指标统计服务
*/
@Mapper
public interface EvaluationIndexDao {
/**
* @Param formDTO
* @Description 按类型日期查询治理指数下响应解决满意自治四个统计率
* @author sun
*/
GovrnRatioResultDTO getAgnecyOrGridGoverRatio(@Param("orgId") String orgId, @Param("orgType") String orgType, @Param("dateId") String dateId);
}

3
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerAgencyDao.java

@ -49,4 +49,7 @@ public interface CustomerAgencyDao extends BaseDao<CustomerAgencyEntity> {
String getAgencyIdByUserId(@Param("userId") String userId);
List<String> selectUsedAreaCodeList(@Param("parentAreaCode") String parentAreaCode);
List<CustomerAgencyEntity> selectNextAgency(@Param("customerId")String customerId, @Param("pid")String pid);
}

5
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/resigroup/ResiGroupDao.java

@ -18,6 +18,7 @@
package com.epmet.dataaggre.dao.resigroup;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dataaggre.dto.resigroup.ActCategoryDictDTO;
import com.epmet.dataaggre.dto.resigroup.result.CandidateListResultDTO;
import com.epmet.dataaggre.entity.resigroup.ResiGroupEntity;
import org.apache.ibatis.annotations.Mapper;
@ -41,5 +42,7 @@ public interface ResiGroupDao extends BaseDao<ResiGroupEntity> {
* @date 2021/3/30 上午10:13
*/
List<CandidateListResultDTO> candidateList(@Param("groupId")String groupId);
List<ActCategoryDictDTO> selectActCategoryDictDTOByPcode(@Param("customerId")String customerId,
@Param("categoryCode")String firstCategoryCode);
}

78
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/datastats/DimAgencyEntity.java

@ -0,0 +1,78 @@
/**
* 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.dataaggre.entity.datastats;
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-06-16
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("dim_agency")
public class DimAgencyEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 组织名称
*/
private String agencyName;
/**
* 客户ID
*/
private String customerId;
/**
* 上级组织机构ID根组织为0
*/
private String pid;
/**
* 所有上级组织机构ID(以英文:隔开)
*/
private String pids;
/**
* 机关维度类型self:机关本身自己,all:机关自己+下级+网格+部门等
*/
private String agencyDimType;
/**
* 所有上级名称,-连接
*/
private String allParentName;
/**
* 机关级别社区级community
* 街道:street,
* 区县级: district,
* 市级: city
* 省级:province
*/
private String level;
}

49
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/datastats/DimCustomerEntity.java

@ -0,0 +1,49 @@
/**
* 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.dataaggre.entity.datastats;
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-06-16
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("dim_customer")
public class DimCustomerEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户名称
*/
private String customerName;
/**
* 客户所属行政地区编码取值来自客户根组织的area_code01.14 add
*/
private String areaCode;
}

59
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/datastats/DimGridEntity.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.dataaggre.entity.datastats;
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-06-16
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("dim_grid")
public class DimGridEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 网格名称
*/
private String gridName;
/**
* 客户ID
*/
private String customerId;
/**
* 所属组织机构IDcustomer_agency.id
*/
private String agencyId;
/**
* 所属地区码所属组织地区码
*/
private String areaCode;
}

162
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/DataStatsService.java

@ -0,0 +1,162 @@
package com.epmet.dataaggre.service.datastats;
import com.epmet.dataaggre.dto.datastats.FactGroupActDailyDTO;
import com.epmet.dataaggre.dto.datastats.form.*;
import com.epmet.dataaggre.dto.datastats.result.*;
import com.epmet.dataaggre.dto.resigroup.ActCategoryDictDTO;
import com.epmet.dataaggre.dto.resigroup.result.GroupActRankDetailDTO;
import java.util.List;
/**
* @Author sun
* @Description 数据统计服务
*/
public interface DataStatsService {
/**
* @Param formDTO
* @Description 组织下五项基础数据汇总
* @author sun
*/
AgencyBasicDataResultDTO agencyBasicData(AgenctBasicDataFormDTO formDTO);
/**
* @Param formDTO
* @Description 网格下五项基础数据汇总
* @author sun
*/
GridBasicDataResultDTO gridBasicData(GridBasicDataFormDTO formDTO);
/**
* @Param formDTO
* @Description 查询当前组织的直属下级组织用户数据
* @author sun
*/
List<SubAgencyUserResultDTO> subAgencyUser(SubAgencyFormDTO formDTO);
/**
* @Param formDTO
* @Description 查询当前组织下直属网格列表用户数据
* @author sun
*/
List<SubGridUserResultDTO> subGridUser(SubGridFormDTO formDTO);
/**
* @Param formDTO
* @Description 查询当前组织的直属下级组织群组数据
* @author sun
*/
List<SubAgencyGroupResultDTO> subAgencyGroup(SubAgencyFormDTO formDTO);
/**
* @Param formDTO
* @Description 查询当前组织下直属网格列表群组数据
* @author sun
*/
List<SubGridGroupResultDTO> subGridGroup(SubGridFormDTO formDTO);
/**
* @Param formDTO
* @Description 查询当前组织的直属下级组织话题数据
* @author sun
* @return
*/
List<SubAgencyTopicResultDTO> subAgencyTopic(SubAgencyFormDTO formDTO);
/**
* @Param formDTO
* @Description 查询当前组织下直属网格列表话题数据
* @author sun
* @return
*/
List<SubGridTopicResultDTO> subGridTopic(SubGridFormDTO formDTO);
/**
* @Param formDTO
* @Description 查询当前组织的直属下级组织议题数据
* @author sun
*/
List<SubAgencyIssueResultDTO> subAgencyIssue(SubAgencyFormDTO formDTO);
/**
* @Param formDTO
* @Description 查询当前组织下直属网格列表议题数据
* @author sun
*/
List<SubGridIssueResultDTO> subGridIssue(SubGridFormDTO formDTO);
/**
* @Param formDTO
* @Description 查询当前组织的直属下级组织项目数据
* @author sun
*/
List<SubAgencyProjectResultDTO> subAgencyProject(SubAgencyFormDTO formDTO);
/**
* @Param formDTO
* @Description 查询当前组织下直属网格列表项目数据
* @author sun
*/
List<SubGridProjectResultDTO> subGridProject(SubGridFormDTO formDTO);
/**
* 党员先锋--组织/网格详情
* @author zhaoqifeng
* @date 2021/5/18 14:35
* @param formDTO
* @return com.epmet.dataaggre.dto.datastats.result.PartyMemberVanguardDetailResultDTO
*/
PartyMemberVanguardDetailResultDTO vanguardDetail(PartyMemberVanguardFormDTO formDTO);
/**
* 党员先锋--下级组织排行
* @author zhaoqifeng
* @date 2021/5/18 14:36
* @param formDTO
* @return com.epmet.dataaggre.dto.datastats.result.PartyMemberVanguardDetailResultDTO
*/
PartyMemberVanguardRankResultDTO vanguardRank(PartyMemberVanguardFormDTO formDTO);
List<FactGroupActDailyDTO> branchConAnalysis(String customerId, String orgId, String orgType, String dateId, String parentCode);
List<FactGroupActDailyDTO> querySubAnalysisByCode(String customerId, String pid, String dateId, String categoryCode);
List<GroupActRankDetailDTO> selectGroupActRankDetail(String customerId, String dateId, String orgId, List<ActCategoryDictDTO> actCategoryDictDTOList);
/**
* @Param formDTO
* @Description 治理实况-当前组织治理指数
* @author sun
*/
AgencyGovrnResultDTO agencyGovrn(AgencyGovrnFormDTO formDTO);
/**
* @Param formDTO
* @Description 治理实况-组织直属下级治理指数列表
* @author sun
*/
List<AgencyGovrnResultDTO> subAgencyGovrnList(AgencyGovrnFormDTO formDTO);
/**
* @Param formDTO
* @Description 治理实况-当前网格治理指数
* @author sun
*/
GridGovrnResultDTO gridGovrn(GridGovrnFormDTO formDTO);
/**
* @Param formDTO
* @Description 治理实况-组织直属网格治理指数列表
* @author sun
*/
List<GridGovrnResultDTO> subGridGovrnList(GridGovrnFormDTO formDTO);
/**
* @Param formDTO
* @Description 治理实况-组织/网格下响应解决满意自治率
* @author sun
*/
GovrnRatioResultDTO governRatio(GovrnRatioFormDTO formDTO);
}

1302
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java

File diff suppressed because it is too large

18
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/evaluationindex/EvaluationIndexService.java

@ -0,0 +1,18 @@
package com.epmet.dataaggre.service.evaluationindex;
import com.epmet.dataaggre.dto.datastats.form.GovrnRatioFormDTO;
import com.epmet.dataaggre.dto.datastats.result.GovrnRatioResultDTO;
/**
* @Author sun
* @Description 指标统计服务
*/
public interface EvaluationIndexService {
/**
* @Param formDTO
* @Description 治理实况-组织/网格下响应解决满意自治率
* @author sun
*/
GovrnRatioResultDTO governRatio(GovrnRatioFormDTO formDTO);
}

40
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/evaluationindex/impl/EvaluationIndexServiceImpl.java

@ -0,0 +1,40 @@
package com.epmet.dataaggre.service.evaluationindex.impl;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.dataaggre.constant.DataSourceConstant;
import com.epmet.dataaggre.dao.datastats.DataStatsDao;
import com.epmet.dataaggre.dao.evaluationindex.EvaluationIndexDao;
import com.epmet.dataaggre.dto.datastats.form.GovrnRatioFormDTO;
import com.epmet.dataaggre.dto.datastats.result.GovrnRatioResultDTO;
import com.epmet.dataaggre.service.evaluationindex.EvaluationIndexService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @Author sun
* @Description 指标统计服务
*/
@Service
@DataSource(DataSourceConstant.EVALUATION_INDEX)
@Slf4j
public class EvaluationIndexServiceImpl implements EvaluationIndexService {
@Autowired
private EvaluationIndexDao evaluationIndexDao;
/**
* @Param formDTO
* @Description 按类型日期查询治理指数下响应解决满意自治四个统计率
* @author sun
*/
@Override
public GovrnRatioResultDTO governRatio(GovrnRatioFormDTO formDTO) {
return evaluationIndexDao.getAgnecyOrGridGoverRatio(formDTO.getOrgId(),formDTO.getOrgType(),formDTO.getDateId());
}
}

3
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java

@ -5,6 +5,7 @@ import com.epmet.dataaggre.dto.govorg.result.AgencyGridResultDTO;
import com.epmet.dataaggre.dto.govorg.result.GridInfoResultDTO;
import com.epmet.dataaggre.dto.govorg.result.GridsInfoListResultDTO;
import com.epmet.dataaggre.dto.govorg.result.NextAreaCodeResultDTO;
import com.epmet.dataaggre.dto.resigroup.result.OrgInfoCommonDTO;
import java.util.List;
@ -45,4 +46,6 @@ public interface GovOrgService {
String getAgencyIdByUserId(String userId);
List<NextAreaCodeResultDTO> queryNextLevelAreaCodeList(NextAreaCodeFormDTO formDTO);
List<OrgInfoCommonDTO> queryNextOrgInfoDTO(String customerId, String orgId);
}

28
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java

@ -15,6 +15,7 @@ import com.epmet.dataaggre.dto.govorg.result.AgencyGridResultDTO;
import com.epmet.dataaggre.dto.govorg.result.GridInfoResultDTO;
import com.epmet.dataaggre.dto.govorg.result.GridsInfoListResultDTO;
import com.epmet.dataaggre.dto.govorg.result.NextAreaCodeResultDTO;
import com.epmet.dataaggre.dto.resigroup.result.OrgInfoCommonDTO;
import com.epmet.dataaggre.entity.govorg.CustomerAgencyEntity;
import com.epmet.dataaggre.service.commonservice.AreaCodeService;
import com.epmet.dataaggre.service.govorg.GovOrgService;
@ -162,6 +163,33 @@ public class GovOrgServiceImpl implements GovOrgService {
return allList;
}
@Override
public List<OrgInfoCommonDTO> queryNextOrgInfoDTO(String customerId, String orgId) {
List<OrgInfoCommonDTO> result=new ArrayList<>();
List<CustomerAgencyEntity> customerAgencyEntityList = customerAgencyDao.selectNextAgency(customerId, orgId);
if(CollectionUtils.isNotEmpty(customerAgencyEntityList)){
customerAgencyEntityList.forEach(agencyEntity->{
OrgInfoCommonDTO agecnyInfo=new OrgInfoCommonDTO();
agecnyInfo.setOrgId(agencyEntity.getId());
agecnyInfo.setOrgName(agencyEntity.getOrganizationName());
agecnyInfo.setOrgType("agency");
result.add(agecnyInfo);
});
return result;
}
List<GridInfoResultDTO> gridInfoResultDTOList=customerGridDao.selectGridListByAgencyId(orgId);
if(CollectionUtils.isNotEmpty(gridInfoResultDTOList)){
gridInfoResultDTOList.forEach(grid->{
OrgInfoCommonDTO gridInfo=new OrgInfoCommonDTO();
gridInfo.setOrgId(grid.getGridId());
gridInfo.setOrgName(grid.getGridName());
gridInfo.setOrgType("grid");
result.add(gridInfo);
});
}
return result;
}
public static void main(String[] args) {
List<NextAreaCodeResultDTO> allList = new ArrayList<>();
NextAreaCodeResultDTO m1 = new NextAreaCodeResultDTO();

4
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java

@ -116,10 +116,10 @@ public class GovProjectServiceImpl implements GovProjectService {
List<ProjectDistributionResultDTO> resultDTOList = new ArrayList<>();
List<IssueInfoDTO> issueInfoDTOList = govIssueService.selectShiftProjectIssueList(formDTO.getCustomerId(), formDTO.getGridId(),formDTO.getPageNo(),formDTO.getPageSize());
if (CollectionUtils.isNotEmpty(issueInfoDTOList)) {
List<String> topicIds = issueInfoDTOList.stream().map(data -> data.getTopicId()).collect(Collectors.toList());
List<String> topicIds = issueInfoDTOList.stream().map(IssueInfoDTO::getTopicId).collect(Collectors.toList());
// log.info("话题id集合:" + JSON.toJSONString(topicIds, true));
List<ResiTopicDTO> topicInfoDTOList = resiGroupService.selectTopicInfoByIds(topicIds);
List<String> issueIds = issueInfoDTOList.stream().map(data -> data.getIssueId()).collect(Collectors.toList());
List<String> issueIds = issueInfoDTOList.stream().map(IssueInfoDTO::getIssueId).collect(Collectors.toList());
// log.info("议题id集合:" + JSON.toJSONString(issueIds, true));
resultDTOList = projectDao.selectList(formDTO.getCustomerId(),issueIds);
for (ProjectDistributionResultDTO project : resultDTOList) {

47
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/resigroup/ResiGroupService.java

@ -1,9 +1,9 @@
package com.epmet.dataaggre.service.resigroup;
import com.epmet.dataaggre.dto.resigroup.ActCategoryDictDTO;
import com.epmet.dataaggre.dto.resigroup.ResiTopicDTO;
import com.epmet.dataaggre.dto.resigroup.form.CandidateListFormDTO;
import com.epmet.dataaggre.dto.resigroup.result.CandidateListResultDTO;
import org.apache.ibatis.annotations.Param;
import com.epmet.dataaggre.dto.resigroup.form.*;
import com.epmet.dataaggre.dto.resigroup.result.*;
import java.util.List;
@ -20,4 +20,45 @@ public interface ResiGroupService {
*/
List<CandidateListResultDTO> candidateList(CandidateListFormDTO formDTO);
List<ResiTopicDTO> selectTopicInfoByIds(List<String> topicIds);
/**
* 001支建+联建统计分析
*
* @param formDTO
* @return com.epmet.dataaggre.dto.resigroup.result.BranchConAnalysisResultDTO
*/
BranchConAnalysisResultDTO branchConAnalysis(BranchConAnalysisFormDTO formDTO);
/**
* 002支建+联建二级分类字典查询
*
* @param customerId
* @param firstCategoryCode
* @return com.epmet.dataaggre.dto.resigroup.ActCategoryDictDTO
*/
List<ActCategoryDictDTO> queryActCategoryDictList(String customerId, String firstCategoryCode);
/**
* 003支建+联建下级组织折线图
*
* @param formDTO
* @return com.epmet.dataaggre.dto.resigroup.result.DataCommonDTO
*/
List<SubAnalysisByCodeResultDTO> querySubAnalysisByCode(SubAnalysisByCodeFormDTO formDTO);
/**
* 004支建+联建排序方式下拉框
*
* @param formDTO
* @return com.epmet.dataaggre.dto.resigroup.result.RankCodeResultDTO
*/
List<RankCodeResultDTO> queryRankCodeList(GroupActCategoryQueryFormDTO formDTO);
/**
* 005支建+联建下级组织排行列表
*
* @param formDTO
* @return com.epmet.dataaggre.dto.resigroup.result.GroupActRankResultDTO
*/
List<GroupActRankResultDTO> querySubRankList(GroupActRankFormDTO formDTO);
}

258
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/resigroup/impl/ResiGroupServiceImpl.java

@ -1,17 +1,23 @@
package com.epmet.dataaggre.service.resigroup.impl;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.commons.tools.constant.Constant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.dataaggre.constant.DataSourceConstant;
import com.epmet.dataaggre.dao.resigroup.ResiGroupDao;
import com.epmet.dataaggre.dao.resigroup.ResiTopicDao;
import com.epmet.dataaggre.dto.datastats.FactGroupActDailyDTO;
import com.epmet.dataaggre.dto.epmetuser.result.UserInfosResultDTO;
import com.epmet.dataaggre.dto.resigroup.ResiGroupDTO;
import com.epmet.dataaggre.dto.resigroup.ActCategoryDictDTO;
import com.epmet.dataaggre.dto.resigroup.ResiTopicDTO;
import com.epmet.dataaggre.dto.resigroup.form.CandidateListFormDTO;
import com.epmet.dataaggre.dto.resigroup.result.CandidateListResultDTO;
import com.epmet.dataaggre.dto.resigroup.form.*;
import com.epmet.dataaggre.dto.resigroup.result.*;
import com.epmet.dataaggre.entity.resigroup.ResiGroupEntity;
import com.epmet.dataaggre.redis.ResiGroupRedis;
import com.epmet.dataaggre.service.datastats.DataStatsService;
import com.epmet.dataaggre.service.epmetuser.EpmetUserService;
import com.epmet.dataaggre.service.govorg.GovOrgService;
import com.epmet.dataaggre.service.resigroup.ResiGroupService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
@ -19,9 +25,12 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
@ -40,6 +49,10 @@ public class ResiGroupServiceImpl implements ResiGroupService {
private EpmetUserService epmetUserService;
@Autowired
private ResiGroupRedis resiGroupRedis;
@Autowired
private DataStatsService dataStatsService;
@Autowired
private GovOrgService govOrgService;
@Override
public List<ResiTopicDTO> selectTopicInfoByIds(List<String> topicIds) {
@ -92,4 +105,243 @@ public class ResiGroupServiceImpl implements ResiGroupService {
showUsers.forEach(u -> result.stream().filter(r -> u.equals(r.getUserId())).forEach(r -> disResult.add(r)));
return disResult;
}
/**
* 001支建+联建统计分析
*
* @param formDTO
* @return Result<BranchConAnalysisResultDTO>
*/
@Override
public BranchConAnalysisResultDTO branchConAnalysis(BranchConAnalysisFormDTO formDTO) {
List<ActCategoryDictDTO> categoryList = queryActCategoryDictList(formDTO.getCustomerId(), formDTO.getFirstCategoryCode());
if (CollectionUtils.isEmpty(categoryList)) {
return new BranchConAnalysisResultDTO();
}
String dateId = DateUtils.getBeforeNDay(NumConstant.ONE);
List<FactGroupActDailyDTO> factGroupActDailyDTOList = dataStatsService.branchConAnalysis(formDTO.getCustomerId(), formDTO.getOrgId(), formDTO.getOrgType(),
dateId, formDTO.getFirstCategoryCode());
/**
* List -> Map
* 需要注意的是
* toMap 如果集合对象有重复的key会报错Duplicate key .... * apple1,apple12的id都为1
* 可以用 (k1,k2)->k1 来设置如果有重复的key,则保留key1,舍弃key2
*/
Map<String,FactGroupActDailyDTO> map = factGroupActDailyDTOList.stream().collect(Collectors.toMap(FactGroupActDailyDTO::getCategoryCode, a -> a,(k1,k2)->k1));
// 组织活动次数
int organizeTotal=0;
// 参加活动人数
int participateUserTotal=0;
List<BranchConAnalysisDetailDTO> dataList=new ArrayList<>();
for (ActCategoryDictDTO categoryDictDTO : categoryList) {
BranchConAnalysisDetailDTO participateUserTotalObject=new BranchConAnalysisDetailDTO();
participateUserTotalObject.setName(categoryDictDTO.getCategoryName());
participateUserTotalObject.setType("参加人数");
participateUserTotalObject.setCategoryCode(categoryDictDTO.getCategoryCode());
BranchConAnalysisDetailDTO organizeTotalObject=new BranchConAnalysisDetailDTO();
organizeTotalObject.setName(categoryDictDTO.getCategoryName());
organizeTotalObject.setType("组织次数");
organizeTotalObject.setCategoryCode(categoryDictDTO.getCategoryCode());
/*DataCommonDTO avgParticipateUserTotalObject=new DataCommonDTO();
avgParticipateUserTotalObject.setName(categoryDictDTO.getCategoryName());
avgParticipateUserTotalObject.setType("平均参加人数");*/
if (map.containsKey(categoryDictDTO.getCategoryCode())) {
participateUserTotalObject.setValue(map.get(categoryDictDTO.getCategoryCode()).getParticipateUserTotal());
organizeTotalObject.setValue(map.get(categoryDictDTO.getCategoryCode()).getOrganizeTotal());
// avgParticipateUserTotalObject.setValue(map.get(categoryDictDTO.getCategoryCode()).getAvgParticipateUserTotal());
participateUserTotalObject.setAvg(map.get(categoryDictDTO.getCategoryCode()).getAvgParticipateUserTotal());
organizeTotalObject.setAvg(map.get(categoryDictDTO.getCategoryCode()).getAvgParticipateUserTotal());
organizeTotal += map.get(categoryDictDTO.getCategoryCode()).getOrganizeTotal();
participateUserTotal += map.get(categoryDictDTO.getCategoryCode()).getParticipateUserTotal();
} else {
participateUserTotalObject.setValue(NumConstant.ZERO);
organizeTotalObject.setValue(NumConstant.ZERO);
participateUserTotalObject.setAvg(NumConstant.ZERO);
organizeTotalObject.setAvg(NumConstant.ZERO);
// avgParticipateUserTotalObject.setValue(NumConstant.ZERO);
}
dataList.add(participateUserTotalObject);
dataList.add(organizeTotalObject);
// dataList.add(avgParticipateUserTotalObject);
}
BranchConAnalysisResultDTO resultDTO = new BranchConAnalysisResultDTO();
resultDTO.setOrganizeTotal(organizeTotal);
resultDTO.setParticipateUserTotal(participateUserTotal);
resultDTO.setDataList(dataList);
return resultDTO;
}
@Override
public List<ActCategoryDictDTO> queryActCategoryDictList(String customerId, String firstCategoryCode) {
List<ActCategoryDictDTO> categoryList=resiGroupDao.selectActCategoryDictDTOByPcode(customerId,firstCategoryCode);
if(CollectionUtils.isEmpty(categoryList)){
categoryList=resiGroupDao.selectActCategoryDictDTOByPcode(Constant.DEFAULT_CUSTOMER,firstCategoryCode);
}
return categoryList;
}
/**
* 003支建+联建下级组织折线图
*
* @param formDTO
* @return com.epmet.dataaggre.dto.resigroup.result.SubAnalysisByCodeResultDTO
*/
@Override
public List<SubAnalysisByCodeResultDTO> querySubAnalysisByCode(SubAnalysisByCodeFormDTO formDTO) {
List<OrgInfoCommonDTO> orgInfoDTOList = govOrgService.queryNextOrgInfoDTO(formDTO.getCustomerId(), formDTO.getOrgId());
if (CollectionUtils.isEmpty(orgInfoDTOList)) {
return new ArrayList<>();
}
String dateId = DateUtils.getBeforeNDay(NumConstant.ONE);
List<FactGroupActDailyDTO> factGroupActDailyDTOList = dataStatsService.querySubAnalysisByCode(formDTO.getCustomerId(), formDTO.getOrgId(),
dateId, formDTO.getCategoryCode());
Map<String, FactGroupActDailyDTO> map = factGroupActDailyDTOList.stream().collect(Collectors.toMap(FactGroupActDailyDTO::getOrgId, a -> a, (k1, k2) -> k1));
List<SubAnalysisByCodeResultDTO> resultList = new ArrayList<>();
for (OrgInfoCommonDTO orgInfo : orgInfoDTOList) {
SubAnalysisByCodeResultDTO participateUserTotalObject=new SubAnalysisByCodeResultDTO();
participateUserTotalObject.setName(orgInfo.getOrgName());
participateUserTotalObject.setType("参加人数");
participateUserTotalObject.setOrgId(orgInfo.getOrgId());
SubAnalysisByCodeResultDTO organizeTotalObject=new SubAnalysisByCodeResultDTO();
organizeTotalObject.setName(orgInfo.getOrgName());
organizeTotalObject.setType("组织次数");
organizeTotalObject.setOrgId(orgInfo.getOrgId());
SubAnalysisByCodeResultDTO avgParticipateUserTotalObject=new SubAnalysisByCodeResultDTO();
avgParticipateUserTotalObject.setName(orgInfo.getOrgName());
avgParticipateUserTotalObject.setType("平均参加人数");
avgParticipateUserTotalObject.setOrgId(orgInfo.getOrgId());
if (map.containsKey(orgInfo.getOrgId())) {
participateUserTotalObject.setValue(map.get(orgInfo.getOrgId()).getParticipateUserTotal());
organizeTotalObject.setValue(map.get(orgInfo.getOrgId()).getOrganizeTotal());
avgParticipateUserTotalObject.setValue(map.get(orgInfo.getOrgId()).getAvgParticipateUserTotal());
} else {
participateUserTotalObject.setValue(NumConstant.ZERO);
organizeTotalObject.setValue(NumConstant.ZERO);
avgParticipateUserTotalObject.setValue(NumConstant.ZERO);
}
resultList.add(participateUserTotalObject);
resultList.add(organizeTotalObject);
resultList.add(avgParticipateUserTotalObject);
}
return resultList;
}
/**
* 004支建+联建排序方式下拉框
*
* @param formDTO
* @return com.epmet.dataaggre.dto.resigroup.result.RankCodeResultDTO
*/
@Override
public List<RankCodeResultDTO> queryRankCodeList(GroupActCategoryQueryFormDTO formDTO) {
List<RankCodeResultDTO> resultList=new ArrayList<>();
RankCodeResultDTO defaultResult=new RankCodeResultDTO();
defaultResult.setRankCode("orgtotal");
defaultResult.setRankName("组织活动总次数");
resultList.add(defaultResult);
List<ActCategoryDictDTO> categoryList=resiGroupDao.selectActCategoryDictDTOByPcode(formDTO.getCustomerId(),formDTO.getFirstCategoryCode());
if(CollectionUtils.isEmpty(categoryList)){
categoryList=resiGroupDao.selectActCategoryDictDTOByPcode(Constant.DEFAULT_CUSTOMER,formDTO.getFirstCategoryCode());
}
categoryList.forEach(category->{
RankCodeResultDTO result=new RankCodeResultDTO();
result.setRankCode(category.getCategoryCode());
result.setRankName(category.getCategoryName().concat("-组织次数"));
resultList.add(result);
});
return resultList;
}
/**
* 005支建+联建下级组织排行列表
*
* @param formDTO
* @return com.epmet.dataaggre.dto.resigroup.result.GroupActRankResultDTO
*/
@Override
public List<GroupActRankResultDTO> querySubRankList(GroupActRankFormDTO formDTO) {
List<OrgInfoCommonDTO> orgInfoDTOList = govOrgService.queryNextOrgInfoDTO(formDTO.getCustomerId(), formDTO.getOrgId());
if (CollectionUtils.isEmpty(orgInfoDTOList)) {
return new ArrayList<>();
}
List<GroupActRankResultDTO> resultDTOList=new ArrayList<>();
String dateId = DateUtils.getBeforeNDay(NumConstant.ONE);
// 1、根据以及编码查询出二级编码列表
List<ActCategoryDictDTO> actCategoryDictDTOList=queryActCategoryDictList(formDTO.getCustomerId(),formDTO.getFirstCategoryCode());
for(OrgInfoCommonDTO orgInfo:orgInfoDTOList){
GroupActRankResultDTO resultDTO=new GroupActRankResultDTO();
resultDTO.setOrgId(orgInfo.getOrgId());
resultDTO.setOrgName(orgInfo.getOrgName());
resultDTO.setOrgType(orgInfo.getOrgType());
if(!CollectionUtils.isEmpty(actCategoryDictDTOList)){
List<GroupActRankDetailDTO> detailList=new ArrayList<>();
List<GroupActRankDetailDTO> detailRecords=dataStatsService.selectGroupActRankDetail(formDTO.getCustomerId(),dateId,orgInfo.getOrgId(),actCategoryDictDTOList);
Map<String, GroupActRankDetailDTO> map = detailRecords.stream().collect(Collectors.toMap(GroupActRankDetailDTO::getCategoryCode, a -> a, (k1, k2) -> k1));
for(ActCategoryDictDTO actCategoryDictDTO:actCategoryDictDTOList){
GroupActRankDetailDTO temp=new GroupActRankDetailDTO();
temp.setCategoryCode(actCategoryDictDTO.getCategoryCode());
temp.setCategoryName(actCategoryDictDTO.getCategoryName());
temp.setOrganizeName("组织总次数");
temp.setParticipateUserName("参加总人数");
if(map.containsKey(actCategoryDictDTO.getCategoryCode())){
temp.setOrganizeTotal(map.get(actCategoryDictDTO.getCategoryCode()).getOrganizeTotal());
temp.setParticipateUserTotal(map.get(actCategoryDictDTO.getCategoryCode()).getParticipateUserTotal());
}else{
temp.setOrganizeTotal(NumConstant.ZERO);
temp.setParticipateUserTotal(NumConstant.ZERO);
}
detailList.add(temp);
}
resultDTO.setCategoryList(detailList);
int organizeTotal = NumConstant.ZERO;
int participateUserTotal = NumConstant.ZERO;
for(GroupActRankDetailDTO deatil:detailList){
organizeTotal+=deatil.getOrganizeTotal();
participateUserTotal+=deatil.getParticipateUserTotal();
}
resultDTO.setOrganizeTotal(organizeTotal);
resultDTO.setParticipateUserTotal(participateUserTotal);
}
resultDTOList.add(resultDTO);
}
if(StringUtils.isEmpty(formDTO.getRankCode())||"orgtotal".equals(formDTO.getRankCode())){
//按照 组织总次数降序排列
resultDTOList.sort(Comparator.comparing(GroupActRankResultDTO::getOrganizeTotal).reversed());
}else{
resultDTOList.forEach(m->{
for(GroupActRankDetailDTO categoryDto:m.getCategoryList()){
if(formDTO.getRankCode().equals(categoryDto.getCategoryCode())){
m.setSortValue(categoryDto.getOrganizeTotal());
break;
}
}
});
resultDTOList.sort(Comparator.comparing(GroupActRankResultDTO::getSortValue).reversed());
}
return resultDTOList;
}
}

10
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/bootstrap.yml

@ -129,6 +129,16 @@ dynamic:
url: @datasource.druid.opercrm.url@
username: @datasource.druid.opercrm.username@
password: @datasource.druid.opercrm.password@
datastatistical:
driver-class-name: com.mysql.cj.jdbc.Driver
url: @datasource.druid.stats.url@
username: @datasource.druid.stats.username@
password: @datasource.druid.stats.password@
evaluationIndex:
driver-class-name: com.mysql.cj.jdbc.Driver
url: @datasource.druid.evaluationIndex.url@
username: @datasource.druid.evaluationIndex.username@
password: @datasource.druid.evaluationIndex.password@
feign:
hystrix:
enabled: true

657
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml

@ -0,0 +1,657 @@
<?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.dataaggre.dao.datastats.DataStatsDao">
<select id="getAgnecyRegUser" resultType="com.epmet.dataaggre.dto.datastats.result.AgencyBasicDataResultDTO">
SELECT
reg_total AS userTotal,
partymember_total AS partyMemberTotal,
(reg_total - partymember_total) AS resiTotal
FROM
fact_reg_user_agency_daily
WHERE
del_flag = '0'
AND agency_id = #{agencyId}
AND date_id = #{dateId}
LIMIT 1
</select>
<select id="getAgnecyGroup" resultType="com.epmet.dataaggre.dto.datastats.result.AgencyBasicDataResultDTO">
SELECT
group_total AS groupTotal,
ordinary_total AS ordinaryTotal,
branch_total AS branchTotal
FROM
fact_group_total_agency_daily
WHERE
del_flag = '0'
AND agency_id = #{agencyId}
AND date_id = #{dateId}
LIMIT 1
</select>
<select id="getAgencyTopic" resultType="com.epmet.dataaggre.dto.datastats.result.AgencyBasicDataResultDTO$Topic">
SELECT
topic_count AS topicCount,
topic_status_id AS topicStatus
FROM
fact_topic_status_agency_daily
WHERE
del_flag = '0'
AND topic_status_id in('discussing','closed','hidden')<!-- 讨论中(热议中!=讨论中)、已处理、已屏蔽 -->
AND agency_id = #{agencyId}
AND date_id = #{dateId}
LIMIT 3
</select>
<select id="getAgencyTopicShiftIssue" resultType="com.epmet.dataaggre.dto.datastats.result.AgencyBasicDataResultDTO$Topic">
SELECT
issue_total AS shiftedIssueTotal,
DATE_FORMAT(date_id, '%Y-%m-%d') AS deadline
FROM
fact_topic_issue_agency_daily
WHERE
del_flag = '0'
AND agency_id = #{agencyId}
AND date_id = #{dateId}
LIMIT 1
</select>
<select id="getAgencyTopicHotDiscuss" resultType="com.epmet.dataaggre.dto.datastats.result.AgencyBasicDataResultDTO$Topic">
SELECT
IFNULL(topic_total, 0) AS topicTotal,
IFNULL(topic_count, 0) AS topicCount
FROM
fact_topic_hotdiscuss_agency_daily
WHERE
del_flag = '0'
AND agency_id = #{agencyId}
AND date_id = #{dateId}
LIMIT 1
</select>
<select id="getAgencyIssue" resultType="com.epmet.dataaggre.dto.datastats.result.AgencyBasicDataResultDTO">
SELECT
issue_total AS issueTotal,
voting_total AS votingTotal,
closed_total AS closedIssueTotal,
shift_project_total AS shiftProjectTotal
FROM
fact_issue_agency_daily
WHERE
del_flag = '0'
AND agency_id = #{agencyId}
AND date_id = #{dateId}
LIMIT 1
</select>
<select id="getAgencyProject" resultType="com.epmet.dataaggre.dto.datastats.result.AgencyBasicDataResultDTO">
SELECT
IFNULL(project_total, 0) AS "projectTotal",
IFNULL(pending_total, 0) AS "pendingTotal",
IFNULL(closed_total, 0) AS "closedProjectTotal"
FROM
fact_agency_project_daily
WHERE
del_flag = '0'
AND agency_id = #{agencyId}
AND date_id = #{dateId}
LIMIT 1
</select>
<select id="getSubAgencyList" resultType="com.epmet.dataaggre.entity.datastats.DimAgencyEntity">
SELECT
*
FROM
dim_agency
WHERE
del_flag = '0'
AND agency_dim_type = 'all'
AND pid = #{pid}
</select>
<select id="getSubAgencyUser" resultType="com.epmet.dataaggre.dto.datastats.result.SubAgencyUserResultDTO">
SELECT
agency_id AS agencyId,
reg_total AS userTotal,
partymember_total AS partyMemberTotal,
(reg_total - partymember_total) AS resiTotal
FROM
fact_reg_user_agency_daily
WHERE
del_flag = '0'
AND date_id = #{dateId}
<foreach item="agencyId" collection="agencyIds" open="AND (" separator="or" close=")" index="">
agency_id = #{agencyId}
</foreach>
ORDER BY
reg_total DESC
</select>
<select id="getSubGridList" resultType="com.epmet.dataaggre.entity.datastats.DimGridEntity">
SELECT
*
FROM
dim_grid
WHERE
del_flag = '0'
AND agency_id = #{agencyId}
</select>
<select id="getSubGridUser" resultType="com.epmet.dataaggre.dto.datastats.result.SubGridUserResultDTO">
SELECT
grid_id AS gridId,
reg_total AS userTotal,
partymember_total AS partyMemberTotal,
(reg_total - partymember_total) AS resiTotal
FROM
fact_reg_user_grid_daily
WHERE
del_flag = '0'
AND date_id = #{dateId}
<foreach item="gridId" collection="gridIds" open="AND (" separator="or" close=")" index="">
grid_id = #{gridId}
</foreach>
ORDER BY
reg_total DESC
</select>
<select id="getSubAgencyGroup" resultType="com.epmet.dataaggre.dto.datastats.result.SubAgencyGroupResultDTO">
SELECT
agency_id AS agencyId,
group_total AS groupTotal,
ordinary_total AS ordinaryTotal,
branch_total AS branchTotal
FROM
fact_group_total_agency_daily
WHERE
del_flag = '0'
AND date_id = #{dateId}
<foreach item="agencyId" collection="agencyIds" open="AND (" separator="or" close=")" index="">
agency_id = #{agencyId}
</foreach>
ORDER BY
group_total DESC
</select>
<select id="getSubGridGroup" resultType="com.epmet.dataaggre.dto.datastats.result.SubGridGroupResultDTO">
SELECT
grid_id AS gridId,
group_total AS groupTotal,
ordinary_total AS ordinaryTotal,
branch_total AS branchTotal
FROM
fact_group_total_grid_daily
WHERE
del_flag = '0'
AND date_id = #{dateId}
<foreach item="gridId" collection="gridIds" open="AND (" separator="or" close=")" index="">
grid_id = #{gridId}
</foreach>
ORDER BY
group_total DESC
</select>
<select id="getSubAgencyTopic" resultType="com.epmet.dataaggre.dto.datastats.form.SubAgencyFormDTO$Topic">
SELECT
agency_id AS agencyId,
topic_count AS topicCount,
topic_status_id AS topicStatus
FROM
fact_topic_status_agency_daily
WHERE
del_flag = '0'
AND topic_status_id in('discussing','closed','hidden')<!-- 讨论中(热议中!=讨论中)、已处理、已屏蔽 -->
AND date_id = #{dateId}
<foreach item="agencyId" collection="agencyIds" open="AND (" separator="or" close=")" index="">
agency_id = #{agencyId}
</foreach>
</select>
<select id="getSubAgencyTopicShiftIssue" resultType="com.epmet.dataaggre.dto.datastats.form.SubAgencyFormDTO$Topic">
SELECT
agency_id AS agencyId,
issue_total AS shiftedIssueTotal
FROM
fact_topic_issue_agency_daily
WHERE
del_flag = '0'
AND date_id = #{dateId}
<foreach item="agencyId" collection="agencyIds" open="AND (" separator="or" close=")" index="">
agency_id = #{agencyId}
</foreach>
</select>
<select id="getSubAgencyTopicHotDiscuss" resultType="com.epmet.dataaggre.dto.datastats.form.SubAgencyFormDTO$Topic">
SELECT
agency_id AS agencyId,
topic_total AS topicTotal,
topic_count AS topicCount
FROM
fact_topic_hotdiscuss_agency_daily
WHERE
del_flag = '0'
AND date_id = #{dateId}
<foreach item="agencyId" collection="agencyIds" open="AND (" separator="or" close=")" index="">
agency_id = #{agencyId}
</foreach>
</select>
<select id="getSubGridTopic" resultType="com.epmet.dataaggre.dto.datastats.form.SubGridFormDTO$Topic">
SELECT
grid_id AS gridId,
topic_count AS topicCount,
topic_status_id AS topicStatus
FROM
fact_topic_status_grid_daily
WHERE
del_flag = '0'
AND topic_status_id in('discussing','closed','hidden')<!-- 讨论中(热议中!=讨论中)、已处理、已屏蔽 -->
AND date_id = #{dateId}
<foreach item="gridId" collection="gridIds" open="AND (" separator="or" close=")" index="">
grid_id = #{gridId}
</foreach>
</select>
<select id="getSubGridTopicShiftIssue" resultType="com.epmet.dataaggre.dto.datastats.form.SubGridFormDTO$Topic">
SELECT
grid_id AS gridId,
issue_total AS shiftedIssueTotal
FROM
fact_topic_issue_grid_daily
WHERE
del_flag = '0'
AND date_id = #{dateId}
<foreach item="gridId" collection="gridIds" open="AND (" separator="or" close=")" index="">
grid_id = #{gridId}
</foreach>
</select>
<select id="getSubGridTopicHotDiscuss" resultType="com.epmet.dataaggre.dto.datastats.form.SubGridFormDTO$Topic">
SELECT
grid_id AS gridId,
topic_total AS topicTotal,
topic_count AS topicCount
FROM
fact_topic_hotdiscuss_grid_daily
WHERE
del_flag = '0'
AND date_id = #{dateId}
<foreach item="gridId" collection="gridIds" open="AND (" separator="or" close=")" index="">
grid_id = #{gridId}
</foreach>
</select>
<select id="getSubAgencyIssue" resultType="com.epmet.dataaggre.dto.datastats.result.SubAgencyIssueResultDTO">
SELECT
agency_id AS agencyId,
issue_total AS issueTotal,
voting_total AS votingTotal,
closed_total AS closedIssueTotal,
shift_project_total AS shiftProjectTotal
FROM
fact_issue_agency_daily
WHERE
del_flag = '0'
AND date_id = #{dateId}
<foreach item="agencyId" collection="agencyIds" open="AND (" separator="or" close=")" index="">
agency_id = #{agencyId}
</foreach>
ORDER BY
issue_total DESC
</select>
<select id="getSubGridIssue" resultType="com.epmet.dataaggre.dto.datastats.result.SubGridIssueResultDTO">
SELECT
grid_id AS gridId,
issue_total AS issueTotal,
voting_total AS votingTotal,
closed_total AS closedIssueTotal,
shift_project_total AS shiftProjectTotal
FROM
fact_issue_grid_daily
WHERE
del_flag = '0'
AND date_id = #{dateId}
<foreach item="gridId" collection="gridIds" open="AND (" separator="or" close=")" index="">
grid_id = #{gridId}
</foreach>
ORDER BY
issue_total DESC
</select>
<select id="getSubAgencyProject" resultType="com.epmet.dataaggre.dto.datastats.result.SubAgencyProjectResultDTO">
SELECT
agency_id AS agencyId,
IFNULL(project_total, 0) AS "projectTotal",
IFNULL(pending_total, 0) AS "pendingTotal",
IFNULL(closed_total, 0) AS "closedProjectTotal"
FROM
fact_agency_project_daily
WHERE
del_flag = '0'
AND date_id = #{dateId}
<foreach item="agencyId" collection="agencyIds" open="AND (" separator="or" close=")" index="">
agency_id = #{agencyId}
</foreach>
ORDER BY
project_total DESC
</select>
<select id="getSubGridProject" resultType="com.epmet.dataaggre.dto.datastats.result.SubGridProjectResultDTO">
SELECT
grid_id AS gridId,
IFNULL(project_total, 0) AS "projectTotal",
IFNULL(pending_total, 0) AS "pendingTotal",
IFNULL(closed_total, 0) AS "closedProjectTotal"
FROM
fact_grid_project_daily
WHERE
del_flag = '0'
AND date_id = #{dateId}
<foreach item="gridId" collection="gridIds" open="AND (" separator="or" close=")" index="">
grid_id = #{gridId}
</foreach>
ORDER BY
project_total DESC
</select>
<select id="selectAgencyVanguardDetail" resultType="com.epmet.dataaggre.dto.datastats.result.PartyMemberVanguardDetailResultDTO">
SELECT
orgId,
orgName,
GROUP_COUNT,
GROUP_RATIO,
GROUP_MEMBER_COUNT,
GROUP_MEMBER_RATIO,
TOPIC_COUNT,
TOPIC_RATIO,
ISSUE_COUNT,
ISSUE_RATIO,
PROJECT_COUNT,
PROJECT_RATIO,
PROJECT_CLOSED_COUNT,
PROJECT_CLOSED_RATIO
FROM
(
SELECT
AGENCY_ID AS "orgId",
AGENCY_NAME AS "orgName",
GROUP_COUNT,
GROUP_RATIO,
GROUP_MEMBER_COUNT,
GROUP_MEMBER_RATIO,
TOPIC_COUNT,
TOPIC_RATIO,
ISSUE_COUNT,
ISSUE_RATIO,
PROJECT_COUNT,
PROJECT_RATIO,
PROJECT_CLOSED_COUNT,
PROJECT_CLOSED_RATIO,
MAX( DATE_ID )
FROM
fact_party_member_vanguard_agency_daily a
INNER JOIN dim_agency b ON a.AGENCY_ID = b.ID
WHERE
a.AGENCY_ID = #{agencyId}
GROUP BY
AGENCY_ID
) a
</select>
<select id="selectGridVanguardDetail" resultType="com.epmet.dataaggre.dto.datastats.result.PartyMemberVanguardDetailResultDTO">
SELECT
orgId,
orgName,
GROUP_COUNT,
GROUP_RATIO,
GROUP_MEMBER_COUNT,
GROUP_MEMBER_RATIO,
TOPIC_COUNT,
TOPIC_RATIO,
ISSUE_COUNT,
ISSUE_RATIO,
PROJECT_COUNT,
PROJECT_RATIO,
PROJECT_CLOSED_COUNT,
PROJECT_CLOSED_RATIO
FROM
(
SELECT
GRID_ID AS "orgId",
GRID_NAME AS "orgName",
GROUP_COUNT,
GROUP_RATIO,
GROUP_MEMBER_COUNT,
GROUP_MEMBER_RATIO,
TOPIC_COUNT,
TOPIC_RATIO,
ISSUE_COUNT,
ISSUE_RATIO,
PROJECT_COUNT,
PROJECT_RATIO,
PROJECT_CLOSED_COUNT,
PROJECT_CLOSED_RATIO,
MAX( DATE_ID )
FROM
fact_party_member_vanguard_grid_daily a
INNER JOIN dim_grid b ON a.GRID_ID = b.ID
WHERE
a.GRID_ID = #{grid}
GROUP BY
GRID_ID
) a
</select>
<select id="selectAgencyVanguardRank" resultType="com.epmet.dataaggre.dto.datastats.result.PartyMemberVanguardDetailResultDTO">
SELECT
orgId,
orgName,
GROUP_COUNT,
GROUP_RATIO,
GROUP_MEMBER_COUNT,
GROUP_MEMBER_RATIO,
TOPIC_COUNT,
TOPIC_RATIO,
ISSUE_COUNT,
ISSUE_RATIO,
PROJECT_COUNT,
PROJECT_RATIO,
PROJECT_CLOSED_COUNT,
PROJECT_CLOSED_RATIO
FROM
(
SELECT
AGENCY_ID AS "orgId",
AGENCY_NAME AS "orgName",
GROUP_COUNT,
GROUP_RATIO,
GROUP_MEMBER_COUNT,
GROUP_MEMBER_RATIO,
TOPIC_COUNT,
TOPIC_RATIO,
ISSUE_COUNT,
ISSUE_RATIO,
PROJECT_COUNT,
PROJECT_RATIO,
PROJECT_CLOSED_COUNT,
PROJECT_CLOSED_RATIO,
MAX( DATE_ID )
FROM
fact_party_member_vanguard_agency_daily a
INNER JOIN dim_agency b ON a.AGENCY_ID = b.ID
WHERE
a.PID = #{agencyId}
GROUP BY
AGENCY_ID
) a
ORDER BY GROUP_COUNT DESC
</select>
<select id="selectGridVanguardRank" resultType="com.epmet.dataaggre.dto.datastats.result.PartyMemberVanguardDetailResultDTO">
SELECT
orgId,
orgName,
GROUP_COUNT,
GROUP_RATIO,
GROUP_MEMBER_COUNT,
GROUP_MEMBER_RATIO,
TOPIC_COUNT,
TOPIC_RATIO,
ISSUE_COUNT,
ISSUE_RATIO,
PROJECT_COUNT,
PROJECT_RATIO,
PROJECT_CLOSED_COUNT,
PROJECT_CLOSED_RATIO
FROM
(
SELECT
GRID_ID AS "orgId",
GRID_NAME AS "orgName",
GROUP_COUNT,
GROUP_RATIO,
GROUP_MEMBER_COUNT,
GROUP_MEMBER_RATIO,
TOPIC_COUNT,
TOPIC_RATIO,
ISSUE_COUNT,
ISSUE_RATIO,
PROJECT_COUNT,
PROJECT_RATIO,
PROJECT_CLOSED_COUNT,
PROJECT_CLOSED_RATIO,
MAX( DATE_ID )
FROM
fact_party_member_vanguard_grid_daily a
INNER JOIN dim_grid b ON a.GRID_ID = b.ID
WHERE
a.AGENCY_ID = #{agencyId}
GROUP BY
GRID_ID
) a
ORDER BY GROUP_COUNT DESC
</select>
<select id="branchConAnalysis" parameterType="map" resultType="com.epmet.dataaggre.dto.datastats.FactGroupActDailyDTO">
SELECT
m.CUSTOMER_ID as customerId,
m.DATE_ID as dateId,
m.ORG_ID as orgId,
m.ORG_TYPE as orgType,
m.PID as pid,
m.CATEGORY_CODE as categoryCode,
m.PARENT_CODE as parentCode,
m.`LEVEL` as level,
m.ORGANIZE_TOTAL as organizeTotal,
m.PARTICIPATE_USER_TOTAL as participateUserTotal,
m.AVG_PARTICIPATE_USER_TOTAL as avgParticipateUserTotal
FROM
fact_group_act_daily m
WHERE
m.DEL_FLAG = '0'
AND m.CUSTOMER_ID = #{customerId}
AND m.PARENT_CODE = #{parentCode}
AND m.DATE_ID = #{dateId}
AND m.ORG_ID = #{orgId}
AND m.ORG_TYPE = #{orgType}
order by m.CATEGORY_CODE asc
</select>
<select id="querySubAnalysisByCode" parameterType="map" resultType="com.epmet.dataaggre.dto.datastats.FactGroupActDailyDTO">
SELECT
m.CUSTOMER_ID as customerId,
m.DATE_ID as dateId,
m.ORG_ID as orgId,
m.ORG_TYPE as orgType,
m.PID as pid,
m.CATEGORY_CODE as categoryCode,
m.PARENT_CODE as parentCode,
m.`LEVEL` as level,
m.ORGANIZE_TOTAL as organizeTotal,
m.PARTICIPATE_USER_TOTAL as participateUserTotal,
m.AVG_PARTICIPATE_USER_TOTAL as avgParticipateUserTotal
FROM
fact_group_act_daily m
WHERE
m.DEL_FLAG = '0'
AND m.CUSTOMER_ID = #{customerId}
AND m.CATEGORY_CODE = #{categoryCode}
AND m.DATE_ID = #{dateId}
AND m.PID = #{pid}
</select>
<select id="selectGroupActRankDetail" parameterType="map" resultType="com.epmet.dataaggre.dto.resigroup.result.GroupActRankDetailDTO">
<foreach collection="actCategoryDictDTOList" item="category" separator=" UNION ">
select
#{category.categoryCode} as categoryCode,
#{category.categoryName} as categoryName,
IFNULL(m.ORGANIZE_TOTAL,0) as organizeTotal,
IFNULL(m.PARTICIPATE_USER_TOTAL,0) as participateUserTotal,
'组织总次数' as organizeName,
'参加总人数'as participateUserName
FROM
fact_group_act_daily m
WHERE
m.DEL_FLAG = '0'
AND m.CUSTOMER_ID = #{customerId}
AND m.CATEGORY_CODE = #{category.categoryCode}
AND m.DATE_ID = #{dateId}
AND m.ORG_ID = #{orgId}
</foreach>
</select>
<select id="getAgencyInfo" resultType="com.epmet.dataaggre.entity.datastats.DimAgencyEntity">
SELECT
ID,
AGENCY_NAME,
CUSTOMER_ID,
PID,
PIDS,
ALL_PARENT_NAME,
`LEVEL`
FROM
dim_agency
WHERE
ID = #{agencyId}
</select>
<select id="getAgencyGovern" resultType="com.epmet.dataaggre.dto.datastats.result.AgencyGovrnResultDTO">
SELECT
agency_id AS agencyId,
`level` AS level,
problem_resolved_count AS problemResolvedCount,
concat(ROUND(group_self_govern_ratio*100, 1),'%') AS groupSelfGovernRatio,
concat(ROUND(grid_self_govern_ratio*100, 1),'%') AS gridSelfGovernRatio,
concat(ROUND(community_closed_ratio*100, 1),'%') AS communityResolvedRatio,
concat(ROUND(street_closed_ratio*100, 1),'%') AS streetResolvedRatio,
concat(ROUND(district_dept_closed_ratio*100, 1),'%') AS districtDeptResolvedRatio
FROM
fact_agency_govern_daily
WHERE
del_flag = '0'
AND date_id = #{dateId}
<foreach item="agencyId" collection="agencyIds" open="AND (" separator="or" close=")" index="">
agency_id = #{agencyId}
</foreach>
ORDER BY problem_resolved_count DESC
</select>
<select id="getGridGovern" resultType="com.epmet.dataaggre.dto.datastats.result.GridGovrnResultDTO">
SELECT
grid_id AS gridId,
problem_resolved_count AS problemResolvedCount,
concat(ROUND(group_self_govern_ratio*100, 1),'%') AS groupSelfGovernRatio,
concat(ROUND(grid_self_govern_ratio*100, 1),'%') AS gridSelfGovernRatio,
concat(ROUND(community_closed_ratio*100, 1),'%') AS communityResolvedRatio,
concat(ROUND(street_closed_ratio*100, 1),'%') AS streetResolvedRatio,
concat(ROUND(district_dept_closed_ratio*100, 1),'%') AS districtDeptResolvedRatio
FROM
fact_grid_govern_daily
WHERE
del_flag = '0'
AND date_id = #{dateId}
<foreach item="gridId" collection="gridIds" open="AND (" separator="or" close=")" index="">
grid_id = #{gridId}
</foreach>
ORDER BY problem_resolved_count DESC
</select>
</mapper>

23
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/evaluationindex/EvaluationIndexDao.xml

@ -0,0 +1,23 @@
<?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.dataaggre.dao.evaluationindex.EvaluationIndexDao">
<select id="getAgnecyOrGridGoverRatio" resultType="com.epmet.dataaggre.dto.datastats.result.GovrnRatioResultDTO">
SELECT
org_id AS orgId,
org_type AS orgType,
CONCAT(ROUND(response_ratio, 1), '%') AS responseRatio,
CONCAT(ROUND(resolved_ratio, 1) , '%')AS resolvedRatio,
CONCAT(ROUND(govern_ratio, 1), '%') AS governRatio,
CONCAT(ROUND(satisfaction_ratio, 1), '%') AS satisfactionRatio
FROM
screen_govern_rank_data_daily
WHERE
del_flag = '0'
AND org_id = #{orgId}
AND org_type = #{orgType}
AND date_id = #{dateId}
</select>
</mapper>

14
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerAgencyDao.xml

@ -31,4 +31,18 @@
ca.DEL_FLAG = '0'
AND ca.PARENT_AREA_CODE = #{parentAreaCode}
</select>
<select id="selectNextAgency" parameterType="map" resultType="com.epmet.dataaggre.entity.govorg.CustomerAgencyEntity">
SELECT
*
FROM
customer_agency ca
WHERE
ca.DEL_FLAG = '0'
<if test="customerId != null and customerId != ''">
AND ca.CUSTOMER_ID = #{customerId}
</if>
AND ca.PID = #{pid}
order by ca.CREATED_TIME asc
</select>
</mapper>

13
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/resigroup/ResiGroupDao.xml

@ -15,4 +15,17 @@
AND rgm.GROUP_LEADER_FLAG != 'leader'
AND rgm.RESI_GROUP_ID = #{groupId}
</select>
<select id="selectActCategoryDictDTOByPcode" parameterType="map" resultType="com.epmet.dataaggre.dto.resigroup.ActCategoryDictDTO">
SELECT
*
FROM
act_category_dict acd
WHERE
acd.DEL_FLAG = '0'
AND acd.PARENT_CODE = #{categoryCode}
AND acd.CUSTOMER_ID = #{customerId}
ORDER BY
acd.SORT ASC
</select>
</mapper>

117
epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/dto/IndexExplainDTO.java

@ -0,0 +1,117 @@
/**
* 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.evaluationindex.index.dto;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 指标说明文案
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-05-12
*/
@Data
public class IndexExplainDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private String id;
/**
* 客户id
*/
private String customerId;
/**
* 标题
*/
private String title;
/**
* 指标code
*/
private String indexCode;
/**
* 含义
*/
private String meaning;
/**
* 组织级别网格级grid;社区级community;街道:street;区县级: district;市级: city;省级:province
*/
private String orgLevel;
/**
* 父ID
*/
private String pid;
/**
* 排序
*/
private Integer sort;
/**
* 是否需要查询1有0:
*/
private Integer isSearch;
/**
* 数据类型none本级self下级sub
*/
private String type;
/**
* 删除标记 0未删除1已删除
*/
private String delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

92
epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/dto/IndexExplainTreeDTO.java

@ -0,0 +1,92 @@
/**
* 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.evaluationindex.index.dto;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 指标说明文案
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-05-12
*/
@Data
public class IndexExplainTreeDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private String id;
/**
* 客户id
*/
private String customerId;
/**
* 标题
*/
private String title;
/**
* 含义
*/
private String meaning;
/**
* 指标code
*/
private String indexCode;
/**
* 组织级别网格级grid;社区级community;街道:street;区县级: district;市级: city;省级:province
*/
private String orgLevel;
/**
* 父ID
*/
private String pid;
/**
* 排序
*/
private Integer sort;
/**
* 是否需要查询1有0:
*/
private Integer isSearch;
/**
* 数据类型none本级self下级sub
*/
private String type;
/**
* 子节点
*/
List<IndexExplainTreeDTO> children;
}

58
epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/form/IndexExplainFormDTO.java

@ -0,0 +1,58 @@
/**
* 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.evaluationindex.index.form;
import lombok.Data;
import java.io.Serializable;
/**
* 指标说明文案查询参数
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-05-12
*/
@Data
public class IndexExplainFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 客户id
*/
private String customerId;
/**
* 组织级别网格级grid;社区级community;街道:street;区县级: district;市级: city;省级:province
*/
private String orgLevel;
/**
* 组织id
*/
private String orgId;
/**
* 月份Id
*/
private String monthId;
}

43
epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/form/IndexScoreFormDTO.java

@ -0,0 +1,43 @@
package com.epmet.evaluationindex.index.form;
import lombok.Data;
import java.io.Serializable;
/**
* 指标分数 返回结果
* @Author sun
*/
@Data
public class IndexScoreFormDTO implements Serializable {
private static final long serialVersionUID = 6225580299239889980L;
private String customerId;
/**
* 组织或网格Id
*/
private String orgId;
/**
* 组织或网格类型
*/
private String orgType;
/**
* 月份Id格式202009
*/
private String monthId;
/**
* 类型党建能力dangjiannengli治理能力zhilinengli服务能力fuwunengli
*/
private String indexCode;
/**
* 所有有权重的指标code拼接的字符串 冒号隔开
*/
private String allParentIndexCode;
/**
* pid
*/
private String pid;
}

25
epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/result/IndexExplainChildResult.java

@ -0,0 +1,25 @@
package com.epmet.evaluationindex.index.result;
import com.epmet.evaluationindex.index.dto.IndexExplainDTO;
import lombok.Data;
import java.util.List;
/**
* desc:得分明细说明结果类
*
* @author: LiuJanJun
* @date: 2021/5/12 4:19 下午
* @version: 1.0
*/
@Data
public class IndexExplainChildResult extends IndexExplainDTO {
private static final long serialVersionUID = -3997821113617472317L;
}

53
epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/result/IndexExplainResult.java

@ -0,0 +1,53 @@
package com.epmet.evaluationindex.index.result;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* desc:得分明细说明结果类
*
* @author: LiuJanJun
* @date: 2021/5/12 4:19 下午
* @version: 1.0
*/
@Data
public class IndexExplainResult {
/**
* 标题
*/
private String title;
/**
* 含义
*/
private String meaning;
/**
* 子节点 list
*/
private List<IndexExplainResult> children = new ArrayList<>();
/**
* 子节点data list
*/
private List<IndexScoreDetailResult> tableDataList = new ArrayList<>();
/**
* 子节点标题 list
*/
private List<String> tableTileList = new ArrayList<>();
/**
* 阈值说明列表
*/
private List<String> thresholdList = new ArrayList<>();
/**
* 表格说明
*/
private String tableDesc;
}

92
epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/result/IndexGroupDetailResult.java

@ -0,0 +1,92 @@
/**
* 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.evaluationindex.index.result;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 客户指标详情
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-05-12
*/
@Data
public class IndexGroupDetailResult implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 客户id
*/
private String customerId;
/**
* index_group.id
*/
private String indexGroupId;
/**
* 指标id
*/
private String indexId;
/**
* 指标code
*/
private String indexCode;
/**
* 指标名称
*/
private String indexName;
/**
* 所有有权重的指标code拼接的字符串 冒号隔开
*/
private String allParentIndexCode;
/**
* 所有指标code拼接的字符串 冒号隔开
*/
private String allIndexCodePath;
/**
* 权重同一组权重总和=1
*/
private BigDecimal weight;
/**
* 计算阈值-1:没有阈值如果是百分数则 为0.00几如果为数据则直接填数值
*/
private BigDecimal threshold;
/**
* 是否启用启用enable 禁用disabled
*/
private String status;
/**
* 正相关positive负相关negative
*/
private String correlation;
}

51
epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/result/IndexScoreDetailResult.java

@ -0,0 +1,51 @@
package com.epmet.evaluationindex.index.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
/**
* desc:得分明细说明结果类
*
* @author: LiuJanJun
* @date: 2021/5/12 4:19 下午
* @version: 1.0
*/
@Data
public class IndexScoreDetailResult implements Serializable {
private static final long serialVersionUID = -3997821113617472317L;
/**
* 指标code
*/
private String indexCode;
/**
* 指标名称
*/
private String indexName;
/**
* 原始值(如果是平均分的话 则为 参与平均的个数)
*/
private String originValue;
/**
* 分值
*/
private String score;
/**
* 分值
*/
private String weight;
/**
* 类型 取原始值 还是数量
*/
@JsonIgnore
private String type;
}

46
epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/result/IndexScoreResult.java

@ -0,0 +1,46 @@
package com.epmet.evaluationindex.index.result;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 指标分数 返回结果
* @Author sun
*/
@Data
public class IndexScoreResult implements Serializable {
private static final long serialVersionUID = -8458272574625683349L;
/**
* 指标code
*/
private String indexCode;
/**
* 指标对应值数值或百分比原始值
*/
private BigDecimal score;
/**
* 指标对应的权重
*/
private BigDecimal weight;
/**
* 原始值
*/
private String originValue;
/**
* 数量
*/
private String sampleCount;
/**
* 值类型
*/
private String valueType;
}

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

@ -27,5 +27,10 @@ public class AdvancedBranchRankFormDTO implements Serializable {
* 月份Id
* */
private String monthId;
/**
* 组织类型 agency grid
*/
private String orgType;
public interface AddUserInternalGroup {}
}

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

@ -0,0 +1,35 @@
package com.epmet.evaluationindex.screen.dto.form;
import lombok.Data;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 党员积分排行--接口入参
* @Author sun
*/
@Data
public class PartyPointRankFormDTO implements Serializable {
private static final long serialVersionUID = -2880432640584616651L;
/**
* 组织或网格Id
*/
@NotBlank(message = "组织或网格ID不能为空",groups = {PartyPointRankFormDTO.AddUserInternalGroup.class})
private String orgId;
/**
* 类型组织agency 网格grid
*/
@NotBlank(message = "数据类型不能为空",groups = {PartyPointRankFormDTO.AddUserInternalGroup.class})
private String orgType;
/**
* 默认显示前5名
*/
@Min(value = 1, message = "查询条数必须大于0", groups = {PartyPointRankFormDTO.AddUserInternalGroup.class })
private Integer topNum;
public interface AddUserInternalGroup {}
}

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

@ -36,6 +36,13 @@ public class AblityListResultDTO implements Serializable {
*/
private BigDecimal weight;
/**
* 原始分数
*/
private Double score;
/**
* 加权分数乘以权重后得分
*/
private BigDecimal weightedScore;
}

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

@ -3,7 +3,6 @@ package com.epmet.evaluationindex.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 评价指标字典表数据--接口返参
@ -18,6 +17,10 @@ public class IndexDictResultDTO implements Serializable {
* 指标名
*/
private String indexName;
/**
* 指标名
*/
private String indexDesc;
/**
* 指标code
*/

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

@ -26,7 +26,14 @@ public class IndexScoreResultDTO implements Serializable {
*/
@JsonIgnore
private String party;
/**
* 党建能力 乘以权重后得分
*/
private BigDecimal partyDevAbility;
/**
* 党建能力 原始得分
*/
private BigDecimal partyOriginScore;
/**
* 党建能力权重(保留一位小数)
*/
@ -36,7 +43,14 @@ public class IndexScoreResultDTO implements Serializable {
*/
@JsonIgnore
private String govern;
/**
* 治理能力 乘以权重后得分
*/
private BigDecimal governAbility;
/**
* 治理能力 原始得分
*/
private BigDecimal governOriginScore;
/**
* 治理能力权重(保留一位小数)
*/
@ -46,7 +60,14 @@ public class IndexScoreResultDTO implements Serializable {
*/
@JsonIgnore
private String service;
/**
* 服务能力 乘以权重后得分
*/
private BigDecimal serviceAbility;
/**
* 服务能力 原始得分
*/
private BigDecimal serviceOriginScore;
/**
* 服务能力权重(保留一位小数)
*/

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

@ -0,0 +1,35 @@
package com.epmet.evaluationindex.screen.dto.result;
import lombok.Data;
@Data
public class PartyPointRankResultDTO {
/**
* 组织ID
*/
private String agencyId;
/**
* 组织名称
*/
private String agencyName;
/**
* 用户Id
*/
private String userId;
/**
* 用户名称
*/
private String userName;
/**
* 网格Id
*/
private String gridId;
/**
* 网格名称
*/
private String gridName;
/**
* 党员积分
*/
private Double pointTotal;
}

85
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/constant/IndexConstant.java

@ -0,0 +1,85 @@
package com.epmet.datareport.constant;
import org.apache.commons.lang3.StringUtils;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* @author sun
* @dscription 数据
*/
public class IndexConstant {
/**
* 评价指标类型-百分比
*/
public static final List<String> ScoreLastHeader = Arrays.asList("指标值", "得分", "权重");
public static final List<String> QuantityLastHeader = Arrays.asList("数量", "平均值", "权重");
public static final String DJZS_CN = "党建指数";
public static final String FWZS_CN = "服务指数";
public static final String ZLZS_CN = "治理指数";
public static final String ZB_CN = "指标";
public static final String BEN_JI_CN = "本级";
public static final String XIA_JI_CN = "下级";
public static final String ZI_SHEN = "zishen";
public static final String XIA_JI = "xiaji";
public static final String THRESHOLD_TEXT = "给定阈值%d%%,超过阈值不加分";
public static final String TABLE_DESC = "详见下表:";
public static final String INDEX_SCORE_TITLE = "当月指数";
public static final String INDEX_SCORE_DESC = "含义:自然月周期内,当月指数得分=党建指数得分*相关权重+治理指数得分*相关权重+服务指数得分*相关权重";
public static final String INDEX_DISTRINCT_TABLE1_INDEX_CODE = "suoyoujiedaozlnlpjz";
public static final String ZHI_LI_NENG_LI = "zhilinengli";
public static final String PATTERN_D = "d";
public static final String QUAN_QU_ZHI_LI_INDEX_CODE = "quanquxiangguan:zhilinengli";
/**
* desc: 根据indexCode 获取表格表头
*
* @param allIndexCode
* @return java.util.List<java.lang.String>
* @author LiuJanJun
* @date 2021/5/13 11:06 上午
*/
public static List<String> getStandardSelfHeaders(String allIndexCode) {
List<String> result = new ArrayList<>(8);
if (StringUtils.isBlank(allIndexCode)) {
return null;
}
if (allIndexCode.contains(FactConstant.DJNL)) {
result.add(BEN_JI_CN + DJZS_CN + ZB_CN);
} else if (allIndexCode.contains(FactConstant.FWNL)) {
result.add(BEN_JI_CN + FWZS_CN + ZB_CN);
} else if (allIndexCode.contains(FactConstant.ZLNL)) {
result.add(BEN_JI_CN + ZLZS_CN + ZB_CN);
}
result.addAll(ScoreLastHeader);
return result;
}
/**
* desc: 根据indexCode 获取表格表头
*
* @param allIndexCode
* @return java.util.List<java.lang.String>
* @author LiuJanJun
* @date 2021/5/13 11:06 上午
*/
public static List<String> getStandardSubHeaders(String allIndexCode) {
List<String> result = new ArrayList<>(8);
if (allIndexCode.contains(FactConstant.DJNL)) {
result.add(XIA_JI_CN + DJZS_CN + ZB_CN);
} else if (allIndexCode.contains(FactConstant.FWNL)) {
result.add(XIA_JI_CN + FWZS_CN + ZB_CN);
} else if (allIndexCode.contains(FactConstant.ZLNL)) {
result.add(XIA_JI_CN + ZLZS_CN + ZB_CN);
}
result.addAll(QuantityLastHeader);
return result;
}
}

77
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/index/IndexExplainController.java

@ -0,0 +1,77 @@
/**
* 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.controller.index;
import com.epmet.commons.tools.utils.Result;
import com.epmet.datareport.service.evaluationindex.index.IndexExplainService;
import com.epmet.evaluationindex.index.form.IndexExplainFormDTO;
import com.epmet.evaluationindex.index.form.IndexScoreFormDTO;
import com.epmet.evaluationindex.index.result.IndexExplainResult;
import com.epmet.evaluationindex.screen.dto.result.IndexDictResultDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 指标说明文案
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-05-12
*/
@RestController
@RequestMapping("indexexplain")
public class IndexExplainController {
@Autowired
private IndexExplainService indexExplainService;
/**
* desc: 获取得分说明明细
*
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<com.epmet.group.dto.result.GroupSummaryInfoResultDTO>
* @author LiuJanJun
* @date 2021/5/12 4:12 下午
*/
@PostMapping("detail")
public Result<List<IndexExplainResult>> getScoreDetail(@RequestBody IndexExplainFormDTO formDTO){
Result<List<IndexExplainResult>> ok = new Result<List<IndexExplainResult>>().ok(indexExplainService.getScoreDetail(formDTO));
return ok;
}
/**
* desc: 指标字典项
*
* @param formDTO
* @author LiuJanJun
* @date 2021/5/12 4:12 下午
*/
@PostMapping("indexdict")
public Result<IndexDictResultDTO> getIndexMeaning(@RequestBody IndexScoreFormDTO formDTO){
IndexDictResultDTO result = indexExplainService.getIndexMeaning(formDTO);
return new Result<IndexDictResultDTO>().ok(result);
}
}

28
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/ScreenUserController.java

@ -1,13 +1,13 @@
package com.epmet.datareport.controller.screen;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.datareport.service.evaluationindex.screen.ScreenUserService;
import com.epmet.evaluationindex.screen.dto.form.PartIndexScroeRankFormDTO;
import com.epmet.evaluationindex.screen.dto.form.PartyPointRankFormDTO;
import com.epmet.evaluationindex.screen.dto.form.UserPointRankFormDTO;
import com.epmet.evaluationindex.screen.dto.result.PartIndexScroeRankResultDTO;
import com.epmet.evaluationindex.screen.dto.result.PartyPointRankResultDTO;
import com.epmet.evaluationindex.screen.dto.result.UserPointRankListResultDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
@ -40,6 +40,18 @@ public class ScreenUserController {
return new Result<List<UserPointRankListResultDTO>>().ok(screenUserService.userPointRank(formDTO));
}
/**
* 热心市民积分排行列表(不包含党员)
* @param formDTO
* @return
* @author wxz
*/
@PostMapping("userpointrank/withoutpartymember")
public Result<List<UserPointRankListResultDTO>> userPointRankWithoutPartyMem(@RequestBody UserPointRankFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, UserPointRankFormDTO.AddUserInternalGroup.class);
return new Result<List<UserPointRankListResultDTO>>().ok(screenUserService.userPointRankWithoutPartyMem(formDTO));
}
/**
* @param formDTO
* @Description 党员指标得分排行
@ -52,5 +64,17 @@ public class ScreenUserController {
}
/**
* @param formDTO
* @Description 党员积分排行
* @author wxz
*/
@PostMapping("partypointrank")
public Result<List<PartyPointRankResultDTO>> partyPointRank(@RequestBody PartyPointRankFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, PartIndexScroeRankFormDTO.AddUserInternalGroup.class);
return new Result<List<PartyPointRankResultDTO>>().ok(screenUserService.partyPointRank(formDTO));
}
}

0
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/.gitignore

36
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/index/IndexExplainDao.java

@ -0,0 +1,36 @@
/**
* 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.index;
import com.epmet.evaluationindex.index.dto.IndexExplainTreeDTO;
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 2021-05-12
*/
@Mapper
public interface IndexExplainDao {
List<IndexExplainTreeDTO> getIndexExplainTreeByOrgType(@Param("orgLevel") String orgLevel);
}

33
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/index/IndexGroupDao.java

@ -0,0 +1,33 @@
/**
* 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.index;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.datareport.entity.evaluationindex.IndexGroupEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 客户指标分组
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-05-12
*/
@Mapper
public interface IndexGroupDao extends BaseDao<IndexGroupEntity> {
}

45
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/index/IndexGroupDetailDao.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.index;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.datareport.entity.evaluationindex.IndexGroupDetailEntity;
import com.epmet.evaluationindex.index.result.IndexGroupDetailResult;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 客户指标详情
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-05-12
*/
@Mapper
public interface IndexGroupDetailDao extends BaseDao<IndexGroupDetailEntity> {
/**
* desc: 根据客户Id获取客户所有指标数据
*
* @param customerId
* @return java.util.List<com.epmet.evaluationindex.index.result.IndexGroupDetailResult>
* @author LiuJanJun
* @date 2021/5/13 2:41 下午
*/
List<IndexGroupDetailResult> getAllIndexByCId(String customerId);
}

20
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenPartyUserRankDataDao.java

@ -19,11 +19,9 @@ package com.epmet.datareport.dao.evaluationindex.screen;
import com.epmet.dto.result.user.KcUserPointRankResultDTO;
import com.epmet.evaluationindex.screen.dto.form.PartIndexScroeRankFormDTO;
import com.epmet.evaluationindex.screen.dto.form.PartyPointRankFormDTO;
import com.epmet.evaluationindex.screen.dto.form.UserPointRankFormDTO;
import com.epmet.evaluationindex.screen.dto.result.PartIndexScroeRankResultDTO;
import com.epmet.evaluationindex.screen.dto.result.PartyUserPointResultDTO;
import com.epmet.evaluationindex.screen.dto.result.UserPointRankListResultDTO;
import com.epmet.evaluationindex.screen.dto.result.UserPointResultDTO;
import com.epmet.evaluationindex.screen.dto.result.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -65,6 +63,13 @@ public interface ScreenPartyUserRankDataDao{
*/
List<UserPointRankListResultDTO> selectAgencyUserPointList(UserPointRankFormDTO formDTO);
/**
* 查询组织下居民(不包含党员)积分排行按积分值降序
* @param formDTO
* @return
*/
List<UserPointRankListResultDTO> selectAgencyResiPointListWithoutPartyMem(UserPointRankFormDTO formDTO);
/**
* @param formDTO
* @Description 查询组织下党员的积分排行按积分值降序
@ -75,4 +80,11 @@ public interface ScreenPartyUserRankDataDao{
List<PartyUserPointResultDTO> selectPartymemberPointOrderByAreaCode(@Param("areaCode") String areaCode);
List<UserPointResultDTO> selectUserPointOrderByAreaCode(@Param("areaCode") String areaCode);
/**
* 党员积分排行
* @param formDTO
* @return
*/
List<PartyPointRankResultDTO> listPartymemberPointRank(PartyPointRankFormDTO formDTO);
}

4
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/fact/FactIndexAgencySubScoreDao.java

@ -17,6 +17,8 @@
package com.epmet.datareport.dao.fact;
import com.epmet.evaluationindex.index.form.IndexScoreFormDTO;
import com.epmet.evaluationindex.index.result.IndexScoreResult;
import com.epmet.evaluationindex.screen.dto.form.AblityListFormDTO;
import com.epmet.evaluationindex.screen.dto.form.MonthAblityListFormDTO;
import com.epmet.evaluationindex.screen.dto.result.AblityListResultDTO;
@ -48,4 +50,6 @@ public interface FactIndexAgencySubScoreDao {
* @author sun
*/
LinkedList<MonthAblityListResultDTO> selectMonthAblityList(MonthAblityListFormDTO formDTO);
List<IndexScoreResult> selectSubScore(IndexScoreFormDTO ablityListFormDTO);
}

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save