package itn.let.sym.prm.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.ComDefaultVO;
import itn.com.cmm.EgovMessageSource;
import itn.com.cmm.LoginVO;
import itn.com.cmm.util.EgovDoubleSubmitHelper;
import itn.com.cmm.util.RedirectUrlMaker;
import itn.let.sym.prm.service.EgovProgrmManageService;
import itn.let.sym.prm.service.ProgrmManageDtlVO;
import itn.let.sym.prm.service.ProgrmManageVO;
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.servlet.mvc.support.RedirectAttributes;
import org.springmodules.validation.commons.DefaultBeanValidator;
//import itn.let.ems.service.EgovSndngMailRegistService;
//import itn.let.ems.service.SndngMailVO;
/**
* 프로그램목록 관리및 변경을 처리하는 비즈니스 구현 클래스
* @author 개발환경 개발팀 이용
* @since 2009.06.01
* @version 1.0
* @see
*
*
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.03.20 이 용 최초 생성
* 2011.08.31 JJY 경량환경 템플릿 커스터마이징버전 생성
*
*
*/
@Controller
public class EgovProgrmManageController {
/** Validator */
@Autowired
private DefaultBeanValidator beanValidator;
/** EgovPropertyService */
@Resource(name = "propertiesService")
protected EgovPropertyService propertiesService;
/** EgovProgrmManageService */
@Resource(name = "progrmManageService")
private EgovProgrmManageService progrmManageService;
/** EgovMessageSource */
@Resource(name = "egovMessageSource")
EgovMessageSource egovMessageSource;
/** EgovSndngMailRegistService */
//@Resource(name = "sndngMailRegistService")
//private EgovSndngMailRegistService sndngMailRegistService;
/**
* 프로그램목록을 상세화면 호출 및 상세조회한다.
* @param tmp_progrmNm String
* @return 출력페이지정보 "sym/prm/EgovProgramListDetailSelectUpdt"
* @exception Exception
*/
@RequestMapping(value = "/sym/prm/EgovProgramListDetailSelect.do")
public String selectProgrm(@RequestParam("tmp_progrmNm") String tmp_progrmNm, @ModelAttribute("searchVO") ComDefaultVO searchVO, RedirectAttributes redirectAttributes, ModelMap model) throws Exception {
// 0. Spring Security 사용자권한 처리
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
if (!isAuthenticated) {
//model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
return "uat/uia/EgovLoginUsr";
}
searchVO.setSearchKeyword(tmp_progrmNm);
ProgrmManageVO progrmManageVO = progrmManageService.selectProgrm(searchVO);
if(progrmManageVO == null){
redirectAttributes.addFlashAttribute("message", "프로그램 목록이 없습니다.");
RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/sym/prm/EgovProgramListManageSelect.do");
return redirectUrlMaker.getRedirectUrl();
}
model.addAttribute("progrmManageVO", progrmManageVO);
return "sym/prm/EgovProgramListDetailSelectUpdt";
}
/**
* 프로그램목록 리스트조회한다.
* @param searchVO ComDefaultVO
* @return 출력페이지정보 "sym/prm/EgovProgramListManage"
* @exception Exception
*/
@RequestMapping(value = "/sym/prm/EgovProgramListManageSelect.do")
public String selectProgrmList(@ModelAttribute("searchVO") ComDefaultVO searchVO, ModelMap model) throws Exception {
// 0. Spring Security 사용자권한 처리
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
if (!isAuthenticated) {
//model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
return "uat/uia/EgovLoginUsr";
}
// 내역 조회
/** EgovPropertyService.sample */
searchVO.setPageUnit(propertiesService.getInt("pageUnit"));
searchVO.setPageSize(propertiesService.getInt("pageSize"));
/** pageing */
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());
model.addAttribute("list_progrmmanage", progrmManageService.selectProgrmList(searchVO));
model.addAttribute("searchVO", searchVO);
int totCnt = progrmManageService.selectProgrmListTotCnt(searchVO);
paginationInfo.setTotalRecordCount(totCnt);
model.addAttribute("paginationInfo", paginationInfo);
return "sym/prm/EgovProgramListManage";
}
/**
* 프로그램목록 멀티 삭제한다.
* @param checkedProgrmFileNmForDel String
* @return 출력페이지정보 "forward:/sym/prm/EgovProgramListManageSelect.do"
* @exception Exception
*/
@RequestMapping("/sym/prm/EgovProgrmManageListDelete.do")
public String deleteProgrmManageList(@RequestParam("checkedProgrmFileNmForDel") String checkedProgrmFileNmForDel,
@ModelAttribute("progrmManageVO") ProgrmManageVO progrmManageVO, RedirectAttributes redirectAttributes, ModelMap model) throws Exception {
String sLocationUrl = null;
String resultMsg = "";
// 0. Spring Security 사용자권한 처리
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
if (!isAuthenticated) {
model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
return "uat/uia/EgovLoginUsr";
}
if (!EgovDoubleSubmitHelper.checkAndSaveToken("someKey")) {
return "redirect:/sym/prm/EgovProgramListManageSelect.do";
}
String[] delProgrmFileNm = checkedProgrmFileNmForDel.split(",");
if (delProgrmFileNm == null || (delProgrmFileNm.length == 0)) {
resultMsg = egovMessageSource.getMessage("fail.common.delete");
sLocationUrl = "forward:/sym/prm/EgovProgramListManageSelect.do";
} else {
progrmManageService.deleteProgrmManageList(checkedProgrmFileNmForDel);
resultMsg = egovMessageSource.getMessage("success.common.delete");
sLocationUrl = "forward:/sym/prm/EgovProgramListManageSelect.do";
}
model.addAttribute("message", resultMsg);
//status.setComplete();
redirectAttributes.addFlashAttribute("message", resultMsg);
RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/sym/prm/EgovProgramListManageSelect.do");
return redirectUrlMaker.getRedirectUrl();
//return sLocationUrl;
}
/**
* 프로그램목록을 등록화면으로 이동 및 등록 한다.
* @param progrmManageVO ProgrmManageVO
* @param commandMap Map
* @return 출력페이지정보 등록화면 호출시 "sym/prm/EgovProgramListRegist",
* 출력페이지정보 등록처리시 "forward:/sym/prm/EgovProgramListManageSelect.do"
* @exception Exception
*/
@RequestMapping(value = "/sym/prm/EgovProgramListRegist.do")
public String insertProgrmList(@RequestParam Map commandMap, @ModelAttribute("progrmManageVO") ProgrmManageVO progrmManageVO, BindingResult bindingResult,
ModelMap model , RedirectAttributes redirectAttributes) throws Exception {
String resultMsg = "";
String sLocationUrl = null;
// 0. Spring Security 사용자권한 처리
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
if (!isAuthenticated) {
model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
return "uat/uia/EgovLoginUsr";
}
String sCmd = commandMap.get("cmd") == null ? "" : (String) commandMap.get("cmd");
if (sCmd.equals("insert")){
if (!EgovDoubleSubmitHelper.checkAndSaveToken("someKey")) {
return "redirect:/sym/prm/EgovProgramListManageSelect.do";
}
beanValidator.validate(progrmManageVO, bindingResult);
if (bindingResult.hasErrors()) {
sLocationUrl = "sym/prm/EgovProgramListRegist";
return sLocationUrl;
}
if (progrmManageVO.getProgrmDc() == null || progrmManageVO.getProgrmDc().equals("")) {
progrmManageVO.setProgrmDc(" ");
}
sLocationUrl = "/sym/prm/EgovProgramListManageSelect.do";
try{
progrmManageService.insertProgrm(progrmManageVO);
resultMsg = egovMessageSource.getMessage("success.common.insert");
}catch(Exception e){
resultMsg = "중복된 프로그램 파일명이 있습니다." ;
}
redirectAttributes.addFlashAttribute("message", resultMsg);
RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker(sLocationUrl);
return redirectUrlMaker.getRedirectUrl();
} else {
sLocationUrl = "sym/prm/EgovProgramListRegist";
}
model.addAttribute("message", resultMsg);
return sLocationUrl;
}
/**
* 프로그램목록을 수정 한다.
* @param progrmManageVO ProgrmManageVO
* @return 출력페이지정보 "forward:/sym/prm/EgovProgramListManageSelect.do"
* @exception Exception
*/
/*프로그램목록수정*/
@RequestMapping(value = "/sym/prm/EgovProgramListDetailSelectUpdt.do")
public String updateProgrmList(@ModelAttribute("progrmManageVO") ProgrmManageVO progrmManageVO, BindingResult bindingResult, RedirectAttributes redirectAttributes, ModelMap model) throws Exception {
String resultMsg = "";
String sLocationUrl = null;
// 0. Spring Security 사용자권한 처리
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
if (!isAuthenticated) {
//model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
return "uat/uia/EgovLoginUsr";
}
beanValidator.validate(progrmManageVO, bindingResult);
if (bindingResult.hasErrors()){
sLocationUrl = "forward:/sym/prm/EgovProgramListDetailSelect.do";
return sLocationUrl;
}
if (progrmManageVO.getProgrmDc() == null || progrmManageVO.getProgrmDc().equals("")) {
progrmManageVO.setProgrmDc(" ");
}
progrmManageService.updateProgrm(progrmManageVO);
resultMsg = egovMessageSource.getMessage("success.common.update");
sLocationUrl = "forward:/sym/prm/EgovProgramListManageSelect.do";
redirectAttributes.addFlashAttribute("message", resultMsg);
RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/sym/prm/EgovProgramListManageSelect.do");
return redirectUrlMaker.getRedirectUrl();
//return sLocationUrl;
}
/**
* 프로그램목록을 삭제 한다.
* @param progrmManageVO ProgrmManageVO
* @return 출력페이지정보 "forward:/sym/prm/EgovProgramListManageSelect.do"
* @exception Exception
*/
@RequestMapping(value = "/sym/prm/EgovProgramListManageDelete.do")
public String deleteProgrmList(@ModelAttribute("progrmManageVO") ProgrmManageVO progrmManageVO, RedirectAttributes redirectAttributes, ModelMap model) throws Exception {
String resultMsg = "";
// 0. Spring Security 사용자권한 처리
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
if (!isAuthenticated) {
model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
return "uat/uia/EgovLoginUsr";
}
if (!EgovDoubleSubmitHelper.checkAndSaveToken("someKey")) {
return "redirect:/sym/prm/EgovProgramListManageSelect.do";
}
progrmManageService.deleteProgrm(progrmManageVO);
resultMsg = egovMessageSource.getMessage("success.common.delete");
redirectAttributes.addFlashAttribute("message", resultMsg);
RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/sym/prm/EgovProgramListManageSelect.do");
return redirectUrlMaker.getRedirectUrl();
//return "forward:/sym/prm/EgovProgramListManageSelect.do";
}
/**
* 프로그램변경요청목록 조회한다.
* @param searchVO ComDefaultVO
* @return 출력페이지정보 "sym/prm/EgovProgramChangeRequst"
* @exception Exception
*/
@RequestMapping(value = "/sym/prm/EgovProgramChangeRequstSelect.do")
public String selectProgrmChangeRequstList(@ModelAttribute("searchVO") ComDefaultVO searchVO, ModelMap model) throws Exception {
// 0. Spring Security 사용자권한 처리
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
if (!isAuthenticated) {
model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
return "uat/uia/EgovLoginUsr";
}
// 내역 조회
/** EgovPropertyService.sample */
searchVO.setPageUnit(propertiesService.getInt("pageUnit"));
searchVO.setPageSize(propertiesService.getInt("pageSize"));
/** pageing */
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());
model.addAttribute("list_changerequst", progrmManageService.selectProgrmChangeRequstList(searchVO));
int totCnt = progrmManageService.selectProgrmChangeRequstListTotCnt(searchVO);
paginationInfo.setTotalRecordCount(totCnt);
model.addAttribute("paginationInfo", paginationInfo);
return "sym/prm/EgovProgramChangeRequst";
}
/**
* 프로그램변경요청목록을 상세조회한다.
* @param progrmManageDtlVO ProgrmManageDtlVO
* @return 출력페이지정보 "sym/prm/EgovProgramChangRequstDetailSelectUpdt"
* @exception Exception
*/
@RequestMapping(value = "/sym/prm/EgovProgramChangRequstDetailSelect.do")
public String selectProgrmChangeRequst(@ModelAttribute("progrmManageDtlVO") ProgrmManageDtlVO progrmManageDtlVO, ModelMap model) throws Exception {
// 0. Spring Security 사용자권한 처리
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
if (!isAuthenticated) {
model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
return "uat/uia/EgovLoginUsr";
}
if (progrmManageDtlVO.getProgrmFileNm() == null || progrmManageDtlVO.getProgrmFileNm().equals("")) {
String _FileNm = progrmManageDtlVO.getTmp_progrmNm();
progrmManageDtlVO.setProgrmFileNm(_FileNm);
int _tmp_no = progrmManageDtlVO.getTmp_rqesterNo();
progrmManageDtlVO.setRqesterNo(_tmp_no);
}
ProgrmManageDtlVO resultVO = progrmManageService.selectProgrmChangeRequst(progrmManageDtlVO);
model.addAttribute("progrmManageDtlVO", resultVO);
return "sym/prm/EgovProgramChangRequstDetailSelectUpdt";
}
/**
* 프로그램변경요청 화면을 호출및 프로그램변경요청을 등록한다.
* @param progrmManageDtlVO ProgrmManageDtlVO
* @param commandMap Map
* @return 출력페이지정보 등록화면 호출시 "sym/prm/EgovProgramChangRequstStre",
* 출력페이지정보 등록처리시 "forward:/sym/prm/EgovProgramChangeRequstSelect.do"
* @exception Exception
*/
/*프로그램변경요청등록*/
@RequestMapping(value = "/sym/prm/EgovProgramChangRequstStre.do")
public String insertProgrmChangeRequst(@RequestParam Map commandMap, @ModelAttribute("progrmManageDtlVO") ProgrmManageDtlVO progrmManageDtlVO,
BindingResult bindingResult, ModelMap model) throws Exception {
String resultMsg = "";
// 0. Spring Security 사용자권한 처리
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
if (!isAuthenticated) {
model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
return "uat/uia/EgovLoginUsr";
}
//로그인 객체 선언
LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
String sLocationUrl = null;
String sCmd = commandMap.get("cmd") == null ? "" : (String) commandMap.get("cmd");
if (sCmd.equals("insert")) {
//beanValidator 처리
beanValidator.validate(progrmManageDtlVO, bindingResult);
if (bindingResult.hasErrors()) {
sLocationUrl = "sym/prm/EgovProgramChangRequstStre";
return sLocationUrl;
}
if (progrmManageDtlVO.getChangerqesterCn() == null || progrmManageDtlVO.getChangerqesterCn().equals("")) {
progrmManageDtlVO.setChangerqesterCn("");
}
if (progrmManageDtlVO.getRqesterProcessCn() == null || progrmManageDtlVO.getRqesterProcessCn().equals("")) {
progrmManageDtlVO.setRqesterProcessCn("");
}
progrmManageService.insertProgrmChangeRequst(progrmManageDtlVO);
resultMsg = egovMessageSource.getMessage("success.common.insert");
sLocationUrl = "forward:/sym/prm/EgovProgramChangeRequstSelect.do";
} else {
/* MAX요청번호 조회 */
ProgrmManageDtlVO tmp_vo = progrmManageService.selectProgrmChangeRequstNo(progrmManageDtlVO);
int _tmp_no = tmp_vo.getRqesterNo();
progrmManageDtlVO.setRqesterNo(_tmp_no);
progrmManageDtlVO.setRqesterPersonId(user.getId());
sLocationUrl = "sym/prm/EgovProgramChangRequstStre";
}
model.addAttribute("message", resultMsg);
return sLocationUrl;
}
/**
* 프로그램변경 요청을 수정 한다.
* @param progrmManageDtlVO ProgrmManageDtlVO
* @return 출력페이지정보 "forward:/sym/prm/EgovProgramChangeRequstSelect.do"
* @exception Exception
*/
@RequestMapping(value = "/sym/prm/EgovProgramChangRequstDetailSelectUpdt.do")
public String updateProgrmChangeRequst(@ModelAttribute("progrmManageDtlVO") ProgrmManageDtlVO progrmManageDtlVO, BindingResult bindingResult, ModelMap model) throws Exception {
String sLocationUrl = null;
String resultMsg = "";
// 0. Spring Security 사용자권한 처리
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
if (!isAuthenticated) {
model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
return "uat/uia/EgovLoginUsr";
}
//로그인 객체 선언
LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
//beanValidator 처리
beanValidator.validate(progrmManageDtlVO, bindingResult);
if (bindingResult.hasErrors()) {
sLocationUrl = "forward:/sym/prm/EgovProgramChangRequstDetailSelect.do";
return sLocationUrl;
}
if (progrmManageDtlVO.getRqesterPersonId().equals(loginVO.getId())) {
if (progrmManageDtlVO.getChangerqesterCn() == null || progrmManageDtlVO.getChangerqesterCn().equals("")) {
progrmManageDtlVO.setChangerqesterCn(" ");
}
if (progrmManageDtlVO.getRqesterProcessCn() == null || progrmManageDtlVO.getRqesterProcessCn().equals("")) {
progrmManageDtlVO.setRqesterProcessCn(" ");
}
progrmManageService.updateProgrmChangeRequst(progrmManageDtlVO);
resultMsg = egovMessageSource.getMessage("success.common.update");
sLocationUrl = "forward:/sym/prm/EgovProgramChangeRequstSelect.do";
} else {
resultMsg = "수정이 실패하였습니다. 변경요청 수정은 변경요청자만 수정가능합니다.";
progrmManageDtlVO.setTmp_progrmNm(progrmManageDtlVO.getProgrmFileNm());
progrmManageDtlVO.setTmp_rqesterNo(progrmManageDtlVO.getRqesterNo());
sLocationUrl = "forward:/sym/prm/EgovProgramChangRequstDetailSelect.do";
}
model.addAttribute("message", resultMsg);
return sLocationUrl;
}
/**
* 프로그램변경 요청을 삭제 한다.
* @param progrmManageDtlVO ProgrmManageDtlVO
* @return 출력페이지정보 "forward:/sym/prm/EgovProgramChangeRequstSelect.do"
* @exception Exception
*/
@RequestMapping(value = "/sym/prm/EgovProgramChangRequstDelete.do")
public String deleteProgrmChangeRequst(@ModelAttribute("progrmManageDtlVO") ProgrmManageDtlVO progrmManageDtlVO, ModelMap model) throws Exception {
String sLocationUrl = null;
// 0. Spring Security 사용자권한 처리
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
if (!isAuthenticated) {
model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
return "uat/uia/EgovLoginUsr";
}
//로그인 객체 선언
LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
if (progrmManageDtlVO.getRqesterPersonId().equals(loginVO.getId())) {
//progrmManageDtlVO.setRqesterPersonId(user.getId());
model.addAttribute("message", egovMessageSource.getMessage("success.common.delete"));
progrmManageService.deleteProgrmChangeRequst(progrmManageDtlVO);
sLocationUrl = "forward:/sym/prm/EgovProgramChangeRequstSelect.do";
} else {
model.addAttribute("message", "삭제에 실패하였습니다. 변경요청자만 삭제가능합니다.");
sLocationUrl = "forward:/sym/prm/EgovProgramChangRequstDetailSelect.do";
}
return sLocationUrl;
}
/**
* 프로그램변경 요청에 대한 처리 사항을 조회한다.
* @param searchVO ComDefaultVO
* @return 출력페이지정보 "sym/prm/EgovProgramChangeRequstProcess"
* @exception Exception
*/
@RequestMapping(value = "/sym/prm/EgovProgramChangeRequstProcessListSelect.do")
public String selectProgrmChangeRequstProcessList(@ModelAttribute("searchVO") ComDefaultVO searchVO, ModelMap model) throws Exception {
// 0. Spring Security 사용자권한 처리
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
if (!isAuthenticated) {
model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
return "uat/uia/EgovLoginUsr";
}
// 내역 조회
/** EgovPropertyService.sample */
searchVO.setPageUnit(propertiesService.getInt("pageUnit"));
searchVO.setPageSize(propertiesService.getInt("pageSize"));
/** pageing */
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());
//List list_changerequst = progrmManageService.selectChangeRequstProcessList(searchVO);
model.addAttribute("list_changerequst", progrmManageService.selectChangeRequstProcessList(searchVO));
int totCnt = progrmManageService.selectChangeRequstProcessListTotCnt(searchVO);
paginationInfo.setTotalRecordCount(totCnt);
model.addAttribute("paginationInfo", paginationInfo);
return "sym/prm/EgovProgramChangeRequstProcess";
}
/**
* 프로그램변경 요청에 대한 처리 사항을 상세조회한다.
* @param progrmManageDtlVO ProgrmManageDtlVO
* @return 출력페이지정보 "sym/prm/EgovProgramChangRequstProcessDetailSelectUpdt"
* @exception Exception
*/
@RequestMapping(value = "/sym/prm/EgovProgramChangRequstProcessDetailSelect.do")
public String selectProgrmChangRequstProcess(@ModelAttribute("progrmManageDtlVO") ProgrmManageDtlVO progrmManageDtlVO, ModelMap model) throws Exception {
// 0. Spring Security 사용자권한 처리
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
if (!isAuthenticated) {
model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
return "uat/uia/EgovLoginUsr";
}
if (progrmManageDtlVO.getProgrmFileNm() == null) {
String _FileNm = progrmManageDtlVO.getTmp_progrmNm();
progrmManageDtlVO.setProgrmFileNm(_FileNm);
int _Tmp_no = progrmManageDtlVO.getTmp_rqesterNo();
progrmManageDtlVO.setRqesterNo(_Tmp_no);
}
ProgrmManageDtlVO resultVO = progrmManageService.selectProgrmChangeRequst(progrmManageDtlVO);
if (resultVO.getOpetrId() == null) {
LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
resultVO.setOpetrId(user.getId());
}
model.addAttribute("progrmManageDtlVO", resultVO);
return "sym/prm/EgovProgramChangRequstProcessDetailSelectUpdt";
}
/**
* 프로그램변경요청처리 내용을 수정 한다.
* @param progrmManageDtlVO ProgrmManageDtlVO
* @return 출력페이지정보 "forward:/sym/prm/EgovProgramChangeRequstProcessListSelect.do"
* @exception Exception
*/
@RequestMapping(value = "/sym/prm/EgovProgramChangRequstProcessDetailSelectUpdt.do")
public String updateProgrmChangRequstProcess(@ModelAttribute("progrmManageDtlVO") ProgrmManageDtlVO progrmManageDtlVO, BindingResult bindingResult, ModelMap model)
throws Exception {
String sLocationUrl = null;
// 0. Spring Security 사용자권한 처리
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
if (!isAuthenticated) {
model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
return "uat/uia/EgovLoginUsr";
}
beanValidator.validate(progrmManageDtlVO, bindingResult);
if (bindingResult.hasErrors()) {
sLocationUrl = "forward:/sym/prm/EgovProgramChangRequstProcessDetailSelect.do";
return sLocationUrl;
}
LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
if (progrmManageDtlVO.getOpetrId().equals(user.getId())) {
if (progrmManageDtlVO.getChangerqesterCn() == null || progrmManageDtlVO.getChangerqesterCn().equals("")) {
progrmManageDtlVO.setChangerqesterCn(" ");
}
if (progrmManageDtlVO.getRqesterProcessCn() == null || progrmManageDtlVO.getRqesterProcessCn().equals("")) {
progrmManageDtlVO.setRqesterProcessCn(" ");
}
progrmManageService.updateProgrmChangeRequstProcess(progrmManageDtlVO);
model.addAttribute("message", egovMessageSource.getMessage("success.common.update"));
//ProgrmManageDtlVO vo = new ProgrmManageDtlVO();
//vo = progrmManageService.selectRqesterEmail(progrmManageDtlVO);
//String sTemp = null;
//if(progrmManageDtlVO.getProcessSttus().equals("A")){
// sTemp = "신청중";
//}else if(progrmManageDtlVO.getProcessSttus().equals("P")){
// sTemp = "진행중";
//}else if(progrmManageDtlVO.getProcessSttus().equals("R")){
// sTemp = "반려";
//}else if(progrmManageDtlVO.getProcessSttus().equals("C")){
// sTemp = "처리완료";
//}else{
// sTemp = "";
//}
// 프로그램 변경요청 사항을 이메일로 발송한다.(메일연동솔루션 활용)
//SndngMailVO sndngMailVO = new SndngMailVO();
//sndngMailVO.setDsptchPerson(user.getId());
//sndngMailVO.setRecptnPerson(vo.getTmp_Email());
//sndngMailVO.setSj("프로그램변경요청 처리.");
//sndngMailVO.setEmailCn("프로그램 변경요청 사항이 "+sTemp+"(으)로 처리 되었습니다.");
//sndngMailVO.setAtchFileId(null);
//result = sndngMailRegistService.insertSndngMail(sndngMailVO);
sLocationUrl = "forward:/sym/prm/EgovProgramChangeRequstProcessListSelect.do";
} else {
model.addAttribute("message", "수정이 실패하였습니다. 변경요청처리 수정은 변경처리해당 담당자만 처리가능합니다.");
progrmManageDtlVO.setTmp_progrmNm(progrmManageDtlVO.getProgrmFileNm());
progrmManageDtlVO.setTmp_rqesterNo(progrmManageDtlVO.getRqesterNo());
sLocationUrl = "forward:/sym/prm/EgovProgramChangRequstProcessDetailSelect.do";
}
return sLocationUrl;
}
/**
* 프로그램변경요청처리를 삭제 한다.
* @param progrmManageDtlVO ProgrmManageDtlVO
* @return 출력페이지정보 "forward:/sym/prm/EgovProgramChangeRequstProcessListSelect.do"
* @exception Exception
*/
/*프로그램변경요청처리 삭제*/
@RequestMapping(value = "/sym/prm/EgovProgramChangRequstProcessDelete.do")
public String deleteProgrmChangRequstProcess(@ModelAttribute("progrmManageDtlVO") ProgrmManageDtlVO progrmManageDtlVO, ModelMap model) throws Exception {
// 0. Spring Security 사용자권한 처리
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
if (!isAuthenticated) {
model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
return "uat/uia/EgovLoginUsr";
}
progrmManageService.deleteProgrmChangeRequst(progrmManageDtlVO);
return "forward:/sym/prm/EgovProgramChangeRequstProcessListSelect.do";
}
/**
* 프로그램변경이력리스트를 조회한다.
* @param searchVO ComDefaultVO
* @return 출력페이지정보 "sym/prm/EgovProgramChgHst"
* @exception Exception
*/
@RequestMapping(value = "/sym/prm/EgovProgramChgHstListSelect.do")
public String selectProgrmChgHstList(@ModelAttribute("searchVO") ComDefaultVO searchVO, ModelMap model) throws Exception {
// 0. Spring Security 사용자권한 처리
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
if (!isAuthenticated) {
model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
return "uat/uia/EgovLoginUsr";
}
// 내역 조회
/** EgovPropertyService.sample */
searchVO.setPageUnit(propertiesService.getInt("pageUnit"));
searchVO.setPageSize(propertiesService.getInt("pageSize"));
/** pageing */
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());
model.addAttribute("list_changerequst", progrmManageService.selectProgrmChangeRequstList(searchVO));
int totCnt = progrmManageService.selectProgrmChangeRequstListTotCnt(searchVO);
paginationInfo.setTotalRecordCount(totCnt);
model.addAttribute("paginationInfo", paginationInfo);
return "sym/prm/EgovProgramChgHst";
}
/*프로그램변경이력상세조회*/
/**
* 프로그램변경이력을 상세조회한다.
* @param progrmManageDtlVO ProgrmManageDtlVO
* @return 출력페이지정보 "sym/prm/EgovProgramChgHstDetail"
* @exception Exception
*/
@RequestMapping(value = "/sym/prm/EgovProgramChgHstListDetailSelect.do")
public String selectProgramChgHstListDetail(@ModelAttribute("progrmManageDtlVO") ProgrmManageDtlVO progrmManageDtlVO, ModelMap model) throws Exception {
// 0. Spring Security 사용자권한 처리
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
if (!isAuthenticated) {
model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
return "uat/uia/EgovLoginUsr";
}
String _FileNm = progrmManageDtlVO.getTmp_progrmNm();
progrmManageDtlVO.setProgrmFileNm(_FileNm);
int _tmp_no = progrmManageDtlVO.getTmp_rqesterNo();
progrmManageDtlVO.setRqesterNo(_tmp_no);
ProgrmManageDtlVO resultVO = progrmManageService.selectProgrmChangeRequst(progrmManageDtlVO);
model.addAttribute("resultVO", resultVO);
return "sym/prm/EgovProgramChgHstDetail";
}
/**
* 프로그램파일명을 조회한다.
* @param searchVO ComDefaultVO
* @return 출력페이지정보 "sym/prm/EgovFileNmSearch"
* @exception Exception
*/
@RequestMapping(value = "/sym/prm/EgovProgramListSearch.do")
public String selectProgrmListSearch(@ModelAttribute("searchVO") ComDefaultVO searchVO, ModelMap model) throws Exception {
// 0. Spring Security 사용자권한 처리
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
if (!isAuthenticated) {
model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
return "uat/uia/EgovLoginUsr";
}
// 내역 조회
searchVO.setPageUnit(propertiesService.getInt("pageUnit"));
searchVO.setPageSize(propertiesService.getInt("pageSize"));
/** pageing */
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());
List> list_progrmmanage = progrmManageService.selectProgrmList(searchVO);
model.addAttribute("list_progrmmanage", list_progrmmanage);
int totCnt = progrmManageService.selectProgrmListTotCnt(searchVO);
paginationInfo.setTotalRecordCount(totCnt);
model.addAttribute("paginationInfo", paginationInfo);
return "sym/prm/EgovFileNmSearch";
}
}