OWL ITS + 탐지시스템(인터넷 진흥원)
wyu
2021-12-03 c8da4f407495ad3aaf8c465d5efcc67264fdd344
Merge branch 'master' of http://192.168.0.25:9001/r/owl-kisa
12개 파일 변경됨
77 ■■■■ 파일 변경됨
src/main/java/kr/wisestone/owl/domain/CustomField.java 10 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/domain/User.java 3 ●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/mapper/ProjectRoleUserMapper.java 2 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/repository/CustomFieldRepository.java 7 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/service/ProjectRoleUserService.java 2 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/service/impl/CustomFieldServiceImpl.java 9 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/service/impl/ProjectRoleUserServiceImpl.java 7 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java 6 ●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/vo/UserVo.java 8 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/resources/mybatis/query-template/projectRoleUser-template.xml 17 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/scripts/app/user/userModify.controller.js 4 ●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/views/user/userModify.html 2 ●●● 패치 | 보기 | raw | blame | 히스토리
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;
    }
}
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";    // 추가 타입(일반)
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);
}
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);
}
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);
}
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);
    }
    //  사용자 정의 필드 목록을 엑셀로 다운로드 한다.
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)
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);
    }
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;
    }
}
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>
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{
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>