From 8abf5efd48aba1cfc101966bd4f420e463d41dcd Mon Sep 17 00:00:00 2001
From: wyu <kknd09321@nate.com>
Date: 수, 03 11월 2021 20:47:54 +0900
Subject: [PATCH] defaultYn 추가 basicUser 추가 엑셀, 상세조회 진행중 일반회원 조회 추가 V1_10 Table 변경(데이터 삭제후 진행)

---
 src/main/java/kr/wisestone/owl/domain/UserLevel.java                   |   18 +++
 src/main/java/kr/wisestone/owl/web/controller/UserLevelController.java |   21 +++
 src/main/resources/migration/V1_10__Alter_Table.sql                    |    5 
 src/main/resources/mybatis/query-template/user-template.xml            |    2 
 src/main/java/kr/wisestone/owl/service/impl/UserLevelServiceImpl.java  |  149 ++++++++++++++++++++++++++---
 src/main/resources/mybatis/query-template/userLevel-template.xml       |    3 
 src/main/java/kr/wisestone/owl/constant/MsgConstants.java              |    4 
 src/main/java/kr/wisestone/owl/service/UserLevelService.java           |   16 +++
 src/main/java/kr/wisestone/owl/vo/UserLevelVo.java                     |   18 +++
 src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java       |    9 +
 src/main/java/kr/wisestone/owl/web/form/UserLevelForm.java             |   18 +++
 src/main/java/kr/wisestone/owl/domain/User.java                        |    8 
 src/main/java/kr/wisestone/owl/repository/UserLevelRepository.java     |    5 +
 src/main/java/kr/wisestone/owl/web/condition/UserLevelCondition.java   |   18 +++
 14 files changed, 265 insertions(+), 29 deletions(-)

diff --git a/src/main/java/kr/wisestone/owl/constant/MsgConstants.java b/src/main/java/kr/wisestone/owl/constant/MsgConstants.java
index d8e0a84..3660334 100644
--- a/src/main/java/kr/wisestone/owl/constant/MsgConstants.java
+++ b/src/main/java/kr/wisestone/owl/constant/MsgConstants.java
@@ -207,5 +207,9 @@
     public static final String USER_LEVEL_ALREADY_IN_USE = "USER_LEVEL_ALREADY_IN_USE"; // �궗�슜�옄 �벑湲됱쓣 �궗�슜�븯怨� �엳�뒗 �궗�슜�옄媛� �엳�뒿�땲�떎.
     public static final String USER_LEVEL_ALREADY = "USER_LEVEL_ALREADY"; // �궗�슜�옄 �벑湲됱쓣 �궗�슜�븯怨� �엳�뒗 �궗�슜�옄媛� �엳�뒿�땲�떎.
     public static final String USER_LEVEL_PERMISSION_DENIED = "USER_LEVEL_PERMISSION_DENIED"; // �궗�슜�옄 �벑湲� �젙蹂대�� �닔�젙�븷�닔 �뾾�뒿�땲�떎.
+    public static final String USER_LEVEL_NOT_EXIST = "USER_LEVEL_NOT_EXIST";   //  �궗�슜�옄 �벑湲됱씠 議댁옱�븯吏� �븡�뒿�땲�떎.
+
+    public static final String USER_LEVEL_NOT_DELETE = "USER_LEVEL_NOT_DELETE";   // 湲곕낯 �궗�슜�옄 �벑湲됱� �궘�젣�븷�닔 �뾾�뒿�땲�떎.
+
 
 }
diff --git a/src/main/java/kr/wisestone/owl/domain/User.java b/src/main/java/kr/wisestone/owl/domain/User.java
index 29b8f96..5674d6c 100644
--- a/src/main/java/kr/wisestone/owl/domain/User.java
+++ b/src/main/java/kr/wisestone/owl/domain/User.java
@@ -310,10 +310,10 @@
         return this.userLevel.getPermission();
     }
 
-    // TEST
-    //public void setPermission(Integer permission) {
-    //    this.userLevel.setPermission(permission);
-    //}
+    // wyu - TEST
+//    public void setPermission(Integer permission) {
+//        this.userLevel.setPermission(permission);
+//    }
 
     public String getLicensekey() {
         return licensekey;
diff --git a/src/main/java/kr/wisestone/owl/domain/UserLevel.java b/src/main/java/kr/wisestone/owl/domain/UserLevel.java
index 4097324..2171d8f 100644
--- a/src/main/java/kr/wisestone/owl/domain/UserLevel.java
+++ b/src/main/java/kr/wisestone/owl/domain/UserLevel.java
@@ -13,6 +13,8 @@
     private Long id;
     private String levelName;
     private Integer permission;
+    private String defaultYn;
+    private String basicUser;
 
     public UserLevel() {
     }
@@ -40,4 +42,20 @@
     public void setPermission(Integer permission) {
         this.permission = permission;
     }
+
+    public String getDefaultYn() {
+        return defaultYn;
+    }
+
+    public void setDefaultYn(String defaultYn) {
+        this.defaultYn = defaultYn;
+    }
+
+    public String getBasicUser() {
+        return basicUser;
+    }
+
+    public void setBasicUser(String basicUser) {
+        this.basicUser = basicUser;
+    }
 }
diff --git a/src/main/java/kr/wisestone/owl/repository/UserLevelRepository.java b/src/main/java/kr/wisestone/owl/repository/UserLevelRepository.java
index 4e3e6fd..6716d05 100644
--- a/src/main/java/kr/wisestone/owl/repository/UserLevelRepository.java
+++ b/src/main/java/kr/wisestone/owl/repository/UserLevelRepository.java
@@ -1,8 +1,13 @@
 package kr.wisestone.owl.repository;
 
+import kr.wisestone.owl.domain.User;
 import kr.wisestone.owl.domain.UserLevel;
 import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.repository.query.Param;
+
+import java.util.List;
 
 public interface UserLevelRepository extends JpaRepository<UserLevel, Long> {
 
+    List<UserLevel> findByBasicUser(@Param("basicUser") String basicUser);
 }
diff --git a/src/main/java/kr/wisestone/owl/service/UserLevelService.java b/src/main/java/kr/wisestone/owl/service/UserLevelService.java
index 6d2f137..365996e 100644
--- a/src/main/java/kr/wisestone/owl/service/UserLevelService.java
+++ b/src/main/java/kr/wisestone/owl/service/UserLevelService.java
@@ -1,5 +1,6 @@
 package kr.wisestone.owl.service;
 
+import kr.wisestone.owl.domain.Qna;
 import kr.wisestone.owl.domain.UserLevel;
 import kr.wisestone.owl.vo.UserLevelVo;
 import kr.wisestone.owl.web.condition.UserCondition;
@@ -8,8 +9,11 @@
 import kr.wisestone.owl.web.form.UserLevelForm;
 import org.springframework.data.domain.Pageable;
 import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.ui.Model;
 import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.servlet.ModelAndView;
 
+import javax.servlet.http.HttpServletRequest;
 import java.util.List;
 import java.util.Map;
 
@@ -18,10 +22,22 @@
 
     UserLevel addSuperUserLevel();
 
+    UserLevel addNormalUserLevel();
+
+    UserLevel addNormalAdminUserLevel();
+
     List<UserLevelVo> findUser(Map<String, Object> resJsonData,
                                     UserLevelCondition make, Pageable pageable);
+
+    UserLevel getUserLevel(Long id);
+
+    UserLevel getBasicUserLevel();
 
     void modifyUserLevel(UserLevelForm userLevelForm);
 
     void removeUserLevel(UserLevelForm userLevelForm);
+
+    void detailUserLevel(Map<String, Object> resJsonData, UserLevelCondition make);
+
+    ModelAndView downloadExcel(HttpServletRequest request, Model model);
 }
diff --git a/src/main/java/kr/wisestone/owl/service/impl/UserLevelServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/UserLevelServiceImpl.java
index 23a7a91..b721a16 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/UserLevelServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/UserLevelServiceImpl.java
@@ -1,32 +1,40 @@
 package kr.wisestone.owl.service.impl;
 
 import com.google.common.collect.Lists;
+import kr.wisestone.owl.common.ExcelConditionCheck;
 import kr.wisestone.owl.constant.Constants;
 import kr.wisestone.owl.constant.MngPermission;
 import kr.wisestone.owl.constant.MsgConstants;
-import kr.wisestone.owl.domain.User;
-import kr.wisestone.owl.domain.UserLevel;
+import kr.wisestone.owl.domain.*;
 import kr.wisestone.owl.exception.OwlRuntimeException;
 import kr.wisestone.owl.mapper.UserLevelMapper;
 import kr.wisestone.owl.mapper.UserMapper;
 import kr.wisestone.owl.repository.UserLevelRepository;
 import kr.wisestone.owl.service.UserLevelService;
 import kr.wisestone.owl.service.UserService;
+import kr.wisestone.owl.service.WorkspaceService;
 import kr.wisestone.owl.util.CommonUtil;
 import kr.wisestone.owl.util.ConvertUtil;
-import kr.wisestone.owl.vo.ResPage;
-import kr.wisestone.owl.vo.UserLevelVo;
-import kr.wisestone.owl.vo.UserVo;
+import kr.wisestone.owl.vo.*;
+import kr.wisestone.owl.web.condition.IssueStatusCondition;
 import kr.wisestone.owl.web.condition.UserCondition;
 import kr.wisestone.owl.web.condition.UserLevelCondition;
+import kr.wisestone.owl.web.condition.WorkflowCondition;
 import kr.wisestone.owl.web.form.ManageUserForm;
+import kr.wisestone.owl.web.form.ProjectForm;
 import kr.wisestone.owl.web.form.UserLevelForm;
+import kr.wisestone.owl.web.view.ExcelView;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Pageable;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.ui.Model;
 import org.springframework.util.StringUtils;
+import org.springframework.web.servlet.ModelAndView;
 
+import javax.servlet.http.HttpServletRequest;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -42,6 +50,18 @@
     @Autowired
     private UserService userService;
 
+    @Autowired
+    private UserLevelService userLevelService;
+
+    @Autowired
+    private WorkspaceService workspaceService;
+
+    @Autowired
+    private ExcelView excelView;
+
+    @Autowired
+    private ExcelConditionCheck excelConditionCheck;
+
     @Override
     protected JpaRepository<UserLevel, Long> getRepository() {
         return this.userLevelRepository;
@@ -55,22 +75,34 @@
         userLevelRepository.saveAndFlush(userLevel);
         return userLevel;
     }
-
-    // 理쒓퀬愿�由ъ옄 �벑湲� 異붽�
     @Override
     public UserLevel addSuperUserLevel() {
-        UserLevel userLevel = new UserLevel();
-        userLevel.setLevelName("理쒓퀬愿�由ъ옄");
-        userLevel.setPermission(MngPermission.makeAllPermission());
+        return  addUserLevel("理쒓퀬愿�由ъ옄", MngPermission.makeAllPermission(),"Y", "N");
+    }
 
-        userLevel = userLevelRepository.saveAndFlush(userLevel);
-        return userLevel;
+    public UserLevel addNormalUserLevel() {
+        return  addUserLevel("�씪諛섑쉶�썝", 0,"Y" , "Y");
+    }
+
+    public UserLevel addNormalAdminUserLevel() {
+        return  addUserLevel("�씪諛섍�由ъ옄", MngPermission.makeSubAllPermission(),"N", "N");
+    }
+
+    // �궗�슜�옄 �벑湲� 異붽�
+    public UserLevel addUserLevel(String name, Integer permission, String defaultYn, String basicUser) {
+        UserLevel userLevel = new UserLevel();
+        userLevel.setLevelName(name);
+        userLevel.setPermission(permission);
+        userLevel.setDefaultYn(defaultYn);
+        userLevel.setBasicUser(basicUser);
+
+        return userLevelRepository.saveAndFlush(userLevel);
     }
 
     // �궗�슜�옄 �벑湲� 紐⑸줉�쓣 媛��졇�삩�떎.
     @Override
     public List<UserLevelVo> findUser(Map<String, Object> resJsonData,
-                                           UserLevelCondition condition, Pageable pageable) {
+                                      UserLevelCondition condition, Pageable pageable) {
 
         condition.setPage(pageable.getPageNumber() * pageable.getPageSize());
         condition.setPageSize(pageable.getPageSize());
@@ -80,19 +112,72 @@
 
         return this.convertUserLevelVoToMap(results, totalUsersCount, pageable, resJsonData);
     }
+
+    // �궗�슜�옄 �벑湲� ID濡� 議고쉶�븳�떎.
+    @Override
+    public UserLevel getUserLevel(Long id) {
+        if (id == null) {
+            throw new OwlRuntimeException(
+                    this.messageAccessor.getMessage(MsgConstants.USER_LEVEL_NOT_EXIST));
+        }
+
+        UserLevel userLevel = this.findOne(id);
+
+        if (userLevel == null) {
+            throw new OwlRuntimeException(
+                    this.messageAccessor.getMessage(MsgConstants.USER_LEVEL_NOT_EXIST));
+        }
+
+        return userLevel;
+    }
+
+    @Override
+    public UserLevel getBasicUserLevel() {
+        List<UserLevel> userLevels = userLevelRepository.findByBasicUser("Y");
+        if (userLevels.size() > 0) {
+            return  userLevels.get(0);
+        }
+        return null;
+    }
+
+    // �궗�슜�옄 �벑湲� �긽�꽭 議고쉶�븳�떎.
+    @Override
+    public void detailUserLevel(Map<String, Object> resJsonData, UserLevelCondition userLevelCondition) {
+        UserLevelVo userLevelVo = new UserLevelVo();
+
+        if (userLevelCondition.getId() != null) {
+            UserLevel userLevel = this.getUserLevel(userLevelCondition.getId());
+            userLevelVo = ConvertUtil.copyProperties(userLevel, UserLevelVo.class);
+        }
+        resJsonData.put(Constants.RES_KEY_CONTENTS, userLevelVo);
+    }
+
+
     //  �궗�슜�옄 �벑湲� �젙蹂대�� �닔�젙�븳�떎.
     @Override
     public void modifyUserLevel(UserLevelForm userLevelForm) {
-        userLevelForm.makePermission();
-        UserLevel userLevel = ConvertUtil.copyProperties(userLevelForm, UserLevel.class);
-        userLevelRepository.saveAndFlush(userLevel);
+        if (userLevelForm.getId() == 1){        // �궗�슜�옄 �벑湲됱씠 理쒓퀬愿�由ъ옄�씠�뼱�빞留� �젙蹂대�� �닔�젙�븷�닔 �엳�떎.
+            userLevelForm.makePermission();
+            UserLevel userLevel = ConvertUtil.copyProperties(userLevelForm, UserLevel.class);
+            userLevelRepository.saveAndFlush(userLevel);
+        } else {
+            throw new OwlRuntimeException(
+                    this.messageAccessor.getMessage(MsgConstants.USER_LEVEL_PERMISSION_DENIED));
+        }
     }
 
+    // �궗�슜�옄 �벑湲됱쓣 �궘�젣�븳�떎.
     @Override
     public void removeUserLevel(UserLevelForm userLevelForm) {
         if (userLevelForm.getRemoveIds().size() < 1) {
             throw new OwlRuntimeException(
                     this.messageAccessor.getMessage(MsgConstants.PROJECT_REMOVE_NOT_SELECT));
+        }
+
+        // 湲곕낯 �궗�슜�옄 �벑湲� �궘�젣 泥댄겕
+        if (userLevelForm.getDefaultYn() == "Y") {
+            throw new OwlRuntimeException(
+                    this.messageAccessor.getMessage(MsgConstants.USER_LEVEL_NOT_DELETE));
         }
 
         for (Long id : userLevelForm.getRemoveIds()) {
@@ -103,9 +188,9 @@
                         this.messageAccessor.getMessage(MsgConstants.USER_LEVEL_ALREADY_IN_USE));
             }
         }
-
         this.userLevelRepository.flush();
     }
+
 
     //  寃��깋 寃곌낵瑜� UserLevelVo 濡� 蹂��솚�븳�떎.
     private List<UserLevelVo> convertUserLevelVoToMap(List<Map<String, Object>> results, Long totalUsersCount, Pageable pageable, Map<String, Object> resJsonData) {
@@ -126,4 +211,34 @@
         return userLevelVos;
     }
 
+    //  �궗�슜�옄 紐⑸줉�쓣 �뿊��濡� �떎�슫濡쒕뱶 �븳�떎.
+    @Override
+    public ModelAndView downloadExcel(HttpServletRequest request, Model model) {
+        ModelAndView modelAndView = this.workspaceService.checkUseExcelDownload(model);
+        if (modelAndView != null) {
+            return modelAndView;
+        }
+
+        Map<String, Object> conditions = new HashMap<>();
+        //  �뿊�� �떎�슫濡쒕뱶�뿉 �븘�슂�븳 寃��깋 議곌굔 �젙蹂대�� 異붿텧�븯怨� 寃��깋 議곌굔 異붿텧�뿉 �삤瑜섍� 諛쒖깮�븯硫� 寃쎄퀬瑜� �몴�떆�빐以��떎.
+        modelAndView = this.excelConditionCheck.checkCondition(conditions, request, model);
+        if (modelAndView != null) {
+            return modelAndView;
+        }
+
+        UserLevelCondition userLevelCondition = UserLevelCondition.make(conditions);
+        userLevelCondition.setLevelName(this.userLevelService.getUserLevel(this.webAppUtil.getLoginId()).getLevelName());
+        List<Map<String, Object>> results = this.userLevelMapper.find(userLevelCondition);
+        List<UserLevelVo> userLevelVos = ConvertUtil.convertListToListClass(results, UserLevelVo.class);
+
+        ExportExcelVo excelInfo = new ExportExcelVo();
+        excelInfo.setFileName(this.messageAccessor.message("�궗�슜�옄 紐⑸줉"));
+        excelInfo.addAttrInfos(new ExportExcelAttrVo("levelName", "�벑湲됰챸", 6, ExportExcelAttrVo.ALIGN_CENTER));
+        excelInfo.setDatas(userLevelVos);
+
+        model.addAttribute(Constants.EXCEL, excelInfo);
+        return new ModelAndView(this.excelView);
+    }
+
+
 }
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 f8566be..8a7253e 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java
@@ -228,7 +228,8 @@
 
             this.userInviteService.includePrimaryWorkspace(user, primaryWorkspace);
 
-
+            UserLevel userLevel = this.userLevelService.getBasicUserLevel();
+            user.setUserLevel(userLevel);
 
             // edit by zenith for permission at 20200803
             /*user.setPermission(MngPermission.USER_PERMISSION_MNG_NONE);*/
@@ -238,6 +239,10 @@
 
             UserLevel userLevel = this.userLevelService.addSuperUserLevel();
             user.setUserLevel(userLevel);
+
+            this.userLevelService.addNormalAdminUserLevel();
+
+            this.userLevelService.addNormalUserLevel();
 
             // DepartmentManagement�뿉 �엫�떆濡� Name, Description 媛� 異붽�
             DepartmentManagementForm departmentManagementForm = new DepartmentManagementForm();
@@ -1194,7 +1199,7 @@
     @Transactional(readOnly = true)
     public User getUserSession(Map<String, Object> resJsonData, HttpServletRequest httpServletRequest) {
         User user = this.getUser(this.webAppUtil.getLoginId());
-        UserVo userVo = ConvertUtil.copyProperties(user, UserVo.class, "password", "permission");
+        UserVo userVo = ConvertUtil.copyProperties(user, UserVo.class, "password","permission"); // wyu - ignores permission ??
         // user�뿉�꽌 Permission 媛믪쓣 媛��졇���꽌 userVo �뿉 setPermission �븿
         userVo.setPermission(user.getPermission());
         userVo.setAccount(CommonUtil.decryptAES128(userVo.getAccount()));
diff --git a/src/main/java/kr/wisestone/owl/vo/UserLevelVo.java b/src/main/java/kr/wisestone/owl/vo/UserLevelVo.java
index d0e51a8..50c74f0 100644
--- a/src/main/java/kr/wisestone/owl/vo/UserLevelVo.java
+++ b/src/main/java/kr/wisestone/owl/vo/UserLevelVo.java
@@ -13,6 +13,8 @@
     private Long id;
     private String levelName;
     private Integer permission;
+    private String defaultYn;
+    private String basicUser;
 
     public Boolean permWorkSpaceSetting;
     public Boolean permProjectSetting;
@@ -57,6 +59,22 @@
 
     public void setPermission(Integer permission) { this.permission = permission; }
 
+    public String getDefaultYn() {
+        return defaultYn;
+    }
+
+    public void setDefaultYn(String defaultYn) {
+        this.defaultYn = defaultYn;
+    }
+
+    public String getBasicUser() {
+        return basicUser;
+    }
+
+    public void setBasicUser(String basicUser) {
+        this.basicUser = basicUser;
+    }
+
     public Boolean getModifyPermissionCheck() {
         return modifyPermissionCheck;
     }
diff --git a/src/main/java/kr/wisestone/owl/web/condition/UserLevelCondition.java b/src/main/java/kr/wisestone/owl/web/condition/UserLevelCondition.java
index 5ed07f0..12229d3 100644
--- a/src/main/java/kr/wisestone/owl/web/condition/UserLevelCondition.java
+++ b/src/main/java/kr/wisestone/owl/web/condition/UserLevelCondition.java
@@ -14,6 +14,8 @@
     private Long id;
     private String levelName;
     private Integer permission;
+    private String defaultYn;
+    private String basicUser;
     private Integer page;
     private Integer pageSize;
 
@@ -45,6 +47,22 @@
         this.permission = permission;
     }
 
+    public String getDefaultYn() {
+        return defaultYn;
+    }
+
+    public void setDefaultYn(String defaultYn) {
+        this.defaultYn = defaultYn;
+    }
+
+    public String getBasicUser() {
+        return basicUser;
+    }
+
+    public void setBasicUser(String basicUser) {
+        this.basicUser = basicUser;
+    }
+
     public Integer getPage() {
         return page;
     }
diff --git a/src/main/java/kr/wisestone/owl/web/controller/UserLevelController.java b/src/main/java/kr/wisestone/owl/web/controller/UserLevelController.java
index 802cf45..aaebf39 100644
--- a/src/main/java/kr/wisestone/owl/web/controller/UserLevelController.java
+++ b/src/main/java/kr/wisestone/owl/web/controller/UserLevelController.java
@@ -5,6 +5,7 @@
 import kr.wisestone.owl.service.UserLevelService;
 import kr.wisestone.owl.service.UserService;
 import kr.wisestone.owl.util.ConvertUtil;
+import kr.wisestone.owl.web.condition.NoticeCondition;
 import kr.wisestone.owl.web.condition.UserCondition;
 import kr.wisestone.owl.web.condition.UserLevelCondition;
 import kr.wisestone.owl.web.form.UserForm;
@@ -56,6 +57,17 @@
         return this.setSuccessMessage(resJsonData);
     }
 
+    //  �궗�슜�옄�벑湲� �긽�꽭 議고쉶
+    @RequestMapping(value = "/userLevel/detail", produces = MediaType.APPLICATION_JSON_VALUE)
+    public
+    @ResponseBody
+    Map<String, Object> detail(@RequestBody Map<String, Map<String, Object>> params) {
+        Map<String, Object> resJsonData = new HashMap<>();
+        this.userLevelService.detailUserLevel(resJsonData, UserLevelCondition.make(params.get(Constants.REQ_KEY_CONTENT)));
+
+        return this.setSuccessMessage(resJsonData);
+    }
+
     //  �궗�슜�옄�벑湲� �닔�젙
     @RequestMapping(value = "/userLevel/modify", produces = MediaType.APPLICATION_JSON_VALUE)
     public
@@ -81,11 +93,12 @@
         return this.setSuccessMessage(resJsonData);
     }
 
+
     //  �궗�슜�옄 �벑湲� �뿊�� �떎�슫濡쒕뱶
-//    @RequestMapping(value = "/userLevel/downloadExcel", method = RequestMethod.POST)
-//    public ModelAndView downloadExcel(HttpServletRequest request, Model model) {
-//        return this.userService.downloadExcel(model);
-//    }
+    @RequestMapping(value = "/userLevel/downloadExcel", method = RequestMethod.POST)
+    public ModelAndView downloadExcel(HttpServletRequest request, Model model) {
+        return this.userLevelService.downloadExcel(request, model);
+    }
 
     /*//  �씠踰ㅽ듃 �떦泥⑥옄 �뿊�� �떎�슫濡쒕뱶
     @RequestMapping(value = "/user/downloadExcelEvent", method = RequestMethod.POST)
diff --git a/src/main/java/kr/wisestone/owl/web/form/UserLevelForm.java b/src/main/java/kr/wisestone/owl/web/form/UserLevelForm.java
index 29438da..f051733 100644
--- a/src/main/java/kr/wisestone/owl/web/form/UserLevelForm.java
+++ b/src/main/java/kr/wisestone/owl/web/form/UserLevelForm.java
@@ -17,6 +17,8 @@
     private Long id;
     private String levelName;
     private Integer permission;
+    private String defaultYn;
+    private String basicUser;
 
     private List<Long> removeIds = Lists.newArrayList();
     public Boolean permWorkspaceSetting;
@@ -68,6 +70,22 @@
         this.permission = permission;
     }
 
+    public String getDefaultYn() {
+        return defaultYn;
+    }
+
+    public void setDefaultYn(String defaultYn) {
+        this.defaultYn = defaultYn;
+    }
+
+    public String getBasicUser() {
+        return basicUser;
+    }
+
+    public void setBasicUser(String basicUser) {
+        this.basicUser = basicUser;
+    }
+
     public Boolean getPermWorkspaceSetting() {
         return permWorkspaceSetting;
     }
diff --git a/src/main/resources/migration/V1_10__Alter_Table.sql b/src/main/resources/migration/V1_10__Alter_Table.sql
index dedf1fe..94a4154 100644
--- a/src/main/resources/migration/V1_10__Alter_Table.sql
+++ b/src/main/resources/migration/V1_10__Alter_Table.sql
@@ -21,5 +21,8 @@
     `register_date` TIMESTAMP NULL COMMENT 'register_date',
     `modify_id` BIGINT(20) NOT NULL COMMENT 'modify_id',
     `modify_date` TIMESTAMP NULL COMMENT 'modify_date',
+    `default_yn` VARCHAR (1) NOT NULL DEFAULT 'N',
+    `basic_user` VARCHAR (1) NOT NULL DEFAULT 'N',
     PRIMARY KEY (`id`) USING btree
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
\ No newline at end of file
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
diff --git a/src/main/resources/mybatis/query-template/user-template.xml b/src/main/resources/mybatis/query-template/user-template.xml
index 93a60ef..0ab56f2 100644
--- a/src/main/resources/mybatis/query-template/user-template.xml
+++ b/src/main/resources/mybatis/query-template/user-template.xml
@@ -173,7 +173,7 @@
     <select id="findByLevelId" resultType="java.lang.Long" parameterType="java.lang.Long">
         SELECT count(u.id)
         FROM user u
-        WHERE u.level_id = #{levelId}
+        WHERE u.level_id = #{id}
     </select>
 
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/mybatis/query-template/userLevel-template.xml b/src/main/resources/mybatis/query-template/userLevel-template.xml
index e967c0e..629dd12 100644
--- a/src/main/resources/mybatis/query-template/userLevel-template.xml
+++ b/src/main/resources/mybatis/query-template/userLevel-template.xml
@@ -14,6 +14,9 @@
         <if test="levelName != '' and levelName != null">
             AND ul.level_name like CONCAT('%',#{levelName},'%')
         </if>
+        <if test="id != '' and id != null">
+            AND ul.id like CONCAT('%',#{id},'%')
+        </if>
         limit #{pageSize} offset #{page};
     </select>
 

--
Gitblit v1.8.0