From 25e69beeac0e3939ba1873806710a18a5ec3091e Mon Sep 17 00:00:00 2001
From: 박지현 <jhpark@maprex.co.kr>
Date: 목, 03 3월 2022 17:49:56 +0900
Subject: [PATCH] Merge branch 'master' of http://maprex.iptime.org:9001/r/owl-kisa

---
 src/main/java/kr/wisestone/owl/service/impl/IssueDepartmentServiceImpl.java |   63 ++++++++++++++++++++++++++++---
 1 files changed, 57 insertions(+), 6 deletions(-)

diff --git a/src/main/java/kr/wisestone/owl/service/impl/IssueDepartmentServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/IssueDepartmentServiceImpl.java
index 5835a65..096b13c 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/IssueDepartmentServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/IssueDepartmentServiceImpl.java
@@ -1,16 +1,15 @@
 package kr.wisestone.owl.service.impl;
 
 import com.google.common.collect.Lists;
-import kr.wisestone.owl.domain.Issue;
-import kr.wisestone.owl.domain.IssueDepartment;
-import kr.wisestone.owl.domain.IssueUser;
-import kr.wisestone.owl.domain.Workspace;
+import kr.wisestone.owl.domain.*;
 import kr.wisestone.owl.mapper.IssueDepartmentMapper;
 import kr.wisestone.owl.mapper.IssueUserMapper;
 import kr.wisestone.owl.repository.IssueDepartmentRepository;
+import kr.wisestone.owl.service.DepartmentService;
 import kr.wisestone.owl.service.IssueDepartmentService;
 import kr.wisestone.owl.util.CommonUtil;
 import kr.wisestone.owl.util.MapUtil;
+import kr.wisestone.owl.vo.DepartmentVo;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -28,6 +27,9 @@
     private static final Logger log = LoggerFactory.getLogger(IssueDepartmentServiceImpl.class);
 
     @Autowired
+    private DepartmentService departmentService;
+
+    @Autowired
     private IssueDepartmentRepository issueDepartmentRepository;
 
     @Autowired
@@ -38,10 +40,37 @@
         return this.issueDepartmentRepository;
     }
 
+    /**
+     * �씠�뒋�쓽 �떞�떦遺��꽌 異붽�
+     * @param departmentsIds List<Long>
+     * @param workspace Workspace
+     * @param issue Issue
+     */
+    @Override
+    @Transactional
+    public void add(List<Long> departmentsIds, Workspace workspace, Issue issue) {
+        List<IssueDepartment> issueDepartments = Lists.newArrayList();
+
+        for (Long departmentId : departmentsIds) {
+            Department department = this.departmentService.getDepartment(departmentId);
+            issueDepartments.add(new IssueDepartment(workspace, issue, department));
+        }
+        this.issueDepartmentRepository.saveAll(issueDepartments);
+
+    }
+
     //  �씠�뒋 �떞�떦遺��꽌瑜� 蹂�寃쏀븳�떎.
     @Override
     @Transactional
     public void modifyIssueDepartment(Issue issue, Workspace workspace, List<Long> departmentIds) {
+        User user = this.webAppUtil.getLoginUserObject();
+        modifyIssueDepartment(issue, user, workspace, departmentIds);
+    }
+
+    //  �씠�뒋 �떞�떦遺��꽌瑜� 蹂�寃쏀븳�떎.
+    @Override
+    @Transactional
+    public void modifyIssueDepartment(Issue issue, User user, Workspace workspace, List<Long> departmentIds) {
         List<Long> oldDepartmentIds = Lists.newArrayList();
 
         //  �씠�쟾 �떞�떦 遺��꽌
@@ -69,8 +98,8 @@
                 issueAssigneeMap.put("departmentId", departmentId); //�떞�떦遺��꽌
                 issueAssigneeMap.put("issueId", issue.getId());
                 issueAssigneeMap.put("workspaceId", workspace.getId());
-                issueAssigneeMap.put("registerId", this.webAppUtil.getLoginId());
-                issueAssigneeMap.put("modifyId", this.webAppUtil.getLoginId());
+                issueAssigneeMap.put("registerId", user.getId());
+                issueAssigneeMap.put("modifyId", user.getId());
                 addIssueAssigneeMaps.add(issueAssigneeMap);
             }
 
@@ -86,6 +115,28 @@
         return this.issueDepartmentRepository.findByIssueId(issue.getId());
     }
 
+    //  �씠�뒋 �떞�떦遺��꽌 李얘린
+    @Override
+    @Transactional
+    public List<IssueDepartment> findByDepartmentId(Long departmentId) {
+        return this.issueDepartmentRepository.findByDepartmentId(departmentId);
+    }
+
+    /**
+     * �씠�뒋�쓽 �떞�떦遺��꽌�뿉 �냽�빐�엳�뒗吏� 議고쉶
+     * @param departmentId Long
+     * @return useYn
+     */
+    @Override
+    public boolean usingDepartment(Long departmentId) {
+        boolean useYn = false;
+        List<IssueDepartment> issueDepartments = this.issueDepartmentRepository.findByDepartmentId(departmentId);
+        if (issueDepartments != null && issueDepartments.size() > 0) {
+            useYn = true;
+        }
+        return useYn;
+    }
+
     @Override
     @Transactional
     public void insertIssueDepartment(List<Map<String, Long>> issueAssigneeMaps) {

--
Gitblit v1.8.0