From 6dac8557d8858abe8ed3252f1e4ddf8447538560 Mon Sep 17 00:00:00 2001 From: wyu <kknd09321@nate.com> Date: 화, 09 11월 2021 16:53:34 +0900 Subject: [PATCH] 백앤드 수정 --- src/main/java/kr/wisestone/owl/service/impl/DepartmentServiceImpl.java | 196 +++++++++++++++++++++ src/main/resources/mybatis/query-template/department-template.xml | 39 ++++ src/main/java/kr/wisestone/owl/repository/DepartmentRepository.java | 8 src/main/java/kr/wisestone/owl/domain/Department.java | 4 src/main/resources/migration/V1_10__Alter_Table.sql | 3 src/main/java/kr/wisestone/owl/web/controller/DepartmentController.java | 34 +- src/main/java/kr/wisestone/owl/web/form/DepartmentForm.java | 8 src/main/java/kr/wisestone/owl/mapper/DepartmentMapper.java | 21 ++ src/main/java/kr/wisestone/owl/domain/UserDepartment.java | 33 +++ src/main/java/kr/wisestone/owl/service/impl/UserWorkspaceServiceImpl.java | 16 /dev/null | 39 ---- src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java | 13 src/main/java/kr/wisestone/owl/vo/DepartmentVo.java | 7 src/main/resources/migration/V1_11__Alter_Table.sql | 11 + src/main/java/kr/wisestone/owl/web/condition/DepartmentCondition.java | 6 src/main/java/kr/wisestone/owl/domain/User.java | 14 - src/main/java/kr/wisestone/owl/service/DepartmentService.java | 32 +++ 17 files changed, 383 insertions(+), 101 deletions(-) diff --git a/src/main/java/kr/wisestone/owl/domain/DepartmentManage.java b/src/main/java/kr/wisestone/owl/domain/Department.java similarity index 89% rename from src/main/java/kr/wisestone/owl/domain/DepartmentManage.java rename to src/main/java/kr/wisestone/owl/domain/Department.java index 2cf87de..8537951 100644 --- a/src/main/java/kr/wisestone/owl/domain/DepartmentManage.java +++ b/src/main/java/kr/wisestone/owl/domain/Department.java @@ -7,7 +7,7 @@ import java.io.Serializable; @Entity -public class DepartmentManage extends BaseEntity implements Serializable { +public class Department extends BaseEntity implements Serializable { private static final long serialVersionUID = 1L; @@ -17,7 +17,7 @@ private String departmentName; private String departmentDescription; - public DepartmentManage() { + public Department() { } 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 326836d..d40a9f2 100644 --- a/src/main/java/kr/wisestone/owl/domain/User.java +++ b/src/main/java/kr/wisestone/owl/domain/User.java @@ -29,7 +29,6 @@ private String phone; private String profile; private String awsKey; -// private Long departmentId; @Enumerated(EnumType.STRING) private SocialType socialType; private Long lastWorkspaceId; @@ -64,11 +63,6 @@ @JoinColumn(name="level_id") private UserLevel userLevel; - @ManyToOne(targetEntity = DepartmentManage.class, fetch = FetchType.LAZY) - @JoinColumn(name="department_id") - private DepartmentManage departmentManage; - - public User() { } @@ -76,14 +70,6 @@ this.id = id; this.name = name; this.account = account; - } - - public DepartmentManage getDepartmentManage() { - return departmentManage; - } - - public void setDepartmentManage(DepartmentManage departmentManage) { - this.departmentManage = departmentManage; } public UserLevel getUserLevel() { diff --git a/src/main/java/kr/wisestone/owl/domain/UserDepartment.java b/src/main/java/kr/wisestone/owl/domain/UserDepartment.java new file mode 100644 index 0000000..7e6abb7 --- /dev/null +++ b/src/main/java/kr/wisestone/owl/domain/UserDepartment.java @@ -0,0 +1,33 @@ +package kr.wisestone.owl.domain; + +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import java.io.Serializable; + +public class UserDepartment extends BaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + private String departmentId; + + public UserDepartment(){} + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getDepartmentId() { + return departmentId; + } + + public void setDepartmentId(String departmentId) { + this.departmentId = departmentId; + } +} diff --git a/src/main/java/kr/wisestone/owl/mapper/DepartmentManageMapper.java b/src/main/java/kr/wisestone/owl/mapper/DepartmentManageMapper.java deleted file mode 100644 index f191761..0000000 --- a/src/main/java/kr/wisestone/owl/mapper/DepartmentManageMapper.java +++ /dev/null @@ -1,21 +0,0 @@ -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(); - - Long findBydepartmentId(Long Id); -} diff --git a/src/main/java/kr/wisestone/owl/mapper/DepartmentMapper.java b/src/main/java/kr/wisestone/owl/mapper/DepartmentMapper.java new file mode 100644 index 0000000..be9a3c7 --- /dev/null +++ b/src/main/java/kr/wisestone/owl/mapper/DepartmentMapper.java @@ -0,0 +1,21 @@ +package kr.wisestone.owl.mapper; + +import kr.wisestone.owl.web.condition.DepartmentCondition; +import org.springframework.stereotype.Repository; + +import java.util.List; +import java.util.Map; + +/** + * Created by wisestone on 2018-02-26. + */ +@Repository +public interface DepartmentMapper { + List<Map<String, Object>> find(DepartmentCondition departmentCondition); + + Long count(DepartmentCondition departmentCondition); + + List<Map<String, Object>> findEvent(); + + Long findBydepartmentId(Long Id); +} diff --git a/src/main/java/kr/wisestone/owl/repository/DepartmentManageRepository.java b/src/main/java/kr/wisestone/owl/repository/DepartmentManageRepository.java deleted file mode 100644 index e7a2210..0000000 --- a/src/main/java/kr/wisestone/owl/repository/DepartmentManageRepository.java +++ /dev/null @@ -1,8 +0,0 @@ -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/DepartmentRepository.java b/src/main/java/kr/wisestone/owl/repository/DepartmentRepository.java new file mode 100644 index 0000000..aa33730 --- /dev/null +++ b/src/main/java/kr/wisestone/owl/repository/DepartmentRepository.java @@ -0,0 +1,8 @@ +package kr.wisestone.owl.repository; + +import kr.wisestone.owl.domain.Department; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface DepartmentRepository extends JpaRepository<Department, Long> { + +} diff --git a/src/main/java/kr/wisestone/owl/service/DepartmentManageService.java b/src/main/java/kr/wisestone/owl/service/DepartmentManageService.java deleted file mode 100644 index d3ca526..0000000 --- a/src/main/java/kr/wisestone/owl/service/DepartmentManageService.java +++ /dev/null @@ -1,32 +0,0 @@ -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 org.springframework.ui.Model; -import org.springframework.web.servlet.ModelAndView; - -import javax.servlet.http.HttpServletRequest; -import java.util.List; -import java.util.Map; - -public interface DepartmentManageService extends AbstractService<DepartmentManage, Long, JpaRepository<DepartmentManage, Long>> { - DepartmentManage addDepartmentManage(DepartmentManageForm departmentManageForm); - - List<DepartmentManageVo> findDepartment(Map<String, Object> resJsonData, - DepartmentManageCondition make, Pageable pageable); - DepartmentManage getDepartment(Long id); - - void modifyDepartment(DepartmentManageForm departmentManageForm); - - void removeDepartment(DepartmentManageForm departmentManageForm); - - void detailDepartment(Map<String, Object> resJsonData, DepartmentManageCondition make); - - ModelAndView downloadExcel(HttpServletRequest request, Model model); - - boolean department(Long id); -} diff --git a/src/main/java/kr/wisestone/owl/service/DepartmentService.java b/src/main/java/kr/wisestone/owl/service/DepartmentService.java new file mode 100644 index 0000000..d1a2423 --- /dev/null +++ b/src/main/java/kr/wisestone/owl/service/DepartmentService.java @@ -0,0 +1,32 @@ +package kr.wisestone.owl.service; + +import kr.wisestone.owl.domain.Department; +import kr.wisestone.owl.vo.DepartmentVo; +import kr.wisestone.owl.web.condition.DepartmentCondition; +import kr.wisestone.owl.web.form.DepartmentForm; +import org.springframework.data.domain.Pageable; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.ui.Model; +import org.springframework.web.servlet.ModelAndView; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; +import java.util.Map; + +public interface DepartmentService extends AbstractService<Department, Long, JpaRepository<Department, Long>> { + Department add(DepartmentForm departmentForm); + + List<DepartmentVo> find(Map<String, Object> resJsonData, + DepartmentCondition make, Pageable pageable); + Department getDepartment(Long id); + + void modify(DepartmentForm departmentForm); + + void remove(DepartmentForm departmentForm); + + void detail(Map<String, Object> resJsonData, DepartmentCondition make); + + ModelAndView downloadExcel(HttpServletRequest request, Model model); + + boolean department(Long id); +} diff --git a/src/main/java/kr/wisestone/owl/service/impl/DepartmentManageServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/DepartmentManageServiceImpl.java deleted file mode 100644 index ae93ef1..0000000 --- a/src/main/java/kr/wisestone/owl/service/impl/DepartmentManageServiceImpl.java +++ /dev/null @@ -1,196 +0,0 @@ -package kr.wisestone.owl.service.impl; - -import kr.wisestone.owl.service.UserService; -import org.springframework.ui.Model; -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.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 UserService userService; - - @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 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); - } - - // 遺��꽌 �긽�꽭 議고쉶�븳�떎. - @Override - public void detailDepartment(Map<String, Object> resJsonData, DepartmentManageCondition departmentManageCondition) { - DepartmentManageVo departmentManageVo = new DepartmentManageVo(); - - Long departmentId = departmentManageCondition.getId(); - if (departmentId != null) { - DepartmentManage departmentManage = this.getDepartment(departmentId); - departmentManageVo = ConvertUtil.copyProperties(departmentManage, DepartmentManageVo.class); - } - resJsonData.put(Constants.RES_KEY_CONTENTS, departmentManageVo); - } - - // 遺��꽌 �젙蹂대�� �닔�젙�븳�떎. - @Override - public void modifyDepartment(DepartmentManageForm departmentManageForm) { - DepartmentManage departmentManage = ConvertUtil.copyProperties(departmentManageForm, DepartmentManage.class); - departmentManageRepository.saveAndFlush(departmentManage); - } - - // 遺��꽌瑜� �궘�젣�븳�떎. - @Override - public void removeDepartment(DepartmentManageForm departmentManageForm) { - if (departmentManageForm.getRemoveIds().size() < 1) { - throw new OwlRuntimeException( - this.messageAccessor.getMessage(MsgConstants.DEPARTMENT_REMOVE_NOT_SELECT)); - } - - for (Long id : departmentManageForm.getRemoveIds()) { - if (!this.userService.useUserLevel(id)) { - this.departmentManageRepository.deleteById(id); - } else { - throw new OwlRuntimeException( - this.messageAccessor.getMessage(MsgConstants.DEPARTMENT_ALREADY_IN_USE)); - } - - } - this.departmentManageRepository.flush(); - } - - // 遺��꽌 紐⑸줉�쓣 �뿊��濡� �떎�슫濡쒕뱶 �븳�떎. - @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; - } - - 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.addAttrInfos(new ExportExcelAttrVo("departmentCount", this.messageAccessor.message("departmentManage.departmentCount"), 3, ExportExcelAttrVo.ALIGN_CENTER)); - - excelInfo.setDatas(departmentManageVos); - - model.addAttribute(Constants.EXCEL, excelInfo); - return new ModelAndView(this.excelView); - - } - - // �궗�슜�옄 遺��꽌 ID濡� 議고쉶�븳�떎. - @Override - public DepartmentManage getDepartment(Long id) { - if (id == null) { - throw new OwlRuntimeException( - this.messageAccessor.getMessage(MsgConstants.DEPARTMENT_NOT_EXIST)); - } - - DepartmentManage departmentManage = this.findOne(id); - - if (departmentManage == null) { - throw new OwlRuntimeException( - this.messageAccessor.getMessage(MsgConstants.DEPARTMENT_NOT_EXIST)); - } - - return departmentManage; - } - - - // �궘�젣 �븷 遺��꽌 �쑀��媛� �궗�슜�븯怨� �엳�뒗吏� �솗�씤 - @Override - public boolean department(Long Id) { - return this.departmentManageMapper.findBydepartmentId(Id) > 0; - } - - - // 寃��깋 寃곌낵瑜� DepartmentManageVo 濡� 蹂��솚�븳�떎. - private List<DepartmentManageVo> convertDepartmentManageVoToMap(List<Map<String, Object>> results, Long totalDepartmentsCount, 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((totalDepartmentsCount - 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, totalDepartmentsCount)); - - return departmentManageVos; - } -} diff --git a/src/main/java/kr/wisestone/owl/service/impl/DepartmentServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/DepartmentServiceImpl.java new file mode 100644 index 0000000..ec8e228 --- /dev/null +++ b/src/main/java/kr/wisestone/owl/service/impl/DepartmentServiceImpl.java @@ -0,0 +1,196 @@ +package kr.wisestone.owl.service.impl; + +import kr.wisestone.owl.domain.Department; +import kr.wisestone.owl.mapper.DepartmentMapper; +import kr.wisestone.owl.service.UserService; +import kr.wisestone.owl.web.condition.DepartmentCondition; +import kr.wisestone.owl.web.form.DepartmentForm; +import org.springframework.ui.Model; +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.exception.OwlRuntimeException; +import kr.wisestone.owl.repository.DepartmentRepository; +import kr.wisestone.owl.service.DepartmentService; +import kr.wisestone.owl.service.WorkspaceService; +import kr.wisestone.owl.util.ConvertUtil; +import kr.wisestone.owl.vo.*; +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.web.servlet.ModelAndView; + +import javax.servlet.http.HttpServletRequest; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Service +public class DepartmentServiceImpl extends AbstractServiceImpl<Department, Long, JpaRepository<Department, Long>> implements DepartmentService { + + @Autowired + private DepartmentRepository departmentRepository; + + @Autowired + private DepartmentMapper departmentMapper; + + @Autowired + private UserService userService; + + @Autowired + private WorkspaceService workspaceService; + + @Autowired + private ExcelView excelView; + + @Autowired + private ExcelConditionCheck excelConditionCheck; + + @Override + protected JpaRepository<Department, Long> getRepository() { + return this.departmentRepository; + } + + // 遺��꽌 異붽� + @Override + public Department add(DepartmentForm departmentForm) { + Department department = ConvertUtil.copyProperties(departmentForm, Department.class); + departmentRepository.saveAndFlush(department); + return department; + } + + // 遺��꽌 紐⑸줉�쓣 媛��졇�삩�떎. + @Override + public List<DepartmentVo>find(Map<String, Object> resJsonData, + DepartmentCondition condition, Pageable pageable) { + condition.setPage(pageable.getPageNumber() * pageable.getPageSize()); + condition.setPageSize(pageable.getPageSize()); + + List<Map<String, Object>> results = this.departmentMapper.find(condition); + Long totalDepartmentCount = this.departmentMapper.count(condition); + + return this.convertDepartmentVoToMap(results, totalDepartmentCount, pageable, resJsonData); + } + + // 遺��꽌 �긽�꽭 議고쉶�븳�떎. + @Override + public void detail(Map<String, Object> resJsonData, DepartmentCondition departmentCondition) { + DepartmentVo departmentVo = new DepartmentVo(); + + Long departmentId = departmentCondition.getId(); + if (departmentId != null) { + Department department = this.getDepartment(departmentId); + departmentVo = ConvertUtil.copyProperties(department, DepartmentVo.class); + } + resJsonData.put(Constants.RES_KEY_CONTENTS, departmentVo); + } + + // 遺��꽌 �젙蹂대�� �닔�젙�븳�떎. + @Override + public void modify(DepartmentForm departmentForm) { + Department department = ConvertUtil.copyProperties(departmentForm, Department.class); + departmentRepository.saveAndFlush(department); + } + + // 遺��꽌瑜� �궘�젣�븳�떎. + @Override + public void remove(DepartmentForm departmentForm) { + if (departmentForm.getRemoveIds().size() < 1) { + throw new OwlRuntimeException( + this.messageAccessor.getMessage(MsgConstants.DEPARTMENT_REMOVE_NOT_SELECT)); + } + + for (Long id : departmentForm.getRemoveIds()) { + if (!this.userService.useUserLevel(id)) { + this.departmentRepository.deleteById(id); + } else { + throw new OwlRuntimeException( + this.messageAccessor.getMessage(MsgConstants.DEPARTMENT_ALREADY_IN_USE)); + } + + } + this.departmentRepository.flush(); + } + + // 遺��꽌 紐⑸줉�쓣 �뿊��濡� �떎�슫濡쒕뱶 �븳�떎. + @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; + } + + DepartmentCondition departmentCondition = DepartmentCondition.make(conditions); + + + List<Map<String, Object>> results = this.departmentMapper.find(departmentCondition); + List<DepartmentVo> departmentVos = ConvertUtil.convertListToListClass(results, DepartmentVo.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.addAttrInfos(new ExportExcelAttrVo("departmentCount", this.messageAccessor.message("departmentManage.departmentCount"), 3, ExportExcelAttrVo.ALIGN_CENTER)); + + excelInfo.setDatas(departmentVos); + + model.addAttribute(Constants.EXCEL, excelInfo); + return new ModelAndView(this.excelView); + + } + + // �궗�슜�옄 遺��꽌 ID濡� 議고쉶�븳�떎. + @Override + public Department getDepartment(Long id) { + if (id == null) { + throw new OwlRuntimeException( + this.messageAccessor.getMessage(MsgConstants.DEPARTMENT_NOT_EXIST)); + } + + Department department = this.findOne(id); + + if (department == null) { + throw new OwlRuntimeException( + this.messageAccessor.getMessage(MsgConstants.DEPARTMENT_NOT_EXIST)); + } + + return department; + } + + + // �궘�젣 �븷 遺��꽌 �쑀��媛� �궗�슜�븯怨� �엳�뒗吏� �솗�씤 + @Override + public boolean department(Long Id) { + return this.departmentMapper.findBydepartmentId(Id) > 0; + } + + + // 寃��깋 寃곌낵瑜� DepartmentVo 濡� 蹂��솚�븳�떎. + private List<DepartmentVo> convertDepartmentVoToMap(List<Map<String, Object>> results, Long totalDepartmentsCount, Pageable pageable, Map<String, Object> resJsonData) { + List<DepartmentVo> departmentVos = Lists.newArrayList(); + + for (Map<String, Object> result : results) { + DepartmentVo departmentVo = ConvertUtil.convertMapToClass(result, DepartmentVo.class); + departmentVos.add(departmentVo); + } + + int totalPage = (int) Math.ceil((totalDepartmentsCount - 1) / pageable.getPageSize()) + 1; + + resJsonData.put(Constants.RES_KEY_CONTENTS, departmentVos); + resJsonData.put(Constants.REQ_KEY_PAGE_VO, new ResPage(pageable.getPageNumber(), pageable.getPageSize(), + totalPage, totalDepartmentsCount)); + + return departmentVos; + } +} 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 8326ef4..6d4c5a1 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java @@ -17,7 +17,6 @@ import kr.wisestone.owl.util.*; import kr.wisestone.owl.vo.*; import kr.wisestone.owl.web.condition.UserCondition; -import kr.wisestone.owl.web.form.DepartmentManageForm; import kr.wisestone.owl.web.form.UserForm; import kr.wisestone.owl.web.view.ExcelView; import org.apache.commons.validator.routines.EmailValidator; @@ -59,7 +58,7 @@ private UserLevelService userLevelService; @Autowired - private DepartmentManageService departmentManageService; + private DepartmentService departmentService; @Autowired private SystemRoleService systemRoleService; @@ -259,12 +258,12 @@ /*user.setPermission(MngPermission.makeSubAllPermission());*/ } } - // 珥덇린�뿉 紐⑤뱺 �궗�슜�옄�뒗 遺��꽌 �뾾�쓬 - DepartmentManageForm departmentManageForm = new DepartmentManageForm(); - departmentManageForm.setDepartmentName("遺��꽌 �뾾�쓬"); - DepartmentManage departmentManage = this.departmentManageService.addDepartmentManage(departmentManageForm); - user.setDepartmentManage(departmentManage); +// DepartmentManageForm departmentManageForm = new DepartmentManageForm(); +// +// departmentManageForm.setDepartmentName("遺��꽌 �뾾�쓬"); +// DepartmentManage departmentManage = this.departmentManageService.addDepartmentManage(departmentManageForm); +// user.setDepartmentManage(departmentManage); this.userRepository.saveAndFlush(user); 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 6f6306d..95f21fb 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/UserWorkspaceServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/UserWorkspaceServiceImpl.java @@ -40,7 +40,7 @@ private UserLevelService userLevelService; @Autowired - private DepartmentManageService departmentManageService; + private DepartmentService departmentService; @Autowired private UserWorkspaceMapper userWorkspaceMapper; @@ -117,13 +117,13 @@ } // 遺��꽌 蹂�寃� - DepartmentManage currentDepartment = user.getDepartmentManage(); - if (currentDepartment == null || (userWorkspaceForm.getDepartmentId() != null && currentDepartment.getId() != userWorkspaceForm.getDepartmentId())) { - // 遺��꽌紐� 蹂�寃쎌떆 - DepartmentManage departmentManage = this.departmentManageService.getDepartment(userWorkspaceForm.getDepartmentId()); - user.setDepartmentManage(departmentManage); - userWorkspace.setUser(user); - } +// DepartmentManage currentDepartment = user.getDepartmentManage(); +// if (currentDepartment == null || (userWorkspaceForm.getDepartmentId() != null && currentDepartment.getId() != userWorkspaceForm.getDepartmentId())) { +// // 遺��꽌紐� 蹂�寃쎌떆 +// DepartmentManage departmentManage = this.departmentService.getDepartment(userWorkspaceForm.getDepartmentId()); +// user.setDepartmentManage(departmentManage); +// userWorkspace.setUser(user); +// } // 李몄뿬濡� �긽�깭瑜� 蹂�寃쏀븯�젮怨� �븷�븣 if (userWorkspace.getUseYn() != userWorkspaceForm.getUseYn()) { diff --git a/src/main/java/kr/wisestone/owl/vo/DepartmentManageVo.java b/src/main/java/kr/wisestone/owl/vo/DepartmentVo.java similarity index 83% rename from src/main/java/kr/wisestone/owl/vo/DepartmentManageVo.java rename to src/main/java/kr/wisestone/owl/vo/DepartmentVo.java index c206567..1b1c9cd 100644 --- a/src/main/java/kr/wisestone/owl/vo/DepartmentManageVo.java +++ b/src/main/java/kr/wisestone/owl/vo/DepartmentVo.java @@ -3,17 +3,16 @@ /** * Created by wyu on 2021-11-05. */ -public class DepartmentManageVo extends BaseVo{ +public class DepartmentVo extends BaseVo{ private Long id; private String departmentName; private String departmentDescription; - private String defaultYn; private Long departmentCount; - public DepartmentManageVo() {} + public DepartmentVo() {} - public DepartmentManageVo(Long id, String departmentName, String departmentDescription) { + public DepartmentVo(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/DepartmentCondition.java similarity index 88% rename from src/main/java/kr/wisestone/owl/web/condition/DepartmentManageCondition.java rename to src/main/java/kr/wisestone/owl/web/condition/DepartmentCondition.java index 811d9f4..0b20ebf 100644 --- a/src/main/java/kr/wisestone/owl/web/condition/DepartmentManageCondition.java +++ b/src/main/java/kr/wisestone/owl/web/condition/DepartmentCondition.java @@ -7,7 +7,7 @@ /** * Created by wyu on 2021-11-05. */ -public class DepartmentManageCondition { +public class DepartmentCondition { private Long id; private String departmentName; private String departmentDescription; @@ -16,8 +16,8 @@ private Integer Page; private Integer PageSize; - public static DepartmentManageCondition make(Map<String, Object> departmentManageConditions) { - return ConvertUtil.convertMapToClass(departmentManageConditions, DepartmentManageCondition.class); + public static DepartmentCondition make(Map<String, Object> departmentManageConditions) { + return ConvertUtil.convertMapToClass(departmentManageConditions, DepartmentCondition.class); } public Long getId() { diff --git a/src/main/java/kr/wisestone/owl/web/controller/DepartmentManageController.java b/src/main/java/kr/wisestone/owl/web/controller/DepartmentController.java similarity index 60% rename from src/main/java/kr/wisestone/owl/web/controller/DepartmentManageController.java rename to src/main/java/kr/wisestone/owl/web/controller/DepartmentController.java index 289df46..961973f 100644 --- a/src/main/java/kr/wisestone/owl/web/controller/DepartmentManageController.java +++ b/src/main/java/kr/wisestone/owl/web/controller/DepartmentController.java @@ -1,9 +1,9 @@ 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 kr.wisestone.owl.service.DepartmentService; +import kr.wisestone.owl.web.condition.DepartmentCondition; +import kr.wisestone.owl.web.form.DepartmentForm; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Pageable; import org.springframework.http.MediaType; @@ -23,77 +23,77 @@ * Created by jeong on 2017-08-02. */ @Controller -public class DepartmentManageController extends BaseController { +public class DepartmentController extends BaseController { @Autowired - private DepartmentManageService departmentManageService; + private DepartmentService departmentService; // 遺��꽌 �깮�꽦 - @RequestMapping(value = "/departmentManage/add", method = RequestMethod.POST) + @RequestMapping(value = "/department/add", method = RequestMethod.POST) public @ResponseBody Map<String, Object> add(@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)); + this.departmentService.add(DepartmentForm.make(content)); return this.setSuccessMessage(resJsonData); } // 遺��꽌 議고쉶 - @RequestMapping(value = "/departmentManage/find", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE) + @RequestMapping(value = "/department/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); + this.departmentService.find(resJsonData, DepartmentCondition.make(params.get(Constants.REQ_KEY_CONTENT)), pageable); return this.setSuccessMessage(resJsonData); } // 遺��꽌 �긽�꽭 議고쉶 - @RequestMapping(value = "/departmentManage/detail", produces = MediaType.APPLICATION_JSON_VALUE) + @RequestMapping(value = "/department/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.departmentManageService.detailDepartment(resJsonData, DepartmentManageCondition.make(params.get(Constants.REQ_KEY_CONTENT))); + this.departmentService.detail(resJsonData, DepartmentCondition.make(params.get(Constants.REQ_KEY_CONTENT))); return this.setSuccessMessage(resJsonData); } // 遺��꽌 �닔�젙 - @RequestMapping(value = "/departmentManage/modify", produces = MediaType.APPLICATION_JSON_VALUE) + @RequestMapping(value = "/department/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.departmentManageService.modifyDepartment(DepartmentManageForm.make(params.get(Constants.REQ_KEY_CONTENT))); + this.departmentService.modify(DepartmentForm.make(params.get(Constants.REQ_KEY_CONTENT))); return this.setSuccessMessage(resJsonData); } // 遺��꽌 �궘�젣 - @RequestMapping(value = "/departmentManage/remove", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE) + @RequestMapping(value = "/department/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.departmentManageService.removeDepartment(DepartmentManageForm.make(content)); + this.departmentService.remove(DepartmentForm.make(content)); return this.setSuccessMessage(resJsonData); } // 遺��꽌 �뿊�� �떎�슫濡쒕뱶 - @RequestMapping(value = "/departmentManage/downloadExcel", method = RequestMethod.POST) + @RequestMapping(value = "/department/downloadExcel", method = RequestMethod.POST) public ModelAndView downloadExcel(HttpServletRequest request, Model model) { - return this.departmentManageService.downloadExcel(request, model); + return this.departmentService.downloadExcel(request, model); } } diff --git a/src/main/java/kr/wisestone/owl/web/form/DepartmentManageForm.java b/src/main/java/kr/wisestone/owl/web/form/DepartmentForm.java similarity index 83% rename from src/main/java/kr/wisestone/owl/web/form/DepartmentManageForm.java rename to src/main/java/kr/wisestone/owl/web/form/DepartmentForm.java index d06a373..1cf4ce2 100644 --- a/src/main/java/kr/wisestone/owl/web/form/DepartmentManageForm.java +++ b/src/main/java/kr/wisestone/owl/web/form/DepartmentForm.java @@ -10,17 +10,17 @@ /** * Created by jeong on 2017-12-30. */ -public class DepartmentManageForm { +public class DepartmentForm { private Long id; private String departmentName; private String departmentDescription; private List<Long> removeIds = Lists.newArrayList(); - public DepartmentManageForm() { + public DepartmentForm() { } - public static DepartmentManageForm make(Map<String, Object> params) { - DepartmentManageForm form = ConvertUtil.convertMapToClass(params, DepartmentManageForm.class); + public static DepartmentForm make(Map<String, Object> params) { + DepartmentForm form = ConvertUtil.convertMapToClass(params, DepartmentForm.class); if (MapUtil.getLongs(params,"removeIds") != null) { form.setRemoveIds(MapUtil.getLongs(params, "removeIds")); diff --git a/src/main/resources/migration/V1_10__Alter_Table.sql b/src/main/resources/migration/V1_10__Alter_Table.sql index be68bc8..91f187d 100644 --- a/src/main/resources/migration/V1_10__Alter_Table.sql +++ b/src/main/resources/migration/V1_10__Alter_Table.sql @@ -1,8 +1,7 @@ ALTER TABLE `user` DROP COLUMN `permission`; ALTER TABLE `user` ADD COLUMN `level_id` BIGINT(11) NULL; -ALTER TABLE `user` ADD COLUMN `department_id` BIGINT(11) NULL; -CREATE TABLE `department_manage`( +CREATE TABLE `department`( `id` BIGINT(11) AUTO_INCREMENT, `department_name` VARCHAR(50) NULL, `department_description` VARCHAR(255) NULL, diff --git a/src/main/resources/migration/V1_11__Alter_Table.sql b/src/main/resources/migration/V1_11__Alter_Table.sql index 461b734..f949049 100644 --- a/src/main/resources/migration/V1_11__Alter_Table.sql +++ b/src/main/resources/migration/V1_11__Alter_Table.sql @@ -30,7 +30,7 @@ CREATE TABLE `hosting_field`( `id` BIGINT(11) AUTO_INCREMENT, - `code` varchar (50) NOT NULL, + `code` VARCHAR(50) NOT NULL, `name` VARCHAR(50) NOT NULL, `manager` VARCHAR(50) NULL, `tel` VARCHAR (50) NULL, @@ -43,3 +43,12 @@ PRIMARY KEY (`id`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; +CREATE TABLE `user_department`( + `id` BIGINT(11) AUTO_INCREMENT, + `department_id` VARCHAR(50) NOT NULL, + `register_id` BIGINT(20) NOT NULL, + `register_date` TIMESTAMP NULL, + `modify_id` BIGINT(20) NOT NULL, + `modify_date` TIMESTAMP NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; \ No newline at end of file diff --git a/src/main/resources/mybatis/query-template/department-template.xml b/src/main/resources/mybatis/query-template/department-template.xml new file mode 100644 index 0000000..190106f --- /dev/null +++ b/src/main/resources/mybatis/query-template/department-template.xml @@ -0,0 +1,39 @@ +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + +<mapper namespace="kr.wisestone.owl.mapper.DepartmentMapper"> + + <select id="find" resultType="java.util.HashMap" parameterType="kr.wisestone.owl.web.condition.DepartmentCondition"> + SELECT + d.id as id, + d.department_name as departmentName, + d.department_description as departmentDescription, + (SELECT COUNT(u.id) FROM user u WHERE d.id = u.department_id) AS departmentCount + FROM + department d + WHERE 1=1 + <if test="departmentName != '' and departmentName != null"> + AND d.department_name like CONCAT('%',#{departmentName},'%') + </if> + <if test="id != '' and id != null"> + AND d.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.DepartmentCondition"> + SELECT + count(d.id) + FROM + department d + WHERE 1=1 + <if test="departmentName != '' and departmentName != null"> + AND d.department_name like CONCAT('%',#{departmentName},'%') + </if> + <if test="id != '' and id != null"> + AND d.id like CONCAT('%',#{id},'%') + </if> + </select> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mybatis/query-template/departmentManage-template.xml b/src/main/resources/mybatis/query-template/departmentManage-template.xml deleted file mode 100644 index e73a692..0000000 --- a/src/main/resources/mybatis/query-template/departmentManage-template.xml +++ /dev/null @@ -1,39 +0,0 @@ -<!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, - (SELECT COUNT(u.id) FROM user u WHERE dm.id = u.department_id) AS departmentCount - FROM - department_manage dm - WHERE 1=1 - <if test="departmentName != '' and departmentName != null"> - AND dm.department_name like CONCAT('%',#{departmentName},'%') - </if> - <if test="id != '' and id != null"> - AND dm.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 dm.department_name like CONCAT('%',#{departmentName},'%') - </if> - <if test="id != '' and id != null"> - AND dm.id like CONCAT('%',#{id},'%') - </if> - </select> -</mapper> \ No newline at end of file -- Gitblit v1.8.0