package itn.let.mjo.kisa.web; import java.util.List; import java.util.Map; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.ui.ModelMap; 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.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.support.RedirectAttributes; 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.EgovMessageSource; import itn.com.cmm.LoginVO; import itn.com.cmm.service.EgovCmmUseService; import itn.com.cmm.service.EgovFileMngService; import itn.com.cmm.service.EgovFileMngUtil; import itn.com.cmm.service.FileVO; import itn.let.mjo.kisa.service.KisaService; import itn.let.mjo.kisa.service.KisaVO; /** * 주소록 관한 controller 클래스를 정의한다. * @author ITN * @since 2021.04.08 * @version 1.0 * @see * *
 * << 개정이력(Modification Information) >>
 *
 *   수정일      수정자           수정내용
 *  -------    --------    ---------------------------
 *   2021.04.08  ITN          최초 생성
 *
 * 
*/ @Controller public class KisaController { @Resource(name = "KisaService") private KisaService kisaService; /** EgovMessageSource */ @Resource(name="egovMessageSource") EgovMessageSource egovMessageSource; @Resource(name="EgovFileMngUtil") private EgovFileMngUtil fileUtil; @Resource(name="EgovFileMngService") private EgovFileMngService fileMngService; @Resource(name = "EgovFileMngService") private EgovFileMngService fileService; @Resource(name = "EgovCmmUseService") private EgovCmmUseService cmmUseService; private static final Logger LOGGER = LoggerFactory.getLogger(KisaController.class); /** * kisa 목록 페이지 * @param kisaVO * @param model * @return "/kisa/kisa/KisaList" * @throws Exception */ @RequestMapping(value="/kisa/kisa/KisaList.do") public String kisaList(@ModelAttribute("kisaVO") KisaVO kisaVO, HttpServletRequest request , ModelMap model) throws Exception{ if(kisaVO.getPageUnit() != 10) { kisaVO.setPageUnit(kisaVO.getPageUnit()); } /** pageing */ PaginationInfo paginationInfo = new PaginationInfo(); paginationInfo.setCurrentPageNo(kisaVO.getPageIndex()); paginationInfo.setRecordCountPerPage(kisaVO.getPageUnit()); paginationInfo.setPageSize(kisaVO.getPageSize()); kisaVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); kisaVO.setLastIndex(paginationInfo.getLastRecordIndex()); kisaVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); if("".equals(kisaVO.getSearchSortCnd())){ //최초조회시 최신것 조회List kisaVO.setSearchSortCnd("kisaId"); kisaVO.setSearchSortOrd("desc"); } List kisaList = kisaService.selectKisaList(kisaVO); int totCnt = 0; if(kisaList.size() > 0) { totCnt = kisaList.get(0).getTotcnt(); } model.addAttribute("kisaList", kisaList); paginationInfo.setTotalRecordCount(totCnt); model.addAttribute("paginationInfo", paginationInfo); return "/kisa/kisa/KisaList"; } /** * 게시물에 대한 상세 정보를 조회한다. * * @param KisaVO * @param model * @return * @throws Exception */ @RequestMapping("/kisa/kisa/selectKisaArticle.do") public String selectBoardArticle(@ModelAttribute("searchVO") KisaVO kisaVO, ModelMap model , RedirectAttributes redirectAttributes) throws Exception { LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); // 삭제 및 노 데이터 조회 시 if (kisaVO == null) { redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("info.nodata.msg")); redirectAttributes.addAttribute("pageIndex", kisaVO.getPageIndex()); return "redirect:/kisa/kisa/KisaList.do"; } kisaVO = kisaService.selectKisaDetail(kisaVO); if(kisaVO.getPageUnit() != 10) { kisaVO.setPageUnit(kisaVO.getPageUnit()); } List kisaPastListVO = kisaService.selectKisaIdPastList(kisaVO); KisaVO kisapastVO = kisaVO; /** pageing */ PaginationInfo paginationInfo = new PaginationInfo(); paginationInfo.setCurrentPageNo(kisapastVO.getPageIndex()); paginationInfo.setRecordCountPerPage(kisapastVO.getPageUnit()); paginationInfo.setPageSize(kisapastVO.getPageSize()); kisapastVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); kisapastVO.setLastIndex(paginationInfo.getLastRecordIndex()); kisapastVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); if("".equals(kisapastVO.getSearchSortCnd())){ //최초조회시 최신것 조회List kisapastVO.setSearchSortCnd("kisaId"); kisapastVO.setSearchSortOrd("desc"); } int totCnt = 0; if(kisaPastListVO.size() > 0) { totCnt = kisaPastListVO.get(0).getTotcnt(); } paginationInfo.setTotalRecordCount(totCnt); model.addAttribute("paginationInfo", paginationInfo); if(kisaVO.getAtchFileId() !=null) { FileVO fileVO = new FileVO(); fileVO.setAtchFileId(kisaVO.getAtchFileId()); List fileList = fileService.selectFileInfs(fileVO); model.addAttribute("fileList", fileList); } // 소명자료 List if(kisaVO.getAtchFileId2() !=null) { FileVO fileVO = new FileVO(); fileVO.setAtchFileId(kisaVO.getAtchFileId2()); List fileList2 = fileService.selectFileInfs(fileVO); model.addAttribute("fileList2", fileList2); } ComDefaultCodeVO comDefaultCodeVO = new ComDefaultCodeVO(); //평가참여횟수 코드 조회 comDefaultCodeVO.setCodeId("ITN034"); List codeResult = cmmUseService.selectCmmCodeDetail(comDefaultCodeVO); model.addAttribute("codeResult", codeResult); if(!"".equals(kisaVO.getKisaWarnMessage()) && kisaVO.getKisaWarnMessage() != null) { String[] chk = kisaVO.getKisaWarnMessage().split(","); model.addAttribute("chk", chk); } model.addAttribute("kisaVO", kisaVO); model.addAttribute("kisapastVO", kisapastVO); model.addAttribute("kisaPastListVO", kisaPastListVO); return "/kisa/kisa/KisaDetail"; } /** * kisa 등록 페이지 * @param kisaVO * @param model * @return "/kisa/kisa/KisaRegist" * @throws Exception */ @RequestMapping(value="/kisa/kisa/kisaRegist.do") public String kisaRegist(@RequestParam Map commandMap, @ModelAttribute("kisaVO") KisaVO kisaVO, HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes , Model model , HttpSession session) throws Exception{ ComDefaultCodeVO comDefaultCodeVO = new ComDefaultCodeVO(); //평가참여횟수 코드 조회 comDefaultCodeVO.setCodeId("ITN034"); List codeResult = cmmUseService.selectCmmCodeDetail(comDefaultCodeVO); model.addAttribute("codeResult", codeResult); return "/kisa/kisa/KisaRegist"; } /** * KISA 등록 Ajax * @param kisaVO * @param model * @return modelAndView * @throws Exception */ @RequestMapping(value = {"/kisa/kisa/insertKisaAjax.do"}) public ModelAndView insertKisaAjax(final MultipartHttpServletRequest multiRequest , KisaVO kisaVO , RedirectAttributes redirectAttributes , HttpServletRequest request) throws Exception { LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); String atchFileId = ""; final Map files = multiRequest.getFileMap(); if (!files.isEmpty()) { List result = fileUtil.parseFileInf(files, "KISA_", 0, "", "", ""); atchFileId = fileMngService.insertFileInfs(result); kisaVO.setAtchFileId(atchFileId); } kisaVO.setFrstRegisterId(user.getId()); kisaService.insertKisa(kisaVO); modelAndView.addObject("result", "success"); return modelAndView; } /** * KISA 수정 Ajax * @param kisaVO * @param model * @return modelAndView * @throws Exception */ @RequestMapping(value = {"/kisa/kisa/updateKisaAjax.do"}) public ModelAndView updateKisaAjax(final MultipartHttpServletRequest multiRequest , KisaVO kisaVO , RedirectAttributes redirectAttributes , HttpServletRequest request) throws Exception { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); String atchFileId = ""; final Map files = multiRequest.getFileMap(); if (!files.isEmpty()) { if ("".equals(atchFileId)) { List result = fileUtil.parseFileInf(files, "KISA_", 0, atchFileId, "", ""); atchFileId = fileMngService.insertFileInfs(result); kisaVO.setAtchFileId(atchFileId); } else { FileVO fvo = new FileVO(); fvo.setAtchFileId(atchFileId); int cnt = fileMngService.getMaxFileSN(fvo); List result = fileUtil.parseFileInf(files, "KISA_", cnt, atchFileId, "", ""); fileMngService.updateFileInfs(result); } } kisaService.updateKisa(kisaVO); modelAndView.addObject("result", "success"); return modelAndView; } /** * KISA 리스트 팝업 유무 Ajax * @param kisaVO * @param model * @return modelAndView * @throws Exception */ @RequestMapping(value = {"/kisa/kisa/updateKisaWarnMessageAjax.do"}) public ModelAndView updateKisaWarnMessageAjax(@ModelAttribute("kisaVO") KisaVO kisaVO , RedirectAttributes redirectAttributes , HttpServletRequest request) throws Exception { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); kisaService.updateKisaPopupYn(kisaVO); modelAndView.addObject("result", "success"); return modelAndView; } }