From 7f97a5eabc3ef039719e05d0b7ac7594d9ba9c39 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期四, 06 二月 2025 18:24:35 +0800
Subject: [PATCH] 系统设置(除开人员管理)

---
 ruoyi-system/src/main/java/com/ruoyi/system/mapper/TFaultDescribeDicMapper.java            |   13 
 ruoyi-system/src/main/java/com/ruoyi/system/service/TDeptService.java                      |   34 +
 ruoyi-system/src/main/java/com/ruoyi/system/service/ISysOperLogService.java                |   11 
 ruoyi-system/src/main/java/com/ruoyi/system/model/TDept.java                               |   69 +++
 ruoyi-system/src/main/java/com/ruoyi/system/vo/TFaultDescribeDicVO.java                    |   16 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSysConfigController.java           |   51 ++
 ruoyi-system/src/main/java/com/ruoyi/system/mapper/TDeptMapper.java                        |   30 +
 ruoyi-system/src/main/resources/mapper/system/TFaultDescribeDicMapper.xml                  |   15 
 ruoyi-system/src/main/resources/mapper/system/TDeptMapper.xml                              |   59 ++
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOperLogServiceImpl.java        |   15 
 ruoyi-system/src/main/resources/mapper/system/TFaultAreaDicMapper.xml                      |   14 
 ruoyi-system/src/main/java/com/ruoyi/system/dto/SysRoleDTO.java                            |    2 
 ruoyi-system/src/main/java/com/ruoyi/system/query/TFaultDescribeDicQuery.java              |   10 
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TDeptServiceImpl.java             |   49 ++
 ruoyi-system/src/main/java/com/ruoyi/system/model/TFaultAreaDic.java                       |   13 
 ruoyi-system/src/main/java/com/ruoyi/system/service/TFaultAreaDicService.java              |    8 
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TFaultDescribeDicServiceImpl.java |   31 +
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFaultAreaDicController.java        |   94 ++++
 ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysRole.java                |    6 
 ruoyi-system/src/main/resources/mapper/system/SysRoleMapper.xml                            |   25 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TDeptController.java                |  149 +++++++
 ruoyi-system/src/main/java/com/ruoyi/system/vo/DeptVO.java                                 |   15 
 ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleMapper.java                      |    2 
 ruoyi-system/src/main/java/com/ruoyi/system/mapper/TFaultAreaDicMapper.java                |   15 
 ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TDeptToUserController.java         |   21 +
 ruoyi-system/src/main/java/com/ruoyi/system/mapper/TDeptToUserMapper.java                  |   16 
 ruoyi-system/src/main/java/com/ruoyi/system/dto/TDeptUpAndDownDTO.java                     |   22 +
 ruoyi-system/src/main/java/com/ruoyi/system/model/TFaultDescribeDic.java                   |    7 
 ruoyi-system/src/main/resources/mapper/system/TContractMapper.xml                          |    4 
 ruoyi-system/src/main/java/com/ruoyi/system/query/TFaultAreaDicQuery.java                  |   11 
 ruoyi-system/src/main/java/com/ruoyi/system/query/SysOperLogQuery.java                     |   13 
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TFaultAreaDicServiceImpl.java     |   14 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TDeptToUserController.java          |   21 +
 ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TDeptController.java               |   21 +
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFaultDescribeDicController.java    |   89 ++++
 ruoyi-system/src/main/java/com/ruoyi/system/service/ISysRoleService.java                   |    2 
 ruoyi-system/src/main/java/com/ruoyi/system/service/TFaultDescribeDicService.java          |    9 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java           |   16 
 ruoyi-system/src/main/resources/mapper/system/TDeptToUserMapper.xml                        |   17 
 ruoyi-system/src/main/java/com/ruoyi/system/model/TDeptToUser.java                         |   41 +
 ruoyi-system/src/main/java/com/ruoyi/system/query/TDeptQuery.java                          |   16 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysOperlogController.java       |   79 ---
 ruoyi-system/src/main/java/com/ruoyi/system/service/TDeptToUserService.java                |   16 
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java           |    7 
 ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysOperLogMapper.java                   |   13 
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TDeptToUserServiceImpl.java       |   20 
 46 files changed, 1,120 insertions(+), 101 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TDeptController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TDeptController.java
new file mode 100644
index 0000000..ad9a031
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TDeptController.java
@@ -0,0 +1,149 @@
+package com.ruoyi.web.controller.api;
+
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.basic.PageInfo;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.core.domain.model.LoginUser;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.framework.web.service.TokenService;
+import com.ruoyi.system.dto.TDeptUpAndDownDTO;
+import com.ruoyi.system.model.TDept;
+import com.ruoyi.system.model.TDeptToUser;
+import com.ruoyi.system.query.TDeptQuery;
+import com.ruoyi.system.service.TDeptService;
+import com.ruoyi.system.service.TDeptToUserService;
+import com.ruoyi.system.vo.DeptVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * <p>
+ * 部门管理 前端控制器
+ * </p>
+ *
+ * @author xiaochen
+ * @since 2025-02-06
+ */
+@Api(tags = "部门管理")
+@RestController
+@RequestMapping("/t-dept")
+public class TDeptController {
+
+    private final TDeptService deptService;
+    private final TDeptToUserService deptToUserService;
+    private final TokenService tokenService;
+    @Autowired
+    public TDeptController(TDeptService deptService, TDeptToUserService deptToUserService, TokenService tokenService) {
+        this.deptService = deptService;
+        this.deptToUserService = deptToUserService;
+        this.tokenService = tokenService;
+    }
+
+    /**
+     * 获取部门管理管理列表
+     */
+    @PreAuthorize("@ss.hasPermi('system:dept:list')")
+    @ApiOperation(value = "获取部门管理分页列表")
+    @PostMapping(value = "/pageList")
+    public R<PageInfo<DeptVO>> pageList(@RequestBody TDeptQuery query) {
+        return R.ok(deptService.pageList(query));
+    }
+
+    /**
+     * 添加部门管理管理
+     */
+    @PreAuthorize("@ss.hasPermi('system:dept:add')")
+    @Log(title = "部门管理信息-新增部门管理", businessType = BusinessType.INSERT)
+    @ApiOperation(value = "添加部门管理")
+    @PostMapping(value = "/add")
+    public R<Boolean> add(@Validated @RequestBody TDept dto) {
+        // 判断部门id是否存在
+        boolean flag = deptService.isExit(dto);
+        if (flag){
+            return R.fail("部门ID已存在");
+        }
+        return R.ok(deptService.save(dto));
+    }
+
+    /**
+     * 修改部门管理
+     */
+    @PreAuthorize("@ss.hasPermi('system:dept:update')")
+    @Log(title = "部门管理信息-修改部门管理", businessType = BusinessType.UPDATE)
+    @ApiOperation(value = "修改部门管理")
+    @PostMapping(value = "/update")
+    public R<Boolean> update(@Validated @RequestBody TDept dto) {
+        // 判断部门id是否存在
+        boolean flag = deptService.isExit(dto);
+        if (flag){
+            return R.fail("部门ID已存在");
+        }
+        return R.ok(deptService.updateById(dto));
+    }
+
+    /**
+     * 查看部门管理详情
+     */
+    @PreAuthorize("@ss.hasPermi('system:dept:detail')")
+    @ApiOperation(value = "查看部门管理详情")
+    @GetMapping(value = "/getDetailById")
+    public R<TDept> getDetailById(@RequestParam String id) {
+        return R.ok(deptService.getById(id));
+    }
+
+    /**
+     * 删除部门管理
+     */
+    @PreAuthorize("@ss.hasPermi('system:dept:delete')")
+    @Log(title = "部门管理信息-删除部门管理", businessType = BusinessType.DELETE)
+    @ApiOperation(value = "删除部门管理")
+    @DeleteMapping(value = "/deleteById")
+    public R<Boolean> deleteById(@RequestParam String id) {
+        // 删除部门用户关联信息
+        deptToUserService.remove(Wrappers.lambdaQuery(TDeptToUser.class)
+                .eq(TDeptToUser::getDeptId, id));
+        return R.ok(deptService.removeById(id));
+    }
+
+    /**
+     * 批量删除部门管理
+     */
+    @PreAuthorize("@ss.hasPermi('system:dept:delete')")
+    @Log(title = "部门管理信息-删除部门管理", businessType = BusinessType.DELETE)
+    @ApiOperation(value = "批量删除部门管理")
+    @DeleteMapping(value = "/deleteByIds")
+    public R<Boolean> deleteByIds(@RequestBody List<String> ids) {
+        // 删除部门用户关联信息
+        deptToUserService.remove(Wrappers.lambdaQuery(TDeptToUser.class)
+                .in(TDeptToUser::getDeptId, ids));
+        return R.ok(deptService.removeByIds(ids));
+    }
+
+    /**
+     * 轮播图上下架
+     */
+    @PreAuthorize("@ss.hasPermi('system:dept:upAndDown')")
+    @ApiOperation(value = "部门管理上下架",notes = "true:上架,false:下架")
+    @PostMapping(value = "/upAndDown")
+    public R upAndDown(@RequestBody TDeptUpAndDownDTO dto) {
+        SysUser user = tokenService.getLoginUser().getUser();
+        TDept dept = deptService.getById(dto.getId());
+        dept.setStatus(dto.getStatus());
+        dept.setDisableRemark(dto.getDisableRemark());
+        dept.setOperatingTime(LocalDateTime.now());
+        dept.setOperatingPerson(user.getNickName()+"("+user.getUserName()+")");
+        return R.ok(deptService.updateById(dept));
+    }
+
+}
+
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TDeptToUserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TDeptToUserController.java
new file mode 100644
index 0000000..700654f
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TDeptToUserController.java
@@ -0,0 +1,21 @@
+package com.ruoyi.web.controller.api;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 部门用户中间表 前端控制器
+ * </p>
+ *
+ * @author xiaochen
+ * @since 2025-02-06
+ */
+@RestController
+@RequestMapping("/t-dept-to-user")
+public class TDeptToUserController {
+
+}
+
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFaultAreaDicController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFaultAreaDicController.java
index 2736499..7d8127e 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFaultAreaDicController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFaultAreaDicController.java
@@ -1,9 +1,21 @@
 package com.ruoyi.web.controller.api;
 
 
-import org.springframework.web.bind.annotation.RequestMapping;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.basic.PageInfo;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.system.model.TFaultAreaDic;
+import com.ruoyi.system.query.TFaultAreaDicQuery;
+import com.ruoyi.system.service.TFaultAreaDicService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
 
-import org.springframework.web.bind.annotation.RestController;
+import java.util.List;
 
 /**
  * <p>
@@ -13,9 +25,87 @@
  * @author xiaochen
  * @since 2025-01-17
  */
+@Api(tags = "故障区域")
 @RestController
 @RequestMapping("/t-fault-area-dic")
 public class TFaultAreaDicController {
 
+    private final TFaultAreaDicService faultAreaDicService;
+    @Autowired
+    public TFaultAreaDicController(TFaultAreaDicService faultAreaDicService) {
+        this.faultAreaDicService = faultAreaDicService;
+    }
+
+    /**
+     * 获取故障区域管理列表
+     */
+    @PreAuthorize("@ss.hasPermi('system:faultArea:list')")
+    @ApiOperation(value = "获取故障区域分页列表")
+    @PostMapping(value = "/pageList")
+    public R<PageInfo<TFaultAreaDic>> pageList(@RequestBody TFaultAreaDicQuery query) {
+        return R.ok(faultAreaDicService.pageList(query));
+    }
+
+    @PreAuthorize("@ss.hasPermi('system:faultArea:list')")
+    @ApiOperation(value = "获取故障区域列表")
+    @PostMapping(value = "/list")
+    public R<List<TFaultAreaDic>> list() {
+        return R.ok(faultAreaDicService.list());
+    }
+
+    /**
+     * 添加故障区域管理
+     */
+    @PreAuthorize("@ss.hasPermi('system:faultArea:add')")
+    @Log(title = "故障区域信息-新增故障区域", businessType = BusinessType.INSERT)
+    @ApiOperation(value = "添加故障区域")
+    @PostMapping(value = "/add")
+    public R<Boolean> add(@Validated @RequestBody TFaultAreaDic dto) {
+        return R.ok(faultAreaDicService.save(dto));
+    }
+
+    /**
+     * 修改故障区域
+     */
+    @PreAuthorize("@ss.hasPermi('system:faultArea:update')")
+    @Log(title = "故障区域信息-修改故障区域", businessType = BusinessType.UPDATE)
+    @ApiOperation(value = "修改故障区域")
+    @PostMapping(value = "/update")
+    public R<Boolean> update(@Validated @RequestBody TFaultAreaDic dto) {
+        return R.ok(faultAreaDicService.updateById(dto));
+    }
+
+    /**
+     * 查看故障区域详情
+     */
+    @PreAuthorize("@ss.hasPermi('system:faultArea:detail')")
+    @ApiOperation(value = "查看故障区域详情")
+    @GetMapping(value = "/getDetailById")
+    public R<TFaultAreaDic> getDetailById(@RequestParam String id) {
+        return R.ok(faultAreaDicService.getById(id));
+    }
+
+    /**
+     * 删除故障区域
+     */
+    @PreAuthorize("@ss.hasPermi('system:faultArea:delete')")
+    @Log(title = "故障区域信息-删除故障区域", businessType = BusinessType.DELETE)
+    @ApiOperation(value = "删除故障区域")
+    @DeleteMapping(value = "/deleteById")
+    public R<Boolean> deleteById(@RequestParam String id) {
+        return R.ok(faultAreaDicService.removeById(id));
+    }
+
+    /**
+     * 批量删除故障区域
+     */
+    @PreAuthorize("@ss.hasPermi('system:faultArea:delete')")
+    @Log(title = "故障区域信息-删除故障区域", businessType = BusinessType.DELETE)
+    @ApiOperation(value = "批量删除故障区域")
+    @DeleteMapping(value = "/deleteByIds")
+    public R<Boolean> deleteByIds(@RequestBody List<String> ids) {
+        return R.ok(faultAreaDicService.removeByIds(ids));
+    }
+    
 }
 
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFaultDescribeDicController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFaultDescribeDicController.java
index 32098e9..a01e2fd 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFaultDescribeDicController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFaultDescribeDicController.java
@@ -1,9 +1,22 @@
 package com.ruoyi.web.controller.api;
 
 
-import org.springframework.web.bind.annotation.RequestMapping;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.basic.PageInfo;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.system.model.TFaultDescribeDic;
+import com.ruoyi.system.query.TFaultDescribeDicQuery;
+import com.ruoyi.system.service.TFaultDescribeDicService;
+import com.ruoyi.system.vo.TFaultDescribeDicVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
 
-import org.springframework.web.bind.annotation.RestController;
+import java.util.List;
 
 /**
  * <p>
@@ -13,9 +26,81 @@
  * @author xiaochen
  * @since 2025-01-17
  */
+@Api(tags = "故障描述")
 @RestController
 @RequestMapping("/t-fault-describe-dic")
 public class TFaultDescribeDicController {
 
+
+    private final TFaultDescribeDicService faultDescribeDicService;
+    @Autowired
+    public TFaultDescribeDicController(TFaultDescribeDicService faultDescribeDicService) {
+        this.faultDescribeDicService = faultDescribeDicService;
+    }
+
+    /**
+     * 获取故障描述管理列表
+     */
+    @PreAuthorize("@ss.hasPermi('system:faultDescribe:list')")
+    @ApiOperation(value = "获取故障描述分页列表")
+    @PostMapping(value = "/pageList")
+    public R<PageInfo<TFaultDescribeDicVO>> pageList(@RequestBody TFaultDescribeDicQuery query) {
+        return R.ok(faultDescribeDicService.pageList(query));
+    }
+
+    /**
+     * 添加故障描述管理
+     */
+    @PreAuthorize("@ss.hasPermi('system:faultDescribe:add')")
+    @Log(title = "故障描述信息-新增故障描述", businessType = BusinessType.INSERT)
+    @ApiOperation(value = "添加故障描述")
+    @PostMapping(value = "/add")
+    public R<Boolean> add(@Validated @RequestBody TFaultDescribeDic dto) {
+        return R.ok(faultDescribeDicService.save(dto));
+    }
+
+    /**
+     * 修改故障描述
+     */
+    @PreAuthorize("@ss.hasPermi('system:faultDescribe:update')")
+    @Log(title = "故障描述信息-修改故障描述", businessType = BusinessType.UPDATE)
+    @ApiOperation(value = "修改故障描述")
+    @PostMapping(value = "/update")
+    public R<Boolean> update(@Validated @RequestBody TFaultDescribeDic dto) {
+        return R.ok(faultDescribeDicService.updateById(dto));
+    }
+
+    /**
+     * 查看故障描述详情
+     */
+    @PreAuthorize("@ss.hasPermi('system:faultDescribe:detail')")
+    @ApiOperation(value = "查看故障描述详情")
+    @GetMapping(value = "/getDetailById")
+    public R<TFaultDescribeDic> getDetailById(@RequestParam String id) {
+        return R.ok(faultDescribeDicService.getById(id));
+    }
+
+    /**
+     * 删除故障描述
+     */
+    @PreAuthorize("@ss.hasPermi('system:faultDescribe:delete')")
+    @Log(title = "故障描述信息-删除故障描述", businessType = BusinessType.DELETE)
+    @ApiOperation(value = "删除故障描述")
+    @DeleteMapping(value = "/deleteById")
+    public R<Boolean> deleteById(@RequestParam String id) {
+        return R.ok(faultDescribeDicService.removeById(id));
+    }
+
+    /**
+     * 批量删除故障描述
+     */
+    @PreAuthorize("@ss.hasPermi('system:faultDescribe:delete')")
+    @Log(title = "故障描述信息-删除故障描述", businessType = BusinessType.DELETE)
+    @ApiOperation(value = "批量删除故障描述")
+    @DeleteMapping(value = "/deleteByIds")
+    public R<Boolean> deleteByIds(@RequestBody List<String> ids) {
+        return R.ok(faultDescribeDicService.removeByIds(ids));
+    }
+    
 }
 
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSysConfigController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSysConfigController.java
index 7cc184a..260c7c2 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSysConfigController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSysConfigController.java
@@ -1,9 +1,25 @@
 package com.ruoyi.web.controller.api;
 
 
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.basic.PageInfo;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.system.dto.TTenantDTO;
+import com.ruoyi.system.model.TSysConfig;
+import com.ruoyi.system.model.TTenant;
+import com.ruoyi.system.query.TTenantQuery;
+import com.ruoyi.system.service.TSysConfigService;
+import com.ruoyi.system.service.TTenantService;
+import com.ruoyi.system.vo.TenantVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
 
 /**
  * <p>
@@ -13,9 +29,38 @@
  * @author xiaochen
  * @since 2025-01-17
  */
+@Api(tags = "系统公共参数设置")
 @RestController
 @RequestMapping("/t-sys-config")
 public class TSysConfigController {
 
+
+    private final TSysConfigService sysConfigService;
+    @Autowired
+    public TSysConfigController(TSysConfigService sysConfigService) {
+        this.sysConfigService = sysConfigService;
+    }
+
+    /**
+     * 系统公共参数设置详情
+     */
+    @PreAuthorize("@ss.hasPermi('system:config:detail')")
+    @ApiOperation(value = "查看系统公共参数设置详情")
+    @GetMapping(value = "/getDetailById")
+    public R<TSysConfig> getDetailById() {
+        return R.ok(sysConfigService.getById(1));
+    }
+
+    /**
+     * 修改系统公共参数设置
+     */
+    @PreAuthorize("@ss.hasPermi('system:config:update')")
+    @Log(title = "租户信息-修改系统公共参数设置", businessType = BusinessType.UPDATE)
+    @ApiOperation(value = "修改系统公共参数设置")
+    @PostMapping(value = "/update")
+    public R<Boolean> update(@RequestBody TSysConfig sysConfig) {
+        return R.ok(sysConfigService.updateById(sysConfig));
+    }
+
 }
 
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysOperlogController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysOperlogController.java
index 4de770c..e477c37 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysOperlogController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysOperlogController.java
@@ -1,17 +1,18 @@
 package com.ruoyi.web.controller.monitor;
 
 import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.basic.PageInfo;
 import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.system.query.SysOperLogQuery;
 import com.ruoyi.system.service.ISysOperLogService;
+import com.ruoyi.system.vo.SysOperLogVO;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -30,67 +31,15 @@
     @Autowired
     private ISysOperLogService operLogService;
 
-//    @ApiOperation(value = "操作日志分页列表")
-//    @PostMapping("/list")
-//    public AjaxResult list(@RequestBody SysOperLogQuery query)
-//    {
-//        startPage(query.getPageNum(), query.getPageSize());
-//        List<SysOperLogVO> list = operLogService.selectOperLogPageList(query);
-//        operLogService.getLogDetail(list);
-//        return AjaxResult.success(getDataTable(list));
-//    }
+    @ApiOperation(value = "操作日志分页列表")
+    @PostMapping("/list")
+    public AjaxResult list(@RequestBody SysOperLogQuery query)
+    {
+        PageInfo<SysOperLogVO> list = operLogService.selectOperLogPageList(query);
+        return AjaxResult.success(list);
+    }
 
-    /**
-     * 查询操作日志列表导出
-     */
-//    @ApiOperation(value = "查询操作日志列表导出")
-//    @Log(title = "操作日志-查询操作日志列表导出", businessType = BusinessType.EXPORT)
-//    @PostMapping("/exportOperLog")
-//    public void exportOperLog(@RequestBody SysOperLogQuery query)
-//    {
-//        List<SysOperLogVO> list = operLogService.selectOperLogPageList(query);
-//        List<TOperLogExport> operLogExports = new ArrayList<>();
-//        for (SysOperLogVO sysOperLogVO : list) {
-//            TOperLogExport operLogExport = new TOperLogExport();
-//            BeanUtils.copyProperties(sysOperLogVO,operLogExport);
-//            operLogService.getLogDetail(list);
-//            operLogExports.add(operLogExport);
-//        }
-//        Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), TOperLogExport.class, operLogExports);
-//        HttpServletResponse response = WebUtils.response();
-//        response.setContentType("application/vnd.ms-excel");
-//        response.setCharacterEncoding("utf-8");
-//        ServletOutputStream outputStream = null;
-//        try {
-//            String fileName = URLEncoder.encode("操作日志信息.xls", "utf-8");
-//            response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
-//            response.setContentType("application/vnd.ms-excel;charset=UTF-8");
-//            response.setHeader("Pragma", "no-cache");
-//            response.setHeader("Cache-Control", "no-cache");
-//            outputStream = response.getOutputStream();
-//            workbook.write(outputStream);
-//        } catch (IOException e) {
-//            e.printStackTrace();
-//            log.error("操作日志导出信息导出失败!");
-//        } finally {
-//            try {
-//                outputStream.close();
-//            } catch (IOException e) {
-//                e.printStackTrace();
-//            }
-//        }
-//    }
-
-//    @Log(title = "操作日志", businessType = BusinessType.EXPORT)
-//    @PostMapping("/export")
-//    public void export(HttpServletResponse response, SysOperLog operLog)
-//    {
-//        List<SysOperLog> list = operLogService.selectOperLogList(operLog);
-//        ExcelUtil<SysOperLog> util = new ExcelUtil<SysOperLog>(SysOperLog.class);
-//        util.exportExcel(response, list, "操作日志");
-//    }
-
-    @Log(title = "操作日志", businessType = BusinessType.DELETE)
+    @Log(title = "删除操作日志", businessType = BusinessType.DELETE)
     @DeleteMapping("/deleteById/{operIds}")
     public AjaxResult remove(@PathVariable String operIds)
     {
@@ -102,7 +51,7 @@
         return AjaxResult.success(operLogService.deleteOperLogByIds(id));
     }
 
-    @Log(title = "操作日志", businessType = BusinessType.CLEAN)
+    @Log(title = "清除操作日志", businessType = BusinessType.CLEAN)
     @DeleteMapping("/clean")
     public AjaxResult clean()
     {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java
index fa44b77..ce381d6 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java
@@ -15,6 +15,7 @@
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 import com.ruoyi.common.annotation.Log;
@@ -61,15 +62,16 @@
     @Autowired
     private ISysMenuService menuService;
 
-    // @PreAuthorize("@ss.hasPermi('system:role:list')")
+    @PreAuthorize("@ss.hasPermi('system:role:list')")
     @ApiOperation(value = "角色列表")
     @PostMapping("/list")
     public AjaxResult list(@RequestBody SysRoleQuery query)
     {
-        PageInfo<SysRole> list = roleService.selectList(query);
+        PageInfo<SysRole> list = roleService.selectPageList(query);
         return AjaxResult.success(list);
     }
 
+    @PreAuthorize("@ss.hasPermi('system:role:list')")
     @ApiOperation(value = "角色列表不分页")
     @PostMapping("/listNotPage")
     public AjaxResult list()
@@ -77,7 +79,7 @@
         List<SysRole> list = roleService.selectRoleList(new SysRole());
         return AjaxResult.success(list);
     }
-
+    @PreAuthorize("@ss.hasPermi('system:role:count')")
     @ApiOperation(value = "角色数量统计")
     @PostMapping("/roleCount")
     public AjaxResult roleCount()
@@ -106,7 +108,7 @@
     /**
      * 根据角色编号获取详细信息
      */
-    // @PreAuthorize("@ss.hasPermi('system:role:query')")
+     @PreAuthorize("@ss.hasPermi('system:role:query')")
     @GetMapping(value = "/{roleId}")
     public AjaxResult getInfo(@PathVariable Long roleId)
     {
@@ -114,7 +116,7 @@
         return AjaxResult.success(roleService.selectRoleById(roleId));
     }
 
-
+    @PreAuthorize("@ss.hasPermi('system:role:detail')")
     @ApiOperation("角色详情")
     @GetMapping("/roleInfo")
     public AjaxResult roleInfo(@RequestParam Long roleId)
@@ -150,7 +152,7 @@
     /**
      * 新增角色
      */
-    // @PreAuthorize("@ss.hasPermi('system:role:add')")
+     @PreAuthorize("@ss.hasPermi('system:role:add')")
     @ApiOperation(value = "新增角色")
     @Log(title = "角色信息-新增角色", businessType = BusinessType.INSERT)
     @PostMapping("/add")
@@ -168,7 +170,7 @@
     /**
      * 修改保存角色
      */
-    // @PreAuthorize("@ss.hasPermi('system:role:edit')")
+     @PreAuthorize("@ss.hasPermi('system:role:edit')")
     @ApiOperation(value = "编辑角色")
     @Log(title = "角色信息-编辑角色", businessType = BusinessType.UPDATE)
     @PutMapping
diff --git a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TDeptController.java b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TDeptController.java
new file mode 100644
index 0000000..17e8781
--- /dev/null
+++ b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TDeptController.java
@@ -0,0 +1,21 @@
+package com.ruoyi.web.controller.api;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 部门管理 前端控制器
+ * </p>
+ *
+ * @author xiaochen
+ * @since 2025-02-06
+ */
+@RestController
+@RequestMapping("/t-dept")
+public class TDeptController {
+
+}
+
diff --git a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TDeptToUserController.java b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TDeptToUserController.java
new file mode 100644
index 0000000..700654f
--- /dev/null
+++ b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TDeptToUserController.java
@@ -0,0 +1,21 @@
+package com.ruoyi.web.controller.api;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 部门用户中间表 前端控制器
+ * </p>
+ *
+ * @author xiaochen
+ * @since 2025-02-06
+ */
+@RestController
+@RequestMapping("/t-dept-to-user")
+public class TDeptToUserController {
+
+}
+
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysRole.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysRole.java
index 72abc75..b889f27 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysRole.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysRole.java
@@ -1,5 +1,6 @@
 package com.ruoyi.common.core.domain.entity;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.ruoyi.common.core.domain.BaseModel;
 import lombok.Data;
 import org.apache.commons.lang3.builder.ToStringBuilder;
@@ -74,6 +75,11 @@
      * 岗位类型 1=经理 2=负责人 3=专员
      */
     private Integer postType;
+    /**
+     * 角色人数
+     */
+    @TableField(exist = false)
+    private Integer userCount;
 
     public Integer getPostType() {
         return postType;
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/SysRoleDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/SysRoleDTO.java
index 4f83237..ed59ec0 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/dto/SysRoleDTO.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/SysRoleDTO.java
@@ -19,6 +19,8 @@
 
     @ApiModelProperty(value = "类型")
     private Integer postType;
+    @ApiModelProperty(value = "备注")
+    private String remark;
 
     @ApiModelProperty(value = "权限id集合")
     private List<Long> menuIds;
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/TDeptUpAndDownDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/TDeptUpAndDownDTO.java
new file mode 100644
index 0000000..53ca618
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/TDeptUpAndDownDTO.java
@@ -0,0 +1,22 @@
+package com.ruoyi.system.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+@ApiModel(value = "部门启用禁用dto")
+public class TDeptUpAndDownDTO implements Serializable {
+
+    @ApiModelProperty(value = "部门id")
+    private String id;
+
+    @ApiModelProperty(value = "部门状态 1=启用 0=禁用")
+    private Integer status;
+
+    @ApiModelProperty(value = "备注")
+    private String disableRemark;
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysOperLogMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysOperLogMapper.java
index 6fa9751..651951d 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysOperLogMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysOperLogMapper.java
@@ -1,7 +1,11 @@
 package com.ruoyi.system.mapper;
 
 import java.util.List;
+
+import com.ruoyi.common.basic.PageInfo;
 import com.ruoyi.system.domain.SysOperLog;
+import com.ruoyi.system.query.SysOperLogQuery;
+import com.ruoyi.system.vo.SysOperLogVO;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -50,6 +54,15 @@
     public void cleanOperLog();
 
     /**
+     * 分页查询操作日志
+     * @param query
+     * @param pageInfo
+     * @return
+     */
+    List<SysOperLogVO> selectOperLogPageList(@Param("query") SysOperLogQuery query, @Param("pageInfo")PageInfo<SysOperLogVO> pageInfo);
+
+
+    /**
      * 操作日志分页列表
      * @param query
      * @return
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleMapper.java
index 43fbe53..9d66e47 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleMapper.java
@@ -125,6 +125,6 @@
 
     String selectByUserId(@Param("userId") Long user_id);
 
-    List<SysRole> selectList(@Param("query")SysRoleQuery query,@Param("pageInfo") PageInfo<SysRole> pageInfo);
+    List<SysRole> selectPageList(@Param("query")SysRoleQuery query,@Param("pageInfo") PageInfo<SysRole> pageInfo);
 
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TDeptMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TDeptMapper.java
new file mode 100644
index 0000000..4d89ac1
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TDeptMapper.java
@@ -0,0 +1,30 @@
+package com.ruoyi.system.mapper;
+
+import com.ruoyi.common.basic.PageInfo;
+import com.ruoyi.system.model.TDept;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.system.query.TDeptQuery;
+import com.ruoyi.system.vo.DeptVO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 部门管理 Mapper 接口
+ * </p>
+ *
+ * @author xiaochen
+ * @since 2025-02-06
+ */
+public interface TDeptMapper extends BaseMapper<TDept> {
+
+    /**
+     * 分页查询部门管理
+     * @param query
+     * @param pageInfo
+     * @return
+     */
+    List<DeptVO> pageList(@Param("query") TDeptQuery query, @Param("pageInfo")PageInfo<DeptVO> pageInfo);
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TDeptToUserMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TDeptToUserMapper.java
new file mode 100644
index 0000000..effd9a5
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TDeptToUserMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.system.mapper;
+
+import com.ruoyi.system.model.TDeptToUser;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 部门用户中间表 Mapper 接口
+ * </p>
+ *
+ * @author xiaochen
+ * @since 2025-02-06
+ */
+public interface TDeptToUserMapper extends BaseMapper<TDeptToUser> {
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TFaultAreaDicMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TFaultAreaDicMapper.java
index cbb2a79..a4dcc5e 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TFaultAreaDicMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TFaultAreaDicMapper.java
@@ -1,7 +1,13 @@
 package com.ruoyi.system.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.common.basic.PageInfo;
 import com.ruoyi.system.model.TFaultAreaDic;
+import com.ruoyi.system.query.TFaultAreaDicQuery;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * <p>
@@ -11,6 +17,15 @@
  * @author xiaochen
  * @since 2025-01-17
  */
+@Mapper
 public interface TFaultAreaDicMapper extends BaseMapper<TFaultAreaDic> {
 
+    /**
+     * 分页查询
+     * @param query
+     * @param pageInfo
+     * @return
+     */
+    List<TFaultAreaDic> pageList(@Param("query")TFaultAreaDicQuery query, @Param("pageInfo")PageInfo<TFaultAreaDic> pageInfo);
+
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TFaultDescribeDicMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TFaultDescribeDicMapper.java
index 314dc11..432121f 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TFaultDescribeDicMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TFaultDescribeDicMapper.java
@@ -1,7 +1,13 @@
 package com.ruoyi.system.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.common.basic.PageInfo;
 import com.ruoyi.system.model.TFaultDescribeDic;
+import com.ruoyi.system.query.TFaultDescribeDicQuery;
+import com.ruoyi.system.vo.TFaultDescribeDicVO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +19,11 @@
  */
 public interface TFaultDescribeDicMapper extends BaseMapper<TFaultDescribeDic> {
 
+    /**
+     * 获取故障描述分页列表
+     * @param query
+     * @param pageInfo
+     * @return
+     */
+    List<TFaultDescribeDicVO> pageList(@Param("query") TFaultDescribeDicQuery query, @Param("pageInfo") PageInfo<TFaultDescribeDicVO> pageInfo);
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TDept.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TDept.java
new file mode 100644
index 0000000..532ee46
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TDept.java
@@ -0,0 +1,69 @@
+package com.ruoyi.system.model;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.core.domain.BaseModel;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * <p>
+ * 部门管理
+ * </p>
+ *
+ * @author xiaochen
+ * @since 2025-02-06
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("t_dept")
+@ApiModel(value="TDept对象", description="部门管理")
+public class TDept extends BaseModel {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private String id;
+
+    @NotBlank(message = "部门ID不能为空")
+    @ApiModelProperty(value = "部门id")
+    @TableField("dept_id")
+    private String deptId;
+
+    @NotBlank(message = "部门名称不能为空")
+    @ApiModelProperty(value = "部门名称")
+    @TableField("dept_name")
+    private String deptName;
+
+    @ApiModelProperty(value = "部门状态 1=启用 0=禁用")
+    @TableField("status")
+    private Integer status;
+
+    @ApiModelProperty(value = "备注")
+    @TableField("remark")
+    private String remark;
+
+    @ApiModelProperty(value = "禁用备注")
+    @TableField("disable_remark")
+    private String disableRemark;
+
+    @ApiModelProperty(value = "操作时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField("operating_time")
+    private LocalDateTime operatingTime;
+
+    @ApiModelProperty(value = "操作人  登录名(登录账号)")
+    @TableField("operating_person")
+    private String operatingPerson;
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TDeptToUser.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TDeptToUser.java
new file mode 100644
index 0000000..99e7bdf
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TDeptToUser.java
@@ -0,0 +1,41 @@
+package com.ruoyi.system.model;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 部门用户中间表
+ * </p>
+ *
+ * @author xiaochen
+ * @since 2025-02-06
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("t_dept_to_user")
+@ApiModel(value="TDeptToUser对象", description="部门用户中间表")
+public class TDeptToUser implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private String id;
+
+    @ApiModelProperty(value = "部门主键id")
+    @TableField("dept_id")
+    private String deptId;
+
+    @ApiModelProperty(value = "用户id")
+    @TableField("user_id")
+    private Long userId;
+
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TFaultAreaDic.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TFaultAreaDic.java
index f122268..74bcb88 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TFaultAreaDic.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TFaultAreaDic.java
@@ -5,10 +5,15 @@
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableField;
 import java.io.Serializable;
+
+import com.ruoyi.common.core.domain.BaseModel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
 
 /**
  * <p>
@@ -22,16 +27,20 @@
 @EqualsAndHashCode(callSuper = false)
 @TableName("t_fault_area_dic")
 @ApiModel(value="TFaultAreaDic对象", description="故障区域")
-public class TFaultAreaDic implements Serializable {
+public class TFaultAreaDic extends BaseModel {
 
     private static final long serialVersionUID = 1L;
 
     @TableId(value = "id", type = IdType.ASSIGN_ID)
     private String id;
 
+    @NotBlank(message = "故障区域名称不能为空")
     @ApiModelProperty(value = "故障区域名称")
     @TableField("fault_area_name")
     private String faultAreaName;
 
-
+    @NotNull(message = "权重不能为空")
+    @ApiModelProperty(value = "权重")
+    @TableField("sort_by")
+    private Integer sortBy;
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TFaultDescribeDic.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TFaultDescribeDic.java
index 7a15f58..7a87cdb 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TFaultDescribeDic.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TFaultDescribeDic.java
@@ -5,6 +5,8 @@
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableField;
 import java.io.Serializable;
+
+import com.ruoyi.common.core.domain.BaseModel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -22,7 +24,7 @@
 @EqualsAndHashCode(callSuper = false)
 @TableName("t_fault_describe_dic")
 @ApiModel(value="TFaultDescribeDic对象", description="故障描述")
-public class TFaultDescribeDic implements Serializable {
+public class TFaultDescribeDic extends BaseModel {
 
     private static final long serialVersionUID = 1L;
 
@@ -37,5 +39,8 @@
     @TableField("describe_name")
     private String describeName;
 
+    @ApiModelProperty(value = "权重")
+    @TableField("sort_by")
+    private Integer sortBy;
 
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/query/SysOperLogQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/SysOperLogQuery.java
new file mode 100644
index 0000000..f316f75
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/SysOperLogQuery.java
@@ -0,0 +1,13 @@
+package com.ruoyi.system.query;
+
+import com.ruoyi.common.core.domain.BasePage;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "操作日志查询query")
+public class SysOperLogQuery extends BasePage {
+
+
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/query/TDeptQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/TDeptQuery.java
new file mode 100644
index 0000000..b38014d
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/TDeptQuery.java
@@ -0,0 +1,16 @@
+package com.ruoyi.system.query;
+
+import com.ruoyi.common.core.domain.BasePage;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+
+@Data
+@ApiModel(value = "部门管理查询条件query")
+public class TDeptQuery extends BasePage {
+
+    @ApiModelProperty(value = "部门ID/名称")
+    private String deptIdOrName;
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/query/TFaultAreaDicQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/TFaultAreaDicQuery.java
new file mode 100644
index 0000000..7271ef1
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/TFaultAreaDicQuery.java
@@ -0,0 +1,11 @@
+package com.ruoyi.system.query;
+
+import com.ruoyi.common.core.domain.BasePage;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "故障区域query")
+public class TFaultAreaDicQuery extends BasePage {
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/query/TFaultDescribeDicQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/TFaultDescribeDicQuery.java
new file mode 100644
index 0000000..ab27b27
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/TFaultDescribeDicQuery.java
@@ -0,0 +1,10 @@
+package com.ruoyi.system.query;
+
+import com.ruoyi.common.core.domain.BasePage;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "故障描述query")
+public class TFaultDescribeDicQuery extends BasePage {
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysOperLogService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysOperLogService.java
index 01a3a7b..b8e7026 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysOperLogService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysOperLogService.java
@@ -1,7 +1,11 @@
 package com.ruoyi.system.service;
 
 import java.util.List;
+
+import com.ruoyi.common.basic.PageInfo;
 import com.ruoyi.system.domain.SysOperLog;
+import com.ruoyi.system.query.SysOperLogQuery;
+import com.ruoyi.system.vo.SysOperLogVO;
 
 /**
  * 操作日志 服务层
@@ -51,6 +55,13 @@
      * @param query
      * @return
      */
+    PageInfo<SysOperLogVO> selectOperLogPageList(SysOperLogQuery query);
+
+    /**
+     * 操作日志分页列表
+     * @param query
+     * @return
+     */
 //    List<SysOperLogVO> selectOperLogPageList(SysOperLogQuery query);
 
 //    void getLogDetail(List<SysOperLogVO> sysOperLogVOS);
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysRoleService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysRoleService.java
index 0263262..7a50061 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysRoleService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysRoleService.java
@@ -223,7 +223,7 @@
 
     void saveRole(SysRoleDTO dto);
 
-    PageInfo<SysRole> selectList(SysRoleQuery query);
+    PageInfo<SysRole> selectPageList(SysRoleQuery query);
 
     /**
      * 修改保存角色信息
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TDeptService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TDeptService.java
new file mode 100644
index 0000000..8dea4e2
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/TDeptService.java
@@ -0,0 +1,34 @@
+package com.ruoyi.system.service;
+
+import com.ruoyi.common.basic.PageInfo;
+import com.ruoyi.system.dto.TDeptUpAndDownDTO;
+import com.ruoyi.system.model.TDept;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.system.query.TDeptQuery;
+import com.ruoyi.system.vo.DeptVO;
+
+/**
+ * <p>
+ * 部门管理 服务类
+ * </p>
+ *
+ * @author xiaochen
+ * @since 2025-02-06
+ */
+public interface TDeptService extends IService<TDept> {
+
+    /**
+     * 部门ID是否存在
+     * @param dto
+     * @return
+     */
+    boolean isExit(TDept dto);
+
+    /**
+     * 获取部门管理分页列表
+     * @param query
+     * @return
+     */
+    PageInfo<DeptVO> pageList(TDeptQuery query);
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TDeptToUserService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TDeptToUserService.java
new file mode 100644
index 0000000..15e5264
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/TDeptToUserService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.system.service;
+
+import com.ruoyi.system.model.TDeptToUser;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 部门用户中间表 服务类
+ * </p>
+ *
+ * @author xiaochen
+ * @since 2025-02-06
+ */
+public interface TDeptToUserService extends IService<TDeptToUser> {
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TFaultAreaDicService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TFaultAreaDicService.java
index 8d73f4e..1e4f8c3 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/TFaultAreaDicService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/TFaultAreaDicService.java
@@ -1,7 +1,9 @@
 package com.ruoyi.system.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.common.basic.PageInfo;
 import com.ruoyi.system.model.TFaultAreaDic;
+import com.ruoyi.system.query.TFaultAreaDicQuery;
 
 /**
  * <p>
@@ -13,4 +15,10 @@
  */
 public interface TFaultAreaDicService extends IService<TFaultAreaDic> {
 
+    /**
+     * 获取故障区域管理列表
+     * @param query
+     * @return
+     */
+    PageInfo<TFaultAreaDic> pageList(TFaultAreaDicQuery query);
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TFaultDescribeDicService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TFaultDescribeDicService.java
index dbd3ef3..122fc62 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/TFaultDescribeDicService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/TFaultDescribeDicService.java
@@ -1,7 +1,10 @@
 package com.ruoyi.system.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.common.basic.PageInfo;
 import com.ruoyi.system.model.TFaultDescribeDic;
+import com.ruoyi.system.query.TFaultDescribeDicQuery;
+import com.ruoyi.system.vo.TFaultDescribeDicVO;
 
 /**
  * <p>
@@ -13,4 +16,10 @@
  */
 public interface TFaultDescribeDicService extends IService<TFaultDescribeDic> {
 
+    /**
+     * 获取故障描述分页列表
+     * @param query
+     * @return
+     */
+    PageInfo<TFaultDescribeDicVO> pageList(TFaultDescribeDicQuery query);
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOperLogServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOperLogServiceImpl.java
index f96321b..2c92d06 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOperLogServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOperLogServiceImpl.java
@@ -1,9 +1,13 @@
 package com.ruoyi.system.service.impl;
 
+import com.ruoyi.common.basic.PageInfo;
 import com.ruoyi.system.domain.SysOperLog;
 import com.ruoyi.system.mapper.SysOperLogMapper;
 import com.ruoyi.system.mapper.SysUserMapper;
+import com.ruoyi.system.model.TFaultAreaDic;
+import com.ruoyi.system.query.SysOperLogQuery;
 import com.ruoyi.system.service.ISysOperLogService;
+import com.ruoyi.system.vo.SysOperLogVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -78,10 +82,13 @@
         operLogMapper.cleanOperLog();
     }
 
-//    @Override
-//    public List<SysOperLogVO> selectOperLogPageList(SysOperLogQuery query) {
-//        return operLogMapper.selectOperLogPageList(query);
-//    }
+    @Override
+    public PageInfo<SysOperLogVO> selectOperLogPageList(SysOperLogQuery query) {
+        PageInfo<SysOperLogVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
+        List<SysOperLogVO> list = operLogMapper.selectOperLogPageList(query,pageInfo);
+        pageInfo.setRecords(list);
+        return pageInfo;
+    }
 
 //    @Override
 //    public void getLogDetail(List<SysOperLogVO> sysOperLogVOS) {
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java
index 389db9f..86924f1 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java
@@ -22,6 +22,7 @@
 import com.ruoyi.system.domain.SysRoleMenu;
 import com.ruoyi.system.domain.SysUserRole;
 import com.ruoyi.system.service.ISysRoleService;
+import org.springframework.util.CollectionUtils;
 
 /**
  * 角色 业务层处理
@@ -558,6 +559,7 @@
         SysRole sysRole = new SysRole();
         sysRole.setRoleName(dto.getRoleName());
         sysRole.setPostType(dto.getPostType());
+        sysRole.setRemark(dto.getRemark());
         roleMapper.insertRole(sysRole);
 
         // 添加角色权限中间表
@@ -573,9 +575,9 @@
     }
 
     @Override
-    public PageInfo<SysRole> selectList(SysRoleQuery query) {
+    public PageInfo<SysRole> selectPageList(SysRoleQuery query) {
         PageInfo<SysRole> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
-        List<SysRole> list = roleMapper.selectList(query,pageInfo);
+        List<SysRole> list = roleMapper.selectPageList(query,pageInfo);
         pageInfo.setRecords(list);
         return pageInfo;
     }
@@ -587,6 +589,7 @@
         sysRole.setRoleId(dto.getRoleId());
         sysRole.setRoleName(dto.getRoleName());
         sysRole.setPostType(dto.getPostType());
+        sysRole.setRemark(dto.getRemark());
         roleMapper.updateRole(sysRole);
         // 删除角色与菜单关联
         roleMenuMapper.deleteRoleMenuByRoleId(dto.getRoleId());
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TDeptServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TDeptServiceImpl.java
new file mode 100644
index 0000000..a994a66
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TDeptServiceImpl.java
@@ -0,0 +1,49 @@
+package com.ruoyi.system.service.impl;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.ruoyi.common.basic.PageInfo;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.system.dto.TDeptUpAndDownDTO;
+import com.ruoyi.system.model.TDept;
+import com.ruoyi.system.mapper.TDeptMapper;
+import com.ruoyi.system.query.TDeptQuery;
+import com.ruoyi.system.service.TDeptService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.system.vo.DeptVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * <p>
+ * 部门管理 服务实现类
+ * </p>
+ *
+ * @author xiaochen
+ * @since 2025-02-06
+ */
+@Service
+public class TDeptServiceImpl extends ServiceImpl<TDeptMapper, TDept> implements TDeptService {
+
+    @Override
+    public boolean isExit(TDept dto) {
+        if(StringUtils.isNotEmpty(dto.getDeptId())){
+            // 修改
+            return this.count(Wrappers.lambdaQuery(TDept.class).ne(TDept::getId, dto.getId()).eq(TDept::getDeptId, dto.getDeptId())) > 0;
+        }else {
+            // 新增
+            return this.count(Wrappers.lambdaQuery(TDept.class).eq(TDept::getDeptId, dto.getDeptId())) > 0;
+        }
+    }
+
+    @Override
+    public PageInfo<DeptVO> pageList(TDeptQuery query) {
+        PageInfo<DeptVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
+        List<DeptVO> list = this.baseMapper.pageList(query,pageInfo);
+        pageInfo.setRecords(list);
+        return pageInfo;
+    }
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TDeptToUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TDeptToUserServiceImpl.java
new file mode 100644
index 0000000..fe1f409
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TDeptToUserServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.system.service.impl;
+
+import com.ruoyi.system.model.TDeptToUser;
+import com.ruoyi.system.mapper.TDeptToUserMapper;
+import com.ruoyi.system.service.TDeptToUserService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 部门用户中间表 服务实现类
+ * </p>
+ *
+ * @author xiaochen
+ * @since 2025-02-06
+ */
+@Service
+public class TDeptToUserServiceImpl extends ServiceImpl<TDeptToUserMapper, TDeptToUser> implements TDeptToUserService {
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TFaultAreaDicServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TFaultAreaDicServiceImpl.java
index 0dcd25c..bd6f3be 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TFaultAreaDicServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TFaultAreaDicServiceImpl.java
@@ -1,10 +1,17 @@
 package com.ruoyi.system.service.impl;
 
+import com.ruoyi.common.basic.PageInfo;
+import com.ruoyi.common.constant.DictConstants;
+import com.ruoyi.common.utils.DictUtils;
 import com.ruoyi.system.mapper.TFaultAreaDicMapper;
 import com.ruoyi.system.model.TFaultAreaDic;
+import com.ruoyi.system.query.TFaultAreaDicQuery;
 import com.ruoyi.system.service.TFaultAreaDicService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.system.vo.TenantVO;
 import org.springframework.stereotype.Service;
+
+import java.util.List;
 
 /**
  * <p>
@@ -17,4 +24,11 @@
 @Service
 public class TFaultAreaDicServiceImpl extends ServiceImpl<TFaultAreaDicMapper, TFaultAreaDic> implements TFaultAreaDicService {
 
+    @Override
+    public PageInfo<TFaultAreaDic> pageList(TFaultAreaDicQuery query) {
+        PageInfo<TFaultAreaDic> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
+        List<TFaultAreaDic> list = this.baseMapper.pageList(query,pageInfo);
+        pageInfo.setRecords(list);
+        return pageInfo;
+    }
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TFaultDescribeDicServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TFaultDescribeDicServiceImpl.java
index b29be25..0f99d3e 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TFaultDescribeDicServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TFaultDescribeDicServiceImpl.java
@@ -1,10 +1,22 @@
 package com.ruoyi.system.service.impl;
 
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.ruoyi.common.basic.PageInfo;
+import com.ruoyi.system.mapper.TFaultAreaDicMapper;
 import com.ruoyi.system.mapper.TFaultDescribeDicMapper;
+import com.ruoyi.system.model.TFaultAreaDic;
 import com.ruoyi.system.model.TFaultDescribeDic;
+import com.ruoyi.system.query.TFaultAreaDicQuery;
+import com.ruoyi.system.query.TFaultDescribeDicQuery;
 import com.ruoyi.system.service.TFaultDescribeDicService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.system.vo.TFaultDescribeDicVO;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -17,4 +29,23 @@
 @Service
 public class TFaultDescribeDicServiceImpl extends ServiceImpl<TFaultDescribeDicMapper, TFaultDescribeDic> implements TFaultDescribeDicService {
 
+    @Autowired
+    private TFaultAreaDicMapper faultAreaDicMapper;
+
+    @Override
+    public PageInfo<TFaultDescribeDicVO> pageList(TFaultDescribeDicQuery query) {
+        PageInfo<TFaultDescribeDicVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
+        List<TFaultDescribeDicVO> list = this.baseMapper.pageList(query,pageInfo);
+        if(!CollectionUtils.isEmpty(list)){
+            List<String> areaIds = list.stream().map(TFaultDescribeDicVO::getFaultId).collect(Collectors.toList());
+            List<TFaultAreaDic> tFaultAreaDicList = faultAreaDicMapper.selectList(Wrappers.lambdaQuery(TFaultAreaDic.class)
+                    .in(TFaultAreaDic::getId, areaIds));
+            for (TFaultDescribeDicVO tFaultDescribeDicVO : list) {
+                tFaultDescribeDicVO.setFaultAreaName(tFaultAreaDicList.stream().filter(t -> t.getId().equals(tFaultDescribeDicVO.getFaultId()))
+                        .findFirst().orElse(new TFaultAreaDic()).getFaultAreaName());
+            }
+        }
+        pageInfo.setRecords(list);
+        return pageInfo;
+    }
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/DeptVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/DeptVO.java
new file mode 100644
index 0000000..e695435
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/DeptVO.java
@@ -0,0 +1,15 @@
+package com.ruoyi.system.vo;
+
+import com.ruoyi.system.model.TDept;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "部门返回VO")
+public class DeptVO extends TDept {
+
+    @ApiModelProperty(value = "部门人数")
+    private Integer userCount;
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TFaultDescribeDicVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TFaultDescribeDicVO.java
new file mode 100644
index 0000000..632761c
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TFaultDescribeDicVO.java
@@ -0,0 +1,16 @@
+package com.ruoyi.system.vo;
+
+import com.ruoyi.system.model.TFaultDescribeDic;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "故障描述VO")
+public class TFaultDescribeDicVO extends TFaultDescribeDic {
+
+    @ApiModelProperty(value = "故障区域名称")
+    private String faultAreaName;
+
+}
diff --git a/ruoyi-system/src/main/resources/mapper/system/SysRoleMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysRoleMapper.xml
index c05f6fc..f24c54f 100644
--- a/ruoyi-system/src/main/resources/mapper/system/SysRoleMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/SysRoleMapper.xml
@@ -95,19 +95,28 @@
 			AND del_flag = 0
 		</where>
 	</select>
-	<select id="selectList" resultType="com.ruoyi.common.core.domain.entity.SysRole">
-		select role_id AS roleId, role_name AS roleName, role_key AS roleKey, role_sort AS roleSort, data_scope AS dataScope,
-		       menu_check_strictly AS menuCheckStrictly, dept_check_strictly AS deptCheckStrictly,status AS status, del_flag AS delFlag,
-		       create_time AS createTime,create_by AS createBy,postType AS postType,removeDays AS removeDays
-		from sys_role
+	<select id="selectPageList" resultType="com.ruoyi.common.core.domain.entity.SysRole">
+		select a.role_id AS roleId, a.role_name AS roleName, a.role_key AS roleKey, a.role_sort AS roleSort, a.data_scope AS dataScope,
+		a.menu_check_strictly AS menuCheckStrictly, a.dept_check_strictly AS deptCheckStrictly,a.status AS status, a.del_flag AS delFlag,
+		a.create_time AS createTime,a.create_by AS createBy,a.postType AS postType,a.removeDays AS removeDays,
+		IFNULL(b.userCount,0) as userCount
+		from sys_role a
+		LEFT JOIN
+		(SELECT
+		r.role_id AS roleId,
+		COUNT(ur.user_id) AS userCount
+		FROM sys_role r
+		LEFT JOIN sys_user_role ur ON r.role_id = ur.role_id
+		where r.del_flag = 0
+		GROUP BY r.role_id) b on a.role_id = b.roleId
 		<where>
 			<if test="query.roleName != null and query.roleName != ''">
-				AND role_name LIKE concat('%',#{query.roleName},'%')
+				AND a.role_name LIKE concat('%',#{query.roleName},'%')
 			</if>
 			<if test="query.status != null">
-				AND status = #{query.status}
+				AND a.status = #{query.status}
 			</if>
-			AND del_flag = 0
+			AND a.del_flag = 0
 		</where>
 	</select>
 	<select id="selectCount" resultType="java.lang.Integer">
diff --git a/ruoyi-system/src/main/resources/mapper/system/TContractMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TContractMapper.xml
index fa1131b..738ee8a 100644
--- a/ruoyi-system/src/main/resources/mapper/system/TContractMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/TContractMapper.xml
@@ -36,7 +36,9 @@
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        id, contract_number, contract_name, start_time, end_time, total_rent, deposit, pay_type, first_pay_time, isIncreasing, isIncreasing_deposit, proportion, house_id, party_one_name, party_one_person, party_one_phone, tenant_id, party_two_name, party_two_person, party_two_phone, contract_file, remark, status, create_time, update_time, create_by, update_by, disabled
+        id, contract_number, contract_name, start_time, end_time, total_rent, deposit, pay_type, first_pay_time, isIncreasing, isIncreasing_deposit,
+            proportion, house_id, party_one_name, party_one_person, party_one_phone, tenant_id, party_two_name, party_two_person, party_two_phone,
+            contract_file, remark, status, create_time, update_time, create_by, update_by, disabled
     </sql>
     <select id="contractList" resultType="com.ruoyi.system.model.TContract">
         select t1.* from t_contract t1
diff --git a/ruoyi-system/src/main/resources/mapper/system/TDeptMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TDeptMapper.xml
new file mode 100644
index 0000000..7ffa026
--- /dev/null
+++ b/ruoyi-system/src/main/resources/mapper/system/TDeptMapper.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.system.mapper.TDeptMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.ruoyi.system.model.TDept">
+        <id column="id" property="id" />
+        <result column="dept_id" property="deptId" />
+        <result column="dept_name" property="deptName" />
+        <result column="status" property="status" />
+        <result column="remark" property="remark" />
+        <result column="disable_remark" property="disableRemark" />
+        <result column="operating_time" property="operatingTime" />
+        <result column="operating_person" property="operatingPerson" />
+        <result column="create_time" property="createTime" />
+        <result column="update_time" property="updateTime" />
+        <result column="create_by" property="createBy" />
+        <result column="update_by" property="updateBy" />
+        <result column="disabled" property="disabled" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, dept_id, dept_name, status, remark, disable_remark, operating_time, operating_person, create_time, update_time, create_by, update_by, disabled
+    </sql>
+    <select id="pageList" resultType="com.ruoyi.system.vo.DeptVO">
+        select
+            t.id,
+            t.dept_id,
+            t.dept_name,
+            t.status,
+            t.remark,
+            t.disable_remark,
+            t.operating_time,
+            t.operating_person,
+            t.create_time,
+            t.update_time,
+            t.create_by,
+            t.update_by,
+            t.disabled,
+            b.userCount
+        from t_dept t
+                 LEFT JOIN
+             (SELECT a.id,COUNT(tu.user_id) AS userCount
+              FROM t_dept a
+              LEFT JOIN t_dept_to_user tu ON a.id = tu.dept_id
+              where a.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
+              GROUP BY a.id) b on t.id = b.id
+        <where>
+            <if test="query.deptIdOrName != null and query.deptIdOrName != ''">
+                AND (t.dept_id like concat('%', #{query.deptIdOrName},'%')
+                         OR t.dept_name like concat('%', #{query.deptIdOrName},'%'))
+            </if>
+            AND t.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
+        </where>
+        ORDER BY t.create_time DESC
+    </select>
+
+</mapper>
diff --git a/ruoyi-system/src/main/resources/mapper/system/TDeptToUserMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TDeptToUserMapper.xml
new file mode 100644
index 0000000..8e20f23
--- /dev/null
+++ b/ruoyi-system/src/main/resources/mapper/system/TDeptToUserMapper.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.system.mapper.TDeptToUserMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.ruoyi.system.model.TDeptToUser">
+        <id column="id" property="id" />
+        <result column="dept_id" property="deptId" />
+        <result column="user_id" property="userId" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, dept_id, user_id
+    </sql>
+
+</mapper>
diff --git a/ruoyi-system/src/main/resources/mapper/system/TFaultAreaDicMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TFaultAreaDicMapper.xml
index 02f32c1..7702ec8 100644
--- a/ruoyi-system/src/main/resources/mapper/system/TFaultAreaDicMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/TFaultAreaDicMapper.xml
@@ -6,11 +6,23 @@
     <resultMap id="BaseResultMap" type="com.ruoyi.system.model.TFaultAreaDic">
         <id column="id" property="id" />
         <result column="fault_area_name" property="faultAreaName" />
+        <result column="sort_by" property="sortBy" />
+        <result column="create_time" property="createTime" />
+        <result column="update_time" property="updateTime" />
+        <result column="create_by" property="createBy" />
+        <result column="update_by" property="updateBy" />
+        <result column="disabled" property="disabled" />
     </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        id, fault_area_name
+        id, fault_area_name,sort_by, create_time, update_time, create_by, update_by, disabled
     </sql>
+    <select id="pageList" resultType="com.ruoyi.system.model.TFaultAreaDic">
+        SELECT <include refid="Base_Column_List"></include>
+        FROM t_fault_area_dic
+        WHERE disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
+        ORDER BY create_time DESC
+    </select>
 
 </mapper>
diff --git a/ruoyi-system/src/main/resources/mapper/system/TFaultDescribeDicMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TFaultDescribeDicMapper.xml
index c989a6f..7baa338 100644
--- a/ruoyi-system/src/main/resources/mapper/system/TFaultDescribeDicMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/TFaultDescribeDicMapper.xml
@@ -7,11 +7,24 @@
         <id column="id" property="id" />
         <result column="fault_id" property="faultId" />
         <result column="describe_name" property="describeName" />
+        <result column="sort_by" property="sortBy" />
+        <result column="create_time" property="createTime" />
+        <result column="update_time" property="updateTime" />
+        <result column="create_by" property="createBy" />
+        <result column="update_by" property="updateBy" />
+        <result column="disabled" property="disabled" />
     </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        id, fault_id, describe_name
+        id, fault_id, describe_name,sort_by, create_time, update_time, create_by, update_by, disabled
     </sql>
+    <select id="pageList" resultType="com.ruoyi.system.vo.TFaultDescribeDicVO">
+        select
+        <include refid="Base_Column_List"/>
+        from t_fault_describe_dic
+        where disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
+        ORDER BY create_time DESC
+    </select>
 
 </mapper>

--
Gitblit v1.7.1