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)
private String orgType;
/**
* 排序编码可以不传前端自己处理
*/
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 java.io.Serializable;
/**
* 描述一下
* 005支建+联建下级组织排行列表
*
* @author yinzuomei@elink-cn.com
* @date 2021/5/19 9:31
*/
@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;
import com.epmet.commons.tools.constant.NumConstant;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* 005支建+联建下级组织排行列表
@ -19,4 +23,21 @@ public class GroupActRankResultDTO implements Serializable {
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<>();
}
}

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")
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));
}

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.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;
@ -219,4 +221,9 @@ public interface DataStatsDao {
@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);
}

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.SubGridFormDTO;
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;
@ -124,4 +126,6 @@ public interface DataStatsService {
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);
}

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.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 com.epmet.dataaggre.service.datastats.DataStatsService;
@ -999,4 +1001,12 @@ public class DataStatsServiceImpl implements DataStatsService {
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<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
public List<OrgInfoCommonDTO> queryNextOrgInfoDTO(String customerId, String orgId, String orgType) {
public List<OrgInfoCommonDTO> queryNextOrgInfoDTO(String customerId, String orgId) {
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->{
OrgInfoCommonDTO agecnyInfo=new OrgInfoCommonDTO();
agecnyInfo.setOrgId(agencyEntity.getId());
@ -175,6 +175,17 @@ public class GovOrgServiceImpl implements GovOrgService {
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;
}

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.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;
@ -198,7 +200,7 @@ public class ResiGroupServiceImpl implements ResiGroupService {
*/
@Override
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)) {
return new ArrayList<>();
}
@ -277,11 +279,48 @@ public class ResiGroupServiceImpl implements ResiGroupService {
*/
@Override
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)) {
return new ArrayList<>();
}
// todo
return null;
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)){
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.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>
</mapper>
Loading…
Cancel
Save