From 331fa1aa562297b3e0f0cce3b244d187f32910bd Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 화, 28 12월 2021 17:59:08 +0900
Subject: [PATCH] 하위프로젝트 가져오는 코드 롤백 및 상위 프로젝트는 추가 못하도록 수정

---
 src/main/java/kr/wisestone/owl/service/impl/WidgetServiceImpl.java |   35 +++++++++++++++++++++++++++++------
 1 files changed, 29 insertions(+), 6 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 343639d..970ef1f 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/WidgetServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/WidgetServiceImpl.java
@@ -54,6 +54,9 @@
     private ProjectService projectService;
 
     @Autowired
+    private ProjectRoleDepartmentService projectRoleDepartmentService;
+
+    @Autowired
     private ProjectClosureService projectClosureService;
 
     @Autowired
@@ -214,8 +217,20 @@
 
     void SetMeAndDownProjectIds(List<Long> parentProjectIds, WidgetCondition widgetCondition) {
         List<Long> downProjectIds = Lists.newArrayList();
+        List<Long> projectIds = Lists.newArrayList();
+        projectIds.add(-1L);
+        User user = this.webAppUtil.getLoginUserObject();
+        UserLevel userLevel = this.userLevelService.getUserLevel(user.getUserLevel().getId());
         if(parentProjectIds != null && parentProjectIds.size() > 0){
             for(Long parentProjectId : parentProjectIds){
+                if(!this.userWorkspaceService.checkWorkspaceManager(user) || !MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_PROJECT)){
+                    Project project = this.projectService.getProject(parentProjectId);
+                    List<Map<String, Object>> results = this.projectService.findByWorkspaceIdAndIncludeProject(Lists.newArrayList("01", "02", "03"), project.getProjectType().toString());
+                    if(results == null || results.size() < 1) {
+                        widgetCondition.setMeAndDownProjectIds(projectIds);
+                        break;
+                    }
+                }
                 List<ProjectClosure> projectClosures = this.projectClosureRepository.findByParentProjectId(parentProjectId); //�궡 �봽濡쒖젥�듃ID媛� �긽�쐞�봽濡쒖젥�듃�씤寃� �엳�뒗吏�
                 if(projectClosures != null && projectClosures.size() > 0){
                     for(ProjectClosure projectClosure : projectClosures){
@@ -257,7 +272,7 @@
         if (widgetCondition.getProjectIds().size() > 0) {
             SetMeAndDownProjectIds(widgetCondition.getProjectIds(), widgetCondition);
             if (this.userWorkspaceService.checkWorkspaceManager(user)
-                    || MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_ISSUE)) {
+                    || (MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_ISSUE))) {
                 remainIssue = this.widgetMapper.countRemainIssue(widgetCondition);   //  �옍�뿬 �씠�뒋
                 delayIssue = this.widgetMapper.countTodayDelayIssue(widgetCondition); //  吏��뿰�맂 �씠�뒋
                 assigneeIssue = this.widgetMapper.countAssigneeIssue(widgetCondition);   //  �븷�떦�맂 �씠�뒋
@@ -513,7 +528,7 @@
             SetMeAndDownProjectIds(widgetCondition.getProjectIds(), widgetCondition);
             List<Map<String, Object>> projectMemberIssues = Lists.newArrayList();
             if (this.userWorkspaceService.checkWorkspaceManager(user)
-                    || MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_PROJECT)) {
+                    || MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_ISSUE)) {
                 projectMemberIssues = this.widgetMapper.findProjectMemberIssue(widgetCondition);
             } else {
                 projectMemberIssues = this.widgetMapper.findProjectMemberIssueByDepartment(widgetCondition);
@@ -833,6 +848,13 @@
         UserLevel userLevel = this.userLevelService.getUserLevel(user.getUserLevel().getId());
         if (widgetCondition.getProjectId() != null) {
             SetMeAndDownProjectIds(widgetCondition.getProjectIds(), widgetCondition);
+            if (widgetCondition.getMeAndDownProjectIds() != null) {
+                for (Long meAndProjectId : widgetCondition.getMeAndDownProjectIds()) {
+                    if(meAndProjectId == -1L) {
+                        results.replace("projectVos", null);
+                    }
+                }
+            }
             List<Map<String, Object>> issueTypeIssues = Lists.newArrayList();
             if (this.userWorkspaceService.checkWorkspaceManager(user)
                     || MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_ISSUE)) {
@@ -852,6 +874,7 @@
     //  �쐞�젽 寃��깋 議곌굔�쓣 留뚮뱾怨� �쟾泥� �봽濡쒖젥�듃 �젙蹂대�� 由ы꽩�븳�떎.
     private Map<String, Object> makeWidgetConditionAllProject(WidgetCondition widgetCondition, boolean getWidgetCondition) {
         Map<String, Object> results = new HashMap<>();
+        SetMeAndDownProjectIds(widgetCondition.getProjectIds(), widgetCondition);
 
         //  �쐞�젽 寃��깋 議곌굔�쓣 �뼸�뼱�빞 �븷 �긽�솴�씪 �븣 - �솕硫댁뿉�꽌 �꺆�쓣 �닃�윭 �뜲�씠�꽣瑜� �옱�슂泥��뻽�쓣 �븣
         if (getWidgetCondition) {
@@ -1134,7 +1157,7 @@
 
             if (changeAssigneeType != null) {
                 if (changeAssigneeType.equals("1")) {
-                    riskType = this.messageAccessor.message("common.reversalAssigneeUpdate"); // 鍮덈쾲�븳 �떞�떦�옄 蹂�寃�
+                    riskType = this.messageAccessor.message("common.reversalAssigneeTeamUpdate"); // 鍮덈쾲�븳 �떞�떦遺��꽌 蹂�寃�
                 }
             }
 
@@ -1146,7 +1169,7 @@
 
             if (changeAssigneeType != null && changeIssueStatusType != null) {
                 if (changeAssigneeType.equals("1") && changeIssueStatusType.equals("1")) {
-                    riskType = this.messageAccessor.message("common.reversalAssigneeUpdate") + '\n' + this.messageAccessor.message("common.reversalStatusUpdate"); // 鍮덈쾲�븳 �떞�떦�옄 蹂�寃�, 踰덈났�릺�뒗 �긽�깭 蹂�寃�
+                    riskType = this.messageAccessor.message("common.reversalAssigneeTeamUpdate") + '\n' + this.messageAccessor.message("common.reversalStatusUpdate"); // 鍮덈쾲�븳 �떞�떦遺��꽌 蹂�寃�, 踰덈났�릺�뒗 �긽�깭 蹂�寃�
                 }
             }
 
@@ -1174,11 +1197,11 @@
         excelInfo.setFileName(this.messageAccessor.message("common.managementRisk")); // �쐞�뿕 愿�由�
         excelInfo.setDatas(riskIssues);
         excelInfo.addAttrInfos(new ExportExcelAttrVo("issueKey", this.messageAccessor.message("common.issueKey"), 6, ExportExcelAttrVo.ALIGN_CENTER)); // �씠�뒋 踰덊샇
-        excelInfo.addAttrInfos(new ExportExcelAttrVo("riskType", this.messageAccessor.message("common.division"), 15, ExportExcelAttrVo.ALIGN_CENTER)); // 援щ텇
+        //excelInfo.addAttrInfos(new ExportExcelAttrVo("riskType", this.messageAccessor.message("common.division"), 15, ExportExcelAttrVo.ALIGN_CENTER)); // 援щ텇
         excelInfo.addAttrInfos(new ExportExcelAttrVo("projectName", this.messageAccessor.message("common.project"), 15, ExportExcelAttrVo.ALIGN_LEFT)); // �봽濡쒖젥�듃
         excelInfo.addAttrInfos(new ExportExcelAttrVo("title", this.messageAccessor.message("common.issueTitle"), 40, ExportExcelAttrVo.ALIGN_LEFT)); // �씠�뒋
         excelInfo.addAttrInfos(new ExportExcelAttrVo("issueStatusName", this.messageAccessor.message("common.status"), 6, ExportExcelAttrVo.ALIGN_CENTER)); // �긽�깭
-        excelInfo.addAttrInfos(new ExportExcelAttrVo("issueUsers", this.messageAccessor.message("common.assignee"), 20, ExportExcelAttrVo.ALIGN_CENTER)); // �떞�떦�옄
+        //excelInfo.addAttrInfos(new ExportExcelAttrVo("issueUsers", this.messageAccessor.message("common.assignee"), 20, ExportExcelAttrVo.ALIGN_CENTER)); // �떞�떦�옄
         return excelInfo;
     }
 

--
Gitblit v1.8.0