From e142433c71b032ce85546477543d65da0f3986b8 Mon Sep 17 00:00:00 2001
From: liyj <15602261488@163.com>
Date: Sat, 21 Sep 2024 13:20:48 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/gzdyh_test' into gzdyh_test
---
dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUnitService.java | 400 +++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 359 insertions(+), 41 deletions(-)
diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUnitService.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUnitService.java
index aaab12c..b5fd9f8 100644
--- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUnitService.java
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUnitService.java
@@ -13,13 +13,17 @@
import cn.huge.module.ctuser.domain.po.CtUnit;
import cn.huge.module.ctuser.domain.po.CtUser;
import cn.huge.module.ctuser.domain.po.CtUserole;
+import cn.huge.module.ctuser.dto.AppearUnitDTO;
import cn.huge.module.ctuser.dto.CtUnitWeChatCountDTO;
import cn.huge.module.cust.constant.RoleBaseEnum;
+import cn.huge.module.cust.constant.UserBaseConsts;
+import cn.huge.module.cust.dto.CtUnitDTO;
import cn.huge.module.cust.dto.CtUserDTO;
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.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import lombok.extern.slf4j.Slf4j;
@@ -303,53 +307,367 @@
}
/**
- * 按条件分页查询
- *
- * @param userId 分页对象
- * @return Page
+ * 交办-选择组织
+ * @param userId
+ * @return
*/
public List<SelectTermDTO> unitChoose(String userId) {
// 获取当前登录用户
CtUserDTO loginUser = ctUserService.clientGetUserAll(userId);
- // 组织条件
- QueryWrapper<CtUnit> ctUnitQueryWrapper = new QueryWrapper<>();
- if (RoleBaseEnum.checkAdminPower(loginUser)){
- ctUnitQueryWrapper.eq("cust_id", loginUser.getCustId()).select("id", "unit_name", "parent_id");
- }else {
- ctUnitQueryWrapper.eq("id", loginUser.getUnitId()).select("id", "unit_name", "parent_id");
- }
- List<CtUnit> ctUnitList = this.list(ctUnitQueryWrapper);
- List<SelectTermDTO> unitSelectTerms = new ArrayList<>();
-
- List<String> unitIdList= ctUnitList.stream().map(CtUnit::getId).collect(Collectors.toList());
- // 部门条件
- QueryWrapper<CtDept> ctDeptQueryWrapper = new QueryWrapper<>();
- ctDeptQueryWrapper.in("unit_id", unitIdList).select("id", "unit_id", "name", "parent_id");
- List<CtDept> ctDeptList = ctDeptService.list(ctDeptQueryWrapper);
- List<String> deptIdList = ctDeptList.stream().map(CtDept::getId).collect(Collectors.toList());
-
- for(CtUnit ctUnit: ctUnitList){
- SelectTermDTO unitSelectTerm = new SelectTermDTO();
- unitSelectTerm.setValue(ctUnit.getId());
- unitSelectTerm.setLabel(ctUnit.getUnitName());
- unitSelectTerm.setParentId(ctUnit.getParentId());
- unitSelectTerm.setCheckable(true);
- List<SelectTermDTO> deptSelectTerms = new ArrayList<>();
- for(CtDept ctDept : ctDeptList){
- if(ctUnit.getId().equals(ctDept.getUnitId())){
- SelectTermDTO deptSelectTerm = new SelectTermDTO();
- deptSelectTerm.setValue(ctDept.getId());
- deptSelectTerm.setLabel(ctDept.getName());
- deptSelectTerm.setParentId(ctDept.getParentId());
- deptSelectTerm.setCheckable(true);
-
- deptSelectTerms.add(deptSelectTerm);
+ // 获取当前登录用户的部门
+ 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_2 == ctUnit.getUnitType()){
+ szbmList.add(unitSelectTerm);
}
- List<SelectTermDTO> depts = SelectTermUtils.createTreeByRoot(deptSelectTerms);
- unitSelectTerm.setChildren(depts);
+ if (UserBaseConsts.UNIT_TYPE_1 == ctUnit.getUnitType()){
+ qzzzxList.add(unitSelectTerm);
+ }
}
- unitSelectTerms.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()){
+ // 区级交办
+ QueryWrapper<CtUnit> ctUnitQueryWrapper = new QueryWrapper<>();
+ ctUnitQueryWrapper.eq("parent_id", loginUnit.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_2 == ctUnit.getUnitType()){
+ qzbmList.add(unitSelectTerm);
+ }
+ if (UserBaseConsts.UNIT_TYPE_1 == 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()){
+ // 镇街交办
+ // 查询镇街部门数组
+ 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());
+ 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;
}
- return SelectTermUtils.createTreeByFirst(unitSelectTerms, loginUser.getUnitId());
+ }
+
+ /**
+ * 联合处置申请-选择组织
+ * @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_1 == ctUnit.getUnitType()){
+ szbmList.add(unitSelectTerm);
+ }
+ if (UserBaseConsts.UNIT_TYPE_2 == 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_2 == ctUnit.getUnitType()){
+ qzbmList.add(unitSelectTerm);
+ }
+ if (UserBaseConsts.UNIT_TYPE_3 == 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());
+ 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_1);
+ 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);
+ }
}
}
--
Gitblit v1.8.0