File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
package itn.let.sec.gmt.web;
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import egovframework.rte.fdl.property.EgovPropertyService;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import itn.com.cmm.EgovMessageSource;
import itn.let.sec.gmt.service.EgovGroupManageService;
import itn.let.sec.gmt.service.GroupManage;
import itn.let.sec.gmt.service.GroupManageVO;
import javax.annotation.Resource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.support.SessionStatus;
import org.springmodules.validation.commons.DefaultBeanValidator;
/**
* 그룹관리에 관한 controller 클래스를 정의한다.
* @author 공통서비스 개발팀 이문준
* @since 2009.06.01
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.03.11 이문준 최초 생성
* 2011.08.31 JJY 경량환경 템플릿 커스터마이징버전 생성
*
* </pre>
*/
@Controller
public class EgovGroupManageController {
@Resource(name="egovMessageSource")
EgovMessageSource egovMessageSource;
@Resource(name = "egovGroupManageService")
private EgovGroupManageService egovGroupManageService;
/** EgovPropertyService */
@Resource(name = "propertiesService")
protected EgovPropertyService propertiesService;
/** Message ID Generation */
@Resource(name="egovGroupIdGnrService")
private EgovIdGnrService egovGroupIdGnrService;
@Autowired
private DefaultBeanValidator beanValidator;
/**
* 그룹 목록화면 이동
* @return String
* @exception Exception
*/
@RequestMapping("/sec/gmt/EgovGroupListView.do")
public String selectGroupListView()
throws Exception {
return "/sec/gmt/EgovGroupManage";
}
/**
* 시스템사용 목적별 그룹 목록 조회
* @param groupManageVO GroupManageVO
* @return String
* @exception Exception
*/
@RequestMapping(value="/sec/gmt/EgovGroupList.do")
public String selectGroupList(@ModelAttribute("groupManageVO") GroupManageVO groupManageVO,
ModelMap model) throws Exception {
/** paging */
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(groupManageVO.getPageIndex());
paginationInfo.setRecordCountPerPage(groupManageVO.getPageUnit());
paginationInfo.setPageSize(groupManageVO.getPageSize());
groupManageVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
groupManageVO.setLastIndex(paginationInfo.getLastRecordIndex());
groupManageVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
groupManageVO.setGroupManageList(egovGroupManageService.selectGroupList(groupManageVO));
model.addAttribute("groupList", groupManageVO.getGroupManageList());
int totCnt = egovGroupManageService.selectGroupListTotCnt(groupManageVO);
paginationInfo.setTotalRecordCount(totCnt);
model.addAttribute("paginationInfo", paginationInfo);
model.addAttribute("message", egovMessageSource.getMessage("success.common.select"));
return "/sec/gmt/EgovGroupManage";
}
/**
* 검색조건에 따른 그룹정보를 조회
* @param groupManageVO GroupManageVO
* @return String
* @exception Exception
*/
@RequestMapping(value="/sec/gmt/EgovGroup.do")
public String selectGroup(@ModelAttribute("groupManageVO") GroupManageVO groupManageVO,
ModelMap model) throws Exception {
model.addAttribute("groupManage", egovGroupManageService.selectGroup(groupManageVO));
return "/sec/gmt/EgovGroupUpdate";
}
/**
* 그룹 등록화면 이동
* @return String
* @exception Exception
*/
@RequestMapping(value="/sec/gmt/EgovGroupInsertView.do")
public String insertGroupView()
throws Exception {
return "/sec/gmt/EgovGroupInsert";
}
/**
* 그룹 기본정보를 화면에서 입력하여 항목의 정합성을 체크하고 데이터베이스에 저장
* @param groupManage GroupManage
* @param groupManageVO GroupManageVO
* @return String
* @exception Exception
*/
@RequestMapping(value="/sec/gmt/EgovGroupInsert.do")
public String insertGroup(@ModelAttribute("groupManage") GroupManage groupManage,
@ModelAttribute("groupManageVO") GroupManageVO groupManageVO,
BindingResult bindingResult,
SessionStatus status,
ModelMap model) throws Exception {
beanValidator.validate(groupManage, bindingResult); //validation 수행
if (bindingResult.hasErrors()) {
return "/sec/gmt/EgovGroupInsert";
} else {
groupManage.setGroupId(egovGroupIdGnrService.getNextStringId());
groupManageVO.setGroupId(groupManage.getGroupId());
status.setComplete();
model.addAttribute("message", egovMessageSource.getMessage("success.common.insert"));
model.addAttribute("groupManage", egovGroupManageService.insertGroup(groupManage, groupManageVO));
return "/sec/gmt/EgovGroupUpdate";
}
}
/**
* 화면에 조회된 그룹의 기본정보를 수정하여 항목의 정합성을 체크하고 수정된 데이터를 데이터베이스에 반영
* @param groupManage GroupManage
* @return String
* @exception Exception
*/
@RequestMapping(value="/sec/gmt/EgovGroupUpdate.do")
public String updateGroup(@ModelAttribute("groupManage") GroupManage groupManage,
BindingResult bindingResult,
SessionStatus status,
Model model) throws Exception {
beanValidator.validate(groupManage, bindingResult); //validation 수행
if (bindingResult.hasErrors()) {
return "/sec/gmt/EgovGroupUpdate";
} else {
egovGroupManageService.updateGroup(groupManage);
status.setComplete();
model.addAttribute("message", egovMessageSource.getMessage("success.common.update"));
return "forward:/sec/gmt/EgovGroup.do";
}
}
/**
* 불필요한 그룹정보를 화면에 조회하여 데이터베이스에서 삭제
* @param groupManage GroupManage
* @return String
* @exception Exception
*/
@RequestMapping(value="/sec/gmt/EgovGroupDelete.do")
public String deleteGroup(@ModelAttribute("groupManage") GroupManage groupManage,
SessionStatus status,
Model model) throws Exception {
egovGroupManageService.deleteGroup(groupManage);
status.setComplete();
model.addAttribute("message", egovMessageSource.getMessage("success.common.delete"));
return "forward:/sec/gmt/EgovGroupList.do";
}
/**
* 불필요한 그룹정보 목록을 화면에 조회하여 데이터베이스에서 삭제
* @param groupIds String
* @param groupManage GroupManage
* @return String
* @exception Exception
*/
@RequestMapping(value="/sec/gmt/EgovGroupListDelete.do")
public String deleteGroupList(@RequestParam("groupIds") String groupIds,
@ModelAttribute("groupManage") GroupManage groupManage,
SessionStatus status,
Model model) throws Exception {
String [] strGroupIds = groupIds.split(";");
for(int i=0; i<strGroupIds.length;i++) {
groupManage.setGroupId(strGroupIds[i]);
egovGroupManageService.deleteGroup(groupManage);
}
status.setComplete();
model.addAttribute("message", egovMessageSource.getMessage("success.common.delete"));
return "forward:/sec/gmt/EgovGroupList.do";
}
/**
* 그룹팝업 화면 이동
* @return String
* @exception Exception
*/
@RequestMapping("/sec/gmt/EgovGroupSearchView.do")
public String selectGroupSearchView()
throws Exception {
return "/sec/gmt/EgovGroupSearch";
}
/**
* 시스템사용 목적별 그룹 목록 조회
* @param groupManageVO GroupManageVO
* @return String
* @exception Exception
*/
@RequestMapping(value="/sec/gmt/EgovGroupSearchList.do")
public String selectGroupSearchList(@ModelAttribute("groupManageVO") GroupManageVO groupManageVO,
ModelMap model) throws Exception {
/** paging */
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(groupManageVO.getPageIndex());
paginationInfo.setRecordCountPerPage(groupManageVO.getPageUnit());
paginationInfo.setPageSize(groupManageVO.getPageSize());
groupManageVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
groupManageVO.setLastIndex(paginationInfo.getLastRecordIndex());
groupManageVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
groupManageVO.setGroupManageList(egovGroupManageService.selectGroupList(groupManageVO));
model.addAttribute("groupList", groupManageVO.getGroupManageList());
int totCnt = egovGroupManageService.selectGroupListTotCnt(groupManageVO);
paginationInfo.setTotalRecordCount(totCnt);
model.addAttribute("paginationInfo", paginationInfo);
model.addAttribute("message", egovMessageSource.getMessage("success.common.select"));
return "/sec/gmt/EgovGroupSearch";
}
}