package itn.let.cop.com.web; import java.util.List; import java.util.Map; import egovframework.rte.fdl.property.EgovPropertyService; import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper; import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; import itn.com.cmm.ComDefaultCodeVO; import itn.com.cmm.LoginVO; import itn.com.cmm.service.EgovCmmUseService; import itn.let.cop.com.service.EgovTemplateManageService; import itn.let.cop.com.service.TemplateInf; import itn.let.cop.com.service.TemplateInfVO; import javax.annotation.Resource; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; 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; /** * 템플릿 관리를 위한 컨트롤러 클래스 * @author 공통서비스개발팀 이삼섭 * @since 2009.03.18 * @version 1.0 * @see * *
 * << 개정이력(Modification Information) >>
 *
 *   수정일      수정자           수정내용
 *  -------    --------    ---------------------------
 *   2009.03.18  이삼섭          최초 생성
 *   2011.08.31  JJY            경량환경 템플릿 커스터마이징버전 생성
 *
 * 
*/ @Controller public class EgovTemplateManageController { @Resource(name = "EgovTemplateManageService") private EgovTemplateManageService tmplatService; @Resource(name = "EgovCmmUseService") private EgovCmmUseService cmmUseService; @Resource(name = "propertiesService") protected EgovPropertyService propertyService; @Autowired private DefaultBeanValidator beanValidator; /** * 템플릿 목록을 조회한다. * * @param searchVO * @param model * @return * @throws Exception */ @RequestMapping("/cop/com/selectTemplateInfs.do") public String selectTemplateInfs(@ModelAttribute("searchVO") TemplateInfVO tmplatInfVO, ModelMap model) throws Exception { tmplatInfVO.setPageUnit(propertyService.getInt("pageUnit")); tmplatInfVO.setPageSize(propertyService.getInt("pageSize")); PaginationInfo paginationInfo = new PaginationInfo(); paginationInfo.setCurrentPageNo(tmplatInfVO.getPageIndex()); paginationInfo.setRecordCountPerPage(tmplatInfVO.getPageUnit()); paginationInfo.setPageSize(tmplatInfVO.getPageSize()); tmplatInfVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); tmplatInfVO.setLastIndex(paginationInfo.getLastRecordIndex()); tmplatInfVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); Map map = tmplatService.selectTemplateInfs(tmplatInfVO); int totCnt = Integer.parseInt((String) map.get("resultCnt")); paginationInfo.setTotalRecordCount(totCnt); model.addAttribute("resultList", map.get("resultList")); model.addAttribute("resultCnt", map.get("resultCnt")); model.addAttribute("paginationInfo", paginationInfo); return "cop/com/EgovTemplateList"; } /** * 템플릿에 대한 상세정보를 조회한다. * * @param searchVO * @param model * @return * @throws Exception */ @RequestMapping("/cop/com/selectTemplateInf.do") public String selectTemplateInf(@ModelAttribute("searchVO") TemplateInfVO tmplatInfVO, ModelMap model) throws Exception { ComDefaultCodeVO codeVO = new ComDefaultCodeVO(); codeVO.setCodeId("COM005"); List result = cmmUseService.selectCmmCodeDetail(codeVO); TemplateInfVO vo = tmplatService.selectTemplateInf(tmplatInfVO); model.addAttribute("TemplateInfVO", vo); model.addAttribute("resultList", result); return "cop/com/EgovTemplateUpdt"; } /** * 템플릿 정보를 등록한다. * * @param searchVO * @param tmplatInfo * @param model * @return * @throws Exception */ @RequestMapping("/cop/com/insertTemplateInf.do") public String insertTemplateInf(@ModelAttribute("searchVO") TemplateInfVO searchVO, @ModelAttribute("templateInf") TemplateInf templateInf, BindingResult bindingResult, SessionStatus status, ModelMap model) throws Exception { LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); beanValidator.validate(templateInf, bindingResult); if (bindingResult.hasErrors()) { ComDefaultCodeVO vo = new ComDefaultCodeVO(); vo.setCodeId("COM005"); List result = cmmUseService.selectCmmCodeDetail(vo); model.addAttribute("resultList", result); return "cop/com/EgovTemplateRegist"; } templateInf.setFrstRegisterId(user.getUniqId()); if (isAuthenticated) { tmplatService.insertTemplateInf(templateInf); } return "forward:/cop/com/selectTemplateInfs.do"; } /** * 템플릿 등록을 위한 등록페이지로 이동한다. * * @param searchVO * @param model * @return * @throws Exception */ @RequestMapping("/cop/com/addTemplateInf.do") public String addTemplateInf(@ModelAttribute("searchVO") TemplateInfVO searchVO, ModelMap model) throws Exception { ComDefaultCodeVO vo = new ComDefaultCodeVO(); vo.setCodeId("COM005"); List result = cmmUseService.selectCmmCodeDetail(vo); model.addAttribute("resultList", result); return "cop/com/EgovTemplateRegist"; } /** * 템플릿 정보를 수정한다. * * @param searchVO * @param tmplatInfo * @param model * @return * @throws Exception */ @RequestMapping("/cop/com/updateTemplateInf.do") public String updateTemplateInf(@ModelAttribute("searchVO") TemplateInfVO tmplatInfVO, @ModelAttribute("templateInf") TemplateInf templateInf, BindingResult bindingResult, SessionStatus status, ModelMap model) throws Exception { LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); beanValidator.validate(templateInf, bindingResult); if (bindingResult.hasErrors()) { ComDefaultCodeVO codeVO = new ComDefaultCodeVO(); codeVO.setCodeId("COM005"); List result = cmmUseService.selectCmmCodeDetail(codeVO); TemplateInfVO vo = tmplatService.selectTemplateInf(tmplatInfVO); model.addAttribute("TemplateInfVO", vo); model.addAttribute("resultList", result); return "cop/com/EgovTemplateUpdt"; } templateInf.setLastUpdusrId(user.getUniqId()); if (isAuthenticated) { tmplatService.updateTemplateInf(templateInf); } return "forward:/cop/com/selectTemplateInfs.do"; } /** * 템플릿 정보를 삭제한다. * * @param searchVO * @param tmplatInfo * @param model * @return * @throws Exception */ @RequestMapping("/cop/bbs/deleteTemplateInf.do") public String deleteTemplateInf(@ModelAttribute("searchVO") TemplateInfVO searchVO, @ModelAttribute("tmplatInf") TemplateInf tmplatInf, SessionStatus status, ModelMap model) throws Exception { LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); tmplatInf.setLastUpdusrId(user.getUniqId()); if (isAuthenticated) { tmplatService.deleteTemplateInf(tmplatInf); } return "forward:/cop/com/selectTemplateInfs.do"; } /** * 팝업을 위한 템플릿 목록을 조회한다. * * @param searchVO * @param model * @return * @throws Exception */ @RequestMapping("/cop/com/selectTemplateInfsPop.do") public String selectTemplateInfsPop(@ModelAttribute("searchVO") TemplateInfVO tmplatInfVO, @RequestParam Map commandMap, ModelMap model) throws Exception { String typeFlag = (String) commandMap.get("typeFlag"); if ("CLB".equals(typeFlag)) { tmplatInfVO.setTypeFlag(typeFlag); tmplatInfVO.setTmplatSeCode("TMPT03"); } else if ("CMY".equals(typeFlag)) { tmplatInfVO.setTypeFlag(typeFlag); tmplatInfVO.setTmplatSeCode("TMPT02"); } else { tmplatInfVO.setTypeFlag(typeFlag); tmplatInfVO.setTmplatSeCode("TMPT01"); } tmplatInfVO.setPageUnit(propertyService.getInt("pageUnit")); tmplatInfVO.setPageSize(propertyService.getInt("pageSize")); //CMY, CLB PaginationInfo paginationInfo = new PaginationInfo(); paginationInfo.setCurrentPageNo(tmplatInfVO.getPageIndex()); paginationInfo.setRecordCountPerPage(tmplatInfVO.getPageUnit()); paginationInfo.setPageSize(tmplatInfVO.getPageSize()); tmplatInfVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); tmplatInfVO.setLastIndex(paginationInfo.getLastRecordIndex()); tmplatInfVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); Map map = tmplatService.selectTemplateInfs(tmplatInfVO); int totCnt = Integer.parseInt((String) map.get("resultCnt")); paginationInfo.setTotalRecordCount(totCnt); model.addAttribute("resultList", map.get("resultList")); model.addAttribute("resultCnt", map.get("resultCnt")); model.addAttribute("paginationInfo", paginationInfo); return "cop/com/EgovTemplateInqirePopup"; } /** * 팝업 페이지를 호출한다. * * @param userVO * @param sessionVO * @param model * @return * @throws Exception */ @RequestMapping("/cop/com/openPopup.do") public String openPopupWindow(@RequestParam Map commandMap, ModelMap model) throws Exception { String requestUrl = (String) commandMap.get("requestUrl"); String trgetId = (String) commandMap.get("trgetId"); String width = (String) commandMap.get("width"); String height = (String) commandMap.get("height"); String typeFlag = (String) commandMap.get("typeFlag"); if (trgetId != null && trgetId != "") { if (typeFlag != null && typeFlag != "") { model.addAttribute("requestUrl", requestUrl + "?trgetId=" + trgetId + "&PopFlag=Y&typeFlag=" + typeFlag); } else { model.addAttribute("requestUrl", requestUrl + "?trgetId=" + trgetId + "&PopFlag=Y"); } } else { if (typeFlag != null && typeFlag != "") { model.addAttribute("requestUrl", requestUrl + "?PopFlag=Y&typeFlag=" + typeFlag); } else { model.addAttribute("requestUrl", requestUrl + "?PopFlag=Y"); } } model.addAttribute("width", width); model.addAttribute("height", height); return "/cop/com/EgovModalPopupFrame"; } }