하관우 하관우 02-06
2025-01-14 파일 API 수정 하관우
@bc626aec5ef44ef6401f66203b49a8e108846f66
src/main/java/com/takensoft/taken_bi_manager/department/dao/DeptHostDAO.java
--- src/main/java/com/takensoft/taken_bi_manager/department/dao/DeptHostDAO.java
+++ src/main/java/com/takensoft/taken_bi_manager/department/dao/DeptHostDAO.java
@@ -39,4 +39,12 @@
      * 부서-호스트 연결 삭제
      */
     public int deleteDeptHost(DeptHostVO deptHostVO) throws Exception;
+
+    /**
+     * @author 하관우
+     * @since 2025.02.05
+     *
+     * 부서 내 사용자 이동
+     */
+    public int usersMoveDeptHost(HashMap<String,Object> params) throws Exception;
 }
(파일 끝에 줄바꿈 문자 없음)
src/main/java/com/takensoft/taken_bi_manager/department/service/DeptHostService.java
--- src/main/java/com/takensoft/taken_bi_manager/department/service/DeptHostService.java
+++ src/main/java/com/takensoft/taken_bi_manager/department/service/DeptHostService.java
@@ -29,4 +29,12 @@
      * 부서 내 호스트 삭제
      */
     public HashMap<String, Object> deleteDeptHost(List<DeptHostVO> deptHostList) throws Exception;
+
+    /**
+     * @author 하관우
+     * @since 2025.02.05
+     *
+     * 부서 내 사용자 이동
+     */
+    public HashMap<String, Object> usersMoveDeptHost(HashMap<String,Object> params) throws Exception;
 }
(파일 끝에 줄바꿈 문자 없음)
src/main/java/com/takensoft/taken_bi_manager/department/service/Impl/DeptHostServiceImpl.java
--- src/main/java/com/takensoft/taken_bi_manager/department/service/Impl/DeptHostServiceImpl.java
+++ src/main/java/com/takensoft/taken_bi_manager/department/service/Impl/DeptHostServiceImpl.java
@@ -85,4 +85,33 @@
         result.put("deleteCnt", deleteCnt);
         return result;
     }
+
+    /**
+     * @author 하관우
+     * @since 2025.02.05
+     *
+     * 부서 내 사용자 이동
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public HashMap<String, Object> usersMoveDeptHost(HashMap<String,Object> params) throws Exception{
+        int moveCnt = 0;
+        List<Map<String, Object>> userList = (List<Map<String, Object>>) params.get("user");
+        Map<String, Object> dept = (Map<String, Object>) params.get("dept");
+
+        for(int i=0 ; i < userList.size(); i++){
+            HashMap<String, Object> data = new HashMap<>();
+            data.put("userId", userList.get(i).get("userId"));
+            data.put("deptId", dept.get("id"));
+            moveCnt += deptHostDAO.usersMoveDeptHost(data);
+        }
+
+        if (moveCnt != userList.size()) {
+            throw new RuntimeException("부서 내 사용자 이동 중 오류가 발생했습니다.");
+        }
+
+        HashMap<String, Object> result = new HashMap<>();
+        result.put("moveCnt", moveCnt);
+        return result;
+    }
 }
(파일 끝에 줄바꿈 문자 없음)
src/main/java/com/takensoft/taken_bi_manager/department/web/DeptHostController.java
--- src/main/java/com/takensoft/taken_bi_manager/department/web/DeptHostController.java
+++ src/main/java/com/takensoft/taken_bi_manager/department/web/DeptHostController.java
@@ -79,4 +79,25 @@
 
         return resultMap;
     }
+
+    /**
+     * @author 하관우
+     * @since 2025.02.05
+     *
+     * 부서 내 사용자 이동
+     */
+    @PostMapping(value = {"/user/move"})
+    public CustomeResultMap usersMoveDeptHost(@RequestBody HashMap<String,Object> params) {
+        CustomeResultMap resultMap = new CustomeResultMap();
+
+        try {
+            resultMap.setResultData(deptHostService.usersMoveDeptHost(params));
+        } catch (RuntimeException e) {
+            resultMap.setCheckMessage(new CheckMessage(false, e.getMessage(), HttpStatus.BAD_REQUEST.value()));
+        } catch (Exception e) {
+            resultMap.setCheckMessage(new CheckMessage(false, e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR.value()));
+        }
+
+        return resultMap;
+    }
 }
(파일 끝에 줄바꿈 문자 없음)
src/main/resources/spring/mapper/department/deptHost-SQL.xml
--- src/main/resources/spring/mapper/department/deptHost-SQL.xml
+++ src/main/resources/spring/mapper/department/deptHost-SQL.xml
@@ -93,4 +93,12 @@
         WHERE dept_code = #{deptCode}
           AND host_code = #{hostCode}
     </delete>
+
+    <update id="usersMoveDeptHost" parameterType="java.util.HashMap">
+        UPDATE dept_user
+        SET
+            dept_code = #{deptId}
+        WHERE
+            user_id = #{userId}
+    </update>
 </mapper>
(파일 끝에 줄바꿈 문자 없음)
src/main/resources/spring/mapper/host/sftp-SQL.xml
--- src/main/resources/spring/mapper/host/sftp-SQL.xml
+++ src/main/resources/spring/mapper/host/sftp-SQL.xml
@@ -38,11 +38,12 @@
         </if>
         FROM
         host_info hi
-        JOIN
-        dept_host dh ON hi.host_code = dh.host_code
         <if test="author == 'ROLE_USER'">
+            JOIN dept_host dh ON hi.host_code = dh.host_code
             JOIN dept_drctry dt ON dh.dept_code = dt.dept_code
+        </if>
             WHERE use_yn = 'Y'
+        <if test="author == 'ROLE_USER'">
             AND dh.dept_code = #{dept_code}
         </if>
         ORDER BY
Add a comment
List