From c1a463b9f1c0a7160dbd0ac1c7490eef13861a5e Mon Sep 17 00:00:00 2001
From: huangh <hshgjzd5@163.com>
Date: Tue, 29 Oct 2024 15:02:25 +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 |  128 +++++++++++++++++++++++++++++++-----------
 1 files changed, 93 insertions(+), 35 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 3ff7c64..17bb4a9 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
@@ -23,6 +23,7 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -331,10 +332,10 @@
                 unitSelectTerm.setLabel(ctUnit.getUnitName());
                 unitSelectTerm.setParentId(ctUnit.getParentId());
                 unitSelectTerm.setCheckable(true);
-                if (UserBaseConsts.UNIT_TYPE_2 == ctUnit.getUnitType()){
+                if (UserBaseConsts.UNIT_TYPE_102 == ctUnit.getUnitType()){
                     szbmList.add(unitSelectTerm);
                 }
-                if (UserBaseConsts.UNIT_TYPE_1 == ctUnit.getUnitType()){
+                if (UserBaseConsts.UNIT_TYPE_101 == ctUnit.getUnitType()){
                     qzzzxList.add(unitSelectTerm);
                 }
             }
@@ -379,10 +380,10 @@
                 unitSelectTerm.setLabel(ctUnit.getUnitName());
                 unitSelectTerm.setParentId(ctUnit.getParentId());
                 unitSelectTerm.setCheckable(true);
-                if (UserBaseConsts.UNIT_TYPE_2 == ctUnit.getUnitType()){
+                if (UserBaseConsts.UNIT_TYPE_102 == ctUnit.getUnitType()){
                     qzbmList.add(unitSelectTerm);
                 }
-                if (UserBaseConsts.UNIT_TYPE_1 == ctUnit.getUnitType()){
+                if (UserBaseConsts.UNIT_TYPE_101 == ctUnit.getUnitType()){
                     zjzzzxList.add(unitSelectTerm);
                 }
             }
@@ -414,22 +415,40 @@
             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){
+            QueryWrapper<CtUnit> zjCtUnitQueryWrapper = new QueryWrapper<>();
+            zjCtUnitQueryWrapper.eq("parent_id", loginUnit.getId())
+                    .eq("unit_grade", UserBaseConsts.UNIT_GRADE_3)
+                    .eq("unit_type", UserBaseConsts.UNIT_TYPE_102);
+            List<CtUnit> zjCtUnitList = mapper.selectList(zjCtUnitQueryWrapper);
+            for (CtUnit zjCtUnit: zjCtUnitList){
                 SelectTermDTO unitSelectTerm = new SelectTermDTO();
-                unitSelectTerm.setValue(ctDept.getId());
-                unitSelectTerm.setLabel(ctDept.getName());
-                unitSelectTerm.setParentId(loginUnit.getId());
+                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());
+            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){
@@ -467,12 +486,26 @@
             result.add(firstSelectTermDTO);
             return result;
         }else {
-            return new ArrayList<>();
+            // 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
      */
@@ -483,11 +516,11 @@
         CtUnit loginUnit = mapper.selectById(loginUser.getUnitId());
         QueryWrapper<CtUnit> ctUnitQueryWrapper1 = new QueryWrapper<>();
         ctUnitQueryWrapper1.eq("id", loginUnit.getParentId());
-        CtUnit superiorUnit = mapper.selectOne(ctUnitQueryWrapper1);
+        CtUnit superiorUnit = mapper.selectById(loginUnit.getParentId());
         // 市级
-        if (UserBaseConsts.UNIT_GRADE_1 == loginUnit.getUnitGrade()){
+        if (UserBaseConsts.UNIT_GRADE_1 == superiorUnit.getUnitGrade()){
             QueryWrapper<CtUnit> ctUnitQueryWrapper = new QueryWrapper<>();
-            ctUnitQueryWrapper.eq("parent_id", loginUnit.getId());
+            ctUnitQueryWrapper.eq("parent_id", superiorUnit.getId());
             List<CtUnit> ctUnitList = mapper.selectList(ctUnitQueryWrapper);
             // 定义市直部门数组
             List<SelectTermDTO> szbmList = new ArrayList<>();
@@ -499,10 +532,10 @@
                 unitSelectTerm.setLabel(ctUnit.getUnitName());
                 unitSelectTerm.setParentId(ctUnit.getParentId());
                 unitSelectTerm.setCheckable(true);
-                if (UserBaseConsts.UNIT_TYPE_1 == ctUnit.getUnitType()){
+                if (UserBaseConsts.UNIT_TYPE_101 == ctUnit.getUnitType()){
                     szbmList.add(unitSelectTerm);
                 }
-                if (UserBaseConsts.UNIT_TYPE_2 == ctUnit.getUnitType()){
+                if (UserBaseConsts.UNIT_TYPE_102 == ctUnit.getUnitType()){
                     qzzzxList.add(unitSelectTerm);
                 }
             }
@@ -532,10 +565,10 @@
             firstSelectTermDTO.setChildren(firstChildren);
             result.add(firstSelectTermDTO);
             return result;
-        }else if (UserBaseConsts.UNIT_GRADE_2 == loginUnit.getUnitGrade()){
+        }else if (UserBaseConsts.UNIT_GRADE_2 == superiorUnit.getUnitGrade()){
             // 区级
             QueryWrapper<CtUnit> ctUnitQueryWrapper = new QueryWrapper<>();
-            ctUnitQueryWrapper.eq("parent_id", loginUnit.getId());
+            ctUnitQueryWrapper.eq("parent_id", superiorUnit.getId());
             List<CtUnit> ctUnitList = mapper.selectList(ctUnitQueryWrapper);
             // 定义市区直部门数组
             List<SelectTermDTO> qzbmList = new ArrayList<>();
@@ -547,10 +580,10 @@
                 unitSelectTerm.setLabel(ctUnit.getUnitName());
                 unitSelectTerm.setParentId(ctUnit.getParentId());
                 unitSelectTerm.setCheckable(true);
-                if (UserBaseConsts.UNIT_TYPE_2 == ctUnit.getUnitType()){
+                if (UserBaseConsts.UNIT_TYPE_102 == ctUnit.getUnitType()){
                     qzbmList.add(unitSelectTerm);
                 }
-                if (UserBaseConsts.UNIT_TYPE_3 == ctUnit.getUnitType()){
+                if (UserBaseConsts.UNIT_TYPE_103 == ctUnit.getUnitType()){
                     zjzzzxList.add(unitSelectTerm);
                 }
             }
@@ -580,24 +613,24 @@
             firstSelectTermDTO.setChildren(firstChildren);
             result.add(firstSelectTermDTO);
             return result;
-        }else if (UserBaseConsts.UNIT_GRADE_3 == loginUnit.getUnitGrade()){
+        }else if (UserBaseConsts.UNIT_GRADE_3 == superiorUnit.getUnitGrade()){
             // 镇街
             // 查询镇街部门数组
             QueryWrapper<CtDept> ctDeptQueryWrapper = new QueryWrapper<>();
-            ctDeptQueryWrapper.eq("unit_id", loginUnit.getId());
+            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(loginUnit.getId());
+                unitSelectTerm.setParentId(superiorUnit.getId());
                 unitSelectTerm.setCheckable(true);
                 zjbmList.add(unitSelectTerm);
             }
             // 查询村社数组
             QueryWrapper<CtUnit> ctUnitQueryWrapper = new QueryWrapper<>();
-            ctUnitQueryWrapper.eq("parent_id", loginUnit.getId());
+            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){
@@ -611,10 +644,6 @@
             // 封装返回数据
             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();
@@ -631,8 +660,7 @@
             csSelectTermDTO.setChildren(csList);
             firstChildren.add(csSelectTermDTO);
             // 第一级子级
-            firstSelectTermDTO.setChildren(firstChildren);
-            result.add(firstSelectTermDTO);
+            result.addAll(firstChildren);
             return result;
         }else {
             return new ArrayList<>();
@@ -651,7 +679,7 @@
             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);
+            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);
@@ -661,4 +689,34 @@
             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);
+    }
 }

--
Gitblit v1.8.0