Browse Source

统计列表

dev
sunyuchao 3 years ago
parent
commit
104e4b97b9
  1. 6
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java
  2. 5
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java
  3. 11
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java
  4. 2
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java
  5. 13
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java
  6. 37
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/form/PartyActStatisFormDTO.java
  7. 45
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/result/PartyActStatisResultDTO.java
  8. 18
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/controller/IcPartyActController.java
  9. 4
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/dao/IcPartyActDao.java
  10. 3
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/dao/IcPartyOrgDao.java
  11. 8
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/service/IcPartyActService.java
  12. 47
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/service/impl/IcPartyActServiceImpl.java
  13. 28
      epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partyOrg/IcPartyActDao.xml
  14. 15
      epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partyOrg/IcPartyOrgDao.xml

6
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java

@ -342,4 +342,10 @@ public interface ResiGroupOpenFeignClient {
@PostMapping("/resi/group/member/groupmemberlist")
Result<List<ResiGroupMemberDTO>> groupMemberList(@RequestBody List<String> groupIdList);
/**
* @Author sun
* @Description 查询支部下党小组列表
**/
@PostMapping("/resi/group/group/partygrouplist/{partyOrgId}")
Result<List<ResiGroupDTO>> partyGroupList(@PathVariable String partyOrgId);
}

5
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java

@ -248,4 +248,9 @@ public class ResiGroupOpenFeignClientFallback implements ResiGroupOpenFeignClien
return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "groupMemberList", groupIdList);
}
@Override
public Result<List<ResiGroupDTO>> partyGroupList(String partyOrgId) {
return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "partyGroupList", partyOrgId);
}
}

11
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java

@ -664,4 +664,15 @@ public class ResiGroupController {
public Result<Map<String, List<IcPartyOrgTreeDTO>>> getBranchGroupList(@LoginUser TokenDto tokenDto) {
return new Result<Map<String, List<IcPartyOrgTreeDTO>>>().ok(resiGroupService.getBranchGroupList(tokenDto.getCustomerId()));
}
/**
* @Author sun
* @Description 查询支部下党小组列表
**/
@PostMapping("partygrouplist/{partyOrgId}")
Result<List<ResiGroupDTO>> partyGroupList(@PathVariable String partyOrgId){
return new Result<List<ResiGroupDTO>>().ok(resiGroupService.partyGroupList(partyOrgId));
}
}

2
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java

@ -481,4 +481,6 @@ public interface ResiGroupService extends BaseService<ResiGroupEntity> {
* @Date 2022/8/15 16:49
*/
Map<String, List<IcPartyOrgTreeDTO>> getBranchGroupList(String customerId);
List<ResiGroupDTO> partyGroupList(String partyOrgId);
}

13
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java

@ -1955,4 +1955,17 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
}
return list.stream().collect(Collectors.groupingBy(IcPartyOrgTreeDTO::getPid));
}
@Override
public List<ResiGroupDTO> partyGroupList(String partyOrgId) {
LambdaQueryWrapper<ResiGroupEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ResiGroupEntity::getPartyOrgId, partyOrgId);
wrapper.eq(ResiGroupEntity::getDelFlag, NumConstant.ZERO_STR);
List<ResiGroupEntity> entityList = baseDao.selectList(wrapper);
if (CollectionUtils.isEmpty(entityList)) {
return new ArrayList<>();
}
return ConvertUtils.sourceToTarget(entityList, ResiGroupDTO.class);
}
}

37
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/form/PartyActStatisFormDTO.java

@ -0,0 +1,37 @@
package com.epmet.resi.partymember.dto.partyOrg.form;
import com.epmet.commons.tools.validator.group.AddGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.List;
@Data
public class PartyActStatisFormDTO implements Serializable {
/**
* 参加活动党组织ID,groupId
*/
@NotBlank(message = "党组织Id不能为空", groups = AddGroup.class)
private String joinOrgId;
/**
* 党组织类型 0省委,1市委,2区委,3党工委,4党委,5支部6党小组
*/
@NotBlank(message = "党组织类型不能为空", groups = AddGroup.class)
private String joinOrgType;
/**
* 活动开始时间 yyyy-MM-dd
*/
private String startTime;
/**
* 活动结束时间 yyyy-MM-dd
*/
private String endTime;
//党组织Id集合
private List<String> partyOrgIdList;
}

45
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/result/PartyActStatisResultDTO.java

@ -0,0 +1,45 @@
package com.epmet.resi.partymember.dto.partyOrg.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@NoArgsConstructor
@Data
public class PartyActStatisResultDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 党组织Id
*/
private String joinOrgId = "";
/**
* 党组织名称
*/
private String joinOrgName = "";
/**
* 支部党员大会次数
*/
private Integer dydhNum = 0;
/**
* 支部委员会次数
*/
private Integer wyhNum = 0;
/**
* 党小组会次数
*/
private Integer dxzhNum = 0;
/**
* 党课次数
*/
private Integer dkNum = 0;
/**
* 主题党日次数
*/
private Integer ztdrNum = 0;
/**
* 为民服务活动次数
*/
private Integer wmfwNum = 0;
}

18
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/controller/IcPartyActController.java

@ -18,6 +18,7 @@ import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.poi.excel.handler.FreezeAndFilter;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.modules.partyOrg.excel.IcPartyActExpoprtExcel;
import com.epmet.modules.partyOrg.service.IcPartyActService;
import com.epmet.resi.partymember.dto.icpartyact.form.BatchAddPartyActFormDTO;
@ -26,10 +27,7 @@ import com.epmet.resi.partymember.dto.icpartyact.form.IcPartyActPageFormDTO;
import com.epmet.resi.partymember.dto.icpartyact.result.IcPartActTypeDTO;
import com.epmet.resi.partymember.dto.icpartyact.result.IcPartyActDetailResDTO;
import com.epmet.resi.partymember.dto.icpartyact.result.IcPartyActPageResultDTO;
import com.epmet.resi.partymember.dto.partyOrg.form.ActAndScheduleListFormDTO;
import com.epmet.resi.partymember.dto.partyOrg.form.HomeMonthTotalFormDTO;
import com.epmet.resi.partymember.dto.partyOrg.form.IcPartyActListFormDTO;
import com.epmet.resi.partymember.dto.partyOrg.form.YearSearchFormDTO;
import com.epmet.resi.partymember.dto.partyOrg.form.*;
import com.epmet.resi.partymember.dto.partyOrg.result.*;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
@ -41,6 +39,7 @@ import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@ -320,4 +319,15 @@ public class IcPartyActController {
icPartyActService.autoPublishIcPartyAct();
return new Result();
}
/**
* Desc: 统计各党组织参与各种党活动的次数
*/
@RequestMapping("patryactstatis")
public Result<LinkedList<PartyActStatisResultDTO>> patryActStatis(@RequestBody PartyActStatisFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO, AddGroup.class);
return new Result<LinkedList<PartyActStatisResultDTO>>().ok(icPartyActService.patryActStatis(formDTO));
}
}

4
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/dao/IcPartyActDao.java

@ -7,8 +7,10 @@ import com.epmet.resi.partymember.dto.icpartyact.result.IcPartyActPageResultDTO;
import com.epmet.resi.partymember.dto.partyOrg.IcPartyActTypeDictDTO;
import com.epmet.resi.partymember.dto.partyOrg.form.ActAndScheduleListFormDTO;
import com.epmet.resi.partymember.dto.partyOrg.form.IcPartyActListFormDTO;
import com.epmet.resi.partymember.dto.partyOrg.form.PartyActStatisFormDTO;
import com.epmet.resi.partymember.dto.partyOrg.result.ActAndScheduleListResultDTO;
import com.epmet.resi.partymember.dto.partyOrg.result.IcPartyActListResultDTO;
import com.epmet.resi.partymember.dto.partyOrg.result.PartyActStatisResultDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -48,4 +50,6 @@ public interface IcPartyActDao extends BaseDao<IcPartyActEntity> {
List<IcPartyActEntity> selectNeedRemindAutoPublishAct(String dateId);
List<IcPartyActEntity> selectNoPublishList(String dateId);
List<PartyActStatisResultDTO> getPartActStatis(PartyActStatisFormDTO formDTO);
}

3
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/dao/IcPartyOrgDao.java

@ -2,6 +2,7 @@ package com.epmet.modules.partyOrg.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.modules.partyOrg.entity.IcPartyOrgEntity;
import com.epmet.resi.partymember.dto.partyOrg.IcPartyOrgDTO;
import com.epmet.resi.partymember.dto.partyOrg.form.PartyOrgTreeListDTO;
import com.epmet.resi.partymember.dto.partyOrg.result.ActAndScheduleListResultDTO;
import com.epmet.resi.partymember.dto.partyOrg.result.BranchlistTreeSubDTO;
@ -111,4 +112,6 @@ public interface IcPartyOrgDao extends BaseDao<IcPartyOrgEntity> {
IcPartyOrgEntity selectDefaultPartyOrg(@Param("agencyId") String agencyId, @Param("level") String level);
List<String> getUserIdByPartyOrgIds(@Param("partyOrgIdList") List<String> partyOrgIdList);
List<IcPartyOrgDTO> getSelfAndSub(@Param("joinOrgId") String joinOrgId);
}

8
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/service/IcPartyActService.java

@ -9,12 +9,10 @@ import com.epmet.resi.partymember.dto.icpartyact.form.IcPartyActPageFormDTO;
import com.epmet.resi.partymember.dto.icpartyact.result.IcPartActTypeDTO;
import com.epmet.resi.partymember.dto.icpartyact.result.IcPartyActDetailResDTO;
import com.epmet.resi.partymember.dto.icpartyact.result.IcPartyActPageResultDTO;
import com.epmet.resi.partymember.dto.partyOrg.form.ActAndScheduleListFormDTO;
import com.epmet.resi.partymember.dto.partyOrg.form.HomeMonthTotalFormDTO;
import com.epmet.resi.partymember.dto.partyOrg.form.IcPartyActListFormDTO;
import com.epmet.resi.partymember.dto.partyOrg.form.YearSearchFormDTO;
import com.epmet.resi.partymember.dto.partyOrg.form.*;
import com.epmet.resi.partymember.dto.partyOrg.result.*;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
@ -119,4 +117,6 @@ public interface IcPartyActService extends BaseService<IcPartyActEntity> {
* 自动发布活动
*/
void autoPublishIcPartyAct();
LinkedList<PartyActStatisResultDTO> patryActStatis(PartyActStatisFormDTO formDTO);
}

47
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/service/impl/IcPartyActServiceImpl.java

@ -28,6 +28,7 @@ import com.epmet.modules.partyOrg.dao.*;
import com.epmet.modules.partyOrg.entity.*;
import com.epmet.modules.partyOrg.service.*;
import com.epmet.modules.partymember.dao.IcPartyMemberDao;
import com.epmet.resi.group.dto.group.ResiGroupDTO;
import com.epmet.resi.group.dto.member.ResiGroupMemberDTO;
import com.epmet.resi.group.feign.ResiGroupOpenFeignClient;
import com.epmet.resi.partymember.dto.icpartyact.form.IcPartyActAddOrUpdateFormDTO;
@ -37,10 +38,7 @@ import com.epmet.resi.partymember.dto.icpartyact.result.IcPartyActDetailResDTO;
import com.epmet.resi.partymember.dto.icpartyact.result.IcPartyActPageResultDTO;
import com.epmet.resi.partymember.dto.partyOrg.IcPartyActTypeDictDTO;
import com.epmet.resi.partymember.dto.partyOrg.IcPartyOrgDTO;
import com.epmet.resi.partymember.dto.partyOrg.form.ActAndScheduleListFormDTO;
import com.epmet.resi.partymember.dto.partyOrg.form.HomeMonthTotalFormDTO;
import com.epmet.resi.partymember.dto.partyOrg.form.IcPartyActListFormDTO;
import com.epmet.resi.partymember.dto.partyOrg.form.YearSearchFormDTO;
import com.epmet.resi.partymember.dto.partyOrg.form.*;
import com.epmet.resi.partymember.dto.partyOrg.result.*;
import com.epmet.resi.partymember.dto.partymember.result.IcPartyInfoResultDTO;
import com.epmet.send.SendMqMsgUtil;
@ -752,4 +750,45 @@ public class IcPartyActServiceImpl extends BaseServiceImpl<IcPartyActDao, IcPart
}
}
}
/**
* Desc: 统计各党组织参与各种党活动的次数
*/
@Override
public LinkedList<PartyActStatisResultDTO> patryActStatis(PartyActStatisFormDTO formDTO) {
LinkedList<PartyActStatisResultDTO> resultList = new LinkedList<>();
//1.查询当前党组织及直属下级基础数据
List<IcPartyOrgDTO> orgDTOList = partyOrgDao.getSelfAndSub(formDTO.getJoinOrgId());
if (CollectionUtils.isEmpty(orgDTOList)) {
return resultList;
}
List<String> partyOrgIdList = orgDTOList.stream().map(IcPartyOrgDTO::getId).collect(Collectors.toList());
//如果党组织是支部类型,则直属下级是党小组
if ("6".equals(formDTO.getJoinOrgType())) {
Result<List<ResiGroupDTO>> result = resiGroupOpenFeignClient.partyGroupList(formDTO.getJoinOrgId());
if (!result.success()) {
throw new RenException("获取党支部下党小组列表失败:" + result.getInternalMsg());
}
List<String> groupIdList = result.getData().stream().map(ResiGroupDTO::getId).collect(Collectors.toList());
partyOrgIdList.addAll(groupIdList);
}
formDTO.setPartyOrgIdList(partyOrgIdList);
//2.按党组织统计查询各类型活动参与次数
List<PartyActStatisResultDTO> partActStatis = baseDao.getPartActStatis(formDTO);
Map<String, PartyActStatisResultDTO> map = partActStatis.stream().collect(Collectors.toMap(PartyActStatisResultDTO::getJoinOrgId, m -> m, (k1, k2) -> k1));
//3.封装数据并返回
orgDTOList.forEach(org -> {
PartyActStatisResultDTO dto = new PartyActStatisResultDTO();
if (map.containsKey(org.getId())) {
dto = ConvertUtils.sourceToTarget(map.get(org.getId()), PartyActStatisResultDTO.class);
}
dto.setJoinOrgName(org.getPartyOrgName());
resultList.add(dto);
});
return resultList;
}
}

28
epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partyOrg/IcPartyActDao.xml

@ -231,4 +231,32 @@
AND a.IS_PUBLISH = '0'
AND DATE_FORMAT(a.AUTO_PUBLIC_TIME,'%Y%m%d%H%i') = #{dateId}
</select>
<select id="getPartActStatis" resultType="com.epmet.resi.partymember.dto.partyOrg.result.PartyActStatisResultDTO">
SELECT
ipao.join_org_id joinOrgId,
sum(ipa.act_type = 'zbdydh') dydhNum,
sum(ipa.act_type = 'zbwyh') wyhNum,
sum(ipa.act_type = 'dxzh') dxzhNum,
sum(ipa.act_type = 'dangke') dkNum,
sum(ipa.act_type = 'ztdr') ztdrNum,
sum(ipa.act_type = 'wmfwhd') wmfwNum
FROM
ic_party_act ipa
INNER JOIN ic_party_act_org ipao ON ipao.del_flag = '0' AND ipa.id = ipao.ic_party_act_id
WHERE
ipa.del_flag = '0'
<foreach collection="partyOrgIdList" item="orgId" open="AND ipao.join_org_id IN (" separator="," close=")">
#{orgId}
</foreach>
<if test="startTime != null and startTime != ''">
AND ipa.hold_time >= #{startTime}
</if>
<if test="endTime != null and endTime != ''">
AND ipa.hold_time &lt;= #{endTime}
</if>
GROUP BY
ipao.join_org_id
</select>
</mapper>

15
epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partyOrg/IcPartyOrgDao.xml

@ -201,4 +201,19 @@
ORDER BY ipo.id
</select>
<select id="getSelfAndSub" resultType="com.epmet.resi.partymember.dto.partyOrg.IcPartyOrgDTO">
SELECT
*
FROM
ic_party_org
WHERE
del_flag = '0'
AND (
id = #{joinOrgId}
OR org_pid = #{joinOrgId}
)
ORDER BY
party_org_type ASC
</select>
</mapper>

Loading…
Cancel
Save