From 3e0370d7d625b31afccb8f73267ba9a42fa22098 Mon Sep 17 00:00:00 2001 From: Jackwang Date: Fri, 20 May 2022 16:15:09 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=9A=E7=BB=84=E7=BB=87=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/form/OrgTreeByUserAndTypeFormDTO.java | 5 ++ .../controller/CustomerAgencyController.java | 4 +- .../resources/mapper/CustomerAgencyDao.xml | 1 + .../partyOrg/form/PartyOrgTreeListDTO.java | 26 +++++++++ .../controller/IcPartyOrgController.java | 12 +++-- .../modules/partyOrg/dao/IcPartyOrgDao.java | 34 +++++++++++- .../partyOrg/service/IcPartyOrgService.java | 3 +- .../service/impl/IcPartyOrgServiceImpl.java | 53 ++++++++++++++++--- .../partymember/dao/IcPartyMemberDao.java | 12 ++++- .../mapper/partyOrg/IcPartyOrgDao.xml | 26 ++++++++- .../mapper/partymember/IcPartyMemberDao.xml | 7 ++- 11 files changed, 165 insertions(+), 18 deletions(-) create mode 100644 epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/form/PartyOrgTreeListDTO.java diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/OrgTreeByUserAndTypeFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/OrgTreeByUserAndTypeFormDTO.java index e7599b1212..1114c0276c 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/OrgTreeByUserAndTypeFormDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/OrgTreeByUserAndTypeFormDTO.java @@ -24,6 +24,11 @@ public class OrgTreeByUserAndTypeFormDTO implements Serializable { @NotNull(message ="组织类型不可为空") private String orgType; + /** + * 客户Id (customer.id) + */ + private String customerId; + private List orgTypeList; } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java index 71cd514200..307271c01e 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java @@ -321,7 +321,9 @@ public class CustomerAgencyController { * @return com.epmet.commons.tools.utils.Result> */ @GetMapping("getOrgTreeByUserAndType") - Result> getOrgTreeByUserAndType(OrgTreeByUserAndTypeFormDTO formDto){ + Result> getOrgTreeByUserAndType(@LoginUser TokenDto tokenDTO,OrgTreeByUserAndTypeFormDTO formDto){ + ValidatorUtils.validateEntity(formDto); + formDto.setCustomerId(tokenDTO.getCustomerId()); return customerAgencyService.getOrgTreeByUserAndType(formDto); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml index 033b4fa2cf..200c91c25b 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml @@ -765,6 +765,7 @@ FROM `customer_agency` where DEL_FLAG='0' + and CUSTOMER_ID=#{customerId} and (id=#{agencyId} or PIDS LIKE concat('%',#{agencyId}, '%' )) diff --git a/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/form/PartyOrgTreeListDTO.java b/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/form/PartyOrgTreeListDTO.java new file mode 100644 index 0000000000..055dea272d --- /dev/null +++ b/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/form/PartyOrgTreeListDTO.java @@ -0,0 +1,26 @@ +package com.epmet.resi.partymember.dto.partyOrg.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @program: epmet-cloud + * @description: + * @author: wangtong + * @create: 2022-05-20 14:04 + **/ +@Data +public class PartyOrgTreeListDTO implements Serializable { + + /** + * 行政组织 机关ID + */ + + private String agencyId; + + /** + * 客户Id (customer.id) + */ + private String customerId; +} diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/controller/IcPartyOrgController.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/controller/IcPartyOrgController.java index 8d06c68748..3e5a8b1fa6 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/controller/IcPartyOrgController.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/controller/IcPartyOrgController.java @@ -1,7 +1,9 @@ package com.epmet.modules.partyOrg.controller; +import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.aop.NoRepeatSubmit; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ExcelUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.AssertUtils; @@ -12,6 +14,7 @@ import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.modules.partyOrg.excel.IcPartyOrgExcel; import com.epmet.modules.partyOrg.service.IcPartyOrgService; 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.IcPartyOrgTreeDTO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -48,7 +51,8 @@ public class IcPartyOrgController { @NoRepeatSubmit @PostMapping - public Result save(@RequestBody IcPartyOrgDTO dto){ + public Result save(@LoginUser TokenDto tokenDto, @RequestBody IcPartyOrgDTO dto){ + dto.setCustomerId(tokenDto.getCustomerId()); //效验数据 ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); return icPartyOrgService.save(dto); @@ -63,7 +67,7 @@ public class IcPartyOrgController { return new Result(); } - @PostMapping("delete") + @DeleteMapping("delete") public Result delete(@RequestBody String[] ids){ //效验数据 AssertUtils.isArrayEmpty(ids, "id"); @@ -86,8 +90,8 @@ public class IcPartyOrgController { * @return com.epmet.commons.tools.utils.Result> */ @GetMapping("getTreelist") - public Result> getTreelist(IcPartyOrgDTO formDTO){ -// ValidatorUtils.validateEntity(formDTO,IcPartyOrgDTO.AddUserInternalGroup.class, PageFormDTO.AddUserInternalGroup.class); + public Result> getTreelist(@LoginUser TokenDto tokenDto,PartyOrgTreeListDTO formDTO){ + formDTO.setCustomerId(tokenDto.getCustomerId()); return icPartyOrgService.getTreelist(formDTO); } 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 b38cac1d34..824a0affd2 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,9 +2,10 @@ 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.IcPartyOrgTreeDTO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -24,5 +25,34 @@ public interface IcPartyOrgDao extends BaseDao { * @params [] * @return java.util.List */ - List getTreelist(IcPartyOrgDTO formDTO); + List getTreelist(PartyOrgTreeListDTO formDTO); + + /** + * @describe: 查询跟id相关的所有组织id + * @author wangtong + * @date 2022/5/19 16:14 + * @params [id] + * @return java.util.List + */ + List selectAllByOrgId(@Param("id") String id); + + /** + * @describe: 通过名称或者编码查询 + * @author wangtong + * @date 2022/5/20 10:35 + * @params [partyOrgName, partyOrgCode] + * @return com.epmet.modules.partyOrg.entity.IcPartyOrgEntity + */ + IcPartyOrgEntity selectByCuIdAndNameOrCode(@Param("partyOrgName") String partyOrgName, + @Param("partyOrgCode") String partyOrgCode, + @Param("customerId") String customerId); + + /** + * @describe: 通过行政组织id和类型(不等于)筛选 + * @author wangtong + * @date 2022/5/20 10:40 + * @params [agencyId, partyOrgType] + * @return com.epmet.modules.partyOrg.entity.IcPartyOrgEntity + */ + IcPartyOrgEntity selectByAgencyId(@Param("agencyId") String agencyId,@Param("partyOrgType") String partyOrgType); } diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/service/IcPartyOrgService.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/service/IcPartyOrgService.java index 92b979a6a2..b3b3845808 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/service/IcPartyOrgService.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/service/IcPartyOrgService.java @@ -5,6 +5,7 @@ import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.Result; 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.IcPartyOrgTreeDTO; import java.util.List; @@ -85,5 +86,5 @@ public interface IcPartyOrgService extends BaseService { * @params [formDTO] * @return com.epmet.commons.tools.page.PageData */ - Result> getTreelist(IcPartyOrgDTO formDTO); + Result> getTreelist(PartyOrgTreeListDTO formDTO); } diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/service/impl/IcPartyOrgServiceImpl.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/service/impl/IcPartyOrgServiceImpl.java index 22f604bf09..7187206015 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/service/impl/IcPartyOrgServiceImpl.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/service/impl/IcPartyOrgServiceImpl.java @@ -14,13 +14,21 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.modules.partyOrg.dao.IcPartyOrgDao; import com.epmet.modules.partyOrg.entity.IcPartyOrgEntity; import com.epmet.modules.partyOrg.service.IcPartyOrgService; +import com.epmet.modules.partymember.dao.IcPartyMemberDao; +import com.epmet.modules.partymember.entity.IcPartyMemberEntity; 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.IcPartyOrgTreeDTO; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; -import java.util.*; +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; /** * 党组织表 @@ -31,6 +39,9 @@ import java.util.*; @Service public class IcPartyOrgServiceImpl extends BaseServiceImpl implements IcPartyOrgService { + @Autowired + private IcPartyMemberDao icPartyMemberDao; + @Override public PageData page(Map params) { @@ -66,19 +77,34 @@ public class IcPartyOrgServiceImpl extends BaseServiceImpl orgList = baseDao.selectAllByOrgId(id); + if(!CollectionUtils.isEmpty(orgList)){ + throw new EpmetException("请先删除下级党组织!"); + } + //判断该组织下是否有党员 + List memberList = icPartyMemberDao.selectAllByOrgId(id); + if(!CollectionUtils.isEmpty(memberList)){ + throw new EpmetException("该组织下有党员信息暂时不可删除!"); + } + baseDao.deleteById(id); + } } @Override - public Result> getTreelist(IcPartyOrgDTO formDTO) { + public Result> getTreelist(PartyOrgTreeListDTO formDTO) { List list = baseDao.getTreelist(formDTO); return new Result>().ok(build(list)); } diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/dao/IcPartyMemberDao.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/dao/IcPartyMemberDao.java index dd8dede3af..9d01682541 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/dao/IcPartyMemberDao.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/dao/IcPartyMemberDao.java @@ -5,6 +5,7 @@ import com.epmet.modules.partymember.entity.IcPartyMemberEntity; import com.epmet.resi.partymember.dto.partymember.form.IcPartyMemberFromDTO; import com.epmet.resi.partymember.dto.partymember.result.IcPartyMemberResultDTO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -25,4 +26,13 @@ public interface IcPartyMemberDao extends BaseDao { * @Date 2022/5/18 17:01 */ List selectList(IcPartyMemberFromDTO formDTO); -} \ No newline at end of file + + /** + * @describe: 查询该组织下的党员信息 + * @author wangtong + * @date 2022/5/19 16:20 + * @params [orgId] + * @return java.util.List + */ + List selectAllByOrgId(@Param("orgId") String orgId); +} 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 d3ecd6c0b4..c0e571f371 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 @@ -44,10 +44,34 @@ UPDATED_TIME from ic_party_org where DEL_FLAG=0 + and CUSTOMER_ID=#{customerId} - AND (AGENCY_ID = #{agencyId} or FIND_IN_SET(#{agencyId},AGENCY_PIDS)) + AND (AGENCY_ID = #{agencyId} or AGENCY_PIDS LIKE concat('%',#{agencyId}, '%' )) + + + diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/IcPartyMemberDao.xml b/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/IcPartyMemberDao.xml index 184c4610dc..10ee89a834 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/IcPartyMemberDao.xml +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/IcPartyMemberDao.xml @@ -126,6 +126,11 @@ + - \ No newline at end of file +