378 lines
18 KiB
Java
378 lines
18 KiB
Java
/*
|
|
* 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<String, Object> prjInfo = (Map<String, Object>) 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<String> 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<DmsHdbGraphVO> 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());
|
|
}
|
|
}
|
|
|