File name
Commit message
Commit date
2023-07-03
File name
Commit message
Commit date
2023-07-03
File name
Commit message
Commit date
File name
Commit message
Commit date
2023-07-03
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
package itn.let.fax.user.web;
import java.util.ArrayList;
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.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.servlet.mvc.support.RedirectAttributes;
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
import itn.com.cmm.LoginVO;
import itn.com.cmm.util.FileUtil;
import itn.com.cmm.util.PdfUtil;
import itn.com.utl.fcc.service.EgovStringUtil;
import itn.let.fax.addr.service.FaxAddrService;
import itn.let.fax.addr.service.FaxAddrVO;
import itn.let.fax.user.service.FaxConvertVO;
import itn.let.fax.user.service.FaxGroupDataVO;
import itn.let.fax.user.service.FaxService;
import itn.let.mjo.msgdata.service.MjonMsgDataService;
@Controller
public class FaxController {
private static final Logger logger = LoggerFactory.getLogger(FaxController.class);
@Resource(name = "faxService")
private FaxService faxService;
@Resource (name = "FaxAddrService")
private FaxAddrService faxAddrService;
@Resource(name = "MjonMsgDataService")
private MjonMsgDataService mjonMsgDataService;
/** fax 변환 파일 저장 경로*/
@Value("#{globalSettings['Globals.fax.file.convert.path']}")
private String FAX_CONVERT_FILE_PATH;
/**
* @methodName : selectFaxDataView
* @author : 이호영
* @date : 2023.02.07
* @description :
* @param cateCode
* @param request
* @param model
* @param redirectAttributes
* @return
* @throws Exception
*/
@RequestMapping(value= {"/web/mjon/fax/faxDataView.do"})
public String faxDataView(HttpServletRequest request, ModelMap model
,FaxAddrVO faxAddrVO, RedirectAttributes redirectAttributes) 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";
}
// TODO 미로그인 시 로그인 페이지로 이동 처리
model.addAttribute("loginVO", loginVO);
//주소록에서 전달 받은 주소록 정보 조회하기
String moveAddrFlag = faxAddrVO.getMoveAddrFlag();
String moveAddrAllFlag = faxAddrVO.getMoveAddrAllFlag();
if(moveAddrFlag == null || moveAddrFlag.equals("")) {
moveAddrFlag = "N";
}
if(moveAddrAllFlag == null || moveAddrAllFlag.equals("")) {
moveAddrAllFlag = "N";
}
List<String> addrIdList = faxAddrVO.getAddrIdList();
List<String> tempList = new ArrayList<String>();
List<FaxAddrVO> resultFaxAddrList = new ArrayList<FaxAddrVO>();
List<String> addrNmList = new ArrayList<String>();
List<String> addrPhoneNoList = new ArrayList<String>();
int listCnt = 0;
//주소록 선택 전송시
if(moveAddrFlag.equals("Y")) {
for(String seqStr : addrIdList) {
String seqId = seqStr.replace("[", "");
seqId = seqId.replace("]", "");
tempList.add(seqId);
}
if (null != userId && !userId.equals("")) {
faxAddrVO.setAddrIdList(tempList);
faxAddrVO.setMberId(userId);
resultFaxAddrList = faxAddrService.selectFaxAddrDataList(faxAddrVO);
}
for(FaxAddrVO tmp : resultFaxAddrList) {
addrNmList.add(tmp.getAddrNm());
addrPhoneNoList.add(tmp.getAddrPhoneNo());
}
listCnt = resultFaxAddrList.size();
}
//주소록 전체 전송시
if(moveAddrAllFlag.equals("Y")) {
FaxAddrVO faxAddrAllVO = new FaxAddrVO();
faxAddrAllVO.setMberId(userId);
faxAddrAllVO.setRecordCountPerPage(100000);
faxAddrAllVO.setFirstIndex(0);
faxAddrAllVO.setSearchAddrGrpId(request.getParameter("searchAddrGrpId"));
faxAddrAllVO.setSearchCondition(request.getParameter("searchCondition"));
faxAddrAllVO.setSearchKeyword(request.getParameter("searchKeyword"));
faxAddrAllVO.setStartKeyword(request.getParameter("startKeyword"));
List<FaxAddrVO> reaultaddrAllList = faxAddrService.selectFaxAddrList(faxAddrAllVO);
for(FaxAddrVO tmpAll : reaultaddrAllList) {
addrNmList.add(tmpAll.getAddrNm());
addrPhoneNoList.add(tmpAll.getAddrPhoneNo());
}
listCnt = reaultaddrAllList.size();
}
/* 목록을 가져 온다 */
Map<String, Object> faxDataViewMap = new HashMap<String, Object>();
if (null != userId && !userId.equals("")) {
faxDataViewMap = faxService.selectFaxDataView(userId);
}
//최근 전송내역
model.addAttribute("resultLatestMsgList", faxDataViewMap.get("resultLatestMsgList"));
//자주보내는 번호
model.addAttribute("resultBookMarkMsgList", faxDataViewMap.get("resultBookMarkMsgList"));
//사용자 보유 잔액
model.addAttribute("userMoney", faxDataViewMap.get("userMoney"));
//단가
model.addAttribute("faxPrice", faxDataViewMap.get("faxPrice"));
//주소록에서 전달 받은 주소록 정보
model.addAttribute("addrNmList", addrNmList);
model.addAttribute("addrPhoneNoList", addrPhoneNoList);
model.addAttribute("resultFaxAddrListCnt", listCnt);
model.addAttribute("moveAddrFlag", moveAddrFlag);
model.addAttribute("moveAddrAllFlag", moveAddrAllFlag);
return "/web/fax/faxDataView";
}
@RequestMapping(value= {"/web/mjon/fax/faxSendList.do"})
public String faxSendList(@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 {
/* 목록을 가져 온다 */
faxGroupDataVO.setUserId(userId);
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"));
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}
return "/web/fax/faxSendList";
}
/**
* @methodName : faxSendDetailList
* @author : 이호영
* @date : 2023.04.05
* @description : 상세 팝업
* @param faxGroupDataVO
* @param model
* @return
* @throws Exception
*/
@RequestMapping(value= {"/web/mjon/fax/faxSendDetailPopup.do"})
public String faxSendDetailList(@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 "/web/fax/faxSendDetailPopup";
}
/**
* @methodName : pdfPreview
* @author : 이호영
* @date : 2023.04.06
* @description : pdf 미리보기 / [상세 팝업]문서보기
* @param response
* @param faxConvertVO
* @throws Exception
*/
@RequestMapping(value= {"/web/mjon/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);
}
/**
* @methodName : tifDownload
* @author : 이호영
* @date : 2023.04.06
* @description : tif 파일 다운로드
* @param response
* @param faxConvertVO
* @throws Exception
*/
@RequestMapping(value= {"/web/mjon/fax/tifDownload.do"})
public void tifDownload(HttpServletResponse response, FaxConvertVO faxConvertVO) throws Exception{
String fileInfo = faxConvertVO.getFaxConvertFilePath();
if(fileInfo.indexOf("/") < 0)
fileInfo = FAX_CONVERT_FILE_PATH+"/" + fileInfo;
FileUtil.downLoad(response, fileInfo, "");
}
/**
* @methodName : getExcelForFaxSendList
* @author : 이호영
* @date : 2023.04.07
* @description : 팩스 전송리스트 엑셀 다운로드
* @param faxGroupDataVO
* @throws Exception
*/
@RequestMapping(value= {"/web/mjon/fax/getExcelForFaxSendList.do"})
public void getExcelForFaxSendList( FaxGroupDataVO faxGroupDataVO) throws Exception{
//로그인 권한정보 불러오기
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
/* 목록을 가져 온다 */
faxGroupDataVO.setUserId(userId);
faxService.getExcelForFaxSendList(faxGroupDataVO);
}
/**
* @methodName : printfaxSentDataAjax
* @author : 이호영
* @date : 2023.04.07
* @description : 팩스 전송결과 출력하기
* @param faxGroupDataVO
* @throws Exception
*/
@RequestMapping(value= {"/web/mjon/fax/printfaxSentDataAjax.do"})
public String printfaxSentDataAjax( FaxGroupDataVO faxGroupDataVO
, ModelMap model) throws Exception{
//로그인 권한정보 불러오기
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
String userNm = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getName());
/* 목록을 가져 온다 */
faxGroupDataVO.setUserId(userId);
Map<String, Object> resultMap = faxService.printfaxSentDataAjax(faxGroupDataVO);
model.addAttribute("faxGroupListVO", resultMap.get("faxGroupListVO"));
model.addAttribute("dateMap", resultMap.get("dateMap"));
model.addAttribute("userNm", userNm);
return "web/fax/faxSentPrintListPopUp";
}
@RequestMapping(value= {"/web/mjon/fax/faxSendListAjax.do"})
public String faxSendListAjax(@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);
FaxGroupDataVO faxFileInfo = faxService.selectFaxSendDetailInfo(faxGroupDataVO);
// 전송내역
model.addAttribute("faxFileInfo", faxFileInfo);
return "/web/fax/faxSentListPopAjax";
}
}