Browse Source

支部建设接口v3

master
yinzuomei 5 years ago
parent
commit
535837686c
  1. 3
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/form/GroupActRankFormDTO.java
  2. 14
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/GroupActRankDetailDTO.java
  3. 21
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/GroupActRankResultDTO.java
  4. 2
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GroupActController.java
  5. 7
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/datastats/DataStatsDao.java
  6. 4
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/DataStatsService.java
  7. 10
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java
  8. 2
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java
  9. 17
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java
  10. 47
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/resigroup/impl/ResiGroupServiceImpl.java
  11. 20
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml

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

@ -41,5 +41,8 @@ public class GroupActRankFormDTO implements Serializable {
@NotBlank(message = "orgType不能为空", groups = BranchConAnalysisFormDTO.AddUserInternalGroup.class) @NotBlank(message = "orgType不能为空", groups = BranchConAnalysisFormDTO.AddUserInternalGroup.class)
private String orgType; private String orgType;
/**
* 排序编码可以不传前端自己处理
*/
private String rankCode; private String rankCode;
} }

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

@ -2,12 +2,22 @@ package com.epmet.dataaggre.dto.resigroup.result;
import lombok.Data; import lombok.Data;
import java.io.Serializable;
/** /**
* 描述一下 * 005支建+联建下级组织排行列表
* *
* @author yinzuomei@elink-cn.com * @author yinzuomei@elink-cn.com
* @date 2021/5/19 9:31 * @date 2021/5/19 9:31
*/ */
@Data @Data
public class GroupActRankDetailDTO { 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="参加总人数";
} }

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

@ -1,8 +1,12 @@
package com.epmet.dataaggre.dto.resigroup.result; package com.epmet.dataaggre.dto.resigroup.result;
import com.epmet.commons.tools.constant.NumConstant;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/** /**
* 005支建+联建下级组织排行列表 * 005支建+联建下级组织排行列表
@ -19,4 +23,21 @@ public class GroupActRankResultDTO implements Serializable {
private String organizeName = "组织总次数"; private String organizeName = "组织总次数";
private Integer participateUserTotal; private Integer participateUserTotal;
private String participateUserName = "参加总人数"; 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<>();
}
} }

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

@ -97,7 +97,7 @@ public class GroupActController {
**/ **/
@PostMapping("subranklist") @PostMapping("subranklist")
public Result<List<GroupActRankResultDTO>> querySubRankList(@RequestBody GroupActRankFormDTO formDTO){ public Result<List<GroupActRankResultDTO>> querySubRankList(@RequestBody GroupActRankFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO,GroupActRankFormDTO.class); ValidatorUtils.validateEntity(formDTO,GroupActRankFormDTO.AddUserInternalGroup.class);
return new Result<List<GroupActRankResultDTO>>().ok(resiGroupService.querySubRankList(formDTO)); return new Result<List<GroupActRankResultDTO>>().ok(resiGroupService.querySubRankList(formDTO));
} }

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

@ -21,6 +21,8 @@ import com.epmet.dataaggre.dto.datastats.FactGroupActDailyDTO;
import com.epmet.dataaggre.dto.datastats.form.SubAgencyFormDTO; import com.epmet.dataaggre.dto.datastats.form.SubAgencyFormDTO;
import com.epmet.dataaggre.dto.datastats.form.SubGridFormDTO; import com.epmet.dataaggre.dto.datastats.form.SubGridFormDTO;
import com.epmet.dataaggre.dto.datastats.result.*; 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.DimAgencyEntity;
import com.epmet.dataaggre.entity.datastats.DimGridEntity; import com.epmet.dataaggre.entity.datastats.DimGridEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@ -219,4 +221,9 @@ public interface DataStatsDao {
@Param("pid")String pid, @Param("pid")String pid,
@Param("dateId")String dateId, @Param("dateId")String dateId,
@Param("categoryCode")String categoryCode); @Param("categoryCode")String categoryCode);
List<GroupActRankDetailDTO> selectGroupActRankDetail(@Param("customerId") String customerId,
@Param("dateId") String dateId,
@Param("orgId") String orgId,
@Param("actCategoryDictDTOList") List<ActCategoryDictDTO> actCategoryDictDTOList);
} }

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

@ -7,6 +7,8 @@ import com.epmet.dataaggre.dto.datastats.form.GridBasicDataFormDTO;
import com.epmet.dataaggre.dto.datastats.form.SubAgencyFormDTO; import com.epmet.dataaggre.dto.datastats.form.SubAgencyFormDTO;
import com.epmet.dataaggre.dto.datastats.form.SubGridFormDTO; import com.epmet.dataaggre.dto.datastats.form.SubGridFormDTO;
import com.epmet.dataaggre.dto.datastats.result.*; 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; import java.util.List;
@ -124,4 +126,6 @@ public interface DataStatsService {
List<FactGroupActDailyDTO> branchConAnalysis(String customerId, String orgId, String orgType, String dateId, String parentCode); 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<FactGroupActDailyDTO> querySubAnalysisByCode(String customerId, String pid, String dateId, String categoryCode);
List<GroupActRankDetailDTO> selectGroupActRankDetail(String customerId, String dateId, String orgId, List<ActCategoryDictDTO> actCategoryDictDTOList);
} }

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

@ -13,6 +13,8 @@ import com.epmet.dataaggre.dto.datastats.form.GridBasicDataFormDTO;
import com.epmet.dataaggre.dto.datastats.form.SubAgencyFormDTO; import com.epmet.dataaggre.dto.datastats.form.SubAgencyFormDTO;
import com.epmet.dataaggre.dto.datastats.form.SubGridFormDTO; import com.epmet.dataaggre.dto.datastats.form.SubGridFormDTO;
import com.epmet.dataaggre.dto.datastats.result.*; 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.DimAgencyEntity;
import com.epmet.dataaggre.entity.datastats.DimGridEntity; import com.epmet.dataaggre.entity.datastats.DimGridEntity;
import com.epmet.dataaggre.service.datastats.DataStatsService; import com.epmet.dataaggre.service.datastats.DataStatsService;
@ -999,4 +1001,12 @@ public class DataStatsServiceImpl implements DataStatsService {
return dataStatsDao.querySubAnalysisByCode(customerId,pid,dateId,categoryCode); return dataStatsDao.querySubAnalysisByCode(customerId,pid,dateId,categoryCode);
} }
@Override
public List<GroupActRankDetailDTO> selectGroupActRankDetail(String customerId, String dateId, String orgId, List<ActCategoryDictDTO> actCategoryDictDTOList) {
if(CollectionUtils.isNotEmpty(actCategoryDictDTOList)){
return dataStatsDao.selectGroupActRankDetail(customerId,dateId,orgId,actCategoryDictDTOList);
}
return new ArrayList<>();
}
} }

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

@ -47,5 +47,5 @@ public interface GovOrgService {
List<NextAreaCodeResultDTO> queryNextLevelAreaCodeList(NextAreaCodeFormDTO formDTO); List<NextAreaCodeResultDTO> queryNextLevelAreaCodeList(NextAreaCodeFormDTO formDTO);
List<OrgInfoCommonDTO> queryNextOrgInfoDTO(String customerId, String orgId, String orgType); List<OrgInfoCommonDTO> queryNextOrgInfoDTO(String customerId, String orgId);
} }

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

@ -164,10 +164,10 @@ public class GovOrgServiceImpl implements GovOrgService {
} }
@Override @Override
public List<OrgInfoCommonDTO> queryNextOrgInfoDTO(String customerId, String orgId, String orgType) { public List<OrgInfoCommonDTO> queryNextOrgInfoDTO(String customerId, String orgId) {
List<OrgInfoCommonDTO> result=new ArrayList<>(); List<OrgInfoCommonDTO> result=new ArrayList<>();
if("agency".equals(orgType)){ List<CustomerAgencyEntity> customerAgencyEntityList = customerAgencyDao.selectNextAgency(customerId, orgId);
List<CustomerAgencyEntity> customerAgencyEntityList = customerAgencyDao.selectNextAgency(customerId, orgId); if(CollectionUtils.isNotEmpty(customerAgencyEntityList)){
customerAgencyEntityList.forEach(agencyEntity->{ customerAgencyEntityList.forEach(agencyEntity->{
OrgInfoCommonDTO agecnyInfo=new OrgInfoCommonDTO(); OrgInfoCommonDTO agecnyInfo=new OrgInfoCommonDTO();
agecnyInfo.setOrgId(agencyEntity.getId()); agecnyInfo.setOrgId(agencyEntity.getId());
@ -175,6 +175,17 @@ public class GovOrgServiceImpl implements GovOrgService {
agecnyInfo.setOrgType("agency"); agecnyInfo.setOrgType("agency");
result.add(agecnyInfo); 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; return result;
} }

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

@ -25,8 +25,10 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Comparator;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -198,7 +200,7 @@ public class ResiGroupServiceImpl implements ResiGroupService {
*/ */
@Override @Override
public List<SubAnalysisByCodeResultDTO> querySubAnalysisByCode(SubAnalysisByCodeFormDTO formDTO) { public List<SubAnalysisByCodeResultDTO> querySubAnalysisByCode(SubAnalysisByCodeFormDTO formDTO) {
List<OrgInfoCommonDTO> orgInfoDTOList = govOrgService.queryNextOrgInfoDTO(formDTO.getCustomerId(), formDTO.getOrgId(), formDTO.getOrgType()); List<OrgInfoCommonDTO> orgInfoDTOList = govOrgService.queryNextOrgInfoDTO(formDTO.getCustomerId(), formDTO.getOrgId());
if (CollectionUtils.isEmpty(orgInfoDTOList)) { if (CollectionUtils.isEmpty(orgInfoDTOList)) {
return new ArrayList<>(); return new ArrayList<>();
} }
@ -277,11 +279,48 @@ public class ResiGroupServiceImpl implements ResiGroupService {
*/ */
@Override @Override
public List<GroupActRankResultDTO> querySubRankList(GroupActRankFormDTO formDTO) { public List<GroupActRankResultDTO> querySubRankList(GroupActRankFormDTO formDTO) {
List<OrgInfoCommonDTO> orgInfoDTOList = govOrgService.queryNextOrgInfoDTO(formDTO.getCustomerId(), formDTO.getOrgId(), formDTO.getOrgType()); List<OrgInfoCommonDTO> orgInfoDTOList = govOrgService.queryNextOrgInfoDTO(formDTO.getCustomerId(), formDTO.getOrgId());
if (CollectionUtils.isEmpty(orgInfoDTOList)) { if (CollectionUtils.isEmpty(orgInfoDTOList)) {
return new ArrayList<>(); return new ArrayList<>();
} }
// todo List<GroupActRankResultDTO> resultDTOList=new ArrayList<>();
return null; 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)){
int organizeTotal = NumConstant.ZERO;
int participateUserTotal = NumConstant.ZERO;
List<GroupActRankDetailDTO> detailList=dataStatsService.selectGroupActRankDetail(formDTO.getCustomerId(),dateId,orgInfo.getOrgId(),actCategoryDictDTOList);
for(GroupActRankDetailDTO deatil:detailList){
organizeTotal+=deatil.getOrganizeTotal();
participateUserTotal+=deatil.getParticipateUserTotal();
}
resultDTO.setOrganizeTotal(organizeTotal);
resultDTO.setParticipateUserTotal(participateUserTotal);
resultDTO.setCategoryList(detailList);
}
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;
} }
} }

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

@ -578,4 +578,24 @@
AND m.DATE_ID = #{dateId} AND m.DATE_ID = #{dateId}
AND m.PID = #{pid} AND m.PID = #{pid}
</select> </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>
</mapper> </mapper>
Loading…
Cancel
Save