diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/PartyOrgTypeEnum.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/PartyOrgTypeEnum.java index a0d1520e43..a245051765 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/PartyOrgTypeEnum.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/PartyOrgTypeEnum.java @@ -1,5 +1,7 @@ package com.epmet.commons.tools.enums; +import org.apache.commons.lang3.StringUtils; + public enum PartyOrgTypeEnum { PROVINCIAL("0", "省委"), @@ -34,4 +36,17 @@ public enum PartyOrgTypeEnum { public void setName(String name) { this.name = name; } + + public static PartyOrgTypeEnum getEnumByCode(String code) { + if (StringUtils.isBlank(code)) { + return null; + } + for (PartyOrgTypeEnum en : PartyOrgTypeEnum.values()) { + if (en.getCode().equals(code)) { + return en; + } + } + + return null; + } } 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 2adf4c9ddc..052009b266 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 @@ -348,4 +348,14 @@ public interface ResiGroupOpenFeignClient { **/ @PostMapping("/resi/group/group/partygrouplist/{partyOrgId}") Result> partyGroupList(@PathVariable String partyOrgId); + + /** + * @description: 使用行政组织,查询党小组数量 + * @param agencyId: 行政组织单位id + * @return + * @author: WangXianZhang + * @date: 2023/4/14 12:33 PM + */ + @GetMapping("/resi/group/group/partyGroupQuantity/byAgencyId/{agencyId}") + Result getPartyGroupQuantityByAgencyId(@PathVariable("agencyId") String agencyId); } 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 e3c6b08c47..1a7abe3f8f 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 @@ -253,4 +253,8 @@ public class ResiGroupOpenFeignClientFallback implements ResiGroupOpenFeignClien return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "partyGroupList", partyOrgId); } + @Override + public Result getPartyGroupQuantityByAgencyId(String agencyId) { + return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "getPartyGroupQuantityByAgencyId", agencyId); + } } 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 94da912a7b..14317334be 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 @@ -674,5 +674,17 @@ public class ResiGroupController { return new Result>().ok(resiGroupService.partyGroupList(partyOrgId)); } + /** + * @description: 使用行政组织,查询党小组数量 + * @param agencyId: 行政组织单位id + * @return + * @author: WangXianZhang + * @date: 2023/4/14 12:33 PM + */ + @GetMapping("partyGroupQuantity/byAgencyId/{agencyId}") + Result getPartyGroupQuantityByAgencyId(@PathVariable("agencyId") String agencyId) { + return new Result().ok(resiGroupService.getPartyGroupQuantityByAgencyId(agencyId)); + } + } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupEntity.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupEntity.java index cc35c91b5b..8f19b14076 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupEntity.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupEntity.java @@ -98,4 +98,7 @@ Ps: 如果一个小组被拒绝,当前小组的状态将永久停留在“审 * 小组等级 */ private Integer level; + + private String agencyId; + private String pids; } 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 e03178d06b..a4a264a23d 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 @@ -483,4 +483,13 @@ public interface ResiGroupService extends BaseService { Map> getBranchGroupList(String customerId); List partyGroupList(String partyOrgId); + + /** + * @description: 使用行政组织,查询党小组列表 + * @param agencyId: + * @return + * @author: WangXianZhang + * @date: 2023/4/14 12:34 PM + */ + Integer getPartyGroupQuantityByAgencyId(String agencyId); } 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 8c2d43f75f..08435a803c 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 @@ -30,6 +30,8 @@ import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.redis.common.CustomerOrgRedis; +import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache; import com.epmet.commons.tools.scan.param.ImgScanParamDTO; import com.epmet.commons.tools.scan.param.ImgTaskDTO; import com.epmet.commons.tools.scan.param.TextScanParamDTO; @@ -37,10 +39,7 @@ import com.epmet.commons.tools.scan.param.TextTaskDTO; import com.epmet.commons.tools.scan.result.SyncScanResult; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.user.LoginUserUtil; -import com.epmet.commons.tools.utils.ConvertUtils; -import com.epmet.commons.tools.utils.DateUtils; -import com.epmet.commons.tools.utils.Result; -import com.epmet.commons.tools.utils.ScanContentUtils; +import com.epmet.commons.tools.utils.*; import com.epmet.constant.ReadFlagConstant; import com.epmet.constant.UserMessageTypeConstant; import com.epmet.dto.form.*; @@ -1994,4 +1993,17 @@ public class ResiGroupServiceImpl extends BaseServiceImpl query = new LambdaQueryWrapper<>(); + query.eq(ResiGroupEntity::getCustomerId, EpmetRequestHolder.getLoginUserCustomerId()); + query.eq(ResiGroupEntity::getPids, PidUtils.convertPid2OrgIdPath(agencyId, agencyInfo.getPids())); + return baseDao.selectCount(query); + } } diff --git a/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/result/LingShanScreenPartyActTypeAndQtyResultDTO.java b/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/result/LingShanScreenPartyActTypeAndQtyResultDTO.java new file mode 100644 index 0000000000..10387d8143 --- /dev/null +++ b/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/result/LingShanScreenPartyActTypeAndQtyResultDTO.java @@ -0,0 +1,15 @@ +package com.epmet.resi.partymember.dto.partymember.result; + +import lombok.Data; + +/** + * 灵山大屏,党建活动和数量 + */ +@Data +public class LingShanScreenPartyActTypeAndQtyResultDTO { + + private String actTypeKey; + private String name; + private Integer value; + +} diff --git a/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/result/LingShanScreenPartyOrgCategoryResultDTO.java b/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/result/LingShanScreenPartyOrgCategoryResultDTO.java new file mode 100644 index 0000000000..92e58400e5 --- /dev/null +++ b/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/result/LingShanScreenPartyOrgCategoryResultDTO.java @@ -0,0 +1,17 @@ +package com.epmet.resi.partymember.dto.partymember.result; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 灵山大屏,党组织和数量dto + */ +@Data +public class LingShanScreenPartyOrgCategoryResultDTO { + + private String partyOrgType; + private String name; + private Integer value; + +} diff --git a/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/result/LingShanScreenPartyOrgTreeResultDTO.java b/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/result/LingShanScreenPartyOrgTreeResultDTO.java new file mode 100644 index 0000000000..3b8469f066 --- /dev/null +++ b/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/result/LingShanScreenPartyOrgTreeResultDTO.java @@ -0,0 +1,60 @@ +package com.epmet.resi.partymember.dto.partymember.result; + +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * 灵山大屏-党组织树 + */ +@Data +public class LingShanScreenPartyOrgTreeResultDTO { + + // 中共青岛市即墨区委灵山街道工作委员会 + private String title; + + private List list; + + private Integer num; + + @Data + public static class PartyOrg { + + private String id; + private String pid; + private String name; + private Integer num; + private Integer orgType; + + /** + * 子级组织列表 + */ + private List children = new ArrayList<>(); + + /** + * 党员列表 + */ + private List list = new ArrayList<>();; + } + + /** + * @description: 党员信息 + */ + @Data + public static class Partymember { + private String name; + private String gender; + private String age; + private String phone; + private String orgname; + private String photo; + private String remarks; + private Integer workStatus; + private Integer isDby; + private Integer isLhdy; + private Integer worknumber; + private Integer workEvent; + } + +} 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 d3bdd9d957..6d852616a1 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 @@ -11,6 +11,7 @@ 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 com.epmet.resi.partymember.dto.partymember.result.LingShanScreenPartyActTypeAndQtyResultDTO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -52,4 +53,13 @@ public interface IcPartyActDao extends BaseDao { List selectNoPublishList(String dateId); List getPartActStatis(PartyActStatisFormDTO formDTO); + + /** + * @description: 党建活动类型和数量 + * @return + * @author: WangXianZhang + * @date: 2023/4/14 12:12 PM + */ + List getPartyActTypeAndQuantity(@Param("customerId") String customerId, + @Param("orgIdPath") String orgIdPath); } \ 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 88fe00f0ad..91b8f5500d 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 @@ -9,6 +9,8 @@ import com.epmet.resi.partymember.dto.partyOrg.result.ActAndScheduleListResultDT import com.epmet.resi.partymember.dto.partyOrg.result.BranchlistTreeSubDTO; import com.epmet.resi.partymember.dto.partyOrg.result.IcPartyOrgTreeDTO; import com.epmet.resi.partymember.dto.partyOrg.result.PartyOrgListResultDTO; +import com.epmet.resi.partymember.dto.partymember.result.LingShanScreenPartyOrgCategoryResultDTO; +import com.epmet.resi.partymember.dto.partymember.result.LingShanScreenPartyOrgTreeResultDTO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -126,4 +128,24 @@ public interface IcPartyOrgDao extends BaseDao { * @date 2022/9/7 15:04 */ void editPrincipal(EditPrincipalFormDTO formDTO); + + /** + * @description: 灵山大屏,党建引领,党组织和数量 + * @param agencyId: + * @param agencyOrgIdPath: + * @return java.util.List + * @author: WangXianZhang + * @date: 2023/4/14 11:15 AM + */ + List listPartyOrgCategoryAndQuantity(@Param("customerId") String customerId, + @Param("agencyId") String agencyId, + @Param("agencyOrgIdPath") String agencyOrgIdPath); + + List getPartyOrgsLteDangwei(@Param("customerId") String customerId, + @Param("agencyId") String agencyId, + @Param("orgIdpath") String orgIdpath); + + List getPartyOrgsOfBranch(@Param("customerId") String customerId, + @Param("agencyId") String agencyId, + @Param("orgIdpath") String orgIdpath); } diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/LingShanScreenController.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/LingShanScreenController.java new file mode 100644 index 0000000000..49a43329ca --- /dev/null +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/LingShanScreenController.java @@ -0,0 +1,65 @@ +package com.epmet.modules.partymember.controller; + +import com.epmet.commons.tools.enums.PartyOrgTypeEnum; +import com.epmet.commons.tools.utils.Result; +import com.epmet.modules.partymember.service.LingShanScreenService; +import com.epmet.resi.partymember.dto.partymember.result.LingShanScreenPartyActTypeAndQtyResultDTO; +import com.epmet.resi.partymember.dto.partymember.result.LingShanScreenPartyOrgCategoryResultDTO; +import com.epmet.resi.partymember.dto.partymember.result.LingShanScreenPartyOrgTreeResultDTO; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@RestController +@RequestMapping("lingshanScreen") +@Slf4j +public class LingShanScreenController { + + @Autowired + private LingShanScreenService lingShanScreenService; + + /** + * @description: 党建引领,党组织和数量 + * @param agencyId: 当前组织id + * @return com.epmet.commons.tools.utils.Result + * @author: WangXianZhang + * @date: 2023/4/14 10:57 AM + */ + @GetMapping("partyOrgCategoryAndQuantity") + public Result> listPartyOrgCategoryAndQuantity(@RequestParam("agencyId") String agencyId) { + List l = lingShanScreenService.listPartyOrgCategoryAndQuantity(agencyId); + return new Result().ok(l); + } + + /** + * @description: 党建活动类型和数量 + * @param agencyId: 组织id + * @return com.epmet.commons.tools.utils.Result> + * @author: WangXianZhang + * @date: 2023/4/14 12:03 PM + */ + @GetMapping("partyActTypeAndQuantity") + public Result> partyActTypeAndQuantity(@RequestParam("agencyId") String agencyId) { + List l = lingShanScreenService.partyActTypeAndQuantity(agencyId); + return new Result().ok(l); + } + + /** + * @description: 党组织数(只到党支部,没有小组) + * @param agencyId: + * @return + * @author: WangXianZhang + * @date: 2023/4/14 1:00 PM + */ + @GetMapping("partyOrgTree") + public Result getPartyOrgTree(@RequestParam("agencyId") String agencyId) { + LingShanScreenPartyOrgTreeResultDTO l = lingShanScreenService.getPartyOrgTree(agencyId); + return new Result().ok(l); + } + +} diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/LingShanScreenService.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/LingShanScreenService.java new file mode 100644 index 0000000000..55bb9dd082 --- /dev/null +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/LingShanScreenService.java @@ -0,0 +1,36 @@ +package com.epmet.modules.partymember.service; + +import com.epmet.resi.partymember.dto.partymember.result.LingShanScreenPartyActTypeAndQtyResultDTO; +import com.epmet.resi.partymember.dto.partymember.result.LingShanScreenPartyOrgCategoryResultDTO; +import com.epmet.resi.partymember.dto.partymember.result.LingShanScreenPartyOrgTreeResultDTO; + +import java.util.List; + +public interface LingShanScreenService { + /** + * @description: 党建引领,党组织和数量 + * @param agencyId: 组织id + * @return java.util.List + * @author: WangXianZhang + * @date: 2023/4/14 11:02 AM + */ + List listPartyOrgCategoryAndQuantity(String agencyId); + + /** + * @description: 党建活动类型和数量 + * @param agencyId: 组织id + * @return + * @author: WangXianZhang + * @date: 2023/4/14 12:05 PM + */ + List partyActTypeAndQuantity(String agencyId); + + /** + * @description: + * @param agencyId: + * @return + * @author: WangXianZhang + * @date: 2023/4/14 1:09 PM + */ + LingShanScreenPartyOrgTreeResultDTO getPartyOrgTree(String agencyId); +} diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/LingShanScreenServiceImpl.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/LingShanScreenServiceImpl.java new file mode 100644 index 0000000000..37e4663790 --- /dev/null +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/LingShanScreenServiceImpl.java @@ -0,0 +1,130 @@ +package com.epmet.modules.partymember.service.impl; + +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.enums.PartyOrgTypeEnum; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.EpmetException; +import com.epmet.commons.tools.feign.ResultDataResolver; +import com.epmet.commons.tools.redis.common.CustomerOrgRedis; +import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache; +import com.epmet.commons.tools.utils.EpmetRequestHolder; +import com.epmet.commons.tools.utils.PidUtils; +import com.epmet.modules.partyOrg.dao.IcPartyActDao; +import com.epmet.modules.partyOrg.dao.IcPartyOrgDao; +import com.epmet.modules.partymember.service.LingShanScreenService; +import com.epmet.resi.group.feign.ResiGroupOpenFeignClient; +import com.epmet.resi.partymember.dto.partymember.result.LingShanScreenPartyActTypeAndQtyResultDTO; +import com.epmet.resi.partymember.dto.partymember.result.LingShanScreenPartyOrgCategoryResultDTO; +import com.epmet.resi.partymember.dto.partymember.result.LingShanScreenPartyOrgTreeResultDTO; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.function.Function; +import java.util.stream.Collectors; + +@Service +public class LingShanScreenServiceImpl implements LingShanScreenService, ResultDataResolver { + + @Autowired + private IcPartyOrgDao icPartyOrgDao; + + @Autowired + private IcPartyActDao partyActDao; + + @Autowired + private ResiGroupOpenFeignClient groupOpenFeignClient; + + @Override + public List listPartyOrgCategoryAndQuantity(String agencyId) { + AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(agencyId); + if (agencyInfo == null) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询当前组织信息失败,agencyId:" + agencyId, "查询当前组织信息失败"); + } + + // 1.查询党组织 + List l = icPartyOrgDao + .listPartyOrgCategoryAndQuantity(EpmetRequestHolder.getLoginUserCustomerId(), agencyId, PidUtils.convertPid2OrgIdPath(agencyId, agencyInfo.getPids())); + + // 给组织类型名字赋值 + l.forEach(i -> { + PartyOrgTypeEnum partyOrgTypeEnum = PartyOrgTypeEnum.getEnumByCode(i.getPartyOrgType()); + if (partyOrgTypeEnum != null) { + i.setName(partyOrgTypeEnum.getName()); + } + }); + + // 2.查询党小组 + Integer groupQty = getResultDataOrReturnNull(groupOpenFeignClient.getPartyGroupQuantityByAgencyId(agencyId), ServiceConstant.RESI_GROUP_SERVER); + if (groupQty == null) { + logger.error("【灵山大屏】党建引领-查询党小组信息失败,agencyId:" + agencyId); + groupQty = 0; + } + + LingShanScreenPartyOrgCategoryResultDTO gq = new LingShanScreenPartyOrgCategoryResultDTO(); + gq.setName("党小组"); + gq.setPartyOrgType(null); + gq.setValue(groupQty); + l.add(gq); + + return l; + } + + @Override + public List partyActTypeAndQuantity(String agencyId) { + AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(agencyId); + if (agencyInfo == null) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询当前组织信息失败,agencyId:" + agencyId, "查询当前组织信息失败"); + } + return partyActDao.getPartyActTypeAndQuantity(EpmetRequestHolder.getLoginUserCustomerId(), PidUtils.convertPid2OrgIdPath(agencyId, agencyInfo.getPids())); + } + + @Override + public LingShanScreenPartyOrgTreeResultDTO getPartyOrgTree(String agencyId) { + AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(agencyId); + if (agencyInfo == null) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询当前组织信息失败,agencyId:" + agencyId, "查询当前组织信息失败"); + } + + String orgIdpath = PidUtils.convertPid2OrgIdPath(agencyId, agencyInfo.getPids()); + + // 1。查询组织 + // 先查党委以上级别的,含党委 + List l = icPartyOrgDao.getPartyOrgsLteDangwei(EpmetRequestHolder.getLoginUserCustomerId(), agencyId, orgIdpath); + // 再查党支部的。因为党委查询的时候使用pids和党支部的时候使用起来不一样,所以要分开 + List s = icPartyOrgDao.getPartyOrgsOfBranch(EpmetRequestHolder.getLoginUserCustomerId(), agencyId, orgIdpath); + + l.addAll(s); + + // 2.组装树了开始 + Map lMap = l.stream().collect(Collectors.toMap(e -> e.getId(), Function.identity())); + + String parentPartyOrgId = null; + + Integer maxLevel = 100; + // 将组织放入到父组织的children列表中 + for (Iterator it = l.iterator(); it.hasNext();) { + LingShanScreenPartyOrgTreeResultDTO.PartyOrg e = it.next(); + LingShanScreenPartyOrgTreeResultDTO.PartyOrg pOrg = lMap.get(e.getPid()); + + if (maxLevel > e.getOrgType()) { + maxLevel = e.getOrgType(); + parentPartyOrgId = e.getId(); + } + + if (pOrg != null) { + pOrg.getChildren().add(e); + it.remove(); + } + } + + LingShanScreenPartyOrgTreeResultDTO.PartyOrg parentOrg = lMap.get(parentPartyOrgId); + LingShanScreenPartyOrgTreeResultDTO r = new LingShanScreenPartyOrgTreeResultDTO(); + r.setTitle(parentOrg.getName()); + r.setNum(parentOrg.getNum()); + r.setList(parentOrg.getChildren()); + return r; + } +} diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartymemberBaseInfoServiceImpl.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartymemberBaseInfoServiceImpl.java index 35e890d7b7..3265cff8c0 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartymemberBaseInfoServiceImpl.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartymemberBaseInfoServiceImpl.java @@ -58,7 +58,6 @@ import com.epmet.resi.partymember.dto.partymember.result.ReviewedParyMemberResul import com.epmet.resi.partymember.dto.partymember.result.UnderReviewParyMemberResultDTO; import info.debatty.java.stringsimilarity.Levenshtein; import org.apache.commons.lang3.StringUtils; -import org.jetbrains.annotations.NotNull; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -534,7 +533,6 @@ public class PartymemberBaseInfoServiceImpl extends BaseServiceImpl + + + \ 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 410a074121..0f096e641d 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 @@ -249,4 +249,48 @@ ORDER BY org_pids ASC + + + + + + + + +