From fc56ad34e7110c2da5d81459bf9ad37f98988b04 Mon Sep 17 00:00:00 2001
From: lidongdong <1459917685@qq.com>
Date: 星期三, 19 十月 2022 16:39:27 +0800
Subject: [PATCH] 修改角色创建人问题  导办人员筛选  bug

---
 flower_city/src/main/java/com/dg/core/controller/OrganizationController.java |   67 ++++++++++++++++++++++++++++++++-
 1 files changed, 64 insertions(+), 3 deletions(-)

diff --git a/flower_city/src/main/java/com/dg/core/controller/OrganizationController.java b/flower_city/src/main/java/com/dg/core/controller/OrganizationController.java
index a5b5346..2b59286 100644
--- a/flower_city/src/main/java/com/dg/core/controller/OrganizationController.java
+++ b/flower_city/src/main/java/com/dg/core/controller/OrganizationController.java
@@ -1,14 +1,14 @@
 package com.dg.core.controller;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.dg.core.ResultData;
 import com.dg.core.annotation.Authorization;
 import com.dg.core.annotation.CurrentUser;
-import com.dg.core.db.gen.entity.ClassifyAdministration;
 import com.dg.core.db.gen.entity.OrganizationChartEntity;
 import com.dg.core.db.gen.entity.SysUser;
+import com.dg.core.db.gen.entity.TransactionEvent;
 import com.dg.core.service.IOrganizationChartService;
+import com.dg.core.service.ITransactionEventService;
 import com.dg.core.util.TableDataInfo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -18,6 +18,7 @@
 import org.springframework.web.bind.annotation.*;
 
 import java.time.LocalDateTime;
+import java.util.ArrayList;
 import java.util.List;
 
 
@@ -29,6 +30,9 @@
 
     @Autowired(required = true)
     IOrganizationChartService iOrganizationChartService;
+
+    @Autowired(required = true)
+    ITransactionEventService iTransactionEventService;
 
     /**
      * 查询机构列表
@@ -76,7 +80,7 @@
     public ResultData updateConfig(@RequestBody OrganizationChartEntity entity,@CurrentUser SysUser sysUser)
     {
         entity.setUpdateTime(LocalDateTime.now());
-        entity.setUpdateUserId(Integer.parseInt(String.valueOf(sysUser.getUserId())));
+        entity.setUpdateUserId(sysUser.getUserId());
         return toAjax(iOrganizationChartService.updateConfig(entity));
     }
 
@@ -89,6 +93,21 @@
     public ResultData deleteConfigById(@RequestParam(value = "Id",required = false)  String Id)
     {
         Assert.notNull(Id, "Id 不能为空");
+        List<OrganizationChartEntity> list=iOrganizationChartService.selectParentList(Id,"");
+
+        if(list!=null && list.size()>0)
+        {
+            return ResultData.error("该机构下存在其他部门!请先删除子部门");
+        }
+
+        List<String> ids=new ArrayList<>();
+        ids.add(Id);
+        List<TransactionEvent> transactionEvents=iTransactionEventService.selectConfigList(null,null,ids);
+
+        if(transactionEvents!=null && transactionEvents.size()>0)
+        {
+            return ResultData.error("该机构下已绑定办事指南!请解绑办事指南");
+        }
         return toAjax(iOrganizationChartService.deleteConfigById(Id));
     }
 
@@ -127,4 +146,46 @@
     }
 
 
+    /**
+     * 通过父级id查询对应机构下的全部部门id
+     * @param departmentId
+     * @return
+     */
+    @ApiOperation(value = "通过父级id查询对应机构下的全部部门",response = OrganizationChartEntity.class)
+    @GetMapping("/getdepartment")
+    public TableDataInfo getOrganizations(@RequestParam(value = "department",required = false) String departmentId)
+    {
+        List<OrganizationChartEntity> ids=new ArrayList<>();
+        List<OrganizationChartEntity> lists = iOrganizationChartService.selectParentList(departmentId,"");
+        if(lists.size()<1)
+        {
+            lists.add(iOrganizationChartService.selectConfigById(departmentId));
+        }
+        ids=disposestreet(lists);
+        if(ids.size()<1)
+        {
+            return null;
+        }
+        ids.add(iOrganizationChartService.selectConfigById(departmentId));
+        return getDataTable(ids);
+    }
+
+    //递归取id
+    private List<OrganizationChartEntity> disposestreet(List<OrganizationChartEntity> lists)
+    {
+        List<OrganizationChartEntity> ids=new ArrayList<>();
+        for (OrganizationChartEntity sysStreet:lists)
+        {
+            if(sysStreet.getChild()!=null && sysStreet.getChild().size()>0)
+            {
+                ids.addAll(disposestreet(sysStreet.getChild()));
+            }
+            else
+            {
+                ids.add(sysStreet);
+            }
+        }
+        return ids;
+    }
+
 }

--
Gitblit v1.7.1