package cn.huge.module.ctuser.service;
|
|
import cn.huge.base.common.constant.GzRegionBaseEnum;
|
import cn.huge.base.common.dto.SelectTermDTO;
|
import cn.huge.base.common.exception.ServiceException;
|
import cn.huge.base.common.utils.DateUtils;
|
import cn.huge.base.common.utils.IdUtils;
|
import cn.huge.base.common.utils.ObjectUtils;
|
import cn.huge.base.common.utils.SelectTermUtils;
|
import cn.huge.module.client.api.impl.UtilsClientImpl;
|
import cn.huge.module.constant.BaseConsts;
|
import cn.huge.module.ctuser.dao.mapper.CtUnitMapper;
|
import cn.huge.module.ctuser.domain.po.*;
|
import cn.huge.module.ctuser.dto.CtUnitTreeDTO;
|
import cn.huge.module.ctuser.dto.CtUnitWeChatCountDTO;
|
import cn.huge.module.cust.constant.UserBaseConsts;
|
import cn.huge.module.cust.dto.CtUnitDTO;
|
import cn.huge.module.cust.dto.CtUserDTO;
|
import cn.huge.module.utils.TreeUtils;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import org.apache.commons.collections.CollectionUtils;
|
import org.apache.commons.lang3.StringUtils;
|
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
import org.apache.poi.ss.usermodel.Cell;
|
import org.apache.poi.ss.usermodel.CellType;
|
import org.apache.poi.ss.usermodel.Sheet;
|
import org.apache.poi.ss.usermodel.Workbook;
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.data.domain.Page;
|
import org.springframework.data.domain.PageImpl;
|
import org.springframework.data.domain.PageRequest;
|
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.util.DigestUtils;
|
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
|
import java.io.InputStream;
|
import java.util.*;
|
import java.util.stream.Collectors;
|
|
/**
|
* @author liyj
|
* @version 1.0.0
|
* @title: 客户组织信息表业务逻辑处理
|
* @Description 客户组织信息表业务逻辑处理
|
* @company hugeinfo
|
* @Time 2024-08-19 20:04:19
|
*/
|
@Slf4j
|
@Service
|
@Transactional(rollbackFor = Exception.class)
|
public class CtUnitService extends ServiceImpl<CtUnitMapper, CtUnit> {
|
|
@Autowired
|
private CtUnitMapper mapper;
|
|
@Autowired
|
private UtilsClientImpl utilsClient;
|
@Autowired
|
private CtDeptService ctDeptService;
|
@Autowired
|
private CtUserService ctUserService;
|
@Autowired
|
private CtAccountService ctAccountService;
|
@Autowired
|
private CtUseroleService ctUseroleService;
|
|
/**
|
* 更新对象
|
*
|
* @param entity 对象
|
*/
|
public void updateCtUnit(CtUnit entity) {
|
try {
|
mapper.updateCtUnit(entity);
|
} catch (Exception e) {
|
log.error("[CtUnitService.updateCtUnit]调用失败,异常信息:" + e, e);
|
throw new ServiceException("CtUnitService.updateCtUnit", e);
|
}
|
}
|
|
/**
|
* 条件更新对象
|
*
|
* @param entity 对象
|
* @param terms 条件
|
*/
|
public void updateCtUnitTerms(CtUnit entity, Map<String, Object> terms) {
|
try {
|
mapper.updateCtUnitTerms(entity, terms);
|
} catch (Exception e) {
|
log.error("[CtUnitService.updateCtUnitTerms]调用失败,异常信息:" + e, e);
|
throw new ServiceException("CtUnitService.updateCtUnitTerms", e);
|
}
|
}
|
|
/**
|
* 根据编号物理删除
|
*
|
* @param id 查询条件集合
|
*/
|
public void deleteCtUnit(String id) {
|
try {
|
mapper.deleteCtUnit(id);
|
} catch (Exception e) {
|
log.error("[CtUnitService.deleteCtUnit]调用失败,异常信息:" + e, e);
|
throw new ServiceException("CtUnitService.deleteCtUnit", e);
|
}
|
}
|
|
/**
|
* 按条件查询
|
*
|
* @param terms 条件
|
* @return List
|
*/
|
public List<CtUnit> listTerms(Map<String, Object> terms) {
|
return mapper.listTerms(terms);
|
}
|
|
/**
|
* 按条件统计
|
*
|
* @param terms 条件
|
* @return long
|
*/
|
public long countTerms(Map<String, Object> terms) {
|
return mapper.countTerms(terms);
|
}
|
|
/**
|
* 按条件分页查询
|
*
|
* @param page 分页对象
|
* @param terms 条件
|
* @return Page
|
*/
|
public Page<CtUnit> pageQuery(PageRequest page, Map<String, Object> terms) {
|
long total = mapper.countTerms(terms);
|
List<CtUnit> content = mapper.pageTerms(page, terms);
|
return new PageImpl<CtUnit>(content, page, total);
|
}
|
|
/**
|
* 新增或更新对象
|
*
|
* @param ctUnit 实体对象
|
*/
|
public void saveCtUnit(CtUnit ctUnit) {
|
try {
|
Date nowDate = DateUtils.getNowDate();
|
// 判断是否新增
|
if (IdUtils.checkNewId(ctUnit.getId())) {
|
ctUnit.setId(utilsClient.getNewTimeId());
|
ctUnit.setCreateTime(nowDate);
|
}
|
ctUnit.setProv("440000");
|
ctUnit.setProvName("广东省");
|
ctUnit.setCity("440100");
|
ctUnit.setCityName("广州市");
|
ctUnit.setUpdateTime(nowDate);
|
this.saveOrUpdate(ctUnit);
|
} catch (Exception e) {
|
log.error("[CtUnitService.saveCtUnit]调用失败,异常信息:" + e, e);
|
throw new ServiceException("CtUnitService.saveCtUnit", e);
|
}
|
}
|
|
/**
|
* 获取所有组织(包含所有下级子组织)
|
*
|
* @param custId 客户编号
|
* @param firstId 某一级组织编号
|
* @return List
|
*/
|
public List<CtUnit> listUnitTree(String custId, String firstId) {
|
QueryWrapper<CtUnit> queryWrapper = new QueryWrapper<>();
|
queryWrapper.orderByDesc("create_time");
|
List<CtUnit> ctUnits = mapper.selectList(queryWrapper);
|
|
// 获取所有的 CtDept 的数量
|
QueryWrapper<CtDept> deptQueryWrapper = new QueryWrapper<>();
|
deptQueryWrapper.in("unit_id", ctUnits.stream().map(CtUnit::getId).collect(Collectors.toList()));
|
List<CtDept> ctDepts = ctDeptService.list(deptQueryWrapper);
|
|
// 将 CtDept 的数量存储在 Map 中
|
Map<String, Long> ctDeptCountMap = ctDepts.stream()
|
.collect(Collectors.groupingBy(CtDept::getUnitId, Collectors.counting()));
|
|
// 为每个 CtUnit 设置 CtDept 的数量
|
for (CtUnit ctUnit : ctUnits) {
|
Long ctDeptsCount = ctDeptCountMap.getOrDefault(ctUnit.getId(), 0L);
|
ctUnit.setCountCtDept(ctDeptsCount.intValue());
|
}
|
return this.createTree(ctUnits, firstId);
|
}
|
|
/**
|
* 创建某一级组织下树形结构
|
*
|
* @param ctUnitList 所有组织集合
|
* @param firstId 某一级组织编号
|
* @return List
|
*/
|
public List<CtUnit> createTree(List<CtUnit> ctUnitList, String firstId) {
|
List<CtUnit> firstMapList = new ArrayList<>();
|
for (CtUnit ctUnit : ctUnitList) {
|
for (CtUnit currentParam : ctUnitList) {
|
if (currentParam.getId().equals(ctUnit.getParentId())) {
|
addToMBean(currentParam, ctUnit);
|
break;
|
}
|
}
|
}
|
//取第一级节点
|
for (CtUnit unit : ctUnitList) {
|
if (StringUtils.isNotEmpty(firstId)) {
|
if (firstId.equals(unit.getId())) {
|
firstMapList.add(unit);
|
}
|
} else {
|
if (BaseConsts.ROOT.equals(unit.getParentId()) || StringUtils.isEmpty(unit.getParentId())) {
|
firstMapList.add(unit);
|
}
|
}
|
}
|
return firstMapList;
|
}
|
|
/**
|
* 获取组织的子级组织
|
*
|
* @param targetUnit 目标组织
|
* @param currentUnit 子级组织
|
*/
|
public void addToMBean(CtUnit targetUnit, CtUnit currentUnit) {
|
List<CtUnit> childListObj = targetUnit.getChildren();
|
List<CtUnit> childList = null;
|
if (CollectionUtils.isEmpty(childListObj)) {
|
childList = new ArrayList();
|
targetUnit.setChildren(childList);
|
} else {
|
childList = childListObj;
|
}
|
childList.add(currentUnit);
|
}
|
|
/**
|
* 获取组织相关数据(包含组织下的部门)
|
*
|
* @param unitId 组织主键编号
|
* @return
|
*/
|
public CtUnit getUnitAndDept(String unitId) {
|
|
// 组织详情
|
CtUnit ctUnit = mapper.selectById(unitId);
|
// 组织人员数量
|
QueryWrapper<CtUser> userQueryWrapper = new QueryWrapper<>();
|
userQueryWrapper.eq("unit_id", unitId);
|
Integer countCtUser = ctUserService.count(userQueryWrapper);
|
ctUnit.setCountCtUser(countCtUser);
|
// 未配岗人员(单位下)
|
userQueryWrapper.isNull("dept_id");
|
List<CtUser> unMatchUsers = ctUserService.list(userQueryWrapper);
|
ctUnit.setUnMatchUsers(unMatchUsers);
|
// 部门详情
|
QueryWrapper<CtDept> deptQueryWrapper = new QueryWrapper<>();
|
deptQueryWrapper.eq("unit_id", unitId);
|
deptQueryWrapper.orderByDesc("create_time");
|
List<CtDept> ctDepts = ctDeptService.list(deptQueryWrapper);
|
for (CtDept ctDept : ctDepts) {
|
// 部门
|
userQueryWrapper.clear();
|
userQueryWrapper.eq("dept_id", ctDept.getId());
|
// 部门下成员
|
List<CtUser> matchUsers = ctUserService.list(userQueryWrapper);
|
ctDept.setMatchUsers(matchUsers);
|
// 部门人员数量
|
int countDeptUser = ctUserService.count(userQueryWrapper);
|
ctDept.setCountCtUser(countDeptUser);
|
}
|
List<CtDept> ctDeptTrees = ctDeptService.createTree(ctDepts, null);
|
ctUnit.setCtDepts(ctDeptTrees);
|
// 部门数量
|
ctUnit.setCountCtDept(ctDepts.size());
|
return ctUnit;
|
}
|
|
/**
|
* 更新对象
|
*
|
* @param ctUnit 对象
|
*/
|
public void updateTerms(CtUnit ctUnit) {
|
mapper.updateTerms(ctUnit);
|
}
|
|
/**
|
* 小程序统计机构数量
|
*/
|
public CtUnitWeChatCountDTO wechatCountUnit() {
|
CtUnitWeChatCountDTO ctUnitWeChatCountDTO = new CtUnitWeChatCountDTO();
|
QueryWrapper<CtUnit> unitQueryWrapper = new QueryWrapper<>();
|
unitQueryWrapper.eq("unit_type", 1);
|
Integer zzUnitNum = mapper.selectCount(unitQueryWrapper);
|
if (ObjectUtils.isEmpty(zzUnitNum)) {
|
zzUnitNum = 0;
|
}
|
ctUnitWeChatCountDTO.setZzUnitNum(zzUnitNum);
|
List<Integer> unitTypeList = Arrays.asList(2, 3, 4, 5);
|
QueryWrapper<CtUnit> unitQueryWrapper1 = new QueryWrapper<>();
|
unitQueryWrapper1.in("unit_type", unitTypeList);
|
Integer tzUnitNum = mapper.selectCount(unitQueryWrapper1);
|
if (ObjectUtils.isEmpty(tzUnitNum)) {
|
tzUnitNum = 0;
|
}
|
ctUnitWeChatCountDTO.setTzUnitNum(tzUnitNum);
|
return ctUnitWeChatCountDTO;
|
}
|
|
/**
|
* 交办-选择组织
|
*
|
* @param userId
|
* @return
|
*/
|
public List<SelectTermDTO> unitChoose(String userId) {
|
// 获取当前登录用户
|
CtUserDTO loginUser = ctUserService.clientGetUserAll(userId);
|
// 获取当前登录用户的部门
|
CtUnit loginUnit = mapper.selectById(loginUser.getUnitId());
|
// 市级交办
|
if (UserBaseConsts.UNIT_GRADE_1 == loginUnit.getUnitGrade()) {
|
QueryWrapper<CtUnit> ctUnitQueryWrapper = new QueryWrapper<>();
|
ctUnitQueryWrapper.eq("parent_id", loginUnit.getId());
|
List<CtUnit> ctUnitList = mapper.selectList(ctUnitQueryWrapper);
|
// 定义市直部门数组
|
List<SelectTermDTO> szbmList = new ArrayList<>();
|
// 定义区综治中心数组
|
List<SelectTermDTO> qzzzxList = new ArrayList<>();
|
for (CtUnit ctUnit : ctUnitList) {
|
SelectTermDTO unitSelectTerm = new SelectTermDTO();
|
unitSelectTerm.setValue(ctUnit.getId());
|
unitSelectTerm.setLabel(ctUnit.getUnitName());
|
unitSelectTerm.setParentId(ctUnit.getParentId());
|
unitSelectTerm.setCheckable(true);
|
if (UserBaseConsts.UNIT_TYPE_102 == ctUnit.getUnitType()) {
|
szbmList.add(unitSelectTerm);
|
}
|
if (UserBaseConsts.UNIT_TYPE_106 == ctUnit.getUnitType() || UserBaseConsts.UNIT_TYPE_105 == ctUnit.getUnitType() || UserBaseConsts.UNIT_TYPE_104 == ctUnit.getUnitType()) {
|
szbmList.add(unitSelectTerm);
|
}
|
if (UserBaseConsts.UNIT_TYPE_101 == ctUnit.getUnitType()) {
|
qzzzxList.add(unitSelectTerm);
|
}
|
}
|
// 封装返回数据
|
List<SelectTermDTO> result = new ArrayList<>();
|
// 创建第一级
|
SelectTermDTO firstSelectTermDTO = new SelectTermDTO();
|
firstSelectTermDTO.setValue(loginUser.getUnitId());
|
firstSelectTermDTO.setLabel(loginUser.getUnitName());
|
firstSelectTermDTO.setCheckable(false);
|
List<SelectTermDTO> firstChildren = new ArrayList<>();
|
// 市直部门
|
SelectTermDTO szbmSelectTermDTO = new SelectTermDTO();
|
szbmSelectTermDTO.setValue("szbm");
|
szbmSelectTermDTO.setLabel("市直部门");
|
szbmSelectTermDTO.setCheckable(false);
|
szbmSelectTermDTO.setChildren(szbmList);
|
firstChildren.add(szbmSelectTermDTO);
|
// 区综治中心
|
SelectTermDTO qzzzxSelectTermDTO = new SelectTermDTO();
|
qzzzxSelectTermDTO.setValue("qzzzx");
|
qzzzxSelectTermDTO.setLabel("区综治中心");
|
qzzzxSelectTermDTO.setCheckable(false);
|
qzzzxSelectTermDTO.setChildren(qzzzxList);
|
firstChildren.add(qzzzxSelectTermDTO);
|
// 第一级子级
|
firstSelectTermDTO.setChildren(firstChildren);
|
result.add(firstSelectTermDTO);
|
return result;
|
} else if (UserBaseConsts.UNIT_GRADE_2 == loginUnit.getUnitGrade()) {
|
// 区级交办
|
//如果是综治中心,走交办流程获取机构。如果不是综治中心,是同级部门,则获取同级部门。
|
List<CtUnit> ctUnitList = null;
|
if (UserBaseConsts.UNIT_TYPE_101 == loginUnit.getUnitType()) {
|
QueryWrapper<CtUnit> ctUnitQueryWrapper = new QueryWrapper<>();
|
ctUnitQueryWrapper.eq("parent_id", loginUnit.getId());
|
ctUnitList = mapper.selectList(ctUnitQueryWrapper);
|
} else {
|
QueryWrapper<CtUnit> ctUnitQueryWrapper = new QueryWrapper<>();
|
ctUnitQueryWrapper.eq("parent_id", loginUnit.getParentId());
|
ctUnitList = mapper.selectList(ctUnitQueryWrapper);
|
}
|
// 定义市区直部门数组
|
List<SelectTermDTO> qzbmList = new ArrayList<>();
|
// 定义镇街综治中心数组
|
List<SelectTermDTO> zjzzzxList = new ArrayList<>();
|
for (CtUnit ctUnit : ctUnitList) {
|
SelectTermDTO unitSelectTerm = new SelectTermDTO();
|
unitSelectTerm.setValue(ctUnit.getId());
|
unitSelectTerm.setLabel(ctUnit.getUnitName());
|
unitSelectTerm.setParentId(ctUnit.getParentId());
|
unitSelectTerm.setCheckable(true);
|
if (UserBaseConsts.UNIT_TYPE_102 == ctUnit.getUnitType()) {
|
qzbmList.add(unitSelectTerm);
|
}
|
if (UserBaseConsts.UNIT_TYPE_106 == ctUnit.getUnitType() || UserBaseConsts.UNIT_TYPE_105 == ctUnit.getUnitType() || UserBaseConsts.UNIT_TYPE_104 == ctUnit.getUnitType()) {
|
qzbmList.add(unitSelectTerm);
|
}
|
if (UserBaseConsts.UNIT_TYPE_101 == ctUnit.getUnitType()) {
|
zjzzzxList.add(unitSelectTerm);
|
}
|
}
|
// 封装返回数据
|
List<SelectTermDTO> result = new ArrayList<>();
|
// 创建第一级
|
SelectTermDTO firstSelectTermDTO = new SelectTermDTO();
|
firstSelectTermDTO.setValue(loginUser.getUnitId());
|
firstSelectTermDTO.setLabel(loginUser.getUnitName());
|
firstSelectTermDTO.setCheckable(false);
|
List<SelectTermDTO> firstChildren = new ArrayList<>();
|
// 市直部门
|
SelectTermDTO qzzbmSelectTermDTO = new SelectTermDTO();
|
qzzbmSelectTermDTO.setValue("qzbm");
|
qzzbmSelectTermDTO.setLabel("区直部门");
|
qzzbmSelectTermDTO.setCheckable(false);
|
qzzbmSelectTermDTO.setChildren(qzbmList);
|
firstChildren.add(qzzbmSelectTermDTO);
|
// 区综治中心
|
SelectTermDTO zjzzzxSelectTermDTO = new SelectTermDTO();
|
zjzzzxSelectTermDTO.setValue("zjzzzx");
|
zjzzzxSelectTermDTO.setLabel("街(镇)综治中心");
|
zjzzzxSelectTermDTO.setCheckable(false);
|
zjzzzxSelectTermDTO.setChildren(zjzzzxList);
|
firstChildren.add(zjzzzxSelectTermDTO);
|
// 第一级子级
|
firstSelectTermDTO.setChildren(firstChildren);
|
result.add(firstSelectTermDTO);
|
return result;
|
} else if (UserBaseConsts.UNIT_GRADE_3 == loginUnit.getUnitGrade()) {
|
// 镇街交办
|
// 查询镇街的直属部门组织
|
List<SelectTermDTO> zjbmList = new ArrayList<>();
|
//如果是综治中心,走交办流程获取机构。如果不是综治中心,是同级部门,则获取同级部门。
|
List<CtUnit> zjCtUnitList = null;
|
if (UserBaseConsts.UNIT_TYPE_101 == loginUnit.getUnitType()) {
|
QueryWrapper<CtUnit> zjCtUnitQueryWrapper = new QueryWrapper<>();
|
zjCtUnitQueryWrapper.eq("parent_id", loginUnit.getId())
|
.eq("unit_grade", UserBaseConsts.UNIT_GRADE_3)
|
.in("unit_type", UserBaseConsts.UNIT_TYPE_102, UserBaseConsts.UNIT_TYPE_106, UserBaseConsts.UNIT_TYPE_104, UserBaseConsts.UNIT_TYPE_105);
|
zjCtUnitList = mapper.selectList(zjCtUnitQueryWrapper);
|
} else {
|
QueryWrapper<CtUnit> zjCtUnitQueryWrapper = new QueryWrapper<>();
|
zjCtUnitQueryWrapper.eq("parent_id", loginUnit.getParentId())
|
.eq("unit_grade", UserBaseConsts.UNIT_GRADE_3)
|
.in("unit_type", UserBaseConsts.UNIT_TYPE_102, UserBaseConsts.UNIT_TYPE_106, UserBaseConsts.UNIT_TYPE_104, UserBaseConsts.UNIT_TYPE_105);
|
zjCtUnitList = mapper.selectList(zjCtUnitQueryWrapper);
|
}
|
|
for (CtUnit zjCtUnit : zjCtUnitList) {
|
SelectTermDTO unitSelectTerm = new SelectTermDTO();
|
unitSelectTerm.setValue(zjCtUnit.getId());
|
unitSelectTerm.setLabel(zjCtUnit.getUnitName());
|
unitSelectTerm.setParentId(zjCtUnit.getParentId());
|
unitSelectTerm.setCheckable(true);
|
zjbmList.add(unitSelectTerm);
|
|
}
|
|
// 查询镇街部门数组
|
// QueryWrapper<CtDept> ctDeptQueryWrapper = new QueryWrapper<>();
|
// ctDeptQueryWrapper.eq("unit_id", loginUnit.getId());
|
// List<CtDept> deptList = ctDeptService.list(ctDeptQueryWrapper);
|
// List<SelectTermDTO> zjbmList = new ArrayList<>();
|
// for (CtDept ctDept: deptList){
|
// SelectTermDTO unitSelectTerm = new SelectTermDTO();
|
// unitSelectTerm.setValue(ctDept.getId());
|
// unitSelectTerm.setLabel(ctDept.getName());
|
// unitSelectTerm.setParentId(loginUnit.getId());
|
// unitSelectTerm.setCheckable(true);
|
// zjbmList.add(unitSelectTerm);
|
// }
|
|
// 查询村社数组
|
QueryWrapper<CtUnit> ctUnitQueryWrapper = new QueryWrapper<>();
|
ctUnitQueryWrapper.eq("parent_id", loginUnit.getId()).eq("unit_grade", UserBaseConsts.UNIT_GRADE_4);
|
List<CtUnit> ctUnitList = mapper.selectList(ctUnitQueryWrapper);
|
List<SelectTermDTO> csList = new ArrayList<>();
|
for (CtUnit ctUnit : ctUnitList) {
|
SelectTermDTO unitSelectTerm = new SelectTermDTO();
|
unitSelectTerm.setValue(ctUnit.getId());
|
unitSelectTerm.setLabel(ctUnit.getUnitName());
|
unitSelectTerm.setParentId(ctUnit.getParentId());
|
unitSelectTerm.setCheckable(true);
|
csList.add(unitSelectTerm);
|
}
|
// 封装返回数据
|
List<SelectTermDTO> result = new ArrayList<>();
|
// 创建第一级
|
SelectTermDTO firstSelectTermDTO = new SelectTermDTO();
|
firstSelectTermDTO.setValue(loginUser.getUnitId());
|
firstSelectTermDTO.setLabel(loginUser.getUnitName());
|
firstSelectTermDTO.setCheckable(false);
|
List<SelectTermDTO> firstChildren = new ArrayList<>();
|
// 村社
|
SelectTermDTO zjbmSelectTermDTO = new SelectTermDTO();
|
zjbmSelectTermDTO.setValue("zjbm");
|
zjbmSelectTermDTO.setLabel("街(镇)部门");
|
zjbmSelectTermDTO.setCheckable(false);
|
zjbmSelectTermDTO.setChildren(zjbmList);
|
firstChildren.add(zjbmSelectTermDTO);
|
// 区综治中心
|
SelectTermDTO csSelectTermDTO = new SelectTermDTO();
|
csSelectTermDTO.setValue("cs");
|
csSelectTermDTO.setLabel("村(社)");
|
csSelectTermDTO.setCheckable(false);
|
csSelectTermDTO.setChildren(csList);
|
firstChildren.add(csSelectTermDTO);
|
// 第一级子级
|
firstSelectTermDTO.setChildren(firstChildren);
|
result.add(firstSelectTermDTO);
|
return result;
|
} else {
|
// todo
|
QueryWrapper<CtUnit> ctUnitQueryWrapper = new QueryWrapper<>();
|
ctUnitQueryWrapper.eq("parent_id", loginUnit.getParentId());
|
List<CtUnit> ctUnitList = mapper.selectList(ctUnitQueryWrapper);
|
//
|
List<SelectTermDTO> unitList = new ArrayList<>();
|
for (CtUnit ctUnit : ctUnitList) {
|
SelectTermDTO unitSelectTerm = new SelectTermDTO();
|
unitSelectTerm.setValue(ctUnit.getId());
|
unitSelectTerm.setLabel(ctUnit.getUnitName());
|
unitSelectTerm.setParentId(ctUnit.getParentId());
|
unitSelectTerm.setCheckable(true);
|
unitList.add(unitSelectTerm);
|
}
|
return unitList;
|
}
|
}
|
|
/**
|
* 联合处置申请-选择组织
|
*
|
* @param userId
|
* @return
|
*/
|
public List<SelectTermDTO> assistApplyUnitChoose(String userId) {
|
// 获取当前登录用户
|
CtUserDTO loginUser = ctUserService.clientGetUserAll(userId);
|
// 获取当前登录用户的部门
|
CtUnit loginUnit = mapper.selectById(loginUser.getUnitId());
|
QueryWrapper<CtUnit> ctUnitQueryWrapper1 = new QueryWrapper<>();
|
ctUnitQueryWrapper1.eq("id", loginUnit.getParentId());
|
CtUnit superiorUnit = mapper.selectById(loginUnit.getParentId());
|
// 市级
|
if (UserBaseConsts.UNIT_GRADE_1 == superiorUnit.getUnitGrade()) {
|
QueryWrapper<CtUnit> ctUnitQueryWrapper = new QueryWrapper<>();
|
ctUnitQueryWrapper.eq("parent_id", superiorUnit.getId());
|
List<CtUnit> ctUnitList = mapper.selectList(ctUnitQueryWrapper);
|
// 定义市直部门数组
|
List<SelectTermDTO> szbmList = new ArrayList<>();
|
// 定义区综治中心数组
|
List<SelectTermDTO> qzzzxList = new ArrayList<>();
|
for (CtUnit ctUnit : ctUnitList) {
|
SelectTermDTO unitSelectTerm = new SelectTermDTO();
|
unitSelectTerm.setValue(ctUnit.getId());
|
unitSelectTerm.setLabel(ctUnit.getUnitName());
|
unitSelectTerm.setParentId(ctUnit.getParentId());
|
unitSelectTerm.setCheckable(true);
|
if (UserBaseConsts.UNIT_TYPE_101 == ctUnit.getUnitType()) {
|
szbmList.add(unitSelectTerm);
|
}
|
if (UserBaseConsts.UNIT_TYPE_102 == ctUnit.getUnitType()) {
|
qzzzxList.add(unitSelectTerm);
|
}
|
}
|
// 封装返回数据
|
List<SelectTermDTO> result = new ArrayList<>();
|
// 创建第一级
|
SelectTermDTO firstSelectTermDTO = new SelectTermDTO();
|
firstSelectTermDTO.setValue(loginUser.getUnitId());
|
firstSelectTermDTO.setLabel(loginUser.getUnitName());
|
firstSelectTermDTO.setCheckable(false);
|
List<SelectTermDTO> firstChildren = new ArrayList<>();
|
// 市直部门
|
SelectTermDTO szbmSelectTermDTO = new SelectTermDTO();
|
szbmSelectTermDTO.setValue("szbm");
|
szbmSelectTermDTO.setLabel("市直部门");
|
szbmSelectTermDTO.setCheckable(false);
|
szbmSelectTermDTO.setChildren(szbmList);
|
firstChildren.add(szbmSelectTermDTO);
|
// 区综治中心
|
SelectTermDTO qzzzxSelectTermDTO = new SelectTermDTO();
|
qzzzxSelectTermDTO.setValue("qzzzx");
|
qzzzxSelectTermDTO.setLabel("区综治中心");
|
qzzzxSelectTermDTO.setCheckable(false);
|
qzzzxSelectTermDTO.setChildren(qzzzxList);
|
firstChildren.add(qzzzxSelectTermDTO);
|
// 第一级子级
|
firstSelectTermDTO.setChildren(firstChildren);
|
result.add(firstSelectTermDTO);
|
return result;
|
} else if (UserBaseConsts.UNIT_GRADE_2 == superiorUnit.getUnitGrade()) {
|
// 区级
|
QueryWrapper<CtUnit> ctUnitQueryWrapper = new QueryWrapper<>();
|
ctUnitQueryWrapper.eq("parent_id", superiorUnit.getId());
|
List<CtUnit> ctUnitList = mapper.selectList(ctUnitQueryWrapper);
|
// 定义市区直部门数组
|
List<SelectTermDTO> qzbmList = new ArrayList<>();
|
// 定义镇街综治中心数组
|
List<SelectTermDTO> zjzzzxList = new ArrayList<>();
|
for (CtUnit ctUnit : ctUnitList) {
|
SelectTermDTO unitSelectTerm = new SelectTermDTO();
|
unitSelectTerm.setValue(ctUnit.getId());
|
unitSelectTerm.setLabel(ctUnit.getUnitName());
|
unitSelectTerm.setParentId(ctUnit.getParentId());
|
unitSelectTerm.setCheckable(true);
|
if (UserBaseConsts.UNIT_TYPE_102 == ctUnit.getUnitType()) {
|
qzbmList.add(unitSelectTerm);
|
}
|
if (UserBaseConsts.UNIT_TYPE_103 == ctUnit.getUnitType()) {
|
zjzzzxList.add(unitSelectTerm);
|
}
|
}
|
// 封装返回数据
|
List<SelectTermDTO> result = new ArrayList<>();
|
// 创建第一级
|
SelectTermDTO firstSelectTermDTO = new SelectTermDTO();
|
firstSelectTermDTO.setValue(loginUser.getUnitId());
|
firstSelectTermDTO.setLabel(loginUser.getUnitName());
|
firstSelectTermDTO.setCheckable(false);
|
List<SelectTermDTO> firstChildren = new ArrayList<>();
|
// 市直部门
|
SelectTermDTO qzzbmSelectTermDTO = new SelectTermDTO();
|
qzzbmSelectTermDTO.setValue("qzbm");
|
qzzbmSelectTermDTO.setLabel("区直部门");
|
qzzbmSelectTermDTO.setCheckable(false);
|
qzzbmSelectTermDTO.setChildren(qzbmList);
|
firstChildren.add(qzzbmSelectTermDTO);
|
// 区综治中心
|
SelectTermDTO zjzzzxSelectTermDTO = new SelectTermDTO();
|
zjzzzxSelectTermDTO.setValue("zjzzzx");
|
zjzzzxSelectTermDTO.setLabel("街(镇)综治中心");
|
zjzzzxSelectTermDTO.setCheckable(false);
|
zjzzzxSelectTermDTO.setChildren(zjzzzxList);
|
firstChildren.add(zjzzzxSelectTermDTO);
|
// 第一级子级
|
firstSelectTermDTO.setChildren(firstChildren);
|
result.add(firstSelectTermDTO);
|
return result;
|
} else if (UserBaseConsts.UNIT_GRADE_3 == superiorUnit.getUnitGrade()) {
|
// 镇街
|
// 查询镇街部门数组
|
QueryWrapper<CtDept> ctDeptQueryWrapper = new QueryWrapper<>();
|
ctDeptQueryWrapper.eq("unit_id", superiorUnit.getId());
|
List<CtDept> deptList = ctDeptService.list(ctDeptQueryWrapper);
|
List<SelectTermDTO> zjbmList = new ArrayList<>();
|
for (CtDept ctDept : deptList) {
|
SelectTermDTO unitSelectTerm = new SelectTermDTO();
|
unitSelectTerm.setValue(ctDept.getId());
|
unitSelectTerm.setLabel(ctDept.getName());
|
unitSelectTerm.setParentId(superiorUnit.getId());
|
unitSelectTerm.setCheckable(true);
|
zjbmList.add(unitSelectTerm);
|
}
|
// 查询村社数组
|
QueryWrapper<CtUnit> ctUnitQueryWrapper = new QueryWrapper<>();
|
ctUnitQueryWrapper.eq("parent_id", superiorUnit.getId()).eq("unit_grade", UserBaseConsts.UNIT_GRADE_4);
|
List<CtUnit> ctUnitList = mapper.selectList(ctUnitQueryWrapper);
|
List<SelectTermDTO> csList = new ArrayList<>();
|
for (CtUnit ctUnit : ctUnitList) {
|
SelectTermDTO unitSelectTerm = new SelectTermDTO();
|
unitSelectTerm.setValue(ctUnit.getId());
|
unitSelectTerm.setLabel(ctUnit.getUnitName());
|
unitSelectTerm.setParentId(ctUnit.getParentId());
|
unitSelectTerm.setCheckable(true);
|
csList.add(unitSelectTerm);
|
}
|
// 封装返回数据
|
List<SelectTermDTO> result = new ArrayList<>();
|
// 创建第一级
|
List<SelectTermDTO> firstChildren = new ArrayList<>();
|
// 村社
|
SelectTermDTO zjbmSelectTermDTO = new SelectTermDTO();
|
zjbmSelectTermDTO.setValue("zjbm");
|
zjbmSelectTermDTO.setLabel("街(镇)部门");
|
zjbmSelectTermDTO.setCheckable(false);
|
zjbmSelectTermDTO.setChildren(zjbmList);
|
firstChildren.add(zjbmSelectTermDTO);
|
// 区综治中心
|
SelectTermDTO csSelectTermDTO = new SelectTermDTO();
|
csSelectTermDTO.setValue("cs");
|
csSelectTermDTO.setLabel("村(社)");
|
csSelectTermDTO.setCheckable(false);
|
csSelectTermDTO.setChildren(csList);
|
firstChildren.add(csSelectTermDTO);
|
// 第一级子级
|
result.addAll(firstChildren);
|
return result;
|
} else {
|
return new ArrayList<>();
|
}
|
}
|
|
/**
|
* 获取上级综治中心
|
*
|
* @param unitId 当前单位编号
|
* @return
|
*/
|
public CtUnitDTO getParentZzzx(String unitId) {
|
try {
|
// 查询当前单位的上级综治中心
|
QueryWrapper<CtUnit> ctUnitQueryWrapper = new QueryWrapper<>();
|
ctUnitQueryWrapper.eq("id", unitId).select("parent_id");
|
CtUnit loginCtUnit = mapper.selectOne(ctUnitQueryWrapper);
|
ctUnitQueryWrapper.clear();
|
ctUnitQueryWrapper.eq("id", loginCtUnit.getParentId()).eq("unit_type", UserBaseConsts.UNIT_TYPE_101);
|
CtUnit zzzxCtUnit = mapper.selectOne(ctUnitQueryWrapper);
|
CtUnitDTO ctUnitDTO = new CtUnitDTO();
|
BeanUtils.copyProperties(zzzxCtUnit, ctUnitDTO);
|
return ctUnitDTO;
|
} catch (Exception e) {
|
log.error("[CtUnitService.getParentZzzx]调用失败,异常信息:" + e, e);
|
throw new ServiceException("CtUnitService.getParentZzzx", e);
|
}
|
}
|
|
/**
|
* 获取本级综治中心
|
*
|
* @param unitId 当前单位编号
|
* @return
|
*/
|
public CtUnitDTO getBjZzzx(String unitId) {
|
try {
|
CtUnitDTO ctUnitDTO = new CtUnitDTO();
|
// 查询自己是否是综治中心
|
CtUnit loginCtUnit = mapper.selectById(unitId);
|
if (UserBaseConsts.UNIT_TYPE_101 == loginCtUnit.getUnitType()) {
|
BeanUtils.copyProperties(loginCtUnit, ctUnitDTO);
|
} else {
|
// 查询当前单位的上级综治中心
|
QueryWrapper<CtUnit> ctUnitQueryWrapper = new QueryWrapper<>();
|
ctUnitQueryWrapper.eq("id", loginCtUnit.getParentId()).eq("unit_type", UserBaseConsts.UNIT_TYPE_101);
|
CtUnit zzzxCtUnit = mapper.selectOne(ctUnitQueryWrapper);
|
BeanUtils.copyProperties(zzzxCtUnit, ctUnitDTO);
|
}
|
return ctUnitDTO;
|
} catch (Exception e) {
|
log.error("[CtUnitService.getParentZzzx]调用失败,异常信息:" + e, e);
|
throw new ServiceException("CtUnitService.getParentZzzx", e);
|
}
|
}
|
|
public CtUnit selectUnitByGridId(String gridUnitId) {
|
return mapper.selectUnitByGridId(gridUnitId);
|
}
|
|
/**
|
* 转入人民调解系统列表-选择组织
|
*
|
* @param userId
|
* @return
|
*/
|
public List<SelectTermDTO> rmtjUnitChoose(String userId) {
|
// 获取当前登录用户
|
CtUserDTO loginUser = ctUserService.clientGetUserAll(userId);
|
// 获取当前登录用户的部门
|
CtUnit loginUnit = mapper.selectById(loginUser.getUnitId());
|
// 市级
|
if (UserBaseConsts.UNIT_GRADE_1 == loginUnit.getUnitGrade()) {
|
List<SelectTermDTO> selectTermDTOS = new ArrayList<>();
|
List<SelectTermDTO> units = mapper.listUnitSelectTerm();
|
if (CollectionUtils.isNotEmpty(units)) {
|
// 构建树形结构
|
selectTermDTOS = SelectTermUtils.createTreeByFirst(units, loginUnit.getId());
|
}
|
return selectTermDTOS;
|
} else if (UserBaseConsts.UNIT_GRADE_2 == loginUnit.getUnitGrade()) {
|
// 区级
|
List<SelectTermDTO> selectTermDTOS = new ArrayList<>();
|
List<SelectTermDTO> units = mapper.listUnitSelectTerm();
|
// 司法局查询区所有的
|
if (CollectionUtils.isNotEmpty(units)) {
|
String firstId = null;
|
if (UserBaseConsts.UNIT_TYPE_105 == loginUnit.getUnitType()) {
|
firstId = loginUnit.getParentId();
|
} else {
|
firstId = loginUnit.getId();
|
}
|
// 构建树形结构
|
selectTermDTOS = SelectTermUtils.createTreeByFirst(units, firstId);
|
}
|
return selectTermDTOS;
|
} else if (UserBaseConsts.UNIT_GRADE_3 == loginUnit.getUnitGrade()) {
|
// 镇街级
|
List<SelectTermDTO> selectTermDTOS = new ArrayList<>();
|
List<SelectTermDTO> units = mapper.listUnitSelectTerm();
|
// 司法所查询镇街所有的
|
if (CollectionUtils.isNotEmpty(units)) {
|
String firstId = null;
|
if (UserBaseConsts.UNIT_TYPE_106 == loginUnit.getUnitType()) {
|
firstId = loginUnit.getParentId();
|
} else {
|
firstId = loginUnit.getId();
|
}
|
// 构建树形结构
|
selectTermDTOS = SelectTermUtils.createTreeByFirst(units, firstId);
|
}
|
return selectTermDTOS;
|
} else {
|
// 村居级
|
List<SelectTermDTO> selectTermDTOS = new ArrayList<>();
|
List<SelectTermDTO> units = mapper.listUnitSelectTerm();
|
// 司法所查询镇街所有的
|
if (CollectionUtils.isNotEmpty(units)) {
|
// 构建树形结构
|
selectTermDTOS = SelectTermUtils.createTreeByFirst(units, loginUnit.getId());
|
}
|
return selectTermDTOS;
|
}
|
}
|
|
/**
|
* 查询客户下的法院
|
*
|
* @param userId 用户编号
|
* @return List<SelectTermDTO>
|
*/
|
public List<SelectTermDTO> listCourt(String userId) {
|
// 获取当前登录用户
|
CtUserDTO loginUser = ctUserService.clientGetUserAll(userId);
|
CtUnit ctUnitDTO = getById(loginUser.getUnitId());
|
Map<String, Object> terms = new HashMap<>();
|
if (ObjectUtils.isNotEmpty(ctUnitDTO.getArea())) {
|
terms.put("area", ctUnitDTO.getArea());
|
} else {
|
return new ArrayList<>();
|
}
|
return mapper.listCourt(terms);
|
}
|
|
public CtUnit getUnitByRoad(String road) {
|
QueryWrapper<CtUnit> zjCtUnitQueryWrapper = new QueryWrapper<>();
|
zjCtUnitQueryWrapper.eq("road", road)
|
.eq("unit_grade", UserBaseConsts.UNIT_GRADE_3)
|
.eq("unit_type", UserBaseConsts.UNIT_TYPE_101);
|
List<CtUnit> zjCtUnitList = mapper.selectList(zjCtUnitQueryWrapper);
|
if (zjCtUnitList != null && zjCtUnitList.size() > 0)
|
return zjCtUnitList.get(0);
|
else return null;
|
}
|
|
public CtUnit getUnitByArea(String area) {
|
QueryWrapper<CtUnit> zjCtUnitQueryWrapper = new QueryWrapper<>();
|
zjCtUnitQueryWrapper.eq("area", area)
|
.eq("unit_grade", UserBaseConsts.UNIT_GRADE_2)
|
.eq("unit_type", UserBaseConsts.UNIT_TYPE_101);
|
List<CtUnit> zjCtUnitList = mapper.selectList(zjCtUnitQueryWrapper);
|
if (zjCtUnitList != null && zjCtUnitList.size() > 0)
|
return zjCtUnitList.get(0);
|
else return null;
|
}
|
|
public List<CtUnitTreeDTO> unitTree(String userId){
|
CtUserDTO loginUser = ctUserService.clientGetUserAll(userId);
|
CtUnit ctUnit = mapper.selectById(loginUser.getUnitId());
|
QueryWrapper<CtUnit> queryWrapper = new QueryWrapper<>();
|
queryWrapper.eq("delete_status",0);
|
if (ctUnit.getUnitGrade().equals(1)) {
|
queryWrapper.eq("city", ctUnit.getCity());
|
queryWrapper.in("unit_grade", Arrays.asList(1, 2, 3, 4));
|
} else if (ctUnit.getUnitGrade().equals(2)) {
|
queryWrapper.eq("area", ctUnit.getArea());
|
queryWrapper.in("unit_grade", Arrays.asList(2, 3, 4));
|
} else if (ctUnit.getUnitGrade().equals(3)) {
|
queryWrapper.eq("road", ctUnit.getRoad());
|
queryWrapper.in("unit_grade", Arrays.asList(3, 4));
|
} else if (ctUnit.getUnitGrade().equals(4)) {
|
queryWrapper.eq("village", ctUnit.getVillage());
|
queryWrapper.in("unit_grade", Arrays.asList(4));
|
}
|
List<CtUnit> ctUnits = mapper.selectList(queryWrapper);
|
|
Set<CtUnitTreeDTO> citySet = new HashSet<>();
|
Set<CtUnitTreeDTO> areaSet = new HashSet<>();
|
Set<CtUnitTreeDTO> roadSet = new HashSet<>();
|
Set<CtUnitTreeDTO> villageSet = new HashSet<>();
|
Set<CtUnitTreeDTO> unitSet = new HashSet<>();
|
|
Map<String,String> areaCodeMap = new HashMap<>();
|
Map<String,String> areaNameMap = new HashMap<>();
|
for (CtUnit unit : ctUnits) {
|
if(unit.getUnitGrade() == 1 && unit.getUnitType().equals(UserBaseConsts.UNIT_TYPE_101)){
|
areaCodeMap.put(unit.getCity(),unit.getId());
|
areaNameMap.put(unit.getCity(),unit.getUnitName());
|
}
|
if(unit.getUnitGrade() == 2 && unit.getUnitType().equals(UserBaseConsts.UNIT_TYPE_101)){
|
areaCodeMap.put(unit.getArea(),unit.getId());
|
areaNameMap.put(unit.getArea(),unit.getUnitName());
|
}
|
if(unit.getUnitGrade() == 3 && unit.getUnitType().equals(UserBaseConsts.UNIT_TYPE_101)){
|
areaCodeMap.put(unit.getRoad(),unit.getId());
|
areaNameMap.put(unit.getRoad(),unit.getUnitName());
|
}
|
if(unit.getUnitGrade() == 4 && unit.getUnitType().equals(UserBaseConsts.UNIT_TYPE_101)){
|
areaCodeMap.put(unit.getVillage(),unit.getId());
|
areaNameMap.put(unit.getVillage(),unit.getUnitName());
|
}
|
}
|
for (CtUnit unit : ctUnits) {
|
CtUnitTreeDTO ctUnitTreeDTO = new CtUnitTreeDTO();
|
ctUnitTreeDTO.setValue(unit.getId());
|
ctUnitTreeDTO.setLabel(unit.getUnitName());
|
if(unit.getUnitGrade() == 1 && ctUnit.getUnitGrade() == 1){
|
ctUnitTreeDTO.setParentId(unit.getCity()+"01-dept");
|
|
CtUnitTreeDTO city = new CtUnitTreeDTO();
|
city.setValue(areaCodeMap.get(unit.getCity()));
|
city.setLabel(areaNameMap.get(unit.getCity()));
|
city.setParentId("root");
|
city.setCheckable(true);
|
citySet.add(city);
|
|
CtUnitTreeDTO cityDept = new CtUnitTreeDTO();
|
cityDept.setValue(unit.getCity()+"01-dept");
|
cityDept.setLabel("市直部门");
|
cityDept.setParentId(areaCodeMap.get(unit.getCity()));
|
cityDept.setCheckable(false);
|
areaSet.add(cityDept);
|
|
CtUnitTreeDTO cityArea = new CtUnitTreeDTO();
|
cityArea.setValue(unit.getCity()+"02-area");
|
cityArea.setLabel("各区");
|
cityArea.setParentId(areaCodeMap.get(unit.getCity()));
|
cityArea.setCheckable(false);
|
areaSet.add(cityArea);
|
}else if(unit.getUnitGrade() == 2){
|
if(ObjectUtils.isEmpty(areaCodeMap.get(unit.getArea()))){
|
continue;
|
}
|
ctUnitTreeDTO.setParentId(unit.getArea()+"01-dept");
|
|
CtUnitTreeDTO area = new CtUnitTreeDTO();
|
area.setValue(areaCodeMap.get(unit.getArea()));
|
area.setLabel(areaNameMap.get(unit.getArea()));
|
if(ctUnit.getUnitGrade().equals(2)){
|
area.setParentId("root");
|
}else{
|
area.setParentId(unit.getCity()+"02-area");
|
}
|
area.setCheckable(true);
|
areaSet.add(area);
|
|
CtUnitTreeDTO areaDept = new CtUnitTreeDTO();
|
areaDept.setValue(unit.getArea()+"01-dept");
|
areaDept.setLabel("区直部门");
|
areaDept.setParentId(areaCodeMap.get(unit.getArea()));
|
areaDept.setCheckable(false);
|
areaSet.add(areaDept);
|
|
CtUnitTreeDTO cityRoad = new CtUnitTreeDTO();
|
cityRoad.setValue(unit.getArea()+"02-road");
|
cityRoad.setLabel("各镇街");
|
cityRoad.setParentId(areaCodeMap.get(unit.getArea()));
|
cityRoad.setCheckable(false);
|
areaSet.add(cityRoad);
|
}else if(unit.getUnitGrade() == 3){
|
if(ObjectUtils.isEmpty(areaCodeMap.get(unit.getRoad()))){
|
continue;
|
}
|
ctUnitTreeDTO.setParentId(unit.getRoad()+"01-dept");
|
|
CtUnitTreeDTO road = new CtUnitTreeDTO();
|
road.setValue(areaCodeMap.get(unit.getRoad()));
|
road.setLabel(areaNameMap.get(unit.getRoad()));
|
if(ctUnit.getUnitGrade().equals(3)){
|
road.setParentId("root");
|
}else{
|
road.setParentId(unit.getArea()+"02-road");
|
}
|
road.setCheckable(true);
|
roadSet.add(road);
|
|
CtUnitTreeDTO roadDept = new CtUnitTreeDTO();
|
roadDept.setValue(unit.getRoad()+"01-dept");
|
roadDept.setLabel("镇街直部门");
|
roadDept.setParentId(areaCodeMap.get(unit.getRoad()));
|
roadDept.setCheckable(false);
|
villageSet.add(roadDept);
|
|
CtUnitTreeDTO cityVillage= new CtUnitTreeDTO();
|
cityVillage.setValue(unit.getRoad()+"02-village");
|
cityVillage.setLabel("各社区");
|
cityVillage.setParentId(areaCodeMap.get(unit.getRoad()));
|
cityVillage.setCheckable(false);
|
villageSet.add(cityVillage);
|
|
}else if(unit.getUnitGrade() == 4){
|
if(ObjectUtils.isEmpty(unit.getRoad())){
|
continue;
|
}
|
if(ctUnit.getUnitGrade().equals(4)){
|
ctUnitTreeDTO.setParentId("root");
|
}else{
|
ctUnitTreeDTO.setParentId(unit.getRoad()+"02-village");
|
}
|
}
|
ctUnitTreeDTO.setCheckable(true);
|
if(!unit.getUnitType().equals(UserBaseConsts.UNIT_TYPE_101)){
|
unitSet.add(ctUnitTreeDTO);
|
}
|
}
|
List<CtUnitTreeDTO> treeList = new ArrayList<>();
|
treeList.addAll(citySet);
|
treeList.addAll(TreeUtils.sort(areaSet));
|
treeList.addAll(TreeUtils.sort(roadSet));
|
treeList.addAll(TreeUtils.sort(villageSet));
|
treeList.addAll(TreeUtils.sort(unitSet));
|
List<CtUnitTreeDTO> tree = TreeUtils.createUserTree(treeList);
|
return tree;
|
}
|
|
}
|