From 2e6034b9011e82870622054c081899879915a6a4 Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期二, 18 十月 2022 16:23:36 +0800
Subject: [PATCH] 部门编辑优化

---
 document/驾驶舱数据接口文档.docx                                                            |    0 
 ycl-common/src/main/java/com/ycl/service/depart/impl/UmsDepartServiceImpl.java     |   30 ++++++---------
 ycl-common/src/main/java/com/ycl/service/depart/impl/DepartManagerServiceImpl.java |    9 ++++
 ycl-common/src/main/java/com/ycl/service/depart/IDepartManagerService.java         |    4 +
 ycl-common/src/main/java/com/ycl/vo/depart/DepartVO.java                           |   19 ---------
 ycl-common/src/main/java/com/ycl/vo/depart/UmsDepartVO.java                        |    3 +
 ycl-common/src/main/resources/mapper/depart/UmsDepartMapper.xml                    |    6 ++-
 7 files changed, 31 insertions(+), 40 deletions(-)

diff --git "a/document/\351\251\276\351\251\266\350\210\261\346\225\260\346\215\256\346\216\245\345\217\243\346\226\207\346\241\243.docx" "b/document/\351\251\276\351\251\266\350\210\261\346\225\260\346\215\256\346\216\245\345\217\243\346\226\207\346\241\243.docx"
new file mode 100644
index 0000000..16d8291
--- /dev/null
+++ "b/document/\351\251\276\351\251\266\350\210\261\346\225\260\346\215\256\346\216\245\345\217\243\346\226\207\346\241\243.docx"
Binary files differ
diff --git a/ycl-common/src/main/java/com/ycl/service/depart/IDepartManagerService.java b/ycl-common/src/main/java/com/ycl/service/depart/IDepartManagerService.java
index 6115ce8..0b85a8c 100644
--- a/ycl-common/src/main/java/com/ycl/service/depart/IDepartManagerService.java
+++ b/ycl-common/src/main/java/com/ycl/service/depart/IDepartManagerService.java
@@ -2,10 +2,11 @@
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ycl.entity.depart.DepartManager;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * <p>
- *  鏈嶅姟绫�
+ * 鏈嶅姟绫�
  * </p>
  *
  * @author zhanghua
@@ -13,4 +14,5 @@
  */
 public interface IDepartManagerService extends IService<DepartManager> {
 
+    void deleteByDepartId(Long departId);
 }
diff --git a/ycl-common/src/main/java/com/ycl/service/depart/impl/DepartManagerServiceImpl.java b/ycl-common/src/main/java/com/ycl/service/depart/impl/DepartManagerServiceImpl.java
index 67bd3a0..cd95e3d 100644
--- a/ycl-common/src/main/java/com/ycl/service/depart/impl/DepartManagerServiceImpl.java
+++ b/ycl-common/src/main/java/com/ycl/service/depart/impl/DepartManagerServiceImpl.java
@@ -1,5 +1,6 @@
 package com.ycl.service.depart.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ycl.entity.depart.DepartManager;
 import com.ycl.mapper.depart.DepartManagerMapper;
@@ -8,7 +9,7 @@
 
 /**
  * <p>
- *  鏈嶅姟瀹炵幇绫�
+ * 鏈嶅姟瀹炵幇绫�
  * </p>
  *
  * @author zhanghua
@@ -17,4 +18,10 @@
 @Service
 public class DepartManagerServiceImpl extends ServiceImpl<DepartManagerMapper, DepartManager> implements IDepartManagerService {
 
+    @Override
+    public void deleteByDepartId(Long departId) {
+        LambdaQueryWrapper<DepartManager> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(DepartManager::getDepartId, departId);
+        baseMapper.delete(queryWrapper);
+    }
 }
diff --git a/ycl-common/src/main/java/com/ycl/service/depart/impl/UmsDepartServiceImpl.java b/ycl-common/src/main/java/com/ycl/service/depart/impl/UmsDepartServiceImpl.java
index 5979651..6d18845 100644
--- a/ycl-common/src/main/java/com/ycl/service/depart/impl/UmsDepartServiceImpl.java
+++ b/ycl-common/src/main/java/com/ycl/service/depart/impl/UmsDepartServiceImpl.java
@@ -86,27 +86,21 @@
     @Transactional(rollbackFor = Exception.class)
     public void update(DepartVO.UpdateDepartVO updateDepartVO) {
         UmsDepart sccgDepart = this.queryByName(updateDepartVO.getDepartName());
-        if (null != sccgDepart && sccgDepart.getId() != updateDepartVO.getId()) {
+        if (null != sccgDepart && !sccgDepart.getId().equals(updateDepartVO.getId())) {
             throw new ApiException(ResultCode.RECORD_ALREADY_EXISTS);
         }
-        UmsDepart depart = this.getById(updateDepartVO.getId());
+        UmsDepart depart = new UmsDepart();
         BeanUtils.copyProperties(updateDepartVO, depart);
-        List<Long> userIds = updateDepartVO.getUserIds();
-        if (CollUtil.isNotEmpty(userIds)) {
-            Long departId = updateDepartVO.getId();
-            List<UmsDepartManage> departList = umsAdminDepartService.queryByDepartId(departId);
-            if (CollUtil.isNotEmpty(departList)) {
-                umsAdminDepartService.deletedByDepartId(departId);
-            }
-            userIds.forEach(e -> {
-                UmsDepartManage adminDepart = new UmsDepartManage();
-                adminDepart.setDepartId(departId);
-                adminDepart.setUserId(e);
-                umsAdminDepartService.save(adminDepart);
-            });
-        }
-        if (sccgDepartMapper.updateById(depart) != 1) {
-            throw new ApiException(ResultCode.RECORD_UPDATE_FAIL);
+        umsDepartService.updateById(depart);
+        if (updateDepartVO.getDepartManagerList().size() > 0) {
+            iDepartManagerService.deleteByDepartId(depart.getId());
+
+            updateDepartVO.getDepartManagerList()
+                    .forEach(item -> {
+                        item.setCreateTime(LocalDateTime.now());
+                        item.setDepartId(depart.getId());
+                    });
+            iDepartManagerService.saveBatch(updateDepartVO.getDepartManagerList());
         }
     }
 
diff --git a/ycl-common/src/main/java/com/ycl/vo/depart/DepartVO.java b/ycl-common/src/main/java/com/ycl/vo/depart/DepartVO.java
index e0004ac..3f09cba 100644
--- a/ycl-common/src/main/java/com/ycl/vo/depart/DepartVO.java
+++ b/ycl-common/src/main/java/com/ycl/vo/depart/DepartVO.java
@@ -56,27 +56,10 @@
 
     @ApiModel
     @Data
-    public static class UpdateDepartVO {
+    public static class UpdateDepartVO extends AddDepartVO {
         @ApiModelProperty(value = "閮ㄩ棬id")
         @NotNull(message = "閮ㄩ棬id涓嶈兘涓虹┖")
         private Long id;
-        @ApiModelProperty("閮ㄩ棬鍚嶇О")
-        private String departName;
-
-        @ApiModelProperty("閮ㄩ棬鎻忚堪")
-        private String departDes;
-
-        @ApiModelProperty("閮ㄩ棬绫诲瀷")
-        private Integer departType;
-
-        @ApiModelProperty("鐖剁骇id,榛樿0")
-        private Long parentId;
-
-        @ApiModelProperty("璐熻矗浜篒d闆嗗悎")
-        private List<Long> userIds;
-
-//        @ApiModelProperty("鍋滅敤鐘舵�侊紝0->false,1->true,榛樿鍋滅敤")
-//        private byte status;
     }
 
     @ApiModel
diff --git a/ycl-common/src/main/java/com/ycl/vo/depart/UmsDepartVO.java b/ycl-common/src/main/java/com/ycl/vo/depart/UmsDepartVO.java
index 5bdc4be..9a3e581 100644
--- a/ycl-common/src/main/java/com/ycl/vo/depart/UmsDepartVO.java
+++ b/ycl-common/src/main/java/com/ycl/vo/depart/UmsDepartVO.java
@@ -28,4 +28,7 @@
     @ApiModelProperty("閮ㄩ棬绫诲瀷")
     private String departTypeName;
 
+    @ApiModelProperty("鐖堕儴闂�")
+    private String parentDepartName;
+
 }
diff --git a/ycl-common/src/main/resources/mapper/depart/UmsDepartMapper.xml b/ycl-common/src/main/resources/mapper/depart/UmsDepartMapper.xml
index f42ee1d..d600e03 100644
--- a/ycl-common/src/main/resources/mapper/depart/UmsDepartMapper.xml
+++ b/ycl-common/src/main/resources/mapper/depart/UmsDepartMapper.xml
@@ -23,6 +23,7 @@
 
     <resultMap id="DepartVOMap" type="com.ycl.vo.depart.UmsDepartVO" extends="BaseResultMap">
         <result column="depart_type_name" property="departTypeName" jdbcType="VARCHAR"></result>
+        <result column="p_depart_name" property="parentDepartName" jdbcType="VARCHAR"></result>
         <collection property="userInfoDTOS" javaType="ArrayList" ofType="com.ycl.dto.user.DepartUserDTO">
             <id column="user_id" property="userId"/>
             <result column="username" property="username"/>
@@ -43,7 +44,7 @@
         SELECT t_0.*,
         ua.id user_id,
         ua.username,
-        dd.`name` as depart_type_name,udm.is_leader
+        dd.`name` as depart_type_name,udm.is_leader,pd.depart_name as p_depart_name
         FROM (
         SELECT ud.*
         FROM ums_depart ud
@@ -51,12 +52,13 @@
         <if test="departName!=null and departName!=''">
             and ud.name like CONCAT('%',#{departName},'%')
         </if>
-        ORDER BY create_time desc
+        ORDER BY ud.parent_id,ud.id desc
         LIMIT #{offset}, #{size}
         ) t_0
         LEFT JOIN ums_depart_manager udm ON t_0.id = udm.depart_id
         LEFT JOIN ums_admin ua ON udm.user_id = ua.id
         left join ums_data_dictionary as dd on t_0.depart_type = dd.id
+        left join ums_depart as pd on t_0.parent_id = pd.id
     </select>
 
 

--
Gitblit v1.8.0