From a4efd2c5d8f2c31d3bfb6860c58af5cb62606c9a Mon Sep 17 00:00:00 2001 From: wyu <kknd09321@nate.com> Date: 금, 05 11월 2021 10:51:38 +0900 Subject: [PATCH] 부서관리 테이블 변경 및 언어팩 수정 --- src/main/resources/migration/V1_10__Alter_Table.sql | 2 src/main/java/kr/wisestone/owl/service/impl/UserLevelServiceImpl.java | 2 src/main/java/kr/wisestone/owl/vo/DepartmentManageVo.java | 6 src/main/java/kr/wisestone/owl/service/impl/UserWorkspaceServiceImpl.java | 21 + /dev/null | 67 ------ src/main/java/kr/wisestone/owl/mapper/UserLevelMapper.java | 12 - src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java | 19 - src/main/java/kr/wisestone/owl/repository/DepartmentManageRepository.java | 8 src/main/java/kr/wisestone/owl/service/DepartmentManageService.java | 20 ++ src/main/java/kr/wisestone/owl/domain/DepartmentManage.java | 4 src/main/java/kr/wisestone/owl/domain/User.java | 13 src/main/java/kr/wisestone/owl/service/impl/DepartmentManageServiceImpl.java | 141 ++++++++++++++ src/main/java/kr/wisestone/owl/web/form/DepartmentManageForm.java | 8 src/main/java/kr/wisestone/owl/web/controller/DepartmentManageController.java | 100 ++++++++++ src/main/java/kr/wisestone/owl/mapper/DepartmentManageMapper.java | 19 + src/main/java/kr/wisestone/owl/web/condition/DepartmentManageCondition.java | 61 ++++++ src/main/webapp/WEB-INF/i18n/code_ko_KR.properties | 4 src/main/resources/mybatis/query-template/departmentManage-template.xml | 35 +++ 18 files changed, 425 insertions(+), 117 deletions(-) diff --git a/src/main/java/kr/wisestone/owl/domain/DepartmentManagement.java b/src/main/java/kr/wisestone/owl/domain/DepartmentManage.java similarity index 89% rename from src/main/java/kr/wisestone/owl/domain/DepartmentManagement.java rename to src/main/java/kr/wisestone/owl/domain/DepartmentManage.java index 5586e9e..2cf87de 100644 --- a/src/main/java/kr/wisestone/owl/domain/DepartmentManagement.java +++ b/src/main/java/kr/wisestone/owl/domain/DepartmentManage.java @@ -7,7 +7,7 @@ import java.io.Serializable; @Entity -public class DepartmentManagement extends BaseEntity implements Serializable { +public class DepartmentManage extends BaseEntity implements Serializable { private static final long serialVersionUID = 1L; @@ -17,7 +17,7 @@ private String departmentName; private String departmentDescription; - public DepartmentManagement() { + public DepartmentManage() { } public Long getId() { diff --git a/src/main/java/kr/wisestone/owl/domain/User.java b/src/main/java/kr/wisestone/owl/domain/User.java index 5674d6c..326836d 100644 --- a/src/main/java/kr/wisestone/owl/domain/User.java +++ b/src/main/java/kr/wisestone/owl/domain/User.java @@ -1,7 +1,6 @@ package kr.wisestone.owl.domain; import kr.wisestone.owl.domain.enumType.SocialType; -import kr.wisestone.owl.util.CommonUtil; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.userdetails.UserDetails; import javax.persistence.*; @@ -65,9 +64,9 @@ @JoinColumn(name="level_id") private UserLevel userLevel; - @ManyToOne(targetEntity = DepartmentManagement.class, fetch = FetchType.LAZY) + @ManyToOne(targetEntity = DepartmentManage.class, fetch = FetchType.LAZY) @JoinColumn(name="department_id") - private DepartmentManagement departmentManagement; + private DepartmentManage departmentManage; public User() { @@ -79,12 +78,12 @@ this.account = account; } - public DepartmentManagement getDepartmentId() { - return departmentManagement; + public DepartmentManage getDepartmentManage() { + return departmentManage; } - public void setDepartmentId(DepartmentManagement department) { - this.departmentManagement = department; + public void setDepartmentManage(DepartmentManage departmentManage) { + this.departmentManage = departmentManage; } public UserLevel getUserLevel() { diff --git a/src/main/java/kr/wisestone/owl/mapper/DepartmentManageMapper.java b/src/main/java/kr/wisestone/owl/mapper/DepartmentManageMapper.java new file mode 100644 index 0000000..987f487 --- /dev/null +++ b/src/main/java/kr/wisestone/owl/mapper/DepartmentManageMapper.java @@ -0,0 +1,19 @@ +package kr.wisestone.owl.mapper; + +import kr.wisestone.owl.web.condition.DepartmentManageCondition; +import org.springframework.stereotype.Repository; + +import java.util.List; +import java.util.Map; + +/** + * Created by wisestone on 2018-02-26. + */ +@Repository +public interface DepartmentManageMapper { + List<Map<String, Object>> find(DepartmentManageCondition departmentManageCondition); + + Long count(DepartmentManageCondition departmentManageCondition); + + List<Map<String, Object>> findEvent(); +} diff --git a/src/main/java/kr/wisestone/owl/mapper/DepartmentManagementMapper.java b/src/main/java/kr/wisestone/owl/mapper/DepartmentManagementMapper.java deleted file mode 100644 index 031886a..0000000 --- a/src/main/java/kr/wisestone/owl/mapper/DepartmentManagementMapper.java +++ /dev/null @@ -1,33 +0,0 @@ -package kr.wisestone.owl.mapper; - -import kr.wisestone.owl.web.condition.DepartmentManagementCondition; -import kr.wisestone.owl.web.condition.DepartmentManagementCondition; -import org.springframework.stereotype.Repository; - -import java.util.List; -import java.util.Map; - -/** - * Created by wisestone on 2018-02-26. - */ -@Repository -public interface DepartmentManagementMapper { - List<Map<String, Object>> find(DepartmentManagementCondition departmentManagementCondition); - - List<Map<String, Object>> findAdmin(); - - List<Map<String, Object>> findProjectMember(DepartmentManagementCondition DepartmentManagementCondition); - - Long count(DepartmentManagementCondition DepartmentManagementCondition); - - void deleteCascadeUser(DepartmentManagementCondition DepartmentManagementCondition); - - List<Map<String, Object>> findByReservationNotifyTime(Map<String, Object> conditions); - - List<Map<String, Object>> findByAllWorkspace(DepartmentManagementCondition DepartmentManagementCondition); - - Long countByAllWorkspace(DepartmentManagementCondition DepartmentManagementCondition); - - List<Map<String, Object>> findEvent(); - -} diff --git a/src/main/java/kr/wisestone/owl/mapper/UserLevelMapper.java b/src/main/java/kr/wisestone/owl/mapper/UserLevelMapper.java index 81c3ccd..c94dfd3 100644 --- a/src/main/java/kr/wisestone/owl/mapper/UserLevelMapper.java +++ b/src/main/java/kr/wisestone/owl/mapper/UserLevelMapper.java @@ -14,19 +14,7 @@ public interface UserLevelMapper { List<Map<String, Object>> find(UserLevelCondition userLevelCondition); - List<Map<String, Object>> findAdmin(); - - List<Map<String, Object>> findProjectMember(UserLevelCondition userLevelCondition); - Long count(UserLevelCondition userLevelCondition); - - void deleteCascadeUser(UserLevelCondition userLevelCondition); - - List<Map<String, Object>> findByReservationNotifyTime(Map<String, Object> conditions); - - List<Map<String, Object>> findByAllWorkspace(UserLevelCondition userLevelCondition); - - Long countByAllWorkspace(UserLevelCondition userLevelCondition); List<Map<String, Object>> findEvent(); diff --git a/src/main/java/kr/wisestone/owl/repository/DepartmentManageRepository.java b/src/main/java/kr/wisestone/owl/repository/DepartmentManageRepository.java new file mode 100644 index 0000000..e7a2210 --- /dev/null +++ b/src/main/java/kr/wisestone/owl/repository/DepartmentManageRepository.java @@ -0,0 +1,8 @@ +package kr.wisestone.owl.repository; + +import kr.wisestone.owl.domain.DepartmentManage; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface DepartmentManageRepository extends JpaRepository<DepartmentManage, Long> { + +} diff --git a/src/main/java/kr/wisestone/owl/repository/DepartmentManagementRepository.java b/src/main/java/kr/wisestone/owl/repository/DepartmentManagementRepository.java deleted file mode 100644 index eef1247..0000000 --- a/src/main/java/kr/wisestone/owl/repository/DepartmentManagementRepository.java +++ /dev/null @@ -1,8 +0,0 @@ -package kr.wisestone.owl.repository; - -import kr.wisestone.owl.domain.DepartmentManagement; -import org.springframework.data.jpa.repository.JpaRepository; - -public interface DepartmentManagementRepository extends JpaRepository<DepartmentManagement, Long> { - -} diff --git a/src/main/java/kr/wisestone/owl/service/DepartmentManageService.java b/src/main/java/kr/wisestone/owl/service/DepartmentManageService.java new file mode 100644 index 0000000..4a53c54 --- /dev/null +++ b/src/main/java/kr/wisestone/owl/service/DepartmentManageService.java @@ -0,0 +1,20 @@ +package kr.wisestone.owl.service; + +import kr.wisestone.owl.domain.DepartmentManage; +import kr.wisestone.owl.vo.DepartmentManageVo; +import kr.wisestone.owl.web.condition.DepartmentManageCondition; +import kr.wisestone.owl.web.form.DepartmentManageForm; +import org.springframework.data.domain.Pageable; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.List; +import java.util.Map; + +public interface DepartmentManageService extends AbstractService<DepartmentManage, Long, JpaRepository<DepartmentManage, Long>> { + DepartmentManage addDepartmentManage(DepartmentManageForm departmentManageForm); + + DepartmentManage getDepartment(Long id); + + List<DepartmentManageVo> findDepartment(Map<String, Object> resJsonData, + DepartmentManageCondition make, Pageable pageable); +} diff --git a/src/main/java/kr/wisestone/owl/service/DepartmentManagementService.java b/src/main/java/kr/wisestone/owl/service/DepartmentManagementService.java deleted file mode 100644 index ac9a13b..0000000 --- a/src/main/java/kr/wisestone/owl/service/DepartmentManagementService.java +++ /dev/null @@ -1,10 +0,0 @@ -package kr.wisestone.owl.service; - -import kr.wisestone.owl.domain.DepartmentManagement; -import kr.wisestone.owl.web.form.DepartmentManagementForm; -import org.springframework.data.jpa.repository.JpaRepository; - -public interface DepartmentManagementService extends AbstractService<DepartmentManagement, Long, JpaRepository<DepartmentManagement, Long>> { - DepartmentManagement addDepartment(DepartmentManagementForm departmentManagementForm); - -} diff --git a/src/main/java/kr/wisestone/owl/service/impl/DepartmentManageServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/DepartmentManageServiceImpl.java new file mode 100644 index 0000000..77eb812 --- /dev/null +++ b/src/main/java/kr/wisestone/owl/service/impl/DepartmentManageServiceImpl.java @@ -0,0 +1,141 @@ +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.MsgConstants; +import kr.wisestone.owl.domain.DepartmentManage; +import kr.wisestone.owl.exception.OwlRuntimeException; +import kr.wisestone.owl.mapper.DepartmentManageMapper; +import kr.wisestone.owl.repository.DepartmentManageRepository; +import kr.wisestone.owl.service.DepartmentManageService; +import kr.wisestone.owl.service.WorkspaceService; +import kr.wisestone.owl.util.ConvertUtil; +import kr.wisestone.owl.vo.*; +import kr.wisestone.owl.web.condition.DepartmentManageCondition; +import kr.wisestone.owl.web.form.DepartmentManageForm; +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.ui.Model; +import org.springframework.web.servlet.ModelAndView; + +import javax.servlet.http.HttpServletRequest; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Service +public class DepartmentManageServiceImpl extends AbstractServiceImpl<DepartmentManage, Long, JpaRepository<DepartmentManage, Long>> implements DepartmentManageService { + + @Autowired + private DepartmentManageRepository departmentManageRepository; + + @Autowired + private DepartmentManageMapper departmentManageMapper; + + @Autowired + private WorkspaceService workspaceService; + + @Autowired + private ExcelView excelView; + + @Autowired + private ExcelConditionCheck excelConditionCheck; + + @Override + protected JpaRepository<DepartmentManage, Long> getRepository() { + return this.departmentManageRepository; + } + + @Override + public DepartmentManage addDepartmentManage(DepartmentManageForm departmentManageForm) { + DepartmentManage departmentManage = ConvertUtil.copyProperties(departmentManageForm, DepartmentManage.class); + departmentManageRepository.saveAndFlush(departmentManage); + return departmentManage; + } + + @Override + public DepartmentManage getDepartment(Long id) { + if (id == null) { + throw new OwlRuntimeException( + this.messageAccessor.getMessage(MsgConstants.USER_LEVEL_NOT_EXIST)); + } + + DepartmentManage departmentManage = this.findOne(id); + + if (departmentManage == null) { + throw new OwlRuntimeException( + this.messageAccessor.getMessage(MsgConstants.USER_LEVEL_NOT_EXIST)); + } + + return departmentManage; + } + + @Override + public List<DepartmentManageVo> findDepartment(Map<String, Object> resJsonData, + DepartmentManageCondition condition, Pageable pageable) { + + condition.setPage(pageable.getPageNumber() * pageable.getPageSize()); + condition.setPageSize(pageable.getPageSize()); + + List<Map<String, Object>> results = this.departmentManageMapper.find(condition); + Long totalDepartmentCount = this.departmentManageMapper.count(condition); + + return this.convertDepartmentManageVoToMap(results, totalDepartmentCount, pageable, resJsonData); + } + + // 寃��깋 寃곌낵瑜� DepartmentManageVo 濡� 蹂��솚�븳�떎. + private List<DepartmentManageVo> convertDepartmentManageVoToMap(List<Map<String, Object>> results, Long totalDepartmentCount, Pageable pageable, Map<String, Object> resJsonData) { + List<DepartmentManageVo> departmentManageVos = Lists.newArrayList(); + + for (Map<String, Object> result : results) { + DepartmentManageVo departmentManageVo = ConvertUtil.convertMapToClass(result, DepartmentManageVo.class); + // 遺��꽌紐낅쭔 蹂��솚 �븯硫� �릺�뒗嫄닿� ? + departmentManageVos.add(departmentManageVo); + } + + int totalPage = (int) Math.ceil((totalDepartmentCount - 1) / pageable.getPageSize()) + 1; + + resJsonData.put(Constants.RES_KEY_CONTENTS, departmentManageVos); + resJsonData.put(Constants.REQ_KEY_PAGE_VO, new ResPage(pageable.getPageNumber(), pageable.getPageSize(), + totalPage, totalDepartmentCount)); + + return departmentManageVos; + } + + // 遺��꽌 紐⑸줉�쓣 �뿊��濡� �떎�슫濡쒕뱶 �븳�떎. + 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; + } + + DepartmentManageCondition departmentManageCondition = DepartmentManageCondition.make(conditions); + + + List<Map<String, Object>> results = this.departmentManageMapper.find(departmentManageCondition); + List<DepartmentManageVo> departmentManageVos = ConvertUtil.convertListToListClass(results, DepartmentManageVo.class); + + // code_ko_KR �뿉 code紐� �꽕�젙 + ExportExcelVo excelInfo = new ExportExcelVo(); + excelInfo.setFileName(this.messageAccessor.message("遺��꽌 紐⑸줉")); + excelInfo.addAttrInfos(new ExportExcelAttrVo("departmentName", this.messageAccessor.message("departmentManage.departmentName"), 6, ExportExcelAttrVo.ALIGN_CENTER)); + excelInfo.addAttrInfos(new ExportExcelAttrVo("departmentDescription", this.messageAccessor.message("departmentManage.departmentDescription"), 20, ExportExcelAttrVo.ALIGN_CENTER)); + + excelInfo.setDatas(departmentManageVos); + + model.addAttribute(Constants.EXCEL, excelInfo); + return new ModelAndView(this.excelView); + } + +} diff --git a/src/main/java/kr/wisestone/owl/service/impl/DepartmentManagementServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/DepartmentManagementServiceImpl.java deleted file mode 100644 index f049487..0000000 --- a/src/main/java/kr/wisestone/owl/service/impl/DepartmentManagementServiceImpl.java +++ /dev/null @@ -1,29 +0,0 @@ -package kr.wisestone.owl.service.impl; - -import kr.wisestone.owl.domain.DepartmentManagement; -import kr.wisestone.owl.repository.DepartmentManagementRepository; -import kr.wisestone.owl.service.DepartmentManagementService; -import kr.wisestone.owl.util.ConvertUtil; -import kr.wisestone.owl.web.form.DepartmentManagementForm; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.stereotype.Service; - -@Service -public class DepartmentManagementServiceImpl extends AbstractServiceImpl<DepartmentManagement, Long, JpaRepository<DepartmentManagement, Long>> implements DepartmentManagementService { - - @Autowired - private DepartmentManagementRepository departmentManagementRepository; - - @Override - protected JpaRepository<DepartmentManagement, Long> getRepository() { - return this.departmentManagementRepository; - } - - @Override - public DepartmentManagement addDepartment(DepartmentManagementForm departmentManagementForm) { - DepartmentManagement departmentManagement = ConvertUtil.copyProperties(departmentManagementForm, DepartmentManagement.class); - departmentManagementRepository.saveAndFlush(departmentManagement); - return departmentManagement; - } -} 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 a35c05c..17e03da 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/UserLevelServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/UserLevelServiceImpl.java @@ -243,7 +243,7 @@ excelInfo.addAttrInfos(new ExportExcelAttrVo("permWorkSpaceSetting", this.messageAccessor.message("manageUser.manageWorkspacePerm"), 3, ExportExcelAttrVo.ALIGN_CENTER)); excelInfo.addAttrInfos(new ExportExcelAttrVo("permProjectSetting", this.messageAccessor.message("manageUser.manageProjectPerm"), 3, ExportExcelAttrVo.ALIGN_CENTER)); excelInfo.addAttrInfos(new ExportExcelAttrVo("permIssueSetting", this.messageAccessor.message("manageUser.manageIssueSystemPerm"), 3, ExportExcelAttrVo.ALIGN_CENTER)); - excelInfo.addAttrInfos(new ExportExcelAttrVo("permApi", this.messageAccessor.message("manageUser.manageUserPerm"), 3, ExportExcelAttrVo.ALIGN_CENTER)); + excelInfo.addAttrInfos(new ExportExcelAttrVo("permApi", this.messageAccessor.message("manageUser.manageUserApi"), 3, ExportExcelAttrVo.ALIGN_CENTER)); excelInfo.addAttrInfos(new ExportExcelAttrVo("permNotice", this.messageAccessor.message("manageUser.manageNoticePerm"), 3, ExportExcelAttrVo.ALIGN_CENTER)); excelInfo.addAttrInfos(new ExportExcelAttrVo("permFAQ", this.messageAccessor.message("manageUser.manageFAQPerm"), 3, ExportExcelAttrVo.ALIGN_CENTER)); excelInfo.addAttrInfos(new ExportExcelAttrVo("permQnA", this.messageAccessor.message("manageUser.manageQnAPerm"), 3, ExportExcelAttrVo.ALIGN_CENTER)); 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 8a7253e..47e33bb 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java @@ -17,9 +17,8 @@ import kr.wisestone.owl.util.*; import kr.wisestone.owl.vo.*; import kr.wisestone.owl.web.condition.UserCondition; -import kr.wisestone.owl.web.form.DepartmentManagementForm; +import kr.wisestone.owl.web.form.DepartmentManageForm; import kr.wisestone.owl.web.form.UserForm; -import kr.wisestone.owl.web.form.UserLevelForm; import kr.wisestone.owl.web.view.ExcelView; import org.apache.commons.validator.routines.EmailValidator; import org.slf4j.Logger; @@ -34,7 +33,6 @@ import org.springframework.security.core.session.SessionRegistry; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.crypto.password.PasswordEncoder; -import org.springframework.stereotype.Repository; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.ui.Model; @@ -42,7 +40,6 @@ import org.springframework.web.multipart.MultipartFile; import org.springframework.web.servlet.ModelAndView; -import javax.rmi.CORBA.Util; import javax.servlet.http.HttpServletRequest; import java.io.*; import java.net.HttpURLConnection; @@ -62,7 +59,7 @@ private UserLevelService userLevelService; @Autowired - private DepartmentManagementService departmentManagementService; + private DepartmentManageService departmentManageService; @Autowired private SystemRoleService systemRoleService; @@ -244,13 +241,13 @@ this.userLevelService.addNormalUserLevel(); - // DepartmentManagement�뿉 �엫�떆濡� Name, Description 媛� 異붽� - DepartmentManagementForm departmentManagementForm = new DepartmentManagementForm(); + // DepartmentManage�뿉 �엫�떆濡� Name, Description 媛� 異붽� + DepartmentManageForm departmentManageForm = new DepartmentManageForm(); - departmentManagementForm.setDepartmentName("媛쒕컻��"); - departmentManagementForm.setDepartmentDescription("�쎒�궗�씠�듃 諛� �빋 �꽌鍮꾩뒪 媛쒕컻"); - DepartmentManagement departmentManagement = this.departmentManagementService.addDepartment(departmentManagementForm); - user.setDepartmentId(departmentManagement); + departmentManageForm.setDepartmentName("媛쒕컻��"); + departmentManageForm.setDepartmentDescription("�쎒�궗�씠�듃 諛� �빋 �꽌鍮꾩뒪 媛쒕컻"); + DepartmentManage departmentManage = this.departmentManageService.addDepartmentManage(departmentManageForm); + user.setDepartmentManage(departmentManage); if(primaryWorkspace == null || primaryWorkspace.getName() != userForm.getWorkspaceName()) { // �뾽臾� 怨듦컙瑜� �깮�꽦�븳�떎. 媛��엯�븳 �궗�슜�옄�뒗 �뾽臾� 怨듦컙�쓽 二쇱씤�씠�떎. diff --git a/src/main/java/kr/wisestone/owl/service/impl/UserWorkspaceServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/UserWorkspaceServiceImpl.java index 6271319..a5d6f06 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/UserWorkspaceServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/UserWorkspaceServiceImpl.java @@ -2,17 +2,11 @@ import kr.wisestone.owl.constant.Constants; import kr.wisestone.owl.constant.MsgConstants; -import kr.wisestone.owl.domain.User; -import kr.wisestone.owl.domain.UserLevel; -import kr.wisestone.owl.domain.UserWorkspace; -import kr.wisestone.owl.domain.Workspace; +import kr.wisestone.owl.domain.*; import kr.wisestone.owl.exception.OwlRuntimeException; import kr.wisestone.owl.mapper.UserWorkspaceMapper; import kr.wisestone.owl.repository.UserWorkspaceRepository; -import kr.wisestone.owl.service.UserLevelService; -import kr.wisestone.owl.service.UserService; -import kr.wisestone.owl.service.UserWorkspaceService; -import kr.wisestone.owl.service.WorkspaceService; +import kr.wisestone.owl.service.*; import kr.wisestone.owl.util.CommonUtil; import kr.wisestone.owl.util.ConvertUtil; import kr.wisestone.owl.vo.ResPage; @@ -44,6 +38,9 @@ @Autowired private UserLevelService userLevelService; + + @Autowired + private DepartmentManageService departmentManageService; @Autowired private UserWorkspaceMapper userWorkspaceMapper; @@ -119,6 +116,14 @@ } //todo 遺��꽌 蹂�寃쎌떆 + DepartmentManage currentDepartment = userWorkspace.getUser().getDepartmentManage(); + if (currentDepartment.getId() != userWorkspaceForm.getDepartmentId()) { + // 遺��꽌紐� 蹂�寃쎌떆 + User user = userWorkspace.getUser(); + DepartmentManage departmentManage = this.departmentManageService.getDepartment(userWorkspaceForm.getLevelId()); + user.setDepartmentManage(departmentManage); + userWorkspace.setUser(user); + } // 李몄뿬濡� �긽�깭瑜� 蹂�寃쏀븯�젮怨� �븷�븣 if (userWorkspace.getUseYn() != userWorkspaceForm.getUseYn()) { diff --git a/src/main/java/kr/wisestone/owl/vo/DepartmentManagementVo.java b/src/main/java/kr/wisestone/owl/vo/DepartmentManageVo.java similarity index 81% rename from src/main/java/kr/wisestone/owl/vo/DepartmentManagementVo.java rename to src/main/java/kr/wisestone/owl/vo/DepartmentManageVo.java index 3099ac0..bdc4ed4 100644 --- a/src/main/java/kr/wisestone/owl/vo/DepartmentManagementVo.java +++ b/src/main/java/kr/wisestone/owl/vo/DepartmentManageVo.java @@ -3,16 +3,16 @@ /** * Created by jeong on 2017-08-02. */ -public class DepartmentManagementVo extends BaseVo{ +public class DepartmentManageVo extends BaseVo{ private Long id; private String departmentName; private String departmentDescription; - public DepartmentManagementVo() { + public DepartmentManageVo() { } - public DepartmentManagementVo(Long id, String departmentName, String departmentDescription) { + public DepartmentManageVo(Long id, String departmentName, String departmentDescription) { this.id = id; this.departmentName = departmentName; this.departmentDescription = departmentDescription; diff --git a/src/main/java/kr/wisestone/owl/web/condition/DepartmentManageCondition.java b/src/main/java/kr/wisestone/owl/web/condition/DepartmentManageCondition.java new file mode 100644 index 0000000..3bdb9e8 --- /dev/null +++ b/src/main/java/kr/wisestone/owl/web/condition/DepartmentManageCondition.java @@ -0,0 +1,61 @@ +package kr.wisestone.owl.web.condition; + +import kr.wisestone.owl.util.ConvertUtil; + +import java.util.Map; + +/** + * Created by jeong on 2018-01-01. + */ +public class DepartmentManageCondition { + private Long id; + private String departmentName; + private String departmentDescription; + + private Integer Page; + private Integer PageSize; + + public static DepartmentManageCondition make(Map<String, Object> departmentManageConditions) { + return ConvertUtil.convertMapToClass(departmentManageConditions, DepartmentManageCondition.class); + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getDepartmentName() { + return departmentName; + } + + public void setDepartmentName(String departmentName) { + this.departmentName = departmentName; + } + + public String getDepartmentDescription() { + return departmentDescription; + } + + public void setDepartmentDescription(String departmentDescription) { + this.departmentDescription = departmentDescription; + } + + public Integer getPage() { + return Page; + } + + public void setPage(Integer page) { + Page = page; + } + + public Integer getPageSize() { + return PageSize; + } + + public void setPageSize(Integer pageSize) { + PageSize = pageSize; + } +} diff --git a/src/main/java/kr/wisestone/owl/web/condition/DepartmentManagementCondition.java b/src/main/java/kr/wisestone/owl/web/condition/DepartmentManagementCondition.java deleted file mode 100644 index 17e3da5..0000000 --- a/src/main/java/kr/wisestone/owl/web/condition/DepartmentManagementCondition.java +++ /dev/null @@ -1,67 +0,0 @@ -package kr.wisestone.owl.web.condition; - -import com.google.common.collect.Lists; -import kr.wisestone.owl.util.ConvertUtil; -import kr.wisestone.owl.util.MapUtil; - -import java.util.List; -import java.util.Map; - -/** - * Created by jeong on 2018-01-01. - */ -public class DepartmentManagementCondition { - private Long id; - private String departmentName; - private String departmentDescription; - private List<String> statuses = Lists.newArrayList(); - private List<Long> excludeIds = Lists.newArrayList(); - - public static DepartmentManagementCondition make(Map<String, Object> departmentManagemantconditions) { - DepartmentManagementCondition departmentManagementCondition = ConvertUtil.convertMapToClass(departmentManagemantconditions, DepartmentManagementCondition.class); - departmentManagementCondition.setStatuses(MapUtil.getStrings(departmentManagemantconditions, "statuses")); - departmentManagementCondition.setExcludeIds(MapUtil.getLongs(departmentManagemantconditions, "excludeIds")); - - return departmentManagementCondition; - } - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getDepartmentName() { - return departmentName; - } - - public void setDepartmentName(String departmentName) { - this.departmentName = departmentName; - } - - public String getDepartmentDescription() { - return departmentDescription; - } - - public void setDepartmentDescription(String departmentDescription) { - this.departmentDescription = departmentDescription; - } - - public List<String> getStatuses() { - return statuses; - } - - public void setStatuses(List<String> statuses) { - this.statuses = statuses; - } - - public List<Long> getExcludeIds() { - return excludeIds; - } - - public void setExcludeIds(List<Long> excludeIds) { - this.excludeIds = excludeIds; - } -} diff --git a/src/main/java/kr/wisestone/owl/web/controller/DepartmentManageController.java b/src/main/java/kr/wisestone/owl/web/controller/DepartmentManageController.java new file mode 100644 index 0000000..374f569 --- /dev/null +++ b/src/main/java/kr/wisestone/owl/web/controller/DepartmentManageController.java @@ -0,0 +1,100 @@ +package kr.wisestone.owl.web.controller; + +import kr.wisestone.owl.constant.Constants; +import kr.wisestone.owl.service.DepartmentManageService; +import kr.wisestone.owl.web.condition.DepartmentManageCondition; +import kr.wisestone.owl.web.form.DepartmentManageForm; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Pageable; +import org.springframework.http.MediaType; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.HashMap; +import java.util.Map; + +/** + * Created by jeong on 2017-08-02. + */ +@Controller +public class DepartmentManageController extends BaseController { + + @Autowired + private DepartmentManageService departmentManageService; + + // 遺��꽌 �깮�꽦 + @RequestMapping(value = "/departmentManage/add", method = RequestMethod.POST) + public + @ResponseBody + Map<String, Object> addDepartmentManage(@RequestBody Map<String, Map<String, Object>> params) { + Map<String, Object> resJsonData = new HashMap<>(); + Map<String, Object> content = params.get(Constants.REQ_KEY_CONTENT); + this.departmentManageService.addDepartmentManage(DepartmentManageForm.make(content)); + + return this.setSuccessMessage(resJsonData); + } + + // �궗�슜�옄�벑湲� 議고쉶 + @RequestMapping(value = "/departmentManage/find", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE) + public + @ResponseBody + Map<String, Object> find(@RequestBody Map<String, Map<String, Object>> params) { + Map<String, Object> resJsonData = new HashMap<>(); + Pageable pageable = this.pageUtil.convertPageable(this.getPageVo(params)); + + this.departmentManageService.findDepartment(resJsonData, DepartmentManageCondition.make(params.get(Constants.REQ_KEY_CONTENT)), pageable); + + 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 +// @ResponseBody +// Map<String, Object> modify(@RequestBody Map<String, Map<String, Object>> params) { +// Map<String, Object> resJsonData = new HashMap<>(); +// +// this.userLevelService.modifyLevelPermission(UserLevelForm.make(params.get(Constants.REQ_KEY_CONTENT))); +// +// return this.setSuccessMessage(resJsonData); +// } +// +// // �궗�슜�옄�벑湲� �궘�젣 +// @RequestMapping(value = "/userLevel/remove", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE) +// public +// @ResponseBody +// Map<String, Object> remove(@RequestBody Map<String, Map<String, Object>> params) { +// Map<String, Object> resJsonData = new HashMap<>(); +// Map<String, Object> content = params.get(Constants.REQ_KEY_CONTENT); +// +// this.userLevelService.removeUserLevel(UserLevelForm.make(content)); +// +// return this.setSuccessMessage(resJsonData); +// } +// +// +// // �궗�슜�옄 �벑湲� �뿊�� �떎�슫濡쒕뱶 +// @RequestMapping(value = "/userLevel/downloadExcel", method = RequestMethod.POST) +// public ModelAndView downloadExcel(HttpServletRequest request, Model model) { +// return this.userLevelService.downloadExcel(request, model); +} + + + + + + diff --git a/src/main/java/kr/wisestone/owl/web/form/DepartmentManagementForm.java b/src/main/java/kr/wisestone/owl/web/form/DepartmentManageForm.java similarity index 82% rename from src/main/java/kr/wisestone/owl/web/form/DepartmentManagementForm.java rename to src/main/java/kr/wisestone/owl/web/form/DepartmentManageForm.java index 6f9a6f4..e75a8ff 100644 --- a/src/main/java/kr/wisestone/owl/web/form/DepartmentManagementForm.java +++ b/src/main/java/kr/wisestone/owl/web/form/DepartmentManageForm.java @@ -7,16 +7,16 @@ /** * Created by jeong on 2017-12-30. */ -public class DepartmentManagementForm { +public class DepartmentManageForm { private Long id; private String departmentName; private String departmentDescription; - public DepartmentManagementForm() { + public DepartmentManageForm() { } - public static DepartmentManagementForm make(Map<String, Object> params) { - return ConvertUtil.convertMapToClass(params, DepartmentManagementForm.class); + public static DepartmentManageForm make(Map<String, Object> params) { + return ConvertUtil.convertMapToClass(params, DepartmentManageForm.class); } public Long getId() { diff --git a/src/main/resources/migration/V1_10__Alter_Table.sql b/src/main/resources/migration/V1_10__Alter_Table.sql index 146e53a..734f6c7 100644 --- a/src/main/resources/migration/V1_10__Alter_Table.sql +++ b/src/main/resources/migration/V1_10__Alter_Table.sql @@ -2,7 +2,7 @@ ALTER TABLE `user` ADD COLUMN `level_id` BIGINT(11) NULL; ALTER TABLE `user` ADD COLUMN `department_id` BIGINT(11) NULL; -CREATE TABLE `department_management`( +CREATE TABLE `department_manage`( `id` BIGINT(11) AUTO_INCREMENT, `department_name` VARCHAR(50) NOT NULL, `department_description` VARCHAR(255) NOT NULL, diff --git a/src/main/resources/mybatis/query-template/departmentManage-template.xml b/src/main/resources/mybatis/query-template/departmentManage-template.xml new file mode 100644 index 0000000..9f2981a --- /dev/null +++ b/src/main/resources/mybatis/query-template/departmentManage-template.xml @@ -0,0 +1,35 @@ +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + +<mapper namespace="kr.wisestone.owl.mapper.DepartmentManageMapper"> + + <select id="find" resultType="java.util.HashMap" parameterType="kr.wisestone.owl.web.condition.DepartmentManageCondition"> + SELECT + dm.id as id, + dm.department_name as departmentName, + dm.department_description as departmentDescription + FROM + department_manage dm + WHERE id != 1 AND 1=1 + <if test="departmentName != '' and departmentName != null"> + AND ul.department_name like CONCAT('%',#{departmentName},'%') + </if> + <if test="id != '' and id != null"> + AND ul.id like CONCAT('%',#{id},'%') + </if> + <if test="pageSize != '' and pageSize != null"> + limit #{pageSize} offset #{page}; + </if> + </select> + + <select id="count" resultType="java.lang.Long" parameterType="kr.wisestone.owl.web.condition.DepartmentManageCondition"> + SELECT + count(dm.id) + FROM + department_manage dm + WHERE 1=1 + <if test="departmentName != '' and departmentName != null"> + AND ul.department_name like CONCAT('%',#{departmentName},'%') + </if> + </select> +</mapper> \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/i18n/code_ko_KR.properties b/src/main/webapp/WEB-INF/i18n/code_ko_KR.properties index 51e1c4c..4217bfb 100644 --- a/src/main/webapp/WEB-INF/i18n/code_ko_KR.properties +++ b/src/main/webapp/WEB-INF/i18n/code_ko_KR.properties @@ -108,4 +108,6 @@ manageUser.manageNoticePerm=\uACF5\uC9C0\uC0AC\uD56D \uAD00\uB9AC manageUser.manageFAQPerm=FAQ \uAD00\uB9AC manageUser.manageQnAPerm=QnA \uAD00\uB9AC -manageUser.manageGuidePerm=\uAC00\uC774\uB4DC \uAD00\uB9AC \ No newline at end of file +manageUser.manageGuidePerm=\uAC00\uC774\uB4DC \uAD00\uB9AC +departmentManage.departmentName=\uBD80\uC11C\uBA85 +departmentManage.departmentDescription=\uBD80\uC11C\uC124\uBA85 -- Gitblit v1.8.0