From 4d06a7593fba3df556fc3728c142554907c6b157 Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 수, 15 12월 2021 10:46:45 +0900
Subject: [PATCH] '전체 이슈 프로젝트 보기' 권한 '이슈 관리' 권한으로 변경 - 이슈관리: 모든 이슈 수정 가능

---
 src/main/java/kr/wisestone/owl/service/impl/WidgetServiceImpl.java |   33 ++++++++++++++++++++++++++-------
 1 files changed, 26 insertions(+), 7 deletions(-)

diff --git a/src/main/java/kr/wisestone/owl/service/impl/WidgetServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/WidgetServiceImpl.java
index 3a7cdc3..343639d 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/WidgetServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/WidgetServiceImpl.java
@@ -4,6 +4,7 @@
 import kr.wisestone.owl.common.ExcelConditionCheck;
 import kr.wisestone.owl.common.MessageAccessor;
 import kr.wisestone.owl.constant.Constants;
+import kr.wisestone.owl.constant.MngPermission;
 import kr.wisestone.owl.constant.MsgConstants;
 import kr.wisestone.owl.domain.*;
 import kr.wisestone.owl.domain.enumType.ProjectType;
@@ -60,6 +61,9 @@
 
     @Autowired
     private UserService userService;
+
+    @Autowired
+    private UserLevelService userLevelService;
 
     @Autowired
     private UserDepartmentService userDepartmentService;
@@ -164,9 +168,11 @@
     @Transactional(readOnly = true)
     public WidgetCondition makeWidgetCondition() {
         User user = this.webAppUtil.getLoginUserObject();
+        UserLevel userLevel = this.userLevelService.getUserLevel(user.getUserLevel().getId());
         //  �빐�떦 �썙�겕�뒪�럹�씠�뒪�뿉�꽌 李몄뿬�븯怨� �엳�뒗 �봽濡쒖젥�듃 以� �긽�깭媛� �삤�뵂�씤 �봽濡쒖젥�듃
         List<Map<String, Object>> projects = null;
-        if (this.userWorkspaceService.checkWorkspaceManager(user)) {
+        if (this.userWorkspaceService.checkWorkspaceManager(user)
+                || MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_PROJECT)) {
             projects = this.projectService.findByWorkspaceManagerAll();
         } else  {
             projects = this.projectService.findByWorkspaceIdAndIncludeProjectAll(Lists.newArrayList("02"), ProjectType.BTS_PROJECT.toString());
@@ -246,10 +252,12 @@
         widgetCondition.setLoginUserId(this.webAppUtil.getLoginId());
         widgetCondition.setWorkspaceId(this.userService.getUser(this.webAppUtil.getLoginId()).getLastWorkspaceId());
         User user = this.webAppUtil.getLoginUserObject();
+        UserLevel userLevel = this.userLevelService.getUserLevel(user.getUserLevel().getId());
 
         if (widgetCondition.getProjectIds().size() > 0) {
             SetMeAndDownProjectIds(widgetCondition.getProjectIds(), widgetCondition);
-            if (this.userWorkspaceService.checkWorkspaceManager(user)) {
+            if (this.userWorkspaceService.checkWorkspaceManager(user)
+                    || MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_ISSUE)) {
                 remainIssue = this.widgetMapper.countRemainIssue(widgetCondition);   //  �옍�뿬 �씠�뒋
                 delayIssue = this.widgetMapper.countTodayDelayIssue(widgetCondition); //  吏��뿰�맂 �씠�뒋
                 assigneeIssue = this.widgetMapper.countAssigneeIssue(widgetCondition);   //  �븷�떦�맂 �씠�뒋
@@ -289,10 +297,12 @@
         List<Map<String, Object>> progressingProjectDetails = Lists.newArrayList();
 
         User user = this.webAppUtil.getLoginUserObject();
+        UserLevel userLevel = this.userLevelService.getUserLevel(user.getUserLevel().getId());
 
         if (widgetCondition.getProjectIds().size() > 0) {
             SetMeAndDownProjectIds(widgetCondition.getProjectIds(), widgetCondition);
-            if (this.userWorkspaceService.checkWorkspaceManager(user)) {
+            if (this.userWorkspaceService.checkWorkspaceManager(user)
+                    || MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_PROJECT)) {
                 progressingProjectDetails = this.widgetMapper.findProjectProgressAll(widgetCondition);
             } else {
                 progressingProjectDetails = this.widgetMapper.findProjectProgress(widgetCondition);
@@ -392,6 +402,7 @@
 
         if (widgetCondition.getProjectIds().size() > 0) {
             SetMeAndDownProjectIds(widgetCondition.getProjectIds(), widgetCondition);
+            this.SetMyDepartmentId(widgetCondition);
             todayCount = this.widgetMapper.countTodayMyAssigneeIssue(widgetCondition);
             assigneeIssues = this.widgetMapper.findMyAssigneeIssue(widgetCondition);
             totalCount = this.widgetMapper.countMyAssigneeIssue(widgetCondition);
@@ -496,11 +507,13 @@
         widgetCondition.setLoginUserId(this.webAppUtil.getLoginId());
         widgetCondition.setWorkspaceId(this.userService.getUser(this.webAppUtil.getLoginId()).getLastWorkspaceId());
         User user = this.webAppUtil.getLoginUserObject();
+        UserLevel userLevel = this.userLevelService.getUserLevel(user.getUserLevel().getId());
 
         if (widgetCondition.getProjectId() != null) {
             SetMeAndDownProjectIds(widgetCondition.getProjectIds(), widgetCondition);
             List<Map<String, Object>> projectMemberIssues = Lists.newArrayList();
-            if (this.userWorkspaceService.checkWorkspaceManager(user)) {
+            if (this.userWorkspaceService.checkWorkspaceManager(user)
+                    || MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_PROJECT)) {
                 projectMemberIssues = this.widgetMapper.findProjectMemberIssue(widgetCondition);
             } else {
                 projectMemberIssues = this.widgetMapper.findProjectMemberIssueByDepartment(widgetCondition);
@@ -783,10 +796,12 @@
 
         List<Map<String, Object>> results = Lists.newArrayList();
         User user = this.webAppUtil.getLoginUserObject();
+        UserLevel userLevel = this.userLevelService.getUserLevel(user.getUserLevel().getId());
 
         if (widgetCondition.getProjectIds().size() > 0) {
             SetMeAndDownProjectIds(widgetCondition.getProjectIds(), widgetCondition);
-            if (this.userWorkspaceService.checkWorkspaceManager(user)) {
+            if (this.userWorkspaceService.checkWorkspaceManager(user)
+                    || MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_ISSUE)) {
                 results = this.widgetMapper.findByStandIssueStatus(widgetCondition);
             }else {
                 results = this.widgetMapper.findByStandIssueStatusOfDepartment(widgetCondition);
@@ -815,10 +830,12 @@
         //  �쐞�젽 寃��깋 議곌굔�쓣 �뼸�뼱�빞 �븷 �긽�솴�씪 �븣 - �솕硫댁뿉�꽌 �꺆�쓣 �닃�윭 �뜲�씠�꽣瑜� �옱�슂泥��뻽�쓣 �븣 �쐞�젽 寃��깋 議곌굔�쓣 留뚮뱾怨� �쟾泥� �봽濡쒖젥�듃 �젙蹂대�� 由ы꽩�븳�떎.
         Map<String, Object> results = this.makeWidgetConditionAllProject(widgetCondition, getWidgetCondition);
         User user = this.webAppUtil.getLoginUserObject();
+        UserLevel userLevel = this.userLevelService.getUserLevel(user.getUserLevel().getId());
         if (widgetCondition.getProjectId() != null) {
             SetMeAndDownProjectIds(widgetCondition.getProjectIds(), widgetCondition);
             List<Map<String, Object>> issueTypeIssues = Lists.newArrayList();
-            if (this.userWorkspaceService.checkWorkspaceManager(user)) {
+            if (this.userWorkspaceService.checkWorkspaceManager(user)
+                    || MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_ISSUE)) {
                 issueTypeIssues = this.widgetMapper.findByStandIssueType(widgetCondition);
             } else {
                 issueTypeIssues = this.widgetMapper.findByStandIssueTypeOfDepartment(widgetCondition);
@@ -898,10 +915,12 @@
         widgetCondition.setLoginUserId(this.webAppUtil.getLoginId());
         widgetCondition.setWorkspaceId(this.userService.getUser(this.webAppUtil.getLoginId()).getLastWorkspaceId());
         User user = this.webAppUtil.getLoginUserObject();
+        UserLevel userLevel = this.userLevelService.getUserLevel(user.getUserLevel().getId());
 
         if (widgetCondition.getProjectIds().size() > 0) {
             SetMeAndDownProjectIds(widgetCondition.getProjectIds(), widgetCondition);
-            if (this.userWorkspaceService.checkWorkspaceManager(user)) {
+            if (this.userWorkspaceService.checkWorkspaceManager(user)
+                    || MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_ISSUE)) {
                 severityCounts = this.widgetMapper.countSeverityIssue(widgetCondition);
                 severityIssues = this.widgetMapper.findSeverityIssues(widgetCondition);
                 totalCount = this.widgetMapper.countSearchIssue(widgetCondition);

--
Gitblit v1.8.0