From 104e4b97b9cdf104e27f83ecff0fc93dcfde2ee5 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Thu, 25 Aug 2022 14:19:05 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../group/feign/ResiGroupOpenFeignClient.java | 6 +++ .../ResiGroupOpenFeignClientFallback.java | 5 ++ .../group/controller/ResiGroupController.java | 11 +++++ .../group/service/ResiGroupService.java | 2 + .../service/impl/ResiGroupServiceImpl.java | 13 +++++ .../partyOrg/form/PartyActStatisFormDTO.java | 37 +++++++++++++++ .../result/PartyActStatisResultDTO.java | 45 ++++++++++++++++++ .../controller/IcPartyActController.java | 18 +++++-- .../modules/partyOrg/dao/IcPartyActDao.java | 4 ++ .../modules/partyOrg/dao/IcPartyOrgDao.java | 3 ++ .../partyOrg/service/IcPartyActService.java | 8 ++-- .../service/impl/IcPartyActServiceImpl.java | 47 +++++++++++++++++-- .../mapper/partyOrg/IcPartyActDao.xml | 28 +++++++++++ .../mapper/partyOrg/IcPartyOrgDao.xml | 15 ++++++ 14 files changed, 230 insertions(+), 12 deletions(-) create mode 100644 epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/form/PartyActStatisFormDTO.java create mode 100644 epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/result/PartyActStatisResultDTO.java diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java index b7a4f54672..2adf4c9ddc 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java +++ b/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> groupMemberList(@RequestBody List groupIdList); + /** + * @Author sun + * @Description 查询支部下党小组列表 + **/ + @PostMapping("/resi/group/group/partygrouplist/{partyOrgId}") + Result> partyGroupList(@PathVariable String partyOrgId); } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java index d3bff53996..e3c6b08c47 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java +++ b/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> partyGroupList(String partyOrgId) { + return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "partyGroupList", partyOrgId); + } + } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java index 5e60d0f535..94da912a7b 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java +++ b/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>> getBranchGroupList(@LoginUser TokenDto tokenDto) { return new Result>>().ok(resiGroupService.getBranchGroupList(tokenDto.getCustomerId())); } + + /** + * @Author sun + * @Description 查询支部下党小组列表 + **/ + @PostMapping("partygrouplist/{partyOrgId}") + Result> partyGroupList(@PathVariable String partyOrgId){ + return new Result>().ok(resiGroupService.partyGroupList(partyOrgId)); + } + + } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java index d3176758d5..e03178d06b 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java +++ b/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 { * @Date 2022/8/15 16:49 */ Map> getBranchGroupList(String customerId); + + List partyGroupList(String partyOrgId); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java index 939eb61d39..e21ce83878 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java +++ b/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 partyGroupList(String partyOrgId) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(ResiGroupEntity::getPartyOrgId, partyOrgId); + wrapper.eq(ResiGroupEntity::getDelFlag, NumConstant.ZERO_STR); + List entityList = baseDao.selectList(wrapper); + if (CollectionUtils.isEmpty(entityList)) { + return new ArrayList<>(); + } + return ConvertUtils.sourceToTarget(entityList, ResiGroupDTO.class); + } + } diff --git a/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/form/PartyActStatisFormDTO.java b/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/form/PartyActStatisFormDTO.java new file mode 100644 index 0000000000..f0e8cedeed --- /dev/null +++ b/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 partyOrgIdList; + +} diff --git a/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/result/PartyActStatisResultDTO.java b/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/result/PartyActStatisResultDTO.java new file mode 100644 index 0000000000..5f87fa3fb7 --- /dev/null +++ b/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; + +} diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/controller/IcPartyActController.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/controller/IcPartyActController.java index dc9da8f9a3..bbf56110d6 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/controller/IcPartyActController.java +++ b/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> patryActStatis(@RequestBody PartyActStatisFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO, AddGroup.class); + return new Result>().ok(icPartyActService.patryActStatis(formDTO)); + } + + } diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/dao/IcPartyActDao.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/dao/IcPartyActDao.java index 5ab4ed61e3..d3bdd9d957 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/dao/IcPartyActDao.java +++ b/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 { List selectNeedRemindAutoPublishAct(String dateId); List selectNoPublishList(String dateId); + + List getPartActStatis(PartyActStatisFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/dao/IcPartyOrgDao.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/dao/IcPartyOrgDao.java index af7a6340aa..7391328894 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/dao/IcPartyOrgDao.java +++ b/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 selectDefaultPartyOrg(@Param("agencyId") String agencyId, @Param("level") String level); List getUserIdByPartyOrgIds(@Param("partyOrgIdList") List partyOrgIdList); + + List getSelfAndSub(@Param("joinOrgId") String joinOrgId); } diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/service/IcPartyActService.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/service/IcPartyActService.java index e1aeee4a8a..dbfde1274e 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/service/IcPartyActService.java +++ b/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 { * 自动发布活动 */ void autoPublishIcPartyAct(); + + LinkedList patryActStatis(PartyActStatisFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/service/impl/IcPartyActServiceImpl.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/service/impl/IcPartyActServiceImpl.java index b7a14504a5..fe57e096da 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/service/impl/IcPartyActServiceImpl.java +++ b/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 patryActStatis(PartyActStatisFormDTO formDTO) { + LinkedList resultList = new LinkedList<>(); + //1.查询当前党组织及直属下级基础数据 + List orgDTOList = partyOrgDao.getSelfAndSub(formDTO.getJoinOrgId()); + if (CollectionUtils.isEmpty(orgDTOList)) { + return resultList; + } + List partyOrgIdList = orgDTOList.stream().map(IcPartyOrgDTO::getId).collect(Collectors.toList()); + //如果党组织是支部类型,则直属下级是党小组 + if ("6".equals(formDTO.getJoinOrgType())) { + Result> result = resiGroupOpenFeignClient.partyGroupList(formDTO.getJoinOrgId()); + if (!result.success()) { + throw new RenException("获取党支部下党小组列表失败:" + result.getInternalMsg()); + } + List groupIdList = result.getData().stream().map(ResiGroupDTO::getId).collect(Collectors.toList()); + partyOrgIdList.addAll(groupIdList); + } + formDTO.setPartyOrgIdList(partyOrgIdList); + + //2.按党组织统计查询各类型活动参与次数 + List partActStatis = baseDao.getPartActStatis(formDTO); + Map 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; + } + } \ No newline at end of file diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partyOrg/IcPartyActDao.xml b/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partyOrg/IcPartyActDao.xml index 2c1b07c313..df43a30473 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partyOrg/IcPartyActDao.xml +++ b/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} + + + \ No newline at end of file diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partyOrg/IcPartyOrgDao.xml b/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partyOrg/IcPartyOrgDao.xml index c5c56bfef8..1553753bd4 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partyOrg/IcPartyOrgDao.xml +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partyOrg/IcPartyOrgDao.xml @@ -201,4 +201,19 @@ ORDER BY ipo.id + +