File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
2024-11-14
File name
Commit message
Commit date
File name
Commit message
Commit date
package itn.let.fax.admin.web;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
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.ResponseBody;
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.EgovMessageSource;
import itn.com.cmm.LoginVO;
import itn.com.cmm.util.FileUtil;
import itn.com.cmm.util.MJUtil;
import itn.com.cmm.util.PdfUtil;
import itn.com.cmm.util.RedirectUrlMaker;
import itn.com.utl.fcc.service.EgovStringUtil;
import itn.let.fax.addr.service.FaxAddrGroupService;
import itn.let.fax.addr.service.FaxAddrGroupVO;
import itn.let.fax.addr.service.FaxAddrService;
import itn.let.fax.addr.service.FaxAddrVO;
import itn.let.fax.admin.service.FaxAdmService;
import itn.let.fax.admin.service.FaxStatVO;
import itn.let.fax.user.service.FaxConvertVO;
import itn.let.fax.user.service.FaxGroupDataVO;
import itn.let.fax.user.service.FaxService;
import itn.let.mail.service.StatusResponse;
import itn.let.mjo.msg.service.MjonMsgResultCodeVO;
import itn.let.mjo.msg.service.MjonMsgService;
import itn.let.mjo.msgdata.service.MjonMsgDataService;
import itn.let.mjo.msgsent.service.MjonMsgSentService;
import itn.let.mjo.msgsent.service.MjonMsgSentVO;
@Controller
public class FaxAdmController {
private static final Logger logger = LoggerFactory.getLogger(FaxAdmController.class);
@Resource(name = "faxService")
private FaxService faxService;
@Resource(name = "faxAdmService")
private FaxAdmService faxAdmService;
@Resource(name = "MjonMsgDataService")
private MjonMsgDataService mjonMsgDataService;
@Resource(name = "mjonMsgService")
private MjonMsgService mjonMsgService;
@Resource (name = "FaxAddrService")
private FaxAddrService faxAddrService;
@Resource (name = "FaxAddrGroupService")
private FaxAddrGroupService faxAddrGroupService;
@Resource(name = "MjonMsgSentService")
private MjonMsgSentService mjonMsgSentService;
/** EgovMessageSource */
@Resource(name="egovMessageSource")
EgovMessageSource egovMessageSource;
/** fax 원본 파일 저장 경로*/
@Value("#{globalSettings['Globals.fax.file.ori.path']}")
private String FAX_ORI_FILE_PATH;
/** fax 변환 파일 저장 경로*/
@Value("#{globalSettings['Globals.fax.file.convert.path']}")
private String FAX_CONVERT_FILE_PATH;
/**
* @methodName : faxAdmSendList
* @author : 이호영
* @date : 2023.04.13
* @description : 팩스 관리 > 팩스 전송리스트
* @param faxGroupDataVO
* @param model
* @return
* @throws Exception
*/
@RequestMapping(value= {"/uss/ion/fax/faxAdmSendList.do"})
public String faxAdmSendList(@ModelAttribute("searchVO") FaxGroupDataVO faxGroupDataVO
, ModelMap model) throws Exception{
//로그인 권한정보 불러오기
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
if(StringUtils.isEmpty(userId)) {
return "redirect:/web/user/login/login.do";
}
model.addAttribute("loginVO", loginVO);
// 기간검색 설정
String beforeMonthDay = MJUtil.getBefore1MonthDate(); //한달 전
if (null == faxGroupDataVO.getSearchStartDate() || faxGroupDataVO.getSearchStartDate().equals("")) {
faxGroupDataVO.setSearchStartDate(beforeMonthDay);
}
/* 목록을 가져 온다 */
Map<String, Object> faxSendListMap = faxService.selectFaxSendList(faxGroupDataVO);
// 전송내역
model.addAttribute("faxGroupListVO", faxSendListMap.get("faxGroupListVO"));
model.addAttribute("searchKeyword", faxSendListMap.get("searchKeyword"));
model.addAttribute("paginationInfo", faxSendListMap.get("paginationInfo"));
return "/uss/ion/fax/faxAdmSendList";
}
// 팩스 금일/금월/금년 통계
@RequestMapping(value = "/uss/ion/fax/selectFaxSendThisSumAjax.do")
public ModelAndView FaxSendThisSumAjax(
@ModelAttribute("faxGroupDataVO") FaxGroupDataVO faxGroupDataVO) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
boolean isSuccess = true;
String msg = "";
FaxGroupDataVO result = null;
try {
result = faxService.selectFaxSendThisSum(faxGroupDataVO);
}
catch(Exception e) {
isSuccess = false;
msg = e.getMessage();
}
modelAndView.addObject("result", result);
modelAndView.addObject("isSuccess", isSuccess);
modelAndView.addObject("msg", msg);
return modelAndView;
}
/**
* @methodName : faxAdmSendDetailList
* @author : 이호영
* @date : 2023.04.13
* @description : 팩스 관리 > 팩스 전송리스트 > 전송 상세리스트
* @param faxGroupDataVO
* @param model
* @return
* @throws Exception
*/
@RequestMapping(value= {"/uss/ion/fax/faxAdmSendDetailList.do"})
public String faxAdmSendDetailList(@ModelAttribute("searchVO") FaxGroupDataVO faxGroupDataVO
, ModelMap model) throws Exception{
//로그인 권한정보 불러오기
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
if(StringUtils.isEmpty(userId)) {
return "redirect:/web/user/login/login.do";
}
model.addAttribute("loginVO", loginVO);
/* 목록을 가져 온다 */
faxGroupDataVO.setUserId(userId);
Map<String, Object> resultMap = faxService.selectFaxSendDetailList(faxGroupDataVO);
// 전송내역
model.addAttribute("faxDetailListVO", resultMap.get("faxDetailListVO"));
model.addAttribute("paginationInfo", resultMap.get("paginationInfo"));
//
return "/uss/ion/fax/faxAdmSendDetailList";
}
/**
* @methodName : faxAdmSendDetail
* @author : 이호영
* @date : 2023.04.13
* @description : 팩스 관리 > 팩스 전송리스트 > 전송 상세리스트 > 상세 내용
* @param faxGroupDataVO
* @param model
* @return
* @throws Exception
*/
@RequestMapping(value= {"/uss/ion/fax/faxAdmSendDetail.do"})
public String faxAdmSendDetail(@ModelAttribute("searchVO") FaxGroupDataVO faxGroupDataVO
, ModelMap model) throws Exception{
//로그인 권한정보 불러오기
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
if(StringUtils.isEmpty(userId)) {
return "redirect:/web/user/login/login.do";
}
model.addAttribute("loginVO", loginVO);
try {
Map<String, Object> resultMap = faxAdmService.selectFaxAdmSendDetail(faxGroupDataVO);
model.addAttribute("faxDetailVO", resultMap.get("faxDetailVO"));
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}
/* 목록을 가져 온다 */
//
return "/uss/ion/fax/faxAdmSendDetail";
}
/**
* @methodName : fileDownload
* @author : 이호영
* @date : 2023.04.13
* @description : 전송 상세에 파일 다운로드
* @param response
* @param faxGroupDataVO
* @throws Exception
*/
@RequestMapping(value= {"/uss/ion/fax/fileDownload.do"})
public void fileDownload(HttpServletResponse response, FaxGroupDataVO faxGroupDataVO) throws Exception{
String filePath = "";
String fileName = "";
if(StringUtils.isNotEmpty(faxGroupDataVO.getFaxConvertFilePath()))
fileName = faxGroupDataVO.getFaxConvertFilePath();
else if(StringUtils.isNotEmpty(faxGroupDataVO.getFaxOriFilePath()))
fileName = faxGroupDataVO.getFaxOriFilePath();
System.out.println("faxGroupDataVO.getOrignlFileNm() : "+ faxGroupDataVO.getOrignlFileNm());
// FAX_CONVERT_FILE_PATH
if(fileName.indexOf("/") < 0)
filePath = FAX_ORI_FILE_PATH+"/" + fileName;
FileUtil.downLoad(response, filePath, faxGroupDataVO.getOrignlFileNm());
}
/**
* @methodName : pdfPreview
* @author : 이호영
* @date : 2023.04.13
* @description : 전송 상세에 pdf 보기
* @param response
* @param faxConvertVO
* @throws Exception
*/
@RequestMapping(value= {"/uss/ion/fax/pdfPreview.do"})
public void pdfPreview(HttpServletResponse response, FaxConvertVO faxConvertVO) throws Exception{
String pdfFileName = faxConvertVO.getFaxConvertFilePath();
if(pdfFileName.indexOf("/") < 0)
pdfFileName = FAX_CONVERT_FILE_PATH+"/" + pdfFileName;
PdfUtil.showPdf(response, pdfFileName);
}
@RequestMapping(value= {"/uss/ion/msg/faxResultCodeList.do"})
public String MsgResultCodeList(@ModelAttribute("searchVO") MjonMsgResultCodeVO searchVO,
HttpServletRequest request,
ModelMap model) throws Exception{
/*
if(StringUtil.isEmpty(searchVO.getAgentCode())){ //최초 전송사 코드가 없는 경우 아이하트로 설정함
searchVO.setAgentCode("01");
}
*/
/** 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());
searchVO.setAgentCode("06");
List<MjonMsgResultCodeVO> resultList = mjonMsgService.selectMsgResultCodeListPageing(searchVO);
model.addAttribute("resultList", resultList);
paginationInfo.setTotalRecordCount(resultList.size() > 0 ? ((MjonMsgResultCodeVO)resultList.get(0)).getTotCnt() : 0);
model.addAttribute("paginationInfo", paginationInfo);
return "/uss/ion/fax/faxResultCodeList";
}
// 팩스발송 통계
@RequestMapping(value= {"/uss/ion/msg/faxSentStatistics.do"})
public String faxSentStatistics(
@ModelAttribute("searchVO") FaxStatVO searchVO
, HttpServletRequest request
, ModelMap model) throws Exception{
Map<String, Object> resultMap = faxAdmService.selectFaxCountStatList(searchVO);
model.addAttribute("statList", resultMap.get("statList"));
model.addAttribute("paginationInfo", resultMap.get("paginationInfo"));
model.addAttribute("searchVO", searchVO);
return "/uss/ion/fax/faxAdmSendStatistics";
}
// 팩스 금일 발송통계 갱신
@RequestMapping(value = "/uss/ion/msg/insertFaxCountStatTodayAjax.do")
public ResponseEntity<StatusResponse> insertFaxCountStatTodayAjax(FaxStatVO faxStatVO) throws Exception {
Map<String, String> resultMap = new HashMap<String, String>();
StatusResponse rspn = new StatusResponse(HttpStatus.OK, resultMap, LocalDateTime.now());
try {
faxAdmService.insertFaxCountStat(faxStatVO);
resultMap.put("result", "success");
resultMap.put("message", "알림톡 발송건수 통계 생성을 성공적으로 마쳤습니다.");
rspn.setObject(resultMap);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
resultMap.clear();
resultMap.put("result", "fail");
resultMap.put("message", "알림톡 발송건수 통계 생성을 실패했습니다.");
rspn.setObject(resultMap);
return ResponseEntity.ok().body(rspn);
}
return ResponseEntity.ok().body(rspn);
}
// 팩스 전송실적
@RequestMapping(value= {"/uss/ion/msg/faxSentPerformanceStatistics.do"})
public String faxSentPerformanceStatistics(
@ModelAttribute("searchVO") FaxGroupDataVO faxGroupDataVO
, ModelMap model) throws Exception{
try {
Map<String, Object> faxStatListMap = faxAdmService.selectFaxStatList(faxGroupDataVO);
model.addAttribute("faxGroupListVO", faxStatListMap.get("faxGroupListVO"));
} catch (Exception e) {
e.printStackTrace();
}
return "/uss/ion/fax/faxAdmSendPerformanceStatistics";
}
////////////////////////////////////////팩스 주소록 관리 기능//////////////////////////////////////////////////////////////
/**
* 주소록 리스트
* @param FaxAddrVO
* @param model
* @return
* @throws Exception
*/
@RequestMapping("/uss/ion/fax/addr/selectFaxAddrList.do")
public String selectFaxAddrList(@ModelAttribute("searchVO") FaxAddrVO addrVO
,ModelMap model) throws Exception {
if(addrVO.getPageUnit() != 10) {
addrVO.setPageUnit(addrVO.getPageUnit());
}
/** pageing */
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(addrVO.getPageIndex());
paginationInfo.setRecordCountPerPage(addrVO.getPageUnit());
paginationInfo.setPageSize(addrVO.getPageSize());
addrVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
addrVO.setLastIndex(paginationInfo.getLastRecordIndex());
addrVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
if("".equals(addrVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
addrVO.setSearchSortCnd("addrId");
addrVO.setSearchSortOrd("asc");
}
List<FaxAddrVO> addrList = faxAddrService.selectFaxAddrNewList(addrVO);
int totCnt = 0;
if(addrList.size() > 0) {
totCnt = addrList.get(0).getTotcnt();
}
paginationInfo.setTotalRecordCount(totCnt);
model.addAttribute("addrList", addrList);
model.addAttribute("paginationInfo", paginationInfo);
return "/uss/ion/fax/addr/FaxAddrList";
}
/**
* 주소록 등록 페이지 이동
* @param FaxAddrVO
* @return
* @throws Exception
*/
@RequestMapping("/uss/ion/fax/addr/registFaxAddr.do")
public String registFaxAddr(ModelMap model) throws Exception {
return "/uss/ion/fax/addr/FaxAddrRegist";
}
/**
* 주소록 추가 로직
* @param FaxAddrVO
* @param redirectAttributes
* @param request
* @return
* @throws Exception
*/
@RequestMapping("/uss/ion/fax/addr/insertFaxAddr.do")
public String insertFaxAddr(FaxAddrVO addrVO
,RedirectAttributes redirectAttributes
,HttpServletRequest request) throws Exception {
try {
LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
if( addrVO.getMberId() == null || "".equals(addrVO.getMberId()) ) {
addrVO.setMberId(user.getId());
}
// 자주 보내는 번호
if("bookmark".equals(addrVO.getAddrGrpId())) {
addrVO.setBookmark("Y");
addrVO.setAddrGrpId("0");
}
// 주소록 그룹 내 휴대폰번호 중복체크
int usedCnt = faxAddrService.selectDuplFaxAddrCnt(addrVO);
if (usedCnt > 0) {
redirectAttributes.addFlashAttribute("message", "해당 그룹내 중복된 휴대폰 번호가 있습니다.");
}
else {
faxAddrService.insertFaxAddr(addrVO);
redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.insert"));
}
}catch (Exception e) {
redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.insert"));
}
RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/ion/fax/addr/selectFaxAddrList.do");
return redirectUrlMaker.getRedirectUrl();
}
/**
* 주소록 수정 로직
*
* @param FaxAddrVO
* @param redirectAttributes
* @param request
* @return
* @throws Exception
*/
@RequestMapping("/uss/ion/fax/addr/updateFaxAddrByAdminAjax.do")
public ModelAndView updateFaxAddrByAdminAjax(FaxAddrVO addrVO
,RedirectAttributes redirectAttributes
,HttpServletRequest request
) throws Exception{
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
boolean isSuccess = true;
String msg = "";
try {
faxAddrService.updateFaxAddrByAdmin(addrVO);
}
catch(Exception e) {
System.out.println("++++++ updateFaxAddrByAdminAjax Contrller Error @!!!" + e);
isSuccess = false;
msg = "에러메시지 : " + e.getMessage();
}
modelAndView.addObject("isSuccess", isSuccess);
modelAndView.addObject("msg", msg);
return modelAndView;
}
/**
* 주소록 수정 페이지 이동
*
* @param FaxAddrVO
* @param model
* @return
* @throws Exception
*/
@RequestMapping("/uss/ion/fax/addr/editFaxAddr.do")
public String editFaxAddr(FaxAddrVO addrVO
, ModelMap model ) throws Exception {
FaxAddrVO addrInfo = faxAddrService.selectFaxAddrDetail(addrVO);
model.addAttribute("addrInfo", addrInfo);
return "/uss/ion/fax/addr/FaxAddrEdit";
}
/**
* 주소록 삭제 로직
*
* @param request
* @param FaxAddrVO
* @param redirectAttributes
* @param model
* @return
* @throws Exception
*/
@RequestMapping("/uss/ion/fax/addr/deleteFaxAddr.do")
public String deleteFaxAddr (HttpServletRequest request, @ModelAttribute("searchVO") FaxAddrVO addrVO
,RedirectAttributes redirectAttributes
,ModelMap model) throws Exception {
int result = faxAddrService.deleteFaxAddrByAdminAll(addrVO);
if (result > 0) {
redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.delete"));
} else {
redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.delete"));
}
redirectAttributes.addAttribute("pageIndex", addrVO.getPageIndex());
redirectAttributes.addAttribute("searchCondition", addrVO.getSearchCondition());
redirectAttributes.addAttribute("searchKeyword", addrVO.getSearchKeyword());
return "redirect:/uss/ion/fax/addr/selectFaxAddrList.do";
}
///////////////////////////////////////////팩스 주소록 그룹 관리 ////////////////////////////////////////////////////////////
/**
* 주소록 그룹 리스트
* @param FaxAddrGroupVO
* @param model
* @return
* @throws Exception
*/
@RequestMapping("/uss/ion/fax/addr/selectFaxAddrGroupList.do")
public String selectFaxAddrGroupList(@ModelAttribute("searchVO") FaxAddrGroupVO addrGroupVO
,ModelMap model) throws Exception {
if(addrGroupVO.getPageUnit() != 10) {
addrGroupVO.setPageUnit(addrGroupVO.getPageUnit());
}
/** pageing */
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(addrGroupVO.getPageIndex());
paginationInfo.setRecordCountPerPage(addrGroupVO.getPageUnit());
paginationInfo.setPageSize(addrGroupVO.getPageSize());
addrGroupVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
addrGroupVO.setLastIndex(paginationInfo.getLastRecordIndex());
addrGroupVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
if("".equals(addrGroupVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
addrGroupVO.setSearchSortCnd("addrGrpId");
addrGroupVO.setSearchSortOrd("desc");
}
addrGroupVO.setSiteId("admin");
List<FaxAddrGroupVO> addrGroupList = faxAddrGroupService.selectFaxAddrGroupList(addrGroupVO);
int totCnt = 0;
if(addrGroupList.size() > 0) {
totCnt = addrGroupList.get(0).getTotcnt();
}
paginationInfo.setTotalRecordCount(totCnt);
model.addAttribute("addrGroupList", addrGroupList);
model.addAttribute("paginationInfo", paginationInfo);
return "/uss/ion/fax/addrGroup/FaxAddrGroupList";
}
/**
* 주소록 그룹 리스트
* @param FaxAddrGroupVO
* @param model
* @return
* @throws Exception
*/
@RequestMapping("/uss/ion/fax/addr/selectFaxAddrGroupListAjax.do")
public ModelAndView selectFaxAddrGroupListAjax(@ModelAttribute("searchVO") FaxAddrGroupVO addrGroupVO, FaxAddrVO addrVO
,ModelMap model, RedirectAttributes redirectAttributes) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
if("".equals(addrGroupVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
addrGroupVO.setSearchSortCnd("grpOrder");
addrGroupVO.setSearchSortOrd("desc");
}
List<FaxAddrGroupVO> addrGroupList = faxAddrGroupService.selectFaxAddrGroupList(addrGroupVO);
modelAndView.addObject("addrGroupList", addrGroupList);
modelAndView.addObject("addrGroupListCnt", addrGroupList.size());
return modelAndView;
}
/**
* 주소록 그룹 등록 페이지 이동
* @param FaxAddrGroupVO
* @param model
* @return
* @throws Exception
*/
@RequestMapping("/uss/ion/fax/addr/registFaxAddrGroup.do")
public String registFaxAddrGroup(FaxAddrGroupVO addrGroupVO, ModelMap model) throws Exception {
model.addAttribute("addrGroupVO", addrGroupVO);
return "/uss/ion/fax/addrGroup/FaxAddrGroupRegist";
}
/**
* 주소록 그룹 등록 로직
* @param FaxAddrGroupVO
* @param redirectAttributes
* @param request
* @return
* @throws Exception
*/
@RequestMapping("/uss/ion/fax/addr/insertFaxAddrGroup.do")
public String insertFaxAddrGroup(FaxAddrGroupVO addrGroupVO
,RedirectAttributes redirectAttributes
,HttpServletRequest request) throws Exception {
try {
LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
if( addrGroupVO.getMberId() == null || "".equals(addrGroupVO.getMberId()) ) {
addrGroupVO.setMberId(user.getId());
}
//주소록 그룹 이름 불러오기(중복체크 용)
MjonMsgSentVO mjonMsgSentVO = new MjonMsgSentVO();
mjonMsgSentVO.setUserId(addrGroupVO.getMberId());
mjonMsgSentVO.setAddrGrpNm(addrGroupVO.getAddrGrpNm());
List<FaxAddrGroupVO> resultAddrGrpList = mjonMsgSentService.selectFaxAddrGrpNmList(mjonMsgSentVO);
if(resultAddrGrpList.size() > 0) { //기존 같은 이름의 그룹이 있으면 해당 그룹에 연락처를 추가해줌
redirectAttributes.addFlashAttribute("message", "같은 이름의 그룹명이 있습니다.");
}
else {
faxAddrGroupService.insertFaxAddrGroup(addrGroupVO);
redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.insert"));
}
}catch (Exception e) {
redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.insert"));
}
RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/ion/fax/addr/selectFaxAddrGroupList.do");
return redirectUrlMaker.getRedirectUrl();
}
/**
* 주소록 그룹 수정 로직
*
* @param FaxAddrGroupVO
* @param redirectAttributes
* @param request
* @return
* @throws Exception
*/
@RequestMapping("/uss/ion/fax/addr/updateFaxAddrGroupAjax.do")
public ModelAndView updateFaxAddrGroupAjax(FaxAddrGroupVO addrGroupVO
,RedirectAttributes redirectAttributes
,HttpServletRequest request
,HttpServletResponse response
) throws Exception{
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
boolean isSuccess = true;
String msg = "";
try {
//주소록 그룹 이름 불러오기(중복체크 용)
MjonMsgSentVO mjonMsgSentVO = new MjonMsgSentVO();
mjonMsgSentVO.setUserId(addrGroupVO.getMberId());
mjonMsgSentVO.setAddrGrpNm(addrGroupVO.getAddrGrpNm());
List<FaxAddrGroupVO> resultAddrGrpList = mjonMsgSentService.selectFaxAddrGrpNmList(mjonMsgSentVO);
if(resultAddrGrpList.size() > 0) { //기존 같은 이름의 그룹이 있으면 해당 그룹에 연락처를 추가해줌
isSuccess = false;
msg = "같은 이름의 그룹명이 있습니다.";
}
else {
faxAddrGroupService.updateFaxAddrGroup(addrGroupVO);
}
}
catch(Exception e) {
isSuccess = false;
msg = "에러메시지 : " + e.getMessage();
e.printStackTrace();
}
modelAndView.addObject("isSuccess", isSuccess);
modelAndView.addObject("msg", msg);
return modelAndView;
}
/**
* 주소록 그룹 수정 페이지 이동
*
* @param FaxAddrGroupVO
* @param model
* @return
* @throws Exception
*/
@RequestMapping("/uss/ion/fax/addr/editFaxAddrGroup.do")
public String editFaxAddrGroup(FaxAddrGroupVO addrGroupVO
, ModelMap model ) throws Exception {
model.addAttribute("searchVO", addrGroupVO);
model.addAttribute("addrGrpInfo", faxAddrGroupService.selectFaxAddrGroupDetail(addrGroupVO));
return "/uss/ion/fax/addrGroup/FaxAddrGroupEdit";
}
/**
* 주소록 그룹 삭제 로직
*
* @param request
* @param FaxAddrGroupVO
* @param redirectAttributes
* @param model
* @return
* @throws Exception
*/
@RequestMapping("/uss/ion/fax/addr/deleteFaxAddrGroup.do")
public String deleteFaxAddrGroup(HttpServletRequest request, @ModelAttribute("searchVO") FaxAddrGroupVO addrGroupVO
,RedirectAttributes redirectAttributes
,ModelMap model) throws Exception {
LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
addrGroupVO.setLastUpdusrId(user.getUniqId());
// 1. 그룹 삭제
// 2. 그룹에 소속된 주소록 삭제
int result = faxAddrGroupService.deleteFaxAddrGroupByAdminAll(addrGroupVO);
if (result > 0) {
redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.delete"));
} else {
redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.delete"));
}
redirectAttributes.addAttribute("pageIndex", addrGroupVO.getPageIndex());
redirectAttributes.addAttribute("searchCondition", addrGroupVO.getSearchCondition());
redirectAttributes.addAttribute("searchKeyword", addrGroupVO.getSearchKeyword());
return "redirect:/uss/ion/fax/addr/selectFaxAddrGroupList.do";
}
/**
* 주소록 그룹명 중복체크
*
* @param FaxAddrGroupVO
* @return
* @throws Exception
*/
@RequestMapping(value= {"/uss/ion/fax/addr/duplFaxAddrGroupAjax.do"})
@ResponseBody
public ModelAndView duplFaxAddrGroupAjax(FaxAddrGroupVO addrGroupVO
,HttpServletRequest request
,ModelMap model
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
int usedCnt = faxAddrGroupService.selectDuplFaxAddrGroupCnt(addrGroupVO);
if(usedCnt > 0) {
modelAndView.addObject("result1", "dupl");
} else {
modelAndView.addObject("result1", "success");
}
modelAndView.addObject("status1", "success");
return modelAndView;
}
}