Browse Source

大屏数据接口修改

dev_shibei_match
wangchao 5 years ago
parent
commit
7fbda69ed6
  1. 53
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/AdvanceBranchRankResultDTO.java
  2. 42
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/GovernCapacityRankResultDTO.java
  3. 41
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/GovernCapacityResultDTO.java
  4. 54
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/OrgRankDataResultDTO.java
  5. 31
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/PartyUserPointResultDTO.java
  6. 38
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/PublicPartiChartResultDTO.java
  7. 19
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/PublicPartiProfileResultDTO.java
  8. 47
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/UserJoinIndicatorGrowthRateResultDTO.java
  9. 25
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/UserJoinMonthlyResultDTO.java
  10. 15
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/screen/ScreenGovernRankDataDao.java
  11. 16
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/screen/ScreenOrgRankDataDao.java
  12. 2
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/screen/ScreenPartyBranchDataDao.java
  13. 10
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/screen/ScreenPartyUserRankDataDao.java
  14. 16
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/screen/ScreenUserJoinDao.java
  15. 27
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/screen/GrassRootsGovernService.java
  16. 27
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/screen/PartyMemberLeadService.java
  17. 131
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/screen/impl/GrassRootsGovernServiceImpl.java
  18. 69
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/screen/impl/PartyMemberLeadServiceImpl.java
  19. 46
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/utils/DateUtils.java
  20. 1
      epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenDifficultyDataDao.xml
  21. 18
      epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenGovernRankDataDao.xml
  22. 26
      epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenOrgRankDataDao.xml
  23. 20
      epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPartyUserRankDataDao.xml
  24. 29
      epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenUserJoinDao.xml
  25. 13
      epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenUserTotalDataDao.xml

53
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/AdvanceBranchRankResultDTO.java

@ -0,0 +1,53 @@
package com.epmet.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 4先进排行榜单-先进支部排行 返参dto
* @NEI https://nei.netease.com/interface/detail/req/?pid=57068&id=321539
* @ClassName AdvanceBranchRankResultDTO
* @Auth wangc
* @Date 2020-08-21 10:47
*/
@Data
public class AdvanceBranchRankResultDTO implements Serializable {
private static final long serialVersionUID = 330099297596334388L;
/**
* 名称 XXXX社区党委
* */
private String name;
/**
* 满意度 90.64% 返回字符串前端直接显示
* */
private String satisfactionRatio;
/**
* 结案率 94.3% 返回字符串前端直接显示
* */
private String closedProjectRatio;
/**
* 党员数
* */
private Integer partyMemberNum;
/**
* 支部建设 GROUP_TOTAL
* */
private Integer branchNum;
/**
* 议题数
* */
private Integer issueNum;
/**
* 项目数
* */
private Integer projectNum;
}

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

@ -0,0 +1,42 @@
package com.epmet.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 治理能力榜单返参dto
* @NEI https://nei.netease.com/interface/detail/req/?pid=57068&id=321627
* @ClassName GovernCapacityRankResultDTO
* @Auth wangc
* @Date 2020-08-20 17:30
*/
@Data
public class GovernCapacityRankResultDTO implements Serializable {
private static final long serialVersionUID = -3891870459284304022L;
/**
* 名称
* */
private String agencyName;
/**
* 响应率
* */
private String responseRatio;
/**
* 解决率
* */
private String resolvedRatio;
/**
* 自治率
* */
private String governRatio;
/**
* 满意率
* */
private String satisfactionRatio;
}

41
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/GovernCapacityResultDTO.java

@ -0,0 +1,41 @@
package com.epmet.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 治理能力查询结果dto
* @ClassName GovernCapacityResultDTO
* @Auth wangc
* @Date 2020-08-20 17:24
*/
@Data
public class GovernCapacityResultDTO implements Serializable {
private static final long serialVersionUID = -2834039644611050304L;
/**
* 名称
* */
private String agencyName;
/**
* 响应率
* */
private Integer responseRatio;
/**
* 解决率
* */
private Integer resolvedRatio;
/**
* 自治率
* */
private Integer governRatio;
/**
* 满意率
* */
private Integer satisfactionRatio;
}

54
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/OrgRankDataResultDTO.java

@ -0,0 +1,54 @@
package com.epmet.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Description 党建引领-组织先进排行榜 查询结果dto
* @ClassName OrgRankDataResultDTO
* @Auth wangc
* @Date 2020-08-21 11:16
*/
@Data
public class OrgRankDataResultDTO implements Serializable {
private static final long serialVersionUID = -2980098512184391207L;
/**
* 名称 XXXX社区党委
* */
private String name;
/**
* 满意度 90.64% 返回字符串前端直接显示
* */
private BigDecimal satisfactionRatio;
/**
* 结案率 94.3% 返回字符串前端直接显示
* */
private BigDecimal closedProjectRatio;
/**
* 党员数
* */
private Integer partyMemberNum;
/**
* 支部建设 GROUP_TOTAL
* */
private Integer branchNum;
/**
* 议题数
* */
private Integer issueNum;
/**
* 项目数
* */
private Integer projectNum;
}

31
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/PartyUserPointResultDTO.java

@ -0,0 +1,31 @@
package com.epmet.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 党员积分查询结果 dto 作为接口5先进排行榜单-先进党员排行的返参对象 NEI地址 https://nei.netease.com/interface/detail/res/?pid=57068&id=321624
* @ClassName PartyUserPointResultDTO
* @Auth wangc
* @Date 2020-08-21 14:18
*/
@Data
public class PartyUserPointResultDTO implements Serializable {
private static final long serialVersionUID = -288523161283142460L;
/**
* 用户Id
* */
private String userId;
/**
* 用户姓名
* */
private String name;
/**
* 用户积分
* */
private Integer point;
}

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

@ -0,0 +1,38 @@
package com.epmet.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Description
* @ClassName PublicPartiChartResultDTO
* @Auth wangc
* @Date 2020-08-21 09:16
*/
@Data
public class PublicPartiChartResultDTO implements Serializable {
private static final long serialVersionUID = 8366701017042226713L;
/**
* 横坐标近一年不包含当前月
* */
private List<String> xAxis;
/**
* 组织次数
* */
private List<Integer> organizeNumList;
/**
* 参与人数
* */
private List<Integer> joinUserNumList;
/**
* 平均参与人次
* */
private List<Integer> averageJoinNumList;
}

19
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/PublicPartiProfileResultDTO.java

@ -1,5 +1,6 @@
package com.epmet.screen.dto.result;
import com.epmet.commons.tools.constant.NumConstant;
import lombok.Data;
import java.io.Serializable;
@ -14,34 +15,34 @@ import java.io.Serializable;
public class PublicPartiProfileResultDTO implements Serializable {
private static final long serialVersionUID = 2520835419152912027L;
private Integer total;
private Integer total = NumConstant.ZERO;
private String monthIncr;
private String monthIncr = "";
/**
* incr上升, decr下降
* */
private String monthTrend;
private String monthTrend = "";
private Integer averageIssue;
private Integer averageIssue = NumConstant.ZERO;
/**
* 较上月百分比
* */
private String issueCompareLastestMonth;
private String issueCompareLatestMonth = "";
/**
* 较上月趋势incr上升decr下降
* */
private String issueCompareLatestTrend;
private String issueCompareLatestTrend = "";
/**
* 平均参与度
* */
private Integer averageJoin;
private Integer averageJoin = NumConstant.ZERO;
private String joinCompareLatestMonth;
private String joinCompareLatestMonth = "";
private String joinCompareLatestTrend;
private String joinCompareLatestTrend = "";
}

47
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/UserJoinIndicatorGrowthRateResultDTO.java

@ -0,0 +1,47 @@
package com.epmet.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Description 用户参与各项指标以及增长查询结果dto
* @ClassName UserJoinIndicatorGrowthRateResultDTO
* @Auth wangc
* @Date 2020-08-21 16:07
*/
@Data
public class UserJoinIndicatorGrowthRateResultDTO implements Serializable {
private static final long serialVersionUID = -8830240350298414599L;
private Integer total;
private BigDecimal monthIncr;
/**
* incr上升, decr下降
* */
private String monthTrend;
private Integer averageIssue;
/**
* 较上月百分比
* */
private BigDecimal issueCompareLatestMonth;
/**
* 较上月趋势incr上升decr下降
* */
private String issueCompareLatestTrend;
/**
* 平均参与度
* */
private Integer averageJoin;
private BigDecimal joinCompareLatestMonth;
private String joinCompareLatestTrend;
}

25
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/UserJoinMonthlyResultDTO.java

@ -0,0 +1,25 @@
package com.epmet.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 阅读用户参与查询返参dto screen_user_join
* @ClassName UserJoinMonthlyResultDTO
* @Auth wangc
* @Date 2020-08-21 09:20
*/
@Data
public class UserJoinMonthlyResultDTO implements Serializable {
private static final long serialVersionUID = 4078219053108425375L;
private String monthId;
private Integer organizeNum;
private Integer joinUserNum;
private Integer averageJoinNum;
}

15
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/screen/ScreenGovernRankDataDao.java

@ -17,7 +17,11 @@
package com.epmet.datareport.dao.screen;
import com.epmet.screen.dto.result.GovernCapacityResultDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 基层治理-治理能力排行数据
@ -27,5 +31,14 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface ScreenGovernRankDataDao{
/**
* @Description 查询政府治理能力各项指标
* @param monthId
* @param agencyId
* @return
* @author wangc
* @date 2020.08.20 17:34
**/
List<GovernCapacityResultDTO> selectGovernCapacityRatio(@Param("monthId") String monthId,@Param("agencyId") String agencyId);
}

16
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/screen/ScreenOrgRankDataDao.java

@ -17,7 +17,11 @@
package com.epmet.datareport.dao.screen;
import com.epmet.screen.dto.result.OrgRankDataResultDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 党建引领-组织排行榜
@ -27,5 +31,15 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface ScreenOrgRankDataDao{
/**
* @Description 查询指定机关的直属网格月度数据
* @param agencyId
* @param monthId
* @return
* @author wangc
* @date 2020.08.21 13:58
**/
List<OrgRankDataResultDTO> selectGridDataMonthly(@Param("agencyId") String agencyId, @Param("monthId") String monthId);
}

2
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/screen/ScreenPartyBranchDataDao.java

@ -53,8 +53,6 @@ public interface ScreenPartyBranchDataDao {
**/
List<BranchIssueDataResultDTO> selectBranchDataByTypeAndTimeZone(@Param("agencyId") String agencyId , @Param("type") String type, @Param("category") String category, @Param("bottomMonthId") String bottomMonthId);
List<BranchBuildOrderByCountResultDTO> selectBranchDataByTypeOrder(String agencyId,String category,String monthId,String bottomMonthId);
/**
* @Description 查询党员志愿服务
* @param agencyId

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

@ -17,6 +17,7 @@
package com.epmet.datareport.dao.screen;
import com.epmet.screen.dto.result.PartyUserPointResultDTO;
import com.epmet.screen.dto.result.UserPointResultDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -41,4 +42,13 @@ public interface ScreenPartyUserRankDataDao{
**/
List<UserPointResultDTO> selectUserPointOrder(@Param("agencyId")String agencyId);
/**
* @Description 查询指定机关所属网格的党员积分排名
* @param agencyId
* @return
* @author wangc
* @date 2020.08.21 14:32
**/
List<PartyUserPointResultDTO> selectPartymemberPointOrder(@Param("agencyId")String agencyId);
}

16
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/screen/ScreenUserJoinDao.java

@ -17,10 +17,13 @@
package com.epmet.datareport.dao.screen;
import com.epmet.screen.dto.result.PublicPartiProfileResultDTO;
import com.epmet.screen.dto.result.UserJoinIndicatorGrowthRateResultDTO;
import com.epmet.screen.dto.result.UserJoinMonthlyResultDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 基层治理-公众参与
*
@ -37,6 +40,15 @@ public interface ScreenUserJoinDao {
* @author wangc
* @date 2020.08.20 15:07
**/
PublicPartiProfileResultDTO selectUserJoinData(@Param("agencyId") String agencyId, @Param("monthId")String monthId);
UserJoinIndicatorGrowthRateResultDTO selectUserJoinData(@Param("agencyId") String agencyId, @Param("monthId")String monthId);
/**
* @Description 查询月度用户参与数据
* @param agencyId
* @param monthId
* @return
* @author wangc
* @date 2020.08.21 09:54
**/
List<UserJoinMonthlyResultDTO> selectUserJoinDataMonthly(@Param("agencyId")String agencyId,@Param("monthId") String monthId);
}

27
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/screen/GrassRootsGovernService.java

@ -3,10 +3,7 @@ package com.epmet.datareport.service.screen;
import com.epmet.screen.dto.form.AgencyAndNumFormDTO;
import com.epmet.screen.dto.form.AgencyFormDTO;
import com.epmet.screen.dto.form.AgencyNumTypeParamFormDTO;
import com.epmet.screen.dto.result.DifficultProjectResultDTO;
import com.epmet.screen.dto.result.PublicPartiProfileResultDTO;
import com.epmet.screen.dto.result.PublicPartiRankResultDTO;
import com.epmet.screen.dto.result.UserPointRankResultDTO;
import com.epmet.screen.dto.result.*;
import java.util.List;
@ -49,7 +46,7 @@ public interface GrassRootsGovernService {
PublicPartiProfileResultDTO publicPartiProfile(AgencyFormDTO param);
/**
* @Description 公众参与-排行榜
* @Description 4公众参与-排行榜
* @NEI https://nei.netease.com/interface/detail/?pid=57068&id=321978
* @param param
* @return
@ -57,4 +54,24 @@ public interface GrassRootsGovernService {
* @date 2020.08.20 15:32
**/
List<PublicPartiRankResultDTO> publicPartiRank(AgencyAndNumFormDTO param);
/**
* @Description 5治理能力榜单
* @NEI https://nei.netease.com/interface/detail/req/?pid=57068&id=321627
* @param param
* @return
* @author wangc
* @date 2020.08.20 17:46
**/
List<GovernCapacityRankResultDTO> governCapacityRank(AgencyAndNumFormDTO param);
/**
* @Description 6公众参与-柱状折线图
* @NEI https://nei.netease.com/interface/detail/req/?pid=57068&id=322434
* @param param
* @return
* @author wangc
* @date 2020.08.21 09:58
**/
PublicPartiChartResultDTO publicPartiChart(AgencyFormDTO param);
}

27
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/screen/PartyMemberLeadService.java

@ -1,11 +1,12 @@
package com.epmet.datareport.service.screen;
import com.epmet.screen.dto.form.AgencyAndNumFormDTO;
import com.epmet.screen.dto.form.ContactMassLineChartFormDTO;
import com.epmet.screen.dto.form.FineExampleFormDTO;
import com.epmet.screen.dto.form.VolunteerServiceFormDTO;
import com.epmet.screen.dto.result.ContactMassLineChartResultDTO;
import com.epmet.screen.dto.result.FineExampleResultDTO;
import com.epmet.screen.dto.result.VolunteerServiceResultDTO;
import com.epmet.screen.dto.result.*;
import java.util.List;
/**
* 党建引领相关各指标查询
@ -38,5 +39,25 @@ public interface PartyMemberLeadService {
* @date 2020/8/20 3:19 下午
*/
VolunteerServiceResultDTO volunteerService(VolunteerServiceFormDTO volunteerServiceFormDTO);
/**
* @Description 4先进排行榜单-先进支部排行
* @NEI https://nei.netease.com/interface/detail/req/?pid=57068&id=321539
* @param param
* @return
* @author wangc
* @date 2020.08.21 11:05
**/
List<AdvanceBranchRankResultDTO> advancedBranchRank(AgencyAndNumFormDTO param);
/**
* @Description 5先进排行榜单-先进党员排行
* @NEI https://nei.netease.com/interface/detail/req/?pid=57068&id=321624
* @param param
* @return List<PartyUserPointResultDTO>
* @author wangc
* @date 2020.08.21 14:22
**/
List<PartyUserPointResultDTO> advancedPartymemberRank(AgencyAndNumFormDTO param);
}

131
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/screen/impl/GrassRootsGovernServiceImpl.java

@ -1,10 +1,8 @@
package com.epmet.datareport.service.screen.impl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.datareport.dao.screen.ScreenDifficultyDataDao;
import com.epmet.datareport.dao.screen.ScreenPartyUserRankDataDao;
import com.epmet.datareport.dao.screen.ScreenUserJoinDao;
import com.epmet.datareport.dao.screen.ScreenUserTotalDataDao;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.datareport.dao.screen.*;
import com.epmet.datareport.service.screen.GrassRootsGovernService;
import com.epmet.datareport.utils.DateUtils;
import com.epmet.datareport.utils.ModuleConstant;
@ -12,7 +10,6 @@ import com.epmet.screen.dto.form.AgencyAndNumFormDTO;
import com.epmet.screen.dto.form.AgencyFormDTO;
import com.epmet.screen.dto.form.AgencyNumTypeParamFormDTO;
import com.epmet.screen.dto.result.*;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -21,6 +18,7 @@ import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
@ -42,6 +40,8 @@ public class GrassRootsGovernServiceImpl implements GrassRootsGovernService {
private DateUtils dateUtils;
@Autowired
private ScreenUserTotalDataDao screenUserTotalDataDao;
@Autowired
private ScreenGovernRankDataDao screenGovernRankDataDao;
/**
* @Description 1热心市民积分排行
* @NEI https://nei.netease.com/interface/detail/req/?pid=57068&id=321544
@ -78,7 +78,6 @@ public class GrassRootsGovernServiceImpl implements GrassRootsGovernService {
if(null == param.getTopNum()){
param.setTopNum(NumConstant.TWO);
}
PageHelper.startPage(NumConstant.ONE,param.getTopNum());
List<DifficultProjectResultDTO> result = screenDifficultyDataDao.selectDifficulty(param.getAgencyId(),param.getType());
if(null == result) return new ArrayList<>();
@ -96,32 +95,19 @@ public class GrassRootsGovernServiceImpl implements GrassRootsGovernService {
**/
@Override
public PublicPartiProfileResultDTO publicPartiProfile(AgencyFormDTO param) {
String monthId = dateUtils.getPreviousMonthId();
PublicPartiProfileResultDTO latest = screenUserJoinDao.selectUserJoinData(param.getAgencyId(), monthId);
if(null == latest) return null;
if(null == latest.getTotal()) latest.setTotal(NumConstant.ZERO);
if(null == latest.getAverageJoin()) latest.setAverageJoin(NumConstant.ZERO);
PublicPartiProfileResultDTO previous = screenUserJoinDao.selectUserJoinData(param.getAgencyId(), dateUtils.getPreviousMonthIdByDest(null,monthId));
Integer preTotal ; Integer preAvgJoin ;
if(null == previous){ preTotal = NumConstant.ZERO; preAvgJoin = NumConstant.ZERO;}
preTotal = null == previous.getTotal() ? NumConstant.ZERO : previous.getTotal();
preAvgJoin = null == previous.getAverageJoin() ? NumConstant.ZERO : previous.getAverageJoin();
if(latest.getTotal() >= preTotal){
latest.setMonthTrend("incr");
latest.setMonthIncr(convertPercentStr(new BigDecimal((latest.getTotal() - preTotal)/preTotal)));
}
if(latest.getAverageJoin() >= preAvgJoin){
latest.setJoinCompareLatestTrend("incr");
latest.setJoinCompareLatestMonth(convertPercentStr(new BigDecimal((latest.getAverageJoin() - preAvgJoin)/preAvgJoin)));
}
latest.setAverageIssue(screenUserTotalDataDao.selectAvgIssue(param.getAgencyId()));
latest.setIssueCompareLatestTrend("incr");
latest.setIssueCompareLastestMonth(convertPercentStr(null));
return null;
UserJoinIndicatorGrowthRateResultDTO latest = screenUserJoinDao.selectUserJoinData(param.getAgencyId(), monthId);
if(null == latest) return new PublicPartiProfileResultDTO();
PublicPartiProfileResultDTO result = ConvertUtils.sourceToTarget(latest,PublicPartiProfileResultDTO.class);
result.setMonthIncr(convertPercentStr(latest.getMonthIncr(),NumConstant.ZERO));
result.setJoinCompareLatestMonth(convertPercentStr(latest.getJoinCompareLatestMonth(),NumConstant.ZERO));
result.setIssueCompareLatestMonth(convertPercentStr(latest.getIssueCompareLatestMonth(),NumConstant.ZERO));
return result;
}
/**
* @Description 公众参与-排行榜
* @Description 4公众参与-排行榜
* @NEI https://nei.netease.com/interface/detail/?pid=57068&id=321978
* @param param
* @return
@ -130,7 +116,7 @@ public class GrassRootsGovernServiceImpl implements GrassRootsGovernService {
**/
@Override
public List<PublicPartiRankResultDTO> publicPartiRank(AgencyAndNumFormDTO param) {
if(null == param.getTopNum()) param.setTopNum(NumConstant.TWO);
if(NumConstant.ZERO == param.getTopNum()) param.setTopNum(NumConstant.MAX);
PageHelper.startPage(NumConstant.ONE,param.getTopNum());
List<PublicPartiRankResultDTO> result = screenUserTotalDataDao.selectUserTotalData(param.getAgencyId());
@ -138,12 +124,99 @@ public class GrassRootsGovernServiceImpl implements GrassRootsGovernService {
return result;
}
/**
* @Description 5治理能力榜单
* @NEI https://nei.netease.com/interface/detail/req/?pid=57068&id=321627
* @param param
* @return
* @author wangc
* @date 2020.08.20 17:46
**/
@Override
public List<GovernCapacityRankResultDTO> governCapacityRank(AgencyAndNumFormDTO param) {
if(null == param.getTopNum()) param.setTopNum(NumConstant.FIVE);
if(NumConstant.ZERO == param.getTopNum()) param.setTopNum(NumConstant.MAX);
PageHelper.startPage(NumConstant.ONE,param.getTopNum());
List<GovernCapacityResultDTO> orderList =
screenGovernRankDataDao.selectGovernCapacityRatio(dateUtils.getPreviousMonthId(),param.getAgencyId());
if(null == orderList || orderList.isEmpty()) return new ArrayList<>();
List<GovernCapacityRankResultDTO> result = new LinkedList<>();
orderList.forEach(o -> {
GovernCapacityRankResultDTO rank = new GovernCapacityRankResultDTO();
rank.setAgencyName(o.getAgencyName());
rank.setGovernRatio(convertPercentStr(new BigDecimal(o.getGovernRatio())));
rank.setResolvedRatio(convertPercentStr(new BigDecimal(o.getResolvedRatio())));
rank.setResponseRatio(convertPercentStr(new BigDecimal(o.getResponseRatio())));
rank.setSatisfactionRatio(convertPercentStr(new BigDecimal(o.getSatisfactionRatio())));
result.add(rank);
});
return result;
}
/**
* @Description 6公众参与-柱状折线图
* @NEI https://nei.netease.com/interface/detail/req/?pid=57068&id=322434
* @param param
* @return
* @author wangc
* @date 2020.08.21 09:58
**/
@Override
public PublicPartiChartResultDTO publicPartiChart(AgencyFormDTO param) {
Map<String,String> Xaxis = dateUtils.getXpro();
List<UserJoinMonthlyResultDTO> monthlyData = screenUserJoinDao.selectUserJoinDataMonthly(param.getAgencyId(),Xaxis.keySet().iterator().next());
PublicPartiChartResultDTO result = new PublicPartiChartResultDTO();
result.setXAxis(Xaxis.values().stream().collect(Collectors.toList()));
List<Integer> defaultData = new LinkedList<>();
for(int i = NumConstant.ZERO ; i < NumConstant.TWELVE ; i++){
defaultData.add(NumConstant.ZERO);
}
if(null == monthlyData || monthlyData.isEmpty()){
result.setAverageJoinNumList(defaultData);
result.setJoinUserNumList(defaultData);
result.setOrganizeNumList(defaultData);
return result;
}
result.setOrganizeNumList(new ArrayList<>());
result.setJoinUserNumList(new ArrayList<>());
result.setAverageJoinNumList(new ArrayList<>());
Map<String,List<UserJoinMonthlyResultDTO>> dataMap = monthlyData.stream().collect(Collectors.groupingBy(UserJoinMonthlyResultDTO :: getMonthId));
Xaxis.keySet().stream().forEach(monthId -> {
List<UserJoinMonthlyResultDTO> data = dataMap.get(monthId);
if(null == data || data.isEmpty()){
result.getOrganizeNumList().add(NumConstant.ZERO);
result.getJoinUserNumList().add(NumConstant.ZERO);
result.getAverageJoinNumList().add(NumConstant.ZERO);
}else{
Integer o = NumConstant.ZERO;
Integer j = NumConstant.ZERO;
Integer a = NumConstant.ZERO;
for(UserJoinMonthlyResultDTO unit : data){
o = null == unit.getOrganizeNum() ? NumConstant.ZERO : o + unit.getOrganizeNum();
j = null == unit.getJoinUserNum() ? NumConstant.ZERO : o + unit.getJoinUserNum();
a = null == unit.getAverageJoinNum() ? NumConstant.ZERO : o + unit.getAverageJoinNum();
}
result.getOrganizeNumList().add(o);
result.getJoinUserNumList().add(j);
result.getAverageJoinNumList().add(a);
}
});
return result;
}
private String convertPercentStr(BigDecimal percent){
if(null == percent || BigDecimal.ZERO == percent) return "0.00%";
String percentStr = percent.setScale(NumConstant.TWO, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString();
return percentStr.concat(ModuleConstant.SYMBOL_PERCENT);
}
private String convertPercentStr(BigDecimal percent,Integer digits){
if(null == percent) percent = BigDecimal.ZERO;
String percentStr = percent.setScale(digits, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString();
return percentStr.concat(ModuleConstant.SYMBOL_PERCENT);
}
}

69
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/screen/impl/PartyMemberLeadServiceImpl.java

@ -1,15 +1,22 @@
package com.epmet.datareport.service.screen.impl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.datareport.dao.screen.ScreenOrgRankDataDao;
import com.epmet.datareport.dao.screen.ScreenPartyBranchDataDao;
import com.epmet.datareport.dao.screen.ScreenPartyLinkMassesDataDao;
import com.epmet.datareport.dao.screen.ScreenPioneerDataDao;
import com.epmet.datareport.dao.screen.ScreenPartyUserRankDataDao;
import com.epmet.datareport.service.screen.PartyMemberLeadService;
import com.epmet.datareport.utils.DateUtils;
import com.epmet.datareport.utils.ModuleConstant;
import com.epmet.screen.dto.form.AgencyAndNumFormDTO;
import com.epmet.screen.dto.form.ContactMassLineChartFormDTO;
import com.epmet.screen.dto.form.FineExampleFormDTO;
import com.epmet.screen.dto.form.VolunteerServiceFormDTO;
import com.epmet.screen.dto.result.*;
import com.epmet.screen.constant.*;
import com.github.pagehelper.PageHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -19,6 +26,8 @@ import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
/**
@ -36,6 +45,12 @@ public class PartyMemberLeadServiceImpl implements PartyMemberLeadService {
private ScreenPartyBranchDataDao screenPartyBranchDataDao;
@Autowired
private ScreenPioneerDataDao screenPioneerDataDao;
@Autowired
private ScreenOrgRankDataDao screenOrgRankDataDao;
@Autowired
private DateUtils dateUtils;
@Autowired
private ScreenPartyUserRankDataDao screenPartyUserRankDataDao;
/**
* @Description 1先锋模范
@ -150,4 +165,58 @@ public class PartyMemberLeadServiceImpl implements PartyMemberLeadService {
}
return xAxis;
}
/**
* @Description 4先进排行榜单-先进支部排行
* @NEI https://nei.netease.com/interface/detail/req/?pid=57068&id=321539
* @param param
* @return
* @author wangc
* @date 2020.08.21 11:05
**/
@Override
public List<AdvanceBranchRankResultDTO> advancedBranchRank(AgencyAndNumFormDTO param) {
if(null == param.getTopNum()){
param.setTopNum(NumConstant.FIVE);
}else if(NumConstant.ZERO == param.getTopNum()){
param.setTopNum(NumConstant.MAX);
}
PageHelper.startPage(NumConstant.ONE,param.getTopNum());
List<OrgRankDataResultDTO> gridData =
screenOrgRankDataDao.selectGridDataMonthly(param.getAgencyId(),dateUtils.getPreviousMonthId());
List<AdvanceBranchRankResultDTO> result = new LinkedList<>();
if(null == gridData || gridData.isEmpty()) return result;
gridData.forEach( data -> {
AdvanceBranchRankResultDTO o = ConvertUtils.sourceToTarget(data,AdvanceBranchRankResultDTO.class);
o.setClosedProjectRatio(convertPercentStr(data.getClosedProjectRatio()));
o.setSatisfactionRatio(convertPercentStr(data.getSatisfactionRatio()));
result.add(o);
});
return result;
}
/**
* @Description 5先进排行榜单-先进党员排行
* @NEI https://nei.netease.com/interface/detail/req/?pid=57068&id=321624
* @param param
* @return List<PartyUserPointResultDTO>
* @author wangc
* @date 2020.08.21 14:22
**/
@Override
public List<PartyUserPointResultDTO> advancedPartymemberRank(AgencyAndNumFormDTO param) {
if(null == param.getTopNum()) param.setTopNum(NumConstant.TEN);
PageHelper.startPage(NumConstant.ONE,param.getTopNum());
List<PartyUserPointResultDTO> result = screenPartyUserRankDataDao.selectPartymemberPointOrder(param.getAgencyId());
if(null == result) return new ArrayList<>();
return result;
}
private String convertPercentStr(BigDecimal percent){
if(null == percent || BigDecimal.ZERO == percent) return "0.0%";
String percentStr = percent.setScale(NumConstant.ONE, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString();
return percentStr.concat(ModuleConstant.SYMBOL_PERCENT);
}
}

46
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/utils/DateUtils.java

@ -6,10 +6,10 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Component;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.stream.Collectors;
/**
* @Description
@ -19,6 +19,8 @@ import java.util.Map;
*/
@Component
public class DateUtils {
private static SimpleDateFormat defaultFormat = new SimpleDateFormat("yyyyMM");
private static DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyyMM");
/**
* @Description 返回当前月以及前十一个月升序
* @param
@ -27,11 +29,10 @@ public class DateUtils {
* @date 2020.08.19 12:46
**/
public Map<String,String> getX(){
SimpleDateFormat format = new SimpleDateFormat("yyyyMM");
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date()); // 设置为当前时间
calendar.set(Calendar.MONTH, calendar.get(Calendar.MONTH) - 1); // 设置为上一个月
String currentMonth = format.format(calendar.getTime());
String currentMonth = defaultFormat.format(calendar.getTime());
Integer monthCounter = Integer.parseInt(currentMonth);
Map<String,String> monthMap = new HashMap<>();
int i = NumConstant.ONE;
@ -59,6 +60,21 @@ public class DateUtils {
return result;
}
public Map<String,String> getXpro(){
Map<String,String> xAxis = new HashMap<>();
LocalDate today = LocalDate.now();
for(int i = NumConstant.TWELVE;i >= NumConstant.ONE; i--){
LocalDate localDate = today.minusMonths(i);
String s = localDate.getMonth().getValue() + "月";
xAxis.put(localDate.format(fmt),s);
}
Map<String, String> result = Maps.newLinkedHashMap();
xAxis.entrySet().stream().sorted(Map.Entry.comparingByKey())
.forEachOrdered((e -> result.put(e.getKey(),e.getValue())));
return result;
}
/**
* @Description 得到上个月的monthId
* @param
@ -91,4 +107,22 @@ public class DateUtils {
c.add(Calendar.MONTH, NumConstant.ONE_NEG);
return format.format(c.getTime());
}
public static void main(String[] args) {
DateUtils util = new DateUtils();
Map<String,String> result = util.getXpro();
result.forEach((k,v) -> {
System.out.print(k);
System.out.print(" -> ");
System.out.print(v);
System.out.println();
});
List<String> xLine = result.values().stream().collect(Collectors.toList());
xLine.forEach(x -> {
System.out.println(x);
});
result.keySet().forEach(key -> System.out.println(key));
}
}

1
epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenDifficultyDataDao.xml

@ -26,6 +26,7 @@
AND diff.ORG_ID = #{agencyId}
ORDER BY
CASE #{type} WHEN 'timelongest' THEN diff.EVENT_COST_TIME DESC
WHEN 'mosthandled' THEN diff.EVENT_HANDLED_COUNT DESC
ELSE diss.EVENT_RE_ORG DESC END
</select>

18
epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenGovernRankDataDao.xml

@ -3,5 +3,23 @@
<mapper namespace="com.epmet.datareport.dao.screen.ScreenGovernRankDataDao">
<!-- 查询政府治理能力各项指标 -->
<select id="selectGovernCapacityRatio" resultType="com.epmet.screen.dto.result.GovernCapacityResultDTO">
SELECT
ORG_NAME AS agencyName,
RESPONSE_RATIO,
RESOLVED_RATIO,
GOVERN_RATIO,
SATISFACTION_RATIO
FROM
screen_govern_rank_data
WHERE
DEL_FLAG = '0'
AND ORG_TYPE = 'agency'
AND ORG_ID = #{agencyId}
AND MONTH_ID = #{monthId}
ORDER BY
(RESPONSE_RATIO + RESOLVED_RATIO + GOVERN_RATIO + SATISFACTION_RATIO) DESC,RESPONSE_RATIO DESC,RESOLVED_RATIO DESC,GOVERN_RATIO DESC,SATISFACTION_RATIO DESC
</select>
</mapper>

26
epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenOrgRankDataDao.xml

@ -3,6 +3,32 @@
<mapper namespace="com.epmet.datareport.dao.screen.ScreenOrgRankDataDao">
<!-- 查询指定机关的直属网格月度数据 -->
<select id="selectGridDataMonthly" resultType="com.epmet.screen.dto.result.OrgRankDataResultDTO">
SELECT
ORG_NAME AS NAME,
PARTY_TOTAL AS partyMemberNum,
GROUP_TOTAL AS branchNum,
ISSUE_TOTAL AS issueNum,
PROJECT_TOTAL AS projectNum,
CLOSE_PROJECT_RATIO AS closedProjectRatio,
SATISFACTION_RATIO AS satisfactionRatio
FROM
screen_org_rank_data
WHERE
DEL_FLAG = '0'
AND ORG_TYPE = 'grid'
AND PARENT_ID = #{agencyId}
AND MONTH_ID = #{monthId}
ORDER BY
(PARTY_TOTAL + GROUP_TOTAL + ISSUE_TOTAL + PROJECT_TOTAL + CLOSE_PROJECT_RATIO + SATISFACTION_RATIO) DESC,
PARTY_TOTAL DESC,
GROUP_TOTAL DESC,
ISSUE_TOTAL DESC,
PROJECT_TOTAL DESC,
CLOSE_PROJECT_RATIO DESC,
SATISFACTION_RATIO DESC
</select>
</mapper>

20
epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPartyUserRankDataDao.xml

@ -3,7 +3,7 @@
<mapper namespace="com.epmet.datareport.dao.screen.ScreenPartyUserRankDataDao">
<!-- 查询指定机关的用户积分排名 -->
<!-- 查询指定机关所属网格的用户积分排名 -->
<select id="selectUserPointOrder" resultType="com.epmet.screen.dto.result.UserPointResultDTO">
SELECT
user_name AS name,
@ -12,11 +12,27 @@
screen_party_user_rank_data
WHERE
del_flag = '0'
AND org_type = 'agency'
AND org_id = #{agencyId}
ORDER BY
point_total DESC,
user_name
</select>
<!-- 查询指定机关所属网格的党员积分排名 -->
<select id="selectPartymemberPointOrder" resultType="com.epmet.screen.dto.result.PartyUserPointResultDTO">
SELECT
USER_ID,
concat( SURNAME, '*' ) AS NAME,
POINT_TOTAL AS point
FROM
screen_party_user_rank_data
WHERE
DEL_FLAG = '0'
AND ORG_ID = #{agencyId}
AND PARTY_FLAG = '1'
ORDER BY
POINT_TOTAL DESC
</select>
</mapper>

29
epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenUserJoinDao.xml

@ -3,10 +3,18 @@
<mapper namespace="com.epmet.datareport.dao.screen.ScreenUserJoinDao">
<select id="selectUserJoinData" resultType="com.epmet.screen.dto.result.PublicPartiProfileResultDTO">
<!-- 查询用户参与数据 -->
<select id="selectUserJoinData" resultType="com.epmet.screen.dto.result.UserJoinIndicatorGrowthRateResultDTO">
SELECT
JOIN_TOTAL AS total,
AVG_JOIN_USER AS averageJoin
AVG_JOIN_USER AS averageJoin,
JOIN_TOTAL_UP_RATE AS monthIncr,
JOIN_TOTAL_UP_FLAG AS monthTrend,
AVG_ISSUE AS averageIssue,
AVG_ISSUE_UP_RATE AS issueCompareLatestMonth,
AVG_ISSUE_UP_FLAG AS issueCompareLatestTrend,
AGVG_JOIN_UP_RATE AS joinCompareLatestMonth,
AGVG_JOIN_UP_FLAG AS joinCompareLatestTrend
FROM
screen_user_join
WHERE
@ -15,4 +23,21 @@
AND ORG_ID = #{agencyId}
AND MONTH_ID = #{monthId}
</select>
<!-- 查询用户参与月度数据 -->
<select id="selectUserJoinDataMonthly" resultType="com.epmet.screen.dto.result.UserJoinMonthlyResultDTO">
<!-- 字段完全对不上 -->
/* SELECT
MONTH_ID,
ORGANIZE_TOTAL AS organizeNum,
JOIN_TOTAL AS joinUserNum,
AVG_JOIN_USER AS averageJoinNum
FROM
screen_user_join
WHERE
DEL_FLAG = '0'
AND ORG_TYPE = 'agency'
AND ORG_ID = #{agencyId}
AND MONTH_ID <![CDATA[ >= ]]> #{monthId}*/
</select>
</mapper>

13
epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenUserTotalDataDao.xml

@ -50,8 +50,8 @@
<select id="selectUserTotalData" resultType="com.epmet.screen.dto.result.PublicPartiRankResultDTO">
SELECT
ORG_NAME AS NAME,
USER_TOTAL AS regNum,
PARTY_TOTAL AS joinNum,
REG_USER_TOTAL AS regNum,
JOIN_USER_TOTAL AS joinNum,
TOPIC_TOTAL AS topicNum,
ISSUE_TOTAL AS issueNum,
PROJECT_TOTAL AS projectNum
@ -60,6 +60,13 @@
WHERE
DEL_FLAG = '0'
AND ORG_TYPE = 'agency'
AND ORG_ID = #{agencyId}
AND PARENT_ID = #{agencyId}
ORDER BY
(REG_USER_TOTAL + JOIN_USER_TOTAL + TOPIC_TOTAL + ISSUE_TOTAL + PROJECT_TOTAL) DESC,
REG_USER_TOTAL desc,
JOIN_USER_TOTAL desc,
TOPIC_TOTAL desc,
ISSUE_TOTAL desc,
PROJECT_TOTAL desc,
</select>
</mapper>
Loading…
Cancel
Save