From 08f1b1f1804a8bd833d42f257908d80e88387b55 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期五, 14 三月 2025 11:27:47 +0800
Subject: [PATCH] 3.5增加登录验证、修改密码、人员列表调整

---
 flower_city/src/main/java/com/dg/core/controller/OrganizationController.java |  147 +++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 125 insertions(+), 22 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 2cd8557..44cdb75 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
@@ -6,7 +6,10 @@
 import com.dg.core.annotation.CurrentUser;
 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.PermissionUtil;
 import com.dg.core.util.TableDataInfo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -29,6 +32,9 @@
     @Autowired(required = true)
     IOrganizationChartService iOrganizationChartService;
 
+    @Autowired(required = true)
+    ITransactionEventService iTransactionEventService;
+
     /**
      * 查询机构列表
      */
@@ -36,7 +42,19 @@
     @GetMapping("/getList")
     public TableDataInfo selectConfigList()
     {
-        return getDataTable(iOrganizationChartService.selectConfigList("",""));
+        return getDataTable(iOrganizationChartService.selectConfigList("","",null));
+    }
+
+
+    /**
+     * 查询机构列表(权限)
+     */
+    @ApiOperation(value = "查询机构列表(权限 选择用 ) ",response = OrganizationChartEntity.class)
+    @GetMapping("/selectJurisdiction")
+    @Authorization
+    public TableDataInfo selectJurisdiction(@CurrentUser SysUser sysUser)
+    {
+        return getDataTable(iOrganizationChartService.selectConfigList(sysUser.getDepartmentId(),"",null));
     }
 
     /**
@@ -75,7 +93,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));
     }
 
@@ -88,6 +106,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));
     }
 
@@ -118,12 +151,17 @@
     @Authorization
     public TableDataInfo queryList(@RequestParam(value = "pageNum",required = false) Integer pageNum,
                                             @RequestParam(value = "pageSize",required = false) Integer pageSize,
-                                            @RequestParam(value = "organizationName",required = false)String organizationName){
+                                            @RequestParam(value = "organizationName",required = false)String organizationName,
+                                   @CurrentUser SysUser sysUser){
         Assert.notNull(pageNum, "pageNum can not be empty");
         Assert.notNull(pageSize, "pageSize can not be empty");
         Page<OrganizationChartEntity> pageParam = new Page<>(pageNum,pageSize);
-        return getDataTable(iOrganizationChartService.queryList(pageParam,pageSize,organizationName),iOrganizationChartService.countList(organizationName));
+        List<String> ids= PermissionUtil.getPermission(sysUser,iOrganizationChartService);
+        return getDataTable(iOrganizationChartService.queryList(pageParam,pageSize,organizationName,ids),
+                            iOrganizationChartService.countList(organizationName,ids));
     }
+
+
 
 
     /**
@@ -131,37 +169,73 @@
      * @param departmentId
      * @return
      */
-    @ApiOperation(value = "通过父级id查询对应机构下的全部部门",response = OrganizationChartEntity.class)
-    @GetMapping("/getdepartment")
-    public TableDataInfo getIds(@RequestParam(value = "department",required = false) String departmentId)
+    @ApiOperation(value = "通过父级id查询对应机构下的全部部门")
+    @GetMapping("/getdepartment/id")
+    public TableDataInfo getOrganizationIds(@RequestParam(value = "department",required = false) String departmentId)
     {
-        List<OrganizationChartEntity> ids=new ArrayList<>();
-        List<OrganizationChartEntity> lists = iOrganizationChartService.selectConfigList(departmentId,"");
-        if(lists.size()<1)
+        if(StringUtils.isEmpty(departmentId))
         {
-            lists.add(iOrganizationChartService.selectConfigById(departmentId));
+            return getDataTable("departmentId 不能为空");
         }
-        ids=disposestreetId(lists);
-        if(ids.size()<1)
-        {
-            return null;
-        }
-//        ids.add(streetId);
-        ids.add(iOrganizationChartService.selectConfigById(departmentId));
+
+        List<String> ids=new ArrayList<>();
+        List<String> getId=iOrganizationChartService.getIds(departmentId);
+        ids.addAll(getId);
         return getDataTable(ids);
     }
 
 
+
+
+
+    /**
+     * 通过父级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=null;
+        if(StringUtils.isEmpty(departmentId))
+        {
+            lists= iOrganizationChartService.selectParentList(null,"1");
+
+        }
+        else
+        {
+            lists= iOrganizationChartService.selectParentList(departmentId,null);
+        }
+
+        if(lists.size()<1)
+        {
+            lists.add(iOrganizationChartService.selectConfigById(departmentId));
+        }
+        ids=disposestreet(lists);
+        if(ids.size()<1)
+        {
+            return null;
+        }
+
+        if(!StringUtils.isEmpty(departmentId))
+        {
+            ids.add(iOrganizationChartService.selectConfigById(departmentId));
+        }
+
+        return getDataTable(ids);
+    }
+
     //递归取id
-    private List<OrganizationChartEntity> disposestreetId(List<OrganizationChartEntity> lists)
+    private List<OrganizationChartEntity> disposestreet(List<OrganizationChartEntity> lists)
     {
         List<OrganizationChartEntity> ids=new ArrayList<>();
         for (OrganizationChartEntity sysStreet:lists)
         {
-            ids.add(sysStreet);
             if(sysStreet.getChild()!=null && sysStreet.getChild().size()>0)
             {
-                ids.addAll(disposestreetId(sysStreet.getChild()));
+                ids.addAll(disposestreet(sysStreet.getChild()));
             }
             else
             {
@@ -172,6 +246,35 @@
     }
 
 
+    /**
+     * 查询机构列表
+     */
+    @ApiOperation(value = "查询可切换机构列表",response = OrganizationChartEntity.class)
+    @GetMapping("switch/getList")
+    @Authorization
+    public TableDataInfo switchGetList(@CurrentUser SysUser sysUser)
+    {
+        List<String> ids=new ArrayList<>();
+        if(!StringUtils.isEmpty(sysUser.getMoreDepartmentIds()))
+        {
+            if(sysUser.getMoreDepartmentIds().indexOf(",")==-1)
+            {
+                ids.add(sysUser.getDepartmentId());
+            }
+            else
+            {
+                String[] list=sysUser.getMoreDepartmentIds().split(",");
+                for (String id:list)
+                {
+                    ids.add(id);
+                }
+            }
+        }
+        else
+        {
+            ids.add(sysUser.getDepartmentId());
+        }
 
-
+        return getDataTable(iOrganizationChartService.selectConfigList(ids));
+    }
 }

--
Gitblit v1.7.1