From c8da4f407495ad3aaf8c465d5efcc67264fdd344 Mon Sep 17 00:00:00 2001
From: wyu <kknd09321@nate.com>
Date: 금, 03 12월 2021 15:00:56 +0900
Subject: [PATCH] Merge branch 'master' of http://192.168.0.25:9001/r/owl-kisa

---
 src/main/java/kr/wisestone/owl/domain/CustomField.java                      |   10 ++++
 src/main/java/kr/wisestone/owl/vo/UserVo.java                               |    8 ++++
 src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java            |    6 ++
 src/main/webapp/scripts/app/user/userModify.controller.js                   |    4 +
 src/main/java/kr/wisestone/owl/repository/CustomFieldRepository.java        |    7 ++-
 src/main/java/kr/wisestone/owl/domain/User.java                             |    3 +
 src/main/java/kr/wisestone/owl/mapper/ProjectRoleUserMapper.java            |    2 +
 src/main/java/kr/wisestone/owl/service/ProjectRoleUserService.java          |    2 +
 src/main/java/kr/wisestone/owl/service/impl/ProjectRoleUserServiceImpl.java |    7 +++
 src/main/resources/mybatis/query-template/projectRoleUser-template.xml      |   17 ++++++++
 src/main/webapp/views/user/userModify.html                                  |    2 
 src/main/java/kr/wisestone/owl/service/impl/CustomFieldServiceImpl.java     |    9 ++--
 12 files changed, 65 insertions(+), 12 deletions(-)

diff --git a/src/main/java/kr/wisestone/owl/domain/CustomField.java b/src/main/java/kr/wisestone/owl/domain/CustomField.java
index 61cab1d..22884c5 100644
--- a/src/main/java/kr/wisestone/owl/domain/CustomField.java
+++ b/src/main/java/kr/wisestone/owl/domain/CustomField.java
@@ -19,6 +19,7 @@
     @GeneratedValue(strategy = GenerationType.IDENTITY)
     private Long id;
     private String name;
+    private String useFlag;
 
     @Enumerated(EnumType.STRING)
     private CustomFieldType customFieldType;
@@ -38,7 +39,6 @@
     @OneToMany(mappedBy = "customField", cascade = {CascadeType.ALL}, orphanRemoval = true)
     private Set<IssueCustomFieldValue> issueCustomFieldValues = new HashSet<>();
 
-    private String useFlag;
 
     public CustomField() {
     }
@@ -110,4 +110,12 @@
     public void setIssueCustomFieldValues(Set<IssueCustomFieldValue> issueCustomFieldValues) {
         this.issueCustomFieldValues = issueCustomFieldValues;
     }
+
+    public String getUseFlag() {
+        return useFlag;
+    }
+
+    public void setUseFlag(String useFlag) {
+        this.useFlag = useFlag;
+    }
 }
diff --git a/src/main/java/kr/wisestone/owl/domain/User.java b/src/main/java/kr/wisestone/owl/domain/User.java
index dd8ccc7..6cb764e 100644
--- a/src/main/java/kr/wisestone/owl/domain/User.java
+++ b/src/main/java/kr/wisestone/owl/domain/User.java
@@ -16,7 +16,8 @@
     public static final String USER_STATUS_ACTIVE = "01";  //  �궗�슜�옄 �솢�꽦
     public static final String USER_STATUS_DEL = "02";    //  �궗�슜�옄 �깉�눜
     public static final String DEFAULT_PROFILE = "assets/images/default_profile.png";    //  湲곕낯 �봽濡쒗븘
-    public static final String DEFAULT_RESERVATION_NOTIFY_TIME = "09:00";    //  湲곕낯 �씠硫붿씪 �븣由� �삁�젙 �떆媛�
+    //public static final String DEFAULT_RESERVATION_NOTIFY_TIME = "09:00";    //  湲곕낯 �씠硫붿씪 �븣由� �삁�젙 �떆媛�
+    public static final String DEFAULT_RESERVATION_NOTIFY_TIME = "false";    //  湲곕낯 �씠硫붿씪 �븣由� �삁�젙 �떆媛� false濡� 蹂�寃�
     public static final String DEFAULT_LANGUAGE = "ko"; //  湲곕낯 �뼵�뼱
 
     public static final String INSERT_TYPE_NORMAL = "N";    // 異붽� ���엯(�씪諛�)
diff --git a/src/main/java/kr/wisestone/owl/mapper/ProjectRoleUserMapper.java b/src/main/java/kr/wisestone/owl/mapper/ProjectRoleUserMapper.java
index e0e08f0..d613c1a 100644
--- a/src/main/java/kr/wisestone/owl/mapper/ProjectRoleUserMapper.java
+++ b/src/main/java/kr/wisestone/owl/mapper/ProjectRoleUserMapper.java
@@ -16,4 +16,6 @@
 
     List<Map<String, Object>> findProjectRoleUser(Map<String, Object> projectRoleUserMap);
 
+    Map<String, Object> findProjectManager(Long userId);
+
 }
diff --git a/src/main/java/kr/wisestone/owl/repository/CustomFieldRepository.java b/src/main/java/kr/wisestone/owl/repository/CustomFieldRepository.java
index 33ff470..e7afff6 100644
--- a/src/main/java/kr/wisestone/owl/repository/CustomFieldRepository.java
+++ b/src/main/java/kr/wisestone/owl/repository/CustomFieldRepository.java
@@ -7,10 +7,11 @@
 
 public interface CustomFieldRepository extends JpaRepository<CustomField, Long> {
 
-    CustomField findByNameAndWorkspaceId(@Param("name") String name, @Param("workspaceId") Long workspaceId);
+    CustomField findByNameAndWorkspaceIdAndUseFlag(@Param("name") String name, @Param("workspaceId") Long workspaceId, @Param("useFlag") String useFlag);
 
-    CustomField findByNameAndWorkspaceIdAndIdNot(@Param("name") String name, @Param("workspaceId") Long workspaceId, @Param("id") Long id);
+    CustomField findByNameAndWorkspaceIdAndIdNotAndUseFlag(@Param("name") String name, @Param("workspaceId") Long workspaceId, @Param("id") Long id, @Param("useFlag") String useFlag);
 
     List<CustomField> findByWorkspaceId(@Param("workspaceId") Long workspaceId);
-    
+
+
 }
diff --git a/src/main/java/kr/wisestone/owl/service/ProjectRoleUserService.java b/src/main/java/kr/wisestone/owl/service/ProjectRoleUserService.java
index a7afb29..8a31799 100644
--- a/src/main/java/kr/wisestone/owl/service/ProjectRoleUserService.java
+++ b/src/main/java/kr/wisestone/owl/service/ProjectRoleUserService.java
@@ -18,5 +18,7 @@
 
     List<Map<String, Object>> findProjectRoleUser(Map<String, Object> projectRoleUserMap);
 
+    Map<String, Object> findProjectManager(Long userId);
+
     boolean checkProjectManager(Project project);
 }
diff --git a/src/main/java/kr/wisestone/owl/service/impl/CustomFieldServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/CustomFieldServiceImpl.java
index 31af4eb..b541628 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/CustomFieldServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/CustomFieldServiceImpl.java
@@ -114,12 +114,12 @@
 
         CustomField customField;
         Long workspaceId = this.userService.getUser(this.webAppUtil.getLoginId()).getLastWorkspaceId();
-
+        String useFlag = "Y";
         if (id == null) {
-            customField = this.customFieldRepository.findByNameAndWorkspaceId(name, workspaceId);
+            customField = this.customFieldRepository.findByNameAndWorkspaceIdAndUseFlag(name, workspaceId, useFlag);
         }
         else {
-            customField = this.customFieldRepository.findByNameAndWorkspaceIdAndIdNot(name, workspaceId, id);
+            customField = this.customFieldRepository.findByNameAndWorkspaceIdAndIdNotAndUseFlag(name, workspaceId, id, useFlag);
         }
 
         if (customField != null) {
@@ -356,7 +356,8 @@
     @Override
     @Transactional(readOnly = true)
     public CustomField findByName(String name) {
-        return this.customFieldRepository.findByNameAndWorkspaceId(name, this.userService.getUser(this.webAppUtil.getLoginId()).getLastWorkspaceId());
+        String useFlag = "Y";
+        return this.customFieldRepository.findByNameAndWorkspaceIdAndUseFlag(name, this.userService.getUser(this.webAppUtil.getLoginId()).getLastWorkspaceId(), useFlag);
     }
 
     //  �궗�슜�옄 �젙�쓽 �븘�뱶 紐⑸줉�쓣 �뿊��濡� �떎�슫濡쒕뱶 �븳�떎.
diff --git a/src/main/java/kr/wisestone/owl/service/impl/ProjectRoleUserServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/ProjectRoleUserServiceImpl.java
index f158fe0..963602f 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/ProjectRoleUserServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/ProjectRoleUserServiceImpl.java
@@ -127,6 +127,13 @@
         return this.projectRoleUserMapper.findProjectRoleUser(projectRoleUserMap);
     }
 
+    //  �봽濡쒖젥�듃 愿�由ъ옄 議고쉶
+    @Override
+    @Transactional(readOnly = true)
+    public Map<String, Object> findProjectManager(Long userId) {
+        return this.projectRoleUserMapper.findProjectManager(userId);
+    }
+
     //  �봽濡쒖젥�듃 愿�由ъ옄 �뿬遺�瑜� �솗�씤�븳�떎.
     @Override
     @Transactional(readOnly = true)
diff --git a/src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java
index 5cf3422..f5f077d 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java
@@ -541,8 +541,12 @@
             User user = this.getUser(userCondition.getId());
             userVo = ConvertUtil.copyProperties(user, UserVo.class, "password");
             userVo.setAccount(CommonUtil.decryptAES128(userVo.getAccount()));
-        }
 
+            Map<String, Object> projectManagerYN = this.projectRoleUserService.findProjectManager((userCondition.getId()));
+            if(projectManagerYN != null){
+                userVo.setProjectManagerYN(true);
+            }
+        }
         resJsonData.put(Constants.RES_KEY_CONTENTS, userVo);
     }
 
diff --git a/src/main/java/kr/wisestone/owl/vo/UserVo.java b/src/main/java/kr/wisestone/owl/vo/UserVo.java
index 574694e..aedac75 100644
--- a/src/main/java/kr/wisestone/owl/vo/UserVo.java
+++ b/src/main/java/kr/wisestone/owl/vo/UserVo.java
@@ -29,6 +29,7 @@
     private Integer permission;
     private String licensekey;
     private Long sessionActiveTime; //  �겢�윭�뒪�꽣留� �솚寃쎌뿉�꽌 �젒�냽以묒씤 �궗�슜�옄 愿�由ъ뿉 �궗�슜
+    private Boolean projectManagerYN = Boolean.FALSE;
 
     public UserVo() {
     }
@@ -206,4 +207,11 @@
 
     public void setLastProjectId(Long id) { this.lastProjectId = id;}
 
+    public Boolean getProjectManagerYN() {
+        return projectManagerYN;
+    }
+
+    public void setProjectManagerYN(Boolean projectManagerYN) {
+        this.projectManagerYN = projectManagerYN;
+    }
 }
diff --git a/src/main/resources/mybatis/query-template/projectRoleUser-template.xml b/src/main/resources/mybatis/query-template/projectRoleUser-template.xml
index a7f28a9..e29aa62 100644
--- a/src/main/resources/mybatis/query-template/projectRoleUser-template.xml
+++ b/src/main/resources/mybatis/query-template/projectRoleUser-template.xml
@@ -42,5 +42,22 @@
         AND p.id = #{id}
     </select>
 
+    <!--    �봽濡쒖젥�듃�뿉 愿�由ъ옄 議고쉶   -->
+    <select id="findProjectManager" resultType="java.util.HashMap">
+        SELECT
+        DISTINCT u.id as id,
+        u.name as name,
+        u.account as account,
+        u.status as status,
+        pr.role_type as roleType
+        FROM
+        project p
+        INNER JOIN project_role pr on p.id = pr.project_id
+        INNER JOIN project_role_user pru on pru.project_role_id = pr.id
+        INNER JOIN user u on u.id = pru.user_id
+        WHERE pr.role_type = 02
+        AND u.id = #{userId}
+    </select>
+
 
 </mapper>
\ No newline at end of file
diff --git a/src/main/webapp/scripts/app/user/userModify.controller.js b/src/main/webapp/scripts/app/user/userModify.controller.js
index b4c7dc5..b780eb4 100644
--- a/src/main/webapp/scripts/app/user/userModify.controller.js
+++ b/src/main/webapp/scripts/app/user/userModify.controller.js
@@ -29,7 +29,8 @@
                         reservationNotifyTime : "", //  �씠硫붿씪 �븣由� �떆媛�
                         realtimeNotify : "", // �씠硫붿씪 �떎�떆媛�
                         profileImage : null, //   �뾽濡쒕뱶�븯�뒗 �봽濡쒗븘
-                        profileImageName : null  //  �봽濡쒗븘 紐�
+                        profileImageName : null,  //  �봽濡쒗븘 紐�
+                        projectManagerYN : false
                     }
                 };
 
@@ -84,6 +85,7 @@
                             $scope.vm.form.name = result.data.data.name;
                             $scope.vm.form.account = result.data.data.account;
                             $scope.vm.form.phone = result.data.data.phone;
+                            $scope.vm.form.projectManagerYN = result.data.data.projectManagerYN;
                             if(result.data.data.reservationNotifyTime === "realTime"){
                                 $scope.vm.form.realtimeNotify = true;
                             }else{
diff --git a/src/main/webapp/views/user/userModify.html b/src/main/webapp/views/user/userModify.html
index a1003ab..5ad3292 100644
--- a/src/main/webapp/views/user/userModify.html
+++ b/src/main/webapp/views/user/userModify.html
@@ -32,7 +32,7 @@
                 </div>
             </div>
 
-            <div ng-show="" class="row">
+            <div ng-show="vm.form.projectManagerYN" class="row">
                 <div class="col-sm-6">
                     <div class="form-group">
                         <label for="userModifyForm3"><span translate="users.setEmailNotificationTime">�씠硫붿씪 �븣由� �떆媛� �꽕�젙</span> <code class="highlighter-rouge">*</code></label>

--
Gitblit v1.8.0