Browse Source

党组织相关开发

dev
Jackwang 3 years ago
parent
commit
805a013936
  1. 37
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/PartyOrgTypeEnum.java
  2. 29
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/OrgTreeByUserAndTypeFormDTO.java
  3. 44
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/PartyOrgTreeResultDTO.java
  4. 12
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java
  5. 9
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java
  6. 9
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java
  7. 73
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java
  8. 19
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml
  9. 12
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/IcPartyOrgDTO.java
  10. 91
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/result/IcPartyOrgTreeDTO.java
  11. 22
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/controller/IcPartyOrgController.java
  12. 12
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/dao/IcPartyOrgDao.java
  13. 13
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/service/IcPartyOrgService.java
  14. 65
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/service/impl/IcPartyOrgServiceImpl.java
  15. 24
      epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partyOrg/IcPartyOrgDao.xml

37
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/PartyOrgTypeEnum.java

@ -0,0 +1,37 @@
package com.epmet.commons.tools.enums;
public enum PartyOrgTypeEnum {
PROVINCIAL("0", "省委"),
MUNICIPAL("1", "市委"),
DISTRICT("2", "区委"),
WORKING("3", "党工委"),
PARTY("4", "党委"),
BRANCH("5", "支部");
private String code;
private String name;
PartyOrgTypeEnum(String code, String name) {
this.code = code;
this.name = name;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

29
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/OrgTreeByUserAndTypeFormDTO.java

@ -0,0 +1,29 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
/**
* @program: epmet-cloud
* @description:
* @author: wangtong
* @create: 2022-05-18 16:46
**/
@Data
public class OrgTreeByUserAndTypeFormDTO implements Serializable {
@NotNull(message ="组织id不可为空")
private String agencyId;
/**
* 党组织类型 0省委,1市委,2区委,3党工委,4党委
*/
@NotNull(message ="组织类型不可为空")
private String orgType;
private List<String> orgTypeList;
}

44
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/PartyOrgTreeResultDTO.java

@ -0,0 +1,44 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* @program: epmet-cloud
* @description:
* @author: wangtong
* @create: 2022-05-18 16:48
**/
@Data
public class PartyOrgTreeResultDTO implements Serializable {
/**
* 行政组织id
*/
private String id;
/**
* 行政组织pid
*/
private String pid;
/**
* 行政组织名称
*/
private String name;
/**
* 行政组织等级
*/
private String level;
/**
* 行政组织父ids
*/
private String pids;
private List<PartyOrgTreeResultDTO> children = new ArrayList<>();
}

12
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java

@ -313,6 +313,18 @@ public class CustomerAgencyController {
return new Result<ExtStaffPermissionResultDTO>().ok(customerAgencyService.staffPermissionExt(tokenDto.getUserId())); return new Result<ExtStaffPermissionResultDTO>().ok(customerAgencyService.staffPermissionExt(tokenDto.getUserId()));
} }
/**
* @describe: 通过用户所属的行政组织和行政类型查询下级的组织树
* @author wangtong
* @date 2022/5/18 16:50
* @params [formDto]
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.dto.result.PartyOrgTreeResultDTO>>
*/
@GetMapping("getOrgTreeByUserAndType")
Result<List<PartyOrgTreeResultDTO>> getOrgTreeByUserAndType(OrgTreeByUserAndTypeFormDTO formDto){
return customerAgencyService.getOrgTreeByUserAndType(formDto);
}
/** /**
* @Description 根据组织或网格或吧部门获取组织信息 * @Description 根据组织或网格或吧部门获取组织信息
* @Param formDTO * @Param formDTO

9
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java

@ -19,6 +19,7 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.CustomerAgencyDTO; import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.dto.form.OrgTreeByUserAndTypeFormDTO;
import com.epmet.dto.result.*; import com.epmet.dto.result.*;
import com.epmet.entity.CustomerAgencyEntity; import com.epmet.entity.CustomerAgencyEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@ -316,5 +317,13 @@ public interface CustomerAgencyDao extends BaseDao<CustomerAgencyEntity> {
*/ */
List<CommunityListResultDTO> getCommunityList(@Param("customerId")String customerId, @Param("agencyId")String agencyId); List<CommunityListResultDTO> getCommunityList(@Param("customerId")String customerId, @Param("agencyId")String agencyId);
/**
* @describe: 通过用户所属的行政组织和行政类型查询下级的组织树
* @author wangtong
* @date 2022/5/18 17:23
* @params [formDto]
* @return java.util.List<com.epmet.dto.result.PartyOrgTreeResultDTO>
*/
List<PartyOrgTreeResultDTO> getOrgTreeByUserAndType(OrgTreeByUserAndTypeFormDTO formDto);
} }

9
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java

@ -288,4 +288,13 @@ public interface CustomerAgencyService extends BaseService<CustomerAgencyEntity>
* @author sun * @author sun
**/ **/
AgencyTreeResultDTO rootAgencyGridTree(String agencyId); AgencyTreeResultDTO rootAgencyGridTree(String agencyId);
/**
* @describe: 通过用户所属的行政组织和行政类型查询下级的组织树
* @author wangtong
* @date 2022/5/18 16:53
* @params [formDto]
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.dto.result.PartyOrgTreeResultDTO>>
*/
Result<List<PartyOrgTreeResultDTO>> getOrgTreeByUserAndType(OrgTreeByUserAndTypeFormDTO formDto);
} }

73
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java

@ -24,6 +24,7 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.enums.PartyOrgTypeEnum;
import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.exception.RenException;
@ -44,6 +45,7 @@ import com.epmet.entity.CustomerAgencyEntity;
import com.epmet.entity.CustomerDepartmentEntity; import com.epmet.entity.CustomerDepartmentEntity;
import com.epmet.entity.CustomerGridEntity; import com.epmet.entity.CustomerGridEntity;
import com.epmet.entity.CustomerOrgParameterEntity; import com.epmet.entity.CustomerOrgParameterEntity;
import com.epmet.enums.OrgLevelEnums;
import com.epmet.feign.EpmetCommonServiceOpenFeignClient; import com.epmet.feign.EpmetCommonServiceOpenFeignClient;
import com.epmet.feign.EpmetUserFeignClient; import com.epmet.feign.EpmetUserFeignClient;
import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.feign.EpmetUserOpenFeignClient;
@ -1442,4 +1444,75 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl<CustomerAgencyDao
return result; return result;
} }
@Override
public Result<List<PartyOrgTreeResultDTO>> getOrgTreeByUserAndType(OrgTreeByUserAndTypeFormDTO formDto) {
List<String> orgTypeList = new ArrayList<>();
//根据组织类型筛选,例如本账号所属市北区,但只筛选市北区下面的的街道组织
if(PartyOrgTypeEnum.PROVINCIAL.getCode().equals(formDto.getOrgType())){
//省委
CollectionUtils.addAll(orgTypeList,
OrgLevelEnums.PROVINCE.getLevel(),
OrgLevelEnums.CITY.getLevel(),
OrgLevelEnums.DISTRICT.getLevel(),
OrgLevelEnums.STREET.getLevel(),
OrgLevelEnums.COMMUNITY.getLevel(),
OrgLevelEnums.GRID.getLevel());
}else if(PartyOrgTypeEnum.MUNICIPAL.getCode().equals(formDto.getOrgType())){
//市委
CollectionUtils.addAll(orgTypeList,
OrgLevelEnums.CITY.getLevel(),
OrgLevelEnums.DISTRICT.getLevel(),
OrgLevelEnums.STREET.getLevel(),
OrgLevelEnums.COMMUNITY.getLevel(),
OrgLevelEnums.GRID.getLevel());
}else if(PartyOrgTypeEnum.DISTRICT.getCode().equals(formDto.getOrgType())){
//区委
CollectionUtils.addAll(orgTypeList,
OrgLevelEnums.DISTRICT.getLevel(),
OrgLevelEnums.STREET.getLevel(),
OrgLevelEnums.COMMUNITY.getLevel(),
OrgLevelEnums.GRID.getLevel());
}else if(PartyOrgTypeEnum.WORKING.getCode().equals(formDto.getOrgType())){
//党工委-街道
CollectionUtils.addAll(orgTypeList,
OrgLevelEnums.STREET.getLevel(),
OrgLevelEnums.COMMUNITY.getLevel(),
OrgLevelEnums.GRID.getLevel());
}else if(PartyOrgTypeEnum.PARTY.getCode().equals(formDto.getOrgType())){
//党委-社区
CollectionUtils.addAll(orgTypeList,
OrgLevelEnums.COMMUNITY.getLevel(),
OrgLevelEnums.GRID.getLevel());
}
formDto.setOrgTypeList(orgTypeList);
List<PartyOrgTreeResultDTO> list = baseDao.getOrgTreeByUserAndType(formDto);
return new Result<List<PartyOrgTreeResultDTO>>().ok(build(list));
}
/**
* 构建树节点
*/
public static List<PartyOrgTreeResultDTO> build(List<PartyOrgTreeResultDTO> treeNodes) {
List<PartyOrgTreeResultDTO> result = new ArrayList<>();
//list转map
Map<String, PartyOrgTreeResultDTO> nodeMap = new LinkedHashMap<>(treeNodes.size());
for(PartyOrgTreeResultDTO treeNode : treeNodes){
nodeMap.put(treeNode.getId(), treeNode);
}
for(PartyOrgTreeResultDTO node : nodeMap.values()) {
PartyOrgTreeResultDTO parent = nodeMap.get(node.getPid());
if(parent != null && !(node.getId().equals(parent.getId()))){
parent.getChildren().add(node);
continue;
}
result.add(node);
}
return result;
}
} }

19
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml

@ -756,4 +756,23 @@
AND CUSTOMER_ID = #{customerId} AND CUSTOMER_ID = #{customerId}
AND pids LIKE concat('%',#{agencyId}, '%' ) AND pids LIKE concat('%',#{agencyId}, '%' )
</update> </update>
<select id="getOrgTreeByUserAndType" resultType="com.epmet.dto.result.PartyOrgTreeResultDTO">
SELECT id,
pid,
pids,
ORGANIZATION_NAME as name,
level
FROM `customer_agency`
where
DEL_FLAG='0'
and (id=#{agencyId}
or PIDS LIKE concat('%',#{agencyId}, '%' ))
<if test="orgTypeList!=null and orgTypeList.size>0">
and level IN
<foreach item="item" collection="orgTypeList" open="(" separator="," close=")">
#{item}
</foreach>
</if>
order by CREATED_TIME desc
</select>
</mapper> </mapper>

12
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/IcPartyOrgDTO.java

@ -2,6 +2,7 @@ package com.epmet.resi.partymember.dto.partyOrg;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
@ -30,6 +31,7 @@ public class IcPartyOrgDTO implements Serializable {
/** /**
* 党组织的上级ID,没有上级时为0 * 党组织的上级ID,没有上级时为0
*/ */
@NotNull(message = "上级组织不能为空")
private String orgPid; private String orgPid;
/** /**
@ -40,6 +42,7 @@ public class IcPartyOrgDTO implements Serializable {
/** /**
* 行政组织 机关ID * 行政组织 机关ID
*/ */
private String agencyId; private String agencyId;
/** /**
@ -50,11 +53,13 @@ public class IcPartyOrgDTO implements Serializable {
/** /**
* 党组织类型 0省委,1市委,2区委,3党工委,4党委,5支部 * 党组织类型 0省委,1市委,2区委,3党工委,4党委,5支部
*/ */
@NotNull(message = "组织类型不能为空")
private String partyOrgType; private String partyOrgType;
/** /**
* 组织名称 * 组织名称
*/ */
@NotNull(message = "组织名称不能为空")
private String partyOrgName; private String partyOrgName;
/** /**
@ -65,11 +70,13 @@ public class IcPartyOrgDTO implements Serializable {
/** /**
* 经度 * 经度
*/ */
@NotNull(message = "经度不能为空")
private String longitude; private String longitude;
/** /**
* 纬度 * 纬度
*/ */
@NotNull(message = "纬度不能为空")
private String latitude; private String latitude;
/** /**
@ -112,4 +119,9 @@ public class IcPartyOrgDTO implements Serializable {
*/ */
private Date updatedTime; private Date updatedTime;
/**
* 用户id
*/
private String staffId;
} }

91
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/result/IcPartyOrgTreeDTO.java

@ -0,0 +1,91 @@
package com.epmet.resi.partymember.dto.partyOrg.result;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* 党组织表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-17
*/
@Data
public class IcPartyOrgTreeDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 唯一标识
*/
private String id;
/**
* 党组织的上级ID,没有上级时为0前端展示用
*/
private String pid;
/**
* 党组织的上级ID,没有上级时为0
*/
private String orgPid;
/**
* 党组织的所有上级ID,没有上级时为0
*/
private String orgPids;
/**
* 行政组织 机关ID
*/
private String agencyId;
/**
* 行政组织 机关ID
*/
private String agencyPids;
/**
* 党组织类型 0省委,1市委,2区委,3党工委,4党委,5支部
*/
private String partyOrgType;
/**
* 组织名称
*/
private String partyOrgName;
/**
* 组织编码
*/
private String partyOrgCode;
/**
* 经度
*/
private String longitude;
/**
* 纬度
*/
private String latitude;
/**
* 地址
*/
private String address;
/**
* 党组织介绍
*/
private String introduction;
private List<IcPartyOrgTreeDTO> children = new ArrayList<>();
}

22
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/controller/IcPartyOrgController.java

@ -12,6 +12,7 @@ import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.modules.partyOrg.excel.IcPartyOrgExcel; import com.epmet.modules.partyOrg.excel.IcPartyOrgExcel;
import com.epmet.modules.partyOrg.service.IcPartyOrgService; import com.epmet.modules.partyOrg.service.IcPartyOrgService;
import com.epmet.resi.partymember.dto.partyOrg.IcPartyOrgDTO; import com.epmet.resi.partymember.dto.partyOrg.IcPartyOrgDTO;
import com.epmet.resi.partymember.dto.partyOrg.result.IcPartyOrgTreeDTO;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -46,16 +47,15 @@ public class IcPartyOrgController {
} }
@NoRepeatSubmit @NoRepeatSubmit
@PostMapping("save") @PostMapping
public Result save(@RequestBody IcPartyOrgDTO dto){ public Result save(@RequestBody IcPartyOrgDTO dto){
//效验数据 //效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
icPartyOrgService.save(dto); return icPartyOrgService.save(dto);
return new Result();
} }
@NoRepeatSubmit @NoRepeatSubmit
@PostMapping("update") @PutMapping
public Result update(@RequestBody IcPartyOrgDTO dto){ public Result update(@RequestBody IcPartyOrgDTO dto){
//效验数据 //效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
@ -78,5 +78,19 @@ public class IcPartyOrgController {
} }
/**
* @describe: 获取党组织下拉树
* @author wangtong
* @date 2022/5/17 17:13
* @params [formDTO]
* @return com.epmet.commons.tools.utils.Result<com.epmet.commons.tools.page.PageData<com.epmet.resi.partymember.dto.partyOrg.result.IcPartyOrgTreeDTO>>
*/
@GetMapping("getTreelist")
public Result<List<IcPartyOrgTreeDTO>> getTreelist(IcPartyOrgDTO formDTO){
// ValidatorUtils.validateEntity(formDTO,IcPartyOrgDTO.AddUserInternalGroup.class, PageFormDTO.AddUserInternalGroup.class);
return icPartyOrgService.getTreelist(formDTO);
}
} }

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

@ -2,8 +2,12 @@ package com.epmet.modules.partyOrg.dao;
import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.modules.partyOrg.entity.IcPartyOrgEntity; import com.epmet.modules.partyOrg.entity.IcPartyOrgEntity;
import com.epmet.resi.partymember.dto.partyOrg.IcPartyOrgDTO;
import com.epmet.resi.partymember.dto.partyOrg.result.IcPartyOrgTreeDTO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/** /**
* 党组织表 * 党组织表
* *
@ -13,4 +17,12 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper @Mapper
public interface IcPartyOrgDao extends BaseDao<IcPartyOrgEntity> { public interface IcPartyOrgDao extends BaseDao<IcPartyOrgEntity> {
/**
* @describe: 获取组织列表
* @author wangtong
* @date 2022/5/17 19:00
* @params []
* @return java.util.List<com.epmet.resi.partymember.dto.partyOrg.result.IcPartyOrgTreeDTO>
*/
List<IcPartyOrgTreeDTO> getTreelist(IcPartyOrgDTO formDTO);
} }

13
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/service/IcPartyOrgService.java

@ -2,8 +2,10 @@ package com.epmet.modules.partyOrg.service;
import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result;
import com.epmet.modules.partyOrg.entity.IcPartyOrgEntity; import com.epmet.modules.partyOrg.entity.IcPartyOrgEntity;
import com.epmet.resi.partymember.dto.partyOrg.IcPartyOrgDTO; import com.epmet.resi.partymember.dto.partyOrg.IcPartyOrgDTO;
import com.epmet.resi.partymember.dto.partyOrg.result.IcPartyOrgTreeDTO;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -54,7 +56,7 @@ public interface IcPartyOrgService extends BaseService<IcPartyOrgEntity> {
* @author generator * @author generator
* @date 2022-05-17 * @date 2022-05-17
*/ */
void save(IcPartyOrgDTO dto); Result save(IcPartyOrgDTO dto);
/** /**
* 默认更新 * 默认更新
@ -75,4 +77,13 @@ public interface IcPartyOrgService extends BaseService<IcPartyOrgEntity> {
* @date 2022-05-17 * @date 2022-05-17
*/ */
void delete(String[] ids); void delete(String[] ids);
/**
* @describe: 获取党组织下拉树
* @author wangtong
* @date 2022/5/17 17:20
* @params [formDTO]
* @return com.epmet.commons.tools.page.PageData<com.epmet.resi.partymember.dto.partyOrg.result.IcPartyOrgTreeDTO>
*/
Result<List<IcPartyOrgTreeDTO>> getTreelist(IcPartyOrgDTO formDTO);
} }

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

@ -4,20 +4,23 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.enums.PartyOrgTypeEnum;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.page.PageData; 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.utils.ConvertUtils; import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.modules.partyOrg.dao.IcPartyOrgDao; import com.epmet.modules.partyOrg.dao.IcPartyOrgDao;
import com.epmet.modules.partyOrg.entity.IcPartyOrgEntity; import com.epmet.modules.partyOrg.entity.IcPartyOrgEntity;
import com.epmet.modules.partyOrg.service.IcPartyOrgService; import com.epmet.modules.partyOrg.service.IcPartyOrgService;
import com.epmet.resi.partymember.dto.partyOrg.IcPartyOrgDTO; import com.epmet.resi.partymember.dto.partyOrg.IcPartyOrgDTO;
import com.epmet.resi.partymember.dto.partyOrg.result.IcPartyOrgTreeDTO;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays; import java.util.*;
import java.util.List;
import java.util.Map;
/** /**
* 党组织表 * 党组织表
@ -62,15 +65,34 @@ public class IcPartyOrgServiceImpl extends BaseServiceImpl<IcPartyOrgDao, IcPart
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void save(IcPartyOrgDTO dto) { public Result save(IcPartyOrgDTO dto) {
//如果不是支部,需要判断行政组织是否重复
if(!PartyOrgTypeEnum.BRANCH.getCode().equals(dto.getPartyOrgType())){
if(StringUtils.isBlank(dto.getAgencyId())){
return new Result().error("组织类型不为支部时,行政组织不可为空");
}
//判断行政组织是否重复
}
AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(dto.getAgencyId());
if (null == agencyInfo){
throw new EpmetException("组织信息获取失败");
}
IcPartyOrgEntity entity = ConvertUtils.sourceToTarget(dto, IcPartyOrgEntity.class); IcPartyOrgEntity entity = ConvertUtils.sourceToTarget(dto, IcPartyOrgEntity.class);
entity.setAgencyPids(agencyInfo.getPids().replaceAll(":",","));
insert(entity); insert(entity);
return new Result();
} }
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void update(IcPartyOrgDTO dto) { public void update(IcPartyOrgDTO dto) {
IcPartyOrgEntity entity = ConvertUtils.sourceToTarget(dto, IcPartyOrgEntity.class); // IcPartyOrgEntity entity = ConvertUtils.sourceToTarget(dto, IcPartyOrgEntity.class);
IcPartyOrgEntity entity = baseDao.selectById(dto.getId());
entity.setPartyOrgName(dto.getPartyOrgName());
entity.setPartyOrgCode(dto.getPartyOrgCode());
entity.setIntroduction(dto.getIntroduction());
entity.setLatitude(dto.getLatitude());
entity.setLongitude(dto.getLongitude());
updateById(entity); updateById(entity);
} }
@ -81,4 +103,35 @@ public class IcPartyOrgServiceImpl extends BaseServiceImpl<IcPartyOrgDao, IcPart
baseDao.deleteBatchIds(Arrays.asList(ids)); baseDao.deleteBatchIds(Arrays.asList(ids));
} }
@Override
public Result<List<IcPartyOrgTreeDTO>> getTreelist(IcPartyOrgDTO formDTO) {
List<IcPartyOrgTreeDTO> list = baseDao.getTreelist(formDTO);
return new Result<List<IcPartyOrgTreeDTO>>().ok(build(list));
}
/**
* 构建树节点
*/
public static List<IcPartyOrgTreeDTO> build(List<IcPartyOrgTreeDTO> treeNodes) {
List<IcPartyOrgTreeDTO> result = new ArrayList<>();
//list转map
Map<String, IcPartyOrgTreeDTO> nodeMap = new LinkedHashMap<>(treeNodes.size());
for(IcPartyOrgTreeDTO treeNode : treeNodes){
nodeMap.put(treeNode.getId(), treeNode);
}
for(IcPartyOrgTreeDTO node : nodeMap.values()) {
IcPartyOrgTreeDTO parent = nodeMap.get(node.getOrgPid());
if(parent != null && !(node.getId().equals(parent.getId()))){
parent.getChildren().add(node);
continue;
}
result.add(node);
}
return result;
}
} }

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

@ -24,6 +24,30 @@
<result property="updatedBy" column="UPDATED_BY"/> <result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/> <result property="updatedTime" column="UPDATED_TIME"/>
</resultMap> </resultMap>
<select id="getTreelist" resultType="com.epmet.resi.partymember.dto.partyOrg.result.IcPartyOrgTreeDTO">
select ID,
CUSTOMER_ID,
ORG_PID,
ORG_PID as pid,
ORG_PIDS,
AGENCY_ID,
AGENCY_PIDS,
PARTY_ORG_TYPE,
PARTY_ORG_NAME,
PARTY_ORG_CODE,
INTRODUCTION,
DEL_FLAG,
REVISION,
CREATED_BY,
CREATED_TIME,
UPDATED_BY,
UPDATED_TIME
from ic_party_org
where DEL_FLAG=0
<if test="agencyId != null and agencyId != ''">
AND (AGENCY_ID = #{agencyId} or FIND_IN_SET(#{agencyId},AGENCY_PIDS))
</if>
</select>
</mapper> </mapper>

Loading…
Cancel
Save