From 05372fd5f0eb8a0f5ed65e7691fe569dd3fbd9f0 Mon Sep 17 00:00:00 2001
From: fengjin <1435304038@qq.com>
Date: 星期六, 15 十月 2022 18:06:23 +0800
Subject: [PATCH] 1.修改bug 2.后台首页小程序统计

---
 flower_city/src/main/java/com/dg/core/controller/OrganizationController.java |  101 ++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 97 insertions(+), 4 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 c01ab73..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,25 @@
 package com.dg.core.controller;
 
+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.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;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.util.Assert;
 import org.springframework.web.bind.annotation.*;
+
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.List;
 
 
 @Api(tags = {"组织架构接口"})
@@ -20,10 +31,13 @@
     @Autowired(required = true)
     IOrganizationChartService iOrganizationChartService;
 
+    @Autowired(required = true)
+    ITransactionEventService iTransactionEventService;
+
     /**
      * 查询机构列表
      */
-    @ApiOperation("查询机构列表")
+    @ApiOperation(value = "查询机构列表",response = OrganizationChartEntity.class)
     @GetMapping("/getList")
     public TableDataInfo selectConfigList()
     {
@@ -33,8 +47,9 @@
     /**
      * 新增机构
      */
-    @ApiOperation("新增机构")
+    @ApiOperation(value = "新增机构",response = OrganizationChartEntity.class)
     @PostMapping("/add")
+    @Authorization
     public ResultData insertConfig(@RequestBody OrganizationChartEntity entity)
     {
         Assert.notNull(entity.getGrade(), "等级 grade 不能为空");
@@ -59,10 +74,13 @@
     /**
      * 更新机构
      */
-    @ApiOperation("更新机构")
+    @ApiOperation(value = "更新机构",response = OrganizationChartEntity.class)
     @PostMapping("/update")
-    public ResultData updateConfig(@RequestBody OrganizationChartEntity entity)
+    @Authorization
+    public ResultData updateConfig(@RequestBody OrganizationChartEntity entity,@CurrentUser SysUser sysUser)
     {
+        entity.setUpdateTime(LocalDateTime.now());
+        entity.setUpdateUserId(sysUser.getUserId());
         return toAjax(iOrganizationChartService.updateConfig(entity));
     }
 
@@ -71,9 +89,25 @@
      */
     @ApiOperation("删除机构")
     @DeleteMapping("/delete")
+    @Authorization
     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));
     }
 
@@ -95,4 +129,63 @@
           return ResultData.success(iOrganizationChartService.selectConfigById(id));
     }
 
+
+    /**
+     * 查询机构列表(分页)
+     */
+    @ApiOperation(value = "查询机构列表(分页)(部门应用)",response = OrganizationChartEntity.class)
+    @GetMapping("/queryList")
+    @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){
+        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));
+    }
+
+
+    /**
+     * 通过父级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