/* * Decompiled with CFR 0.152. * * Could not load the following classes: * egovframework.com.cmm.LoginVO * egovframework.common.dwr.DwrCommonService * egovframework.dms.hdb.service.DmsHdbService * egovframework.dms.hdb.vo.DmsHdbDefaultVO * egovframework.dms.hdb.vo.DmsHdbReplyVO * egovframework.dms.hdb.vo.DmsHdbVO * egovframework.dms.hdb.web.DmsHdbController * egovframework.dms.prj.service.DmsPrjService * egovframework.edosi.common.code.CodeResource * egovframework.edosi.egov.helper.UserDetailsHelper * egovframework.edosi.filter.XssFilter * egovframework.edosi.resource.EdosiResource * egovframework.rte.fdl.property.EgovPropertyService * egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo * javax.annotation.Resource * javax.servlet.RequestDispatcher * javax.servlet.ServletRequest * javax.servlet.ServletResponse * javax.servlet.http.HttpServletRequest * javax.servlet.http.HttpServletResponse * org.springframework.stereotype.Controller * org.springframework.ui.Model * org.springframework.ui.ModelMap * org.springframework.web.bind.annotation.ModelAttribute * org.springframework.web.bind.annotation.RequestMapping * org.springframework.web.bind.annotation.SessionAttributes * org.springframework.web.bind.support.SessionStatus * org.springframework.web.multipart.MultipartHttpServletRequest */ package egovframework.dms.hdb.web; import egovframework.com.cmm.LoginVO; import egovframework.common.dwr.DwrCommonService; import egovframework.dms.hdb.service.DmsHdbService; import egovframework.dms.hdb.vo.DmsHdbDefaultVO; import egovframework.dms.hdb.vo.DmsHdbReplyVO; import egovframework.dms.hdb.vo.DmsHdbVO; import egovframework.dms.hdb.vo.DmsHdbGraphVO; import egovframework.dms.prj.service.DmsPrjService; import egovframework.edosi.common.code.CodeResource; import egovframework.edosi.egov.helper.UserDetailsHelper; import egovframework.edosi.filter.XssFilter; import egovframework.edosi.resource.EdosiResource; import egovframework.rte.fdl.property.EgovPropertyService; import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import javax.annotation.Resource; import javax.servlet.RequestDispatcher; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; 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.SessionAttributes; import org.springframework.web.bind.support.SessionStatus; import org.springframework.web.multipart.MultipartHttpServletRequest; @Controller @SessionAttributes(types={DmsHdbVO.class}) public class DmsHdbController { @Resource(name="dmsHdbService") private DmsHdbService dmsHdbService; @Resource(name="propertiesService") protected EgovPropertyService propertiesService; @Resource(name="codeResource") private CodeResource codeResource; @Resource(name="dwrCommonService") private DwrCommonService dwrCommonService; @Resource(name="dmsPrjService") private DmsPrjService dmsPrjService; @RequestMapping(value={"/dms/dmsHdb/dmsHdbIndex.do"}) public String dmsHdbIndex(HttpServletRequest request, HttpServletResponse response, @ModelAttribute(value="searchVO") DmsHdbDefaultVO searchVO, ModelMap modelMap, Model model) throws Exception { String moveDetail = request.getParameter("moveDetail"); String prjSeq = request.getParameter("prjSeq"); Map prjInfo = (Map) request.getSession().getAttribute("prjInfo"); String prjNm = prjInfo == null ? null : (String) prjInfo.get("prjNm"); String hdbStsA = prjInfo == null ? null : (String) prjInfo.get("hdbStsA"); String hdbStsB = prjInfo == null ? null : (String) prjInfo.get("hdbStsB"); String hdbStsC = prjInfo == null ? null : (String) prjInfo.get("hdbStsC"); if (moveDetail != null || prjSeq != null) { request.getSession().setAttribute("prjSeq", (Object)prjSeq); } if (!UserDetailsHelper.isAuthenticated().booleanValue()) { return "cmm/sessionError"; } String viewName = ""; String bmode = searchVO.getBmode(); if (bmode == null || bmode.equals("") || bmode.equals("list")) { viewName = this.selectDmsHdbList(request, response, searchVO, model); } else if (bmode.equals("detail")) { viewName = this.selectDmsHdb(request, response, searchVO, model); } else if (bmode.equals("add")) { viewName = this.addDmsHdbView(request, response, searchVO, model); } else if (bmode.equals("modify")) { viewName = this.updateDmsHdb(request, response, searchVO, model); } LoginVO loginVO = (LoginVO)UserDetailsHelper.getAuthenticatedUser(); model.addAttribute("bmode", (Object)bmode); model.addAttribute("loginVO", (Object)loginVO); model.addAttribute("ROLE_ADMIN", (Object)UserDetailsHelper.isRole((String)"ROLE_ADMIN")); model.addAttribute("ROLE_CUS", (Object)UserDetailsHelper.isRole((String)"ROLE_CUS")); model.addAttribute("ROLE_EMP", (Object)UserDetailsHelper.isRole((String)"ROLE_EMP")); model.addAttribute("prjNm", prjNm); model.addAttribute("hdbStsA", hdbStsA); model.addAttribute("hdbStsB", hdbStsB); model.addAttribute("hdbStsC", hdbStsC); this.initModelData(model, bmode); return viewName; } private void initModelData(Model model, String bmode) throws Exception { HashMap param = new HashMap(); this.initModelData(param, model, bmode); } private void initModelData(Map param, Model model, String bmode) throws Exception { Iterator it = param.keySet().iterator(); while (it.hasNext()) { String key = it.next(); String value = (String)param.get(key); model.addAttribute(key, (Object)this.codeResource.getCodeList(value)); if (bmode == null || !bmode.equals("add") && !bmode.equals("modify")) continue; model.addAttribute(key, (Object)this.codeResource.removeCodeResourceForNotUse(value)); } } private String selectDmsHdbList(HttpServletRequest request, HttpServletResponse response, @ModelAttribute(value="searchVO") DmsHdbDefaultVO searchVO, Model model) throws Exception { if (request.getSession().getAttribute("SEARCH_KEYWORD") != null) { searchVO.setSearchKeyword((String)request.getSession().getAttribute("SEARCH_KEYWORD")); request.getSession().setAttribute("SEARCH_KEYWORD", null); } searchVO.setPageUnit(this.propertiesService.getInt("pageUnit")); searchVO.setPageSize(this.propertiesService.getInt("pageSize")); PaginationInfo paginationInfo = new PaginationInfo(); paginationInfo.setCurrentPageNo(searchVO.getPageIndex()); paginationInfo.setRecordCountPerPage(searchVO.getPageUnit()); paginationInfo.setPageSize(searchVO.getPageSize()); searchVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); searchVO.setLastIndex(paginationInfo.getLastRecordIndex()); searchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); Map prjInfo = (Map)request.getSession().getAttribute("prjInfo"); searchVO.setPrjSeq((String)prjInfo.get("prjSeq")); int totCnt = 0; try { totCnt = this.dmsHdbService.selectDmsHdbListTotCnt(searchVO); if (totCnt > 0) { List dmsHdbList = this.dmsHdbService.selectDmsHdbList(searchVO); model.addAttribute("resultList", (Object)dmsHdbList); } } catch (Exception e) { e.printStackTrace(); } paginationInfo.setTotalRecordCount(totCnt); model.addAttribute("paginationInfo", (Object)paginationInfo); List annualList = dmsHdbService.selectDmsHdbPerYearChart(searchVO); model.addAttribute("annualList", annualList); DmsHdbGraphVO monthlyList = dmsHdbService.selectDmsHdbForMonthChart(searchVO); model.addAttribute("monthlyList", monthlyList); // model.addAttribute("year", year); return "dms/dmsHdb/DmsHdbList"; } private String addDmsHdbView(HttpServletRequest request, HttpServletResponse response, @ModelAttribute(value="searchVO") DmsHdbDefaultVO searchVO, Model model) throws Exception { LoginVO loginVO = (LoginVO)UserDetailsHelper.getAuthenticatedUser(); DmsHdbVO dmsHdbVO = new DmsHdbVO(); model.addAttribute("dmsHdbVO", (Object)dmsHdbVO); return "dms/dmsHdb/DmsHdbRegister"; } @RequestMapping(value={"/dms/dmsHdb/addDmsHdb.do"}) public String addDmsHdb(MultipartHttpServletRequest request, HttpServletResponse response, DmsHdbVO dmsHdbVO, @ModelAttribute(value="searchVO") DmsHdbDefaultVO searchVO, SessionStatus status) throws Exception { block5: { if (!UserDetailsHelper.isAuthenticated().booleanValue()) { return "cmm/sessionError"; } if (!XssFilter.getInstance().isNotFindXSS((ServletRequest)request)) { RequestDispatcher dispatcher = request.getRequestDispatcher(XssFilter.infoUrl); dispatcher.forward((ServletRequest)request, (ServletResponse)response); return null; } String white = this.dmsHdbService.checkFileWhiteList(request, "file_", EdosiResource.getInstance().getValue("attach.whitelist")); if (white == null) break block5; DwrCommonService.alertAndBack((HttpServletResponse)response, (String)("유효하지 않은 첨부파일(" + white + ")이 있습니다. 다시 확인해주세요.")); return null; } try { this.dmsHdbService.insertDmsHdb(dmsHdbVO, request); } catch (Exception e) { e.printStackTrace(); } status.setComplete(); return "redirect:" + searchVO.getParentUrl(); } private String updateDmsHdb(HttpServletRequest request, HttpServletResponse response, @ModelAttribute(value="searchVO") DmsHdbDefaultVO searchVO, Model model) throws Exception { LoginVO loginVO = (LoginVO)UserDetailsHelper.getAuthenticatedUser(); DmsHdbVO dmsHdbVO = new DmsHdbVO(); dmsHdbVO.setHdbSeq(searchVO.getHdbSeq()); dmsHdbVO = this.dmsHdbService.selectDmsHdb(dmsHdbVO); if (!this.checkWriteAuth(dmsHdbVO)) { return "cmm/privilegeError"; } model.addAttribute("dmsHdbVO", (Object)dmsHdbVO); return "dms/dmsHdb/DmsHdbRegister"; } @RequestMapping(value={"/dms/dmsHdb/updateDmsHdb.do"}) public String updateDmsHdb(MultipartHttpServletRequest request, HttpServletResponse response, DmsHdbVO dmsHdbVO, @ModelAttribute(value="searchVO") DmsHdbDefaultVO searchVO, SessionStatus status) throws Exception { block7: { if (!UserDetailsHelper.isAuthenticated().booleanValue()) { return "cmm/sessionError"; } if (!this.checkWriteAuth(dmsHdbVO)) { return "cmm/privilegeError"; } if (!XssFilter.getInstance().isNotFindXSS((ServletRequest)request)) { RequestDispatcher dispatcher = request.getRequestDispatcher(XssFilter.infoUrl); dispatcher.forward((ServletRequest)request, (ServletResponse)response); return null; } String white = this.dmsHdbService.checkFileWhiteList(request, "file_", EdosiResource.getInstance().getValue("attach.whitelist")); if (white == null) break block7; DwrCommonService.alertAndBack((HttpServletResponse)response, (String)("유효하지 않은 첨부파일(" + white + ")이 있습니다. 다시 확인해주세요.")); return null; } try { this.dmsHdbService.updateDmsHdb(dmsHdbVO, request); } catch (Exception e) { e.printStackTrace(); } status.setComplete(); if (searchVO.getSearchKeyword() != null && !searchVO.getSearchKeyword().equals("")) { request.getSession().setAttribute("SEARCH_KEYWORD", (Object)searchVO.getSearchKeyword()); } return "redirect:" + searchVO.getParentUrl() + searchVO.toParam() + "&hdbSeq=" + dmsHdbVO.getHdbSeq(); } private String selectDmsHdb(HttpServletRequest request, HttpServletResponse response, @ModelAttribute(value="searchVO") DmsHdbDefaultVO searchVO, Model model) throws Exception { LoginVO loginVO = (LoginVO)UserDetailsHelper.getAuthenticatedUser(); if (request.getSession().getAttribute("SEARCH_KEYWORD") != null) { searchVO.setSearchKeyword((String)request.getSession().getAttribute("SEARCH_KEYWORD")); request.getSession().setAttribute("SEARCH_KEYWORD", null); } DmsHdbVO dmsHdbVO = new DmsHdbVO(); dmsHdbVO.setHdbSeq(searchVO.getHdbSeq()); try { dmsHdbVO = this.dmsHdbService.selectDmsHdb(dmsHdbVO); List dmsHdbReplyList = this.dmsHdbService.selectDmsHdbReplyList(searchVO); model.addAttribute("dmsHdbReplyList", (Object)dmsHdbReplyList); } catch (Exception e) { e.printStackTrace(); } DmsHdbReplyVO dmsHdbReplyVO = new DmsHdbReplyVO(); model.addAttribute("dmsHdbReplyVO", (Object)dmsHdbReplyVO); DmsHdbVO statusVO = new DmsHdbVO(); model.addAttribute("statusVO", (Object)statusVO); model.addAttribute("dmsHdbVO", (Object)dmsHdbVO); model.addAttribute("checkWriteAuth", (Object)this.checkWriteAuth(dmsHdbVO)); this.dmsHdbService.updateDmsHdbRdCnt(searchVO); return "dms/dmsHdb/DmsHdbDetail"; } @RequestMapping(value={"/dms/dmsHdb/deleteDmsHdb.do"}) public String deleteDmsHdb(HttpServletRequest request, DmsHdbVO dmsHdbVO, @ModelAttribute(value="searchVO") DmsHdbDefaultVO searchVO, SessionStatus status) throws Exception { if (!UserDetailsHelper.isAuthenticated().booleanValue()) { return "cmm/sessionError"; } if (!this.checkWriteAuth(dmsHdbVO)) { return "cmm/privilegeError"; } try { this.dmsHdbService.deleteDmsHdb(dmsHdbVO, request); } catch (Exception e) { e.printStackTrace(); } status.setComplete(); if (searchVO.getSearchKeyword() != null && !searchVO.getSearchKeyword().equals("")) { request.getSession().setAttribute("SEARCH_KEYWORD", (Object)searchVO.getSearchKeyword()); } searchVO.setBmode(null); return "redirect:" + searchVO.getParentUrl() + searchVO.toParam(); } @RequestMapping(value={"/dms/dmsHdb/addDmsHdbReply.do"}) public String addDmsHdbReply(MultipartHttpServletRequest request, HttpServletResponse response, DmsHdbReplyVO dmsHdbReplyVO, @ModelAttribute(value="searchVO") DmsHdbDefaultVO searchVO, SessionStatus status) throws Exception { block5: { if (!UserDetailsHelper.isAuthenticated().booleanValue()) { return "cmm/sessionError"; } if (!XssFilter.getInstance().isNotFindXSS((ServletRequest)request)) { RequestDispatcher dispatcher = request.getRequestDispatcher(XssFilter.infoUrl); dispatcher.forward((ServletRequest)request, (ServletResponse)response); return null; } String white = this.dmsHdbService.checkFileWhiteList(request, "file_", EdosiResource.getInstance().getValue("attach.whitelist")); if (white == null) break block5; DwrCommonService.alertAndBack((HttpServletResponse)response, (String)("유효하지 않은 첨부파일(" + white + ")이 있습니다. 다시 확인해주세요.")); return null; } try { this.dmsHdbService.insertDmsHdbReply(dmsHdbReplyVO, request); } catch (Exception e) { e.printStackTrace(); } status.setComplete(); return "redirect:" + searchVO.getParentUrl() + searchVO.toParam() + "&hdbSeq=" + searchVO.getHdbSeq(); } @RequestMapping(value={"/dms/dmsHdb/updateDmsHdbStatus.do"}) public String updateDmsHdbStatus(HttpServletRequest request, HttpServletResponse response, DmsHdbVO dmsHdbVO, @ModelAttribute(value="searchVO") DmsHdbDefaultVO searchVO, SessionStatus status) throws Exception { if (!UserDetailsHelper.isAuthenticated().booleanValue()) { return "cmm/sessionError"; } if (!XssFilter.getInstance().isNotFindXSS((ServletRequest)request)) { RequestDispatcher dispatcher = request.getRequestDispatcher(XssFilter.infoUrl); dispatcher.forward((ServletRequest)request, (ServletResponse)response); return null; } try { this.dmsHdbService.updateDmsHdbStatus(dmsHdbVO, request); } catch (Exception e) { e.printStackTrace(); } status.setComplete(); return "redirect:" + searchVO.getParentUrl() + searchVO.toParam() + "&hdbSeq=" + searchVO.getHdbSeq(); } @RequestMapping(value={"/dms/dmsHdb/deleteDmsHdbReply.do"}) public String deleteDmsHdbReply(MultipartHttpServletRequest request, DmsHdbReplyVO dmsHdbReplyVO, @ModelAttribute(value="searchVO") DmsHdbDefaultVO searchVO, SessionStatus status) throws Exception { if (!UserDetailsHelper.isAuthenticated().booleanValue()) { return "cmm/sessionError"; } try { this.dmsHdbService.deleteDmsHdbReply(dmsHdbReplyVO, request); } catch (Exception e) { e.printStackTrace(); } status.setComplete(); if (searchVO.getSearchKeyword() != null && !searchVO.getSearchKeyword().equals("")) { request.getSession().setAttribute("SEARCH_KEYWORD", (Object)searchVO.getSearchKeyword()); } return "redirect:" + searchVO.getParentUrl() + searchVO.toParam() + "&hdbSeq=" + searchVO.getHdbSeq(); } private boolean checkWriteAuth(DmsHdbVO dmsHdbVO) { LoginVO loginVO = (LoginVO)UserDetailsHelper.getAuthenticatedUser(); if (UserDetailsHelper.isRole((String)"ROLE_ADMIN").booleanValue()) { return true; } return dmsHdbVO != null && loginVO.getId().equals(dmsHdbVO.getUserId()); } }