Merge branch 'tolag3'

This commit is contained in:
leejunho 2025-05-26 17:55:15 +09:00
commit 9616fbfb25
16 changed files with 369 additions and 802 deletions

View File

@ -265,4 +265,80 @@ public class EgovImageProcessController extends HttpServlet {
}
}
}
@SuppressWarnings("resource")
@RequestMapping("/cmm/fms/getImage_advc.do")
public void getImage_advc(SessionVO sessionVO, ModelMap model, @RequestParam Map<String, Object> commandMap, HttpServletResponse response) throws Exception {
String filePath = (String) commandMap.get("filePath");
//파일 확장자명
String fileExtsn = "";
int lastDot = filePath.lastIndexOf('.');
if (lastDot != -1 && lastDot < filePath.length() - 1) {
fileExtsn = filePath.substring(lastDot + 1);
}
File file = new File(filePath);
FileInputStream fis = null;
try {
new FileInputStream(file);
}catch(Exception e) {}
BufferedInputStream in = null;
ByteArrayOutputStream bStream = null;
try {
fis = new FileInputStream(file);
in = new BufferedInputStream(fis);
bStream = new ByteArrayOutputStream();
int imgByte;
byte[] outputByte=new byte[104096];
while ((imgByte =in.read(outputByte, 0, 4096 )) > 0 ) {
bStream.write(outputByte,0,imgByte);
}
String type = "";
if (fileExtsn != null && !"".equals(fileExtsn)) {
if ("jpg".equals(fileExtsn.toLowerCase())) {
type = "image/jpeg";
} else {
type = "image/" + fileExtsn.toLowerCase();
}
} else {
LOGGER.debug("Image fileType is null.");
}
response.setHeader("Content-Type", type);
response.setContentLength(bStream.size());
bStream.writeTo(response.getOutputStream());
response.getOutputStream().flush();
response.getOutputStream().close();
} catch (Exception e) {
LOGGER.debug("{}", e);
} finally {
if (bStream != null) {
try {
bStream.close();
} catch (Exception est) {
LOGGER.debug("IGNORED: {}", est.getMessage());
}
}
if (in != null) {
try {
in.close();
} catch (Exception ei) {
LOGGER.debug("IGNORED: {}", ei.getMessage());
}
}
if (fis != null) {
try {
fis.close();
} catch (Exception efis) {
LOGGER.debug("IGNORED: {}", efis.getMessage());
}
}
}
}
}

View File

@ -5,6 +5,7 @@ import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import itn.let.mjo.msgsent.service.MjonMsgSentVO;
import itn.let.mjo.reservmsg.service.MjonResvMsgVO;
public interface MjonMsgService {
@ -243,4 +244,5 @@ public interface MjonMsgService {
//관리자 문자/알림톡 전송 결과 코드 엑셀다운로드
void getMsgResultCodeExcelDownload(String menuType, String[][] msgResultCodeExcelValue, MjonMsgResultCodeVO mjonMsgResultCodeVO, HttpServletRequest request, HttpServletResponse response);
List<MjonMsgVO> selectMjonMsgGroupCompleteList_advc(MjonMsgVO searchVO) throws Exception;
}

View File

@ -522,4 +522,9 @@ public class MjonMsgDAO extends EgovAbstractDAO {
update("mjonMsgDAO.updateHoliMsgResultYn", mjonMsgVO);
}
@SuppressWarnings("unchecked")
public List<MjonMsgVO> selectMjonMsgGroupCompleteList_advc(MjonMsgVO mjonMsgVO) throws Exception{
return (List<MjonMsgVO>)list("mjonMsgDAO.selectMjonMsgGroupCompleteList_advc", mjonMsgVO);
}
}

View File

@ -1283,4 +1283,9 @@ public class MjonMsgServiceImpl extends EgovAbstractServiceImpl implements MjonM
}
@Override
public List<MjonMsgVO> selectMjonMsgGroupCompleteList_advc(MjonMsgVO mjonMsgVO) throws Exception {
return mjonMsgDAO.selectMjonMsgGroupCompleteList_advc(mjonMsgVO);
}
}

View File

@ -199,7 +199,7 @@ public class MjonMsgController {
}
// 문자발송 완료건은 모두 보이도록 처리
resultList = mjonMsgService.selectMjonMsgGroupCompleteList(searchVO);
resultList = mjonMsgService.selectMjonMsgGroupCompleteList_advc(searchVO);
model.addAttribute("resultList", resultList);

View File

@ -1,70 +0,0 @@
package itn.let.sec.gmt.service;
import java.util.List;
/**
* 그룹관리에 관한 서비스 인터페이스 클래스를 정의한다.
* @author 공통서비스 개발팀 이문준
* @since 2009.06.01
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.03.20 이문준 최초 생성
* 2011.08.31 JJY 경량환경 템플릿 커스터마이징버전 생성
*
* </pre>
*/
public interface EgovGroupManageService {
/**
* 검색조건에 따른 그룹정보를 조회
* @param groupManageVO GroupManageVO
* @return GroupManageVO
* @exception Exception
*/
public GroupManageVO selectGroup(GroupManageVO groupManageVO) throws Exception;
/**
* 시스템사용 목적별 그룹 목록 조회
* @param groupManageVO GroupManageVO
* @return List<GroupManageVO>
* @exception Exception
*/
public List<GroupManageVO> selectGroupList(GroupManageVO groupManageVO) throws Exception;
/**
* 그룹 기본정보를 화면에서 입력하여 항목의 정합성을 체크하고 데이터베이스에 저장
* @param groupManage GroupManage
* @param groupManageVO GroupManageVO
* @return GroupManageVO
* @exception Exception
*/
public GroupManageVO insertGroup(GroupManage groupManage, GroupManageVO groupManageVO) throws Exception;
/**
* 화면에 조회된 그룹의 기본정보를 수정하여 항목의 정합성을 체크하고 수정된 데이터를 데이터베이스에 반영
* @param groupManage GroupManage
* @exception Exception
*/
public void updateGroup(GroupManage groupManage) throws Exception;
/**
* 불필요한 그룹정보를 화면에 조회하여 데이터베이스에서 삭제
* @param groupManage GroupManage
* @exception Exception
*/
public void deleteGroup(GroupManage groupManage) throws Exception;
/**
* 목록조회 카운트를 반환한다
* @param groupManageVO GroupManageVO
* @return int
* @exception Exception
*/
public int selectGroupListTotCnt(GroupManageVO groupManageVO) throws Exception;
}

View File

@ -1,119 +0,0 @@
package itn.let.sec.gmt.service;
import itn.com.cmm.ComDefaultVO;
/**
* 그룹관리에 대한 model 클래스를 정의한다.
* @author 공통서비스 개발팀 이문준
* @since 2009.06.01
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.03.20 이문준 최초 생성
* 2011.08.31 JJY 경량환경 템플릿 커스터마이징버전 생성
*
* </pre>
*/
public class GroupManage extends ComDefaultVO {
/**
* serialVersionUID
*/
private static final long serialVersionUID = 1L;
/**
* 그룹 관리
*/
private GroupManage groupManage;
/**
* 그룹 ID
*/
private String groupId;
/**
* 그룹명
*/
private String groupNm;
/**
* 그룹등록일시
*/
private String groupCreatDe;
/**
* 그룹설명
*/
private String groupDc;
/**
* groupManage attribute 리턴한다.
* @return GroupManage
*/
public GroupManage getGroupManage() {
return groupManage;
}
/**
* groupManage attribute 값을 설정한다.
* @param groupManage GroupManage
*/
public void setGroupManage(GroupManage groupManage) {
this.groupManage = groupManage;
}
/**
* groupId attribute 리턴한다.
* @return String
*/
public String getGroupId() {
return groupId;
}
/**
* groupId attribute 값을 설정한다.
* @param groupId String
*/
public void setGroupId(String groupId) {
this.groupId = groupId;
}
/**
* groupNm attribute 리턴한다.
* @return String
*/
public String getGroupNm() {
return groupNm;
}
/**
* groupNm attribute 값을 설정한다.
* @param groupNm String
*/
public void setGroupNm(String groupNm) {
this.groupNm = groupNm;
}
/**
* groupCreatDe attribute 리턴한다.
* @return String
*/
public String getGroupCreatDe() {
return groupCreatDe;
}
/**
* groupCreatDe attribute 값을 설정한다.
* @param groupCreatDe String
*/
public void setGroupCreatDe(String groupCreatDe) {
this.groupCreatDe = groupCreatDe;
}
/**
* groupDc attribute 리턴한다.
* @return String
*/
public String getGroupDc() {
return groupDc;
}
/**
* groupDc attribute 값을 설정한다.
* @param groupDc String
*/
public void setGroupDc(String groupDc) {
this.groupDc = groupDc;
}
}

View File

@ -1,72 +0,0 @@
package itn.let.sec.gmt.service;
import java.util.List;
/**
* 그룹관리에 대한 Vo 클래스를 정의한다.
* @author 공통서비스 개발팀 이문준
* @since 2009.06.01
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.03.20 이문준 최초 생성
* 2011.08.31 JJY 경량환경 템플릿 커스터마이징버전 생성
*
* </pre>
*/
public class GroupManageVO extends GroupManage {
/**
* serialVersionUID
*/
private static final long serialVersionUID = 1L;
/**
* 그룹 목록
*/
List <GroupManageVO> groupManageList;
/**
* 삭제대상 목록
*/
String[] delYn;
/**
* groupManageList attribute 리턴한다.
* @return List<GroupManageVO>
*/
public List<GroupManageVO> getGroupManageList() {
return groupManageList;
}
/**
* groupManageList attribute 값을 설정한다.
* @param groupManageList List<GroupManageVO>
*/
public void setGroupManageList(List<GroupManageVO> groupManageList) {
this.groupManageList = groupManageList;
}
/**
* delYn attribute 리턴한다.
* @return String[]
*/
public String[] getDelYn() {
return delYn;
}
/**
* delYn attribute 값을 설정한다.
* @param delYn String[]
*/
public void setDelYn(String[] delYn) {
this.delYn = delYn;
}
}

View File

@ -1,98 +0,0 @@
package itn.let.sec.gmt.service.impl;
import java.util.List;
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
import itn.let.sec.gmt.service.EgovGroupManageService;
import itn.let.sec.gmt.service.GroupManage;
import itn.let.sec.gmt.service.GroupManageVO;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
/**
* 그룹관리에 관한 ServiceImpl 클래스를 정의한다.
* @author 공통서비스 개발팀 이문준
* @since 2009.06.01
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.03.11 이문준 최초 생성
* 2011.08.31 JJY 경량환경 템플릿 커스터마이징버전 생성
*
* </pre>
*/
@Service("egovGroupManageService")
public class EgovGroupManageServiceImpl extends EgovAbstractServiceImpl implements EgovGroupManageService {
@Resource(name="groupManageDAO")
private GroupManageDAO groupManageDAO;
/**
* 시스템사용 목적별 그룹 목록 조회
* @param groupManageVO GroupManageVO
* @return List<GroupManageVO>
* @exception Exception
*/
public List<GroupManageVO> selectGroupList(GroupManageVO groupManageVO) throws Exception {
return groupManageDAO.selectGroupList(groupManageVO);
}
/**
* 검색조건에 따른 그룹정보를 조회
* @param groupManageVO GroupManageVO
* @return GroupManageVO
* @exception Exception
*/
public GroupManageVO selectGroup(GroupManageVO groupManageVO) throws Exception {
return groupManageDAO.selectGroup(groupManageVO);
}
/**
* 그룹 기본정보를 화면에서 입력하여 항목의 정합성을 체크하고 데이터베이스에 저장
* @param groupManage GroupManage
* @param groupManageVO GroupManageVO
* @return GroupManageVO
* @exception Exception
*/
public GroupManageVO insertGroup(GroupManage groupManage, GroupManageVO groupManageVO) throws Exception {
groupManageDAO.insertGroup(groupManage);
groupManageVO.setGroupId(groupManage.getGroupId());
return groupManageDAO.selectGroup(groupManageVO);
}
/**
* 화면에 조회된 그룹의 기본정보를 수정하여 항목의 정합성을 체크하고 수정된 데이터를 데이터베이스에 반영
* @param groupManage GroupManage
* @exception Exception
*/
public void updateGroup(GroupManage groupManage) throws Exception {
groupManageDAO.updateGroup(groupManage);
}
/**
* 불필요한 그룹정보를 화면에 조회하여 데이터베이스에서 삭제
* @param groupManage GroupManage
* @exception Exception
*/
public void deleteGroup(GroupManage groupManage) throws Exception {
groupManageDAO.deleteGroup(groupManage);
}
/**
* 목록조회 카운트를 반환한다
* @param groupManageVO GroupManageVO
* @return int
* @exception Exception
*/
public int selectGroupListTotCnt(GroupManageVO groupManageVO) throws Exception {
return groupManageDAO.selectGroupListTotCnt(groupManageVO);
}
}

View File

@ -1,89 +0,0 @@
package itn.let.sec.gmt.service.impl;
import java.util.List;
import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
import itn.let.sec.gmt.service.GroupManage;
import itn.let.sec.gmt.service.GroupManageVO;
import org.springframework.stereotype.Repository;
/**
* 그룹관리에 대한 DAO 클래스를 정의한다.
* @author 공통서비스 개발팀 이문준
* @since 2009.06.01
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.03.11 이문준 최초 생성
* 2011.08.31 JJY 경량환경 템플릿 커스터마이징버전 생성
*
* </pre>
*/
@Repository("groupManageDAO")
public class GroupManageDAO extends EgovAbstractDAO {
/**
* 검색조건에 따른 그룹정보를 조회
* @param groupManageVO GroupManageVO
* @return GroupManageVO
* @exception Exception
*/
public GroupManageVO selectGroup(GroupManageVO groupManageVO) throws Exception {
return (GroupManageVO) select("groupManageDAO.selectGroup", groupManageVO);
}
/**
* 시스템사용 목적별 그룹 목록 조회
* @param groupManageVO GroupManageVO
* @return GroupManageVO
* @exception Exception
*/
@SuppressWarnings("unchecked")
public List<GroupManageVO> selectGroupList(GroupManageVO groupManageVO) throws Exception {
return (List<GroupManageVO>) list("groupManageDAO.selectGroupList", groupManageVO);
}
/**
* 그룹 기본정보를 화면에서 입력하여 항목의 정합성을 체크하고 데이터베이스에 저장
* @param groupManage GroupManage
* @exception Exception
*/
public void insertGroup(GroupManage groupManage) throws Exception {
insert("groupManageDAO.insertGroup", groupManage);
}
/**
* 화면에 조회된 그룹의 기본정보를 수정하여 항목의 정합성을 체크하고 수정된 데이터를 데이터베이스에 반영
* @param groupManage GroupManage
* @exception Exception
*/
public void updateGroup(GroupManage groupManage) throws Exception {
update("groupManageDAO.updateGroup", groupManage);
}
/**
* 불필요한 그룹정보를 화면에 조회하여 데이터베이스에서 삭제
* @param groupManage GroupManage
* @exception Exception
*/
public void deleteGroup(GroupManage groupManage) throws Exception {
delete("groupManageDAO.deleteGroup", groupManage);
}
/**
* 롤목록 갯수를 조회한다.
* @param groupManageVO GroupManageVO
* @return int
* @exception Exception
*/
public int selectGroupListTotCnt(GroupManageVO groupManageVO) throws Exception {
return (Integer)select("groupManageDAO.selectGroupListTotCnt", groupManageVO);
}
}

View File

@ -1,259 +0,0 @@
package itn.let.sec.gmt.web;
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import egovframework.rte.fdl.property.EgovPropertyService;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import itn.com.cmm.EgovMessageSource;
import itn.let.sec.gmt.service.EgovGroupManageService;
import itn.let.sec.gmt.service.GroupManage;
import itn.let.sec.gmt.service.GroupManageVO;
import javax.annotation.Resource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
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.bind.support.SessionStatus;
import org.springmodules.validation.commons.DefaultBeanValidator;
/**
* 그룹관리에 관한 controller 클래스를 정의한다.
* @author 공통서비스 개발팀 이문준
* @since 2009.06.01
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.03.11 이문준 최초 생성
* 2011.08.31 JJY 경량환경 템플릿 커스터마이징버전 생성
*
* </pre>
*/
@Controller
public class EgovGroupManageController {
@Resource(name="egovMessageSource")
EgovMessageSource egovMessageSource;
@Resource(name = "egovGroupManageService")
private EgovGroupManageService egovGroupManageService;
/** EgovPropertyService */
@Resource(name = "propertiesService")
protected EgovPropertyService propertiesService;
/** Message ID Generation */
@Resource(name="egovGroupIdGnrService")
private EgovIdGnrService egovGroupIdGnrService;
@Autowired
private DefaultBeanValidator beanValidator;
/**
* 그룹 목록화면 이동
* @return String
* @exception Exception
*/
@RequestMapping("/sec/gmt/EgovGroupListView.do")
public String selectGroupListView()
throws Exception {
return "/sec/gmt/EgovGroupManage";
}
/**
* 시스템사용 목적별 그룹 목록 조회
* @param groupManageVO GroupManageVO
* @return String
* @exception Exception
*/
@RequestMapping(value="/sec/gmt/EgovGroupList.do")
public String selectGroupList(@ModelAttribute("groupManageVO") GroupManageVO groupManageVO,
ModelMap model) throws Exception {
/** paging */
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(groupManageVO.getPageIndex());
paginationInfo.setRecordCountPerPage(groupManageVO.getPageUnit());
paginationInfo.setPageSize(groupManageVO.getPageSize());
groupManageVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
groupManageVO.setLastIndex(paginationInfo.getLastRecordIndex());
groupManageVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
groupManageVO.setGroupManageList(egovGroupManageService.selectGroupList(groupManageVO));
model.addAttribute("groupList", groupManageVO.getGroupManageList());
int totCnt = egovGroupManageService.selectGroupListTotCnt(groupManageVO);
paginationInfo.setTotalRecordCount(totCnt);
model.addAttribute("paginationInfo", paginationInfo);
model.addAttribute("message", egovMessageSource.getMessage("success.common.select"));
return "/sec/gmt/EgovGroupManage";
}
/**
* 검색조건에 따른 그룹정보를 조회
* @param groupManageVO GroupManageVO
* @return String
* @exception Exception
*/
@RequestMapping(value="/sec/gmt/EgovGroup.do")
public String selectGroup(@ModelAttribute("groupManageVO") GroupManageVO groupManageVO,
ModelMap model) throws Exception {
model.addAttribute("groupManage", egovGroupManageService.selectGroup(groupManageVO));
return "/sec/gmt/EgovGroupUpdate";
}
/**
* 그룹 등록화면 이동
* @return String
* @exception Exception
*/
@RequestMapping(value="/sec/gmt/EgovGroupInsertView.do")
public String insertGroupView()
throws Exception {
return "/sec/gmt/EgovGroupInsert";
}
/**
* 그룹 기본정보를 화면에서 입력하여 항목의 정합성을 체크하고 데이터베이스에 저장
* @param groupManage GroupManage
* @param groupManageVO GroupManageVO
* @return String
* @exception Exception
*/
@RequestMapping(value="/sec/gmt/EgovGroupInsert.do")
public String insertGroup(@ModelAttribute("groupManage") GroupManage groupManage,
@ModelAttribute("groupManageVO") GroupManageVO groupManageVO,
BindingResult bindingResult,
SessionStatus status,
ModelMap model) throws Exception {
beanValidator.validate(groupManage, bindingResult); //validation 수행
if (bindingResult.hasErrors()) {
return "/sec/gmt/EgovGroupInsert";
} else {
groupManage.setGroupId(egovGroupIdGnrService.getNextStringId());
groupManageVO.setGroupId(groupManage.getGroupId());
status.setComplete();
model.addAttribute("message", egovMessageSource.getMessage("success.common.insert"));
model.addAttribute("groupManage", egovGroupManageService.insertGroup(groupManage, groupManageVO));
return "/sec/gmt/EgovGroupUpdate";
}
}
/**
* 화면에 조회된 그룹의 기본정보를 수정하여 항목의 정합성을 체크하고 수정된 데이터를 데이터베이스에 반영
* @param groupManage GroupManage
* @return String
* @exception Exception
*/
@RequestMapping(value="/sec/gmt/EgovGroupUpdate.do")
public String updateGroup(@ModelAttribute("groupManage") GroupManage groupManage,
BindingResult bindingResult,
SessionStatus status,
Model model) throws Exception {
beanValidator.validate(groupManage, bindingResult); //validation 수행
if (bindingResult.hasErrors()) {
return "/sec/gmt/EgovGroupUpdate";
} else {
egovGroupManageService.updateGroup(groupManage);
status.setComplete();
model.addAttribute("message", egovMessageSource.getMessage("success.common.update"));
return "forward:/sec/gmt/EgovGroup.do";
}
}
/**
* 불필요한 그룹정보를 화면에 조회하여 데이터베이스에서 삭제
* @param groupManage GroupManage
* @return String
* @exception Exception
*/
@RequestMapping(value="/sec/gmt/EgovGroupDelete.do")
public String deleteGroup(@ModelAttribute("groupManage") GroupManage groupManage,
SessionStatus status,
Model model) throws Exception {
egovGroupManageService.deleteGroup(groupManage);
status.setComplete();
model.addAttribute("message", egovMessageSource.getMessage("success.common.delete"));
return "forward:/sec/gmt/EgovGroupList.do";
}
/**
* 불필요한 그룹정보 목록을 화면에 조회하여 데이터베이스에서 삭제
* @param groupIds String
* @param groupManage GroupManage
* @return String
* @exception Exception
*/
@RequestMapping(value="/sec/gmt/EgovGroupListDelete.do")
public String deleteGroupList(@RequestParam("groupIds") String groupIds,
@ModelAttribute("groupManage") GroupManage groupManage,
SessionStatus status,
Model model) throws Exception {
String [] strGroupIds = groupIds.split(";");
for(int i=0; i<strGroupIds.length;i++) {
groupManage.setGroupId(strGroupIds[i]);
egovGroupManageService.deleteGroup(groupManage);
}
status.setComplete();
model.addAttribute("message", egovMessageSource.getMessage("success.common.delete"));
return "forward:/sec/gmt/EgovGroupList.do";
}
/**
* 그룹팝업 화면 이동
* @return String
* @exception Exception
*/
@RequestMapping("/sec/gmt/EgovGroupSearchView.do")
public String selectGroupSearchView()
throws Exception {
return "/sec/gmt/EgovGroupSearch";
}
/**
* 시스템사용 목적별 그룹 목록 조회
* @param groupManageVO GroupManageVO
* @return String
* @exception Exception
*/
@RequestMapping(value="/sec/gmt/EgovGroupSearchList.do")
public String selectGroupSearchList(@ModelAttribute("groupManageVO") GroupManageVO groupManageVO,
ModelMap model) throws Exception {
/** paging */
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(groupManageVO.getPageIndex());
paginationInfo.setRecordCountPerPage(groupManageVO.getPageUnit());
paginationInfo.setPageSize(groupManageVO.getPageSize());
groupManageVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
groupManageVO.setLastIndex(paginationInfo.getLastRecordIndex());
groupManageVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
groupManageVO.setGroupManageList(egovGroupManageService.selectGroupList(groupManageVO));
model.addAttribute("groupList", groupManageVO.getGroupManageList());
int totCnt = egovGroupManageService.selectGroupListTotCnt(groupManageVO);
paginationInfo.setTotalRecordCount(totCnt);
model.addAttribute("paginationInfo", paginationInfo);
model.addAttribute("message", egovMessageSource.getMessage("success.common.select"));
return "/sec/gmt/EgovGroupSearch";
}
}

View File

@ -14,7 +14,6 @@ import org.springframework.web.bind.support.SessionStatus;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import org.springmodules.validation.commons.DefaultBeanValidator;
import egovframework.rte.fdl.property.EgovPropertyService;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import itn.com.cmm.EgovMessageSource;
import itn.com.cmm.util.EgovDoubleSubmitHelper;
@ -50,10 +49,6 @@ public class EgovAuthorManageController {
@Resource(name = "egovAuthorManageService")
private EgovAuthorManageService egovAuthorManageService;
/** EgovPropertyService */
@Resource(name = "propertiesService")
protected EgovPropertyService propertiesService;
@Autowired
private DefaultBeanValidator beanValidator;

View File

@ -10,7 +10,6 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.support.SessionStatus;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import egovframework.rte.fdl.property.EgovPropertyService;
import egovframework.rte.fdl.security.intercept.EgovReloadableFilterInvocationSecurityMetadataSource;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import itn.com.cmm.EgovMessageSource;
@ -46,10 +45,6 @@ public class EgovAuthorRoleController {
@Resource(name = "egovAuthorRoleManageService")
private EgovAuthorRoleManageService egovAuthorRoleManageService;
/** EgovPropertyService */
@Resource(name = "propertiesService")
protected EgovPropertyService propertiesService;
@Resource(name="databaseSecurityMetadataSource")
EgovReloadableFilterInvocationSecurityMetadataSource databaseSecurityMetadataSource;

View File

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/let/sec/gmt/EgovGroupManage_SQL_Mysql.xml"/>
</sqlMapConfig>

View File

@ -8244,5 +8244,285 @@
</update>
<!-- 문자발송 완료건은 모두 보이도록 처리 -->
<select id="mjonMsgDAO.selectMjonMsgGroupCompleteList_advc" parameterClass="mjonMsgVO" resultClass="mjonMsgVO">
SELECT
M.totCnt
, M.msgGroupId
, M.userId
, M.userNm
, M.adminSmsNoticeYn
, M.callFrom
, M.sendKind
, M.smsTxt
, M.subject
, M.msgType
, M.msgTypeTxt
, M.reqDate
, M.reqFullDate
, M.agentCode
, M.agentCodeTxt
, M.msgGroupCnt
, M.conectMthd
, M.conectMthdTxt
, M.reserveCYn
, M.reserveYn
, M.fileCnt
, M.cancelDate
, M.callbackYn
, M.smishingYn
, M.vipYn
, M.userCallbackYn
, M.blineCode
, M.delayYn
, M.delayCompleteYn
, (SELECT
COUNT(0)
FROM
MJ_MSG_DATA B
WHERE
B.RESERVE_C_YN = 'N'
AND B.MSG_GROUP_ID = M.msgGroupId
AND (CASE
WHEN B.AGENT_CODE = '01' AND (B.RSLT_CODE = '100' AND (B.RSLT_CODE2 = '0'))
THEN 'S'
WHEN B.AGENT_CODE = '02' AND (B.RSLT_CODE = '0')
THEN 'S'
WHEN B.AGENT_CODE = '03' AND (B.RSLT_CODE = '100' OR B.RSLT_CODE = '101' OR B.RSLT_CODE = '110' OR B.RSLT_CODE = '800')
THEN 'S'
WHEN B.AGENT_CODE = '04' AND (B.RSLT_CODE = '4100' OR B.RSLT_CODE = '6600')
THEN 'S'
WHEN B.AGENT_CODE = '05' AND (B.RSLT_CODE = '1000' OR B.RSLT_CODE = '1001')
THEN 'S'
WHEN B.AGENT_CODE = '07' AND (B.RSLT_CODE = '6' OR B.RSLT_CODE = '1000')
THEN 'S'
WHEN B.AGENT_CODE = '08' AND (B.RSLT_CODE = '1000' OR B.RSLT_CODE = '1001')
THEN 'S'
WHEN B.AGENT_CODE = '09' AND (B.RSLT_CODE = '1000' OR B.RSLT_CODE = '1001')
THEN 'S'
ELSE 'F'
END) = 'S'
) AS successCount
, (SELECT
COUNT(0)
FROM
MJ_MSG_DATA B
WHERE
B.RESERVE_C_YN = 'N'
AND B.MSG_GROUP_ID = M.msgGroupId
AND (CASE
WHEN B.AGENT_CODE = '01' AND (B.RSLT_CODE = '410' AND (B.RSLT_CODE2 = 'c'))
THEN 'E'
WHEN B.AGENT_CODE = '02' AND (B.RSLT_CODE = '1027' OR B.RSLT_CODE = '1030')
THEN 'E'
WHEN B.AGENT_CODE = '03' AND B.RSLT_CODE = '508'
THEN 'E'
WHEN B.AGENT_CODE = '04' AND (B.RSLT_CODE = '4432' OR B.RSLT_CODE = '4433' OR B.RSLT_CODE = '6628' OR B.RSLT_CODE = '6629')
THEN 'E'
WHEN B.AGENT_CODE = '05' AND (B.RSLT_CODE = '2404' OR B.RSLT_CODE = '3404' OR B.RSLT_CODE = '6404')
THEN 'E'
WHEN B.AGENT_CODE = '07' AND B.RSLT_CODE = '9013'
THEN 'E'
WHEN B.AGENT_CODE = '08' AND (B.RSLT_CODE = '2404' OR B.RSLT_CODE = '3404' OR B.RSLT_CODE = '6404')
THEN 'E'
WHEN B.AGENT_CODE = '09' AND (B.RSLT_CODE = '2404' OR B.RSLT_CODE = '3404' OR B.RSLT_CODE = '6404')
THEN 'E'
ELSE 'ETC'
END) = 'E'
) AS callRejectionCount
,(
SELECT
CONCAT(
(
IF(B.FILE_PATH1 IS NOT NULL, (SELECT
ATCH_FILE_ID
FROM LETTNFILEDETAIL
WHERE CONCAT(STRE_FILE_NM, '.', FILE_EXTSN) = CONCAT(SUBSTRING_INDEX(B.FILE_PATH1, '/', -1))
LIMIT 1), '')
)
,'^',
(
IF(B.FILE_PATH2 IS NOT NULL, (SELECT
ATCH_FILE_ID
FROM LETTNFILEDETAIL
WHERE CONCAT(STRE_FILE_NM, '.', FILE_EXTSN) = CONCAT(SUBSTRING_INDEX(B.FILE_PATH2, '/', -1))
LIMIT 1), '')
)
,'^',
(
IF(B.FILE_PATH3 IS NOT NULL, (SELECT
ATCH_FILE_ID
FROM LETTNFILEDETAIL
WHERE CONCAT(STRE_FILE_NM, '.', FILE_EXTSN) = CONCAT(SUBSTRING_INDEX(B.FILE_PATH3, '/', -1))
LIMIT 1), '')
))
FROM
MJ_MSG_DATA B
WHERE
B.MSG_GROUP_ID = M.msgGroupId
LIMIT 1
) AS atchFiles
FROM
( SELECT
COUNT(MSG_GROUP_ID) OVER() AS totCnt
, A.MSG_GROUP_ID AS msgGroupId
, A.USER_ID AS userId
, LMB.MBER_NM AS userNm
, LMB.ADMIN_SMS_NOTICE_YN AS adminSmsNoticeYn
, A.SEND_KIND AS sendKind
, A.CALL_FROM AS callFrom
, A.SMS_TXT AS smsTxt
, A.SUBJECT AS subject
, A.MSG_TYPE AS msgType
, D.CODE_NM AS msgTypeTxt
, DATE_FORMAT(A.REQ_DATE, '%Y-%m-%d %H:%i' ) AS reqDate
, A.REQ_DATE AS reqFullDate
, A.AGENT_CODE AS agentCode
, B.CODE_NM AS agentCodeTxt
, A.MSG_GROUP_CNT AS msgGroupCnt
, A.CONECT_MTHD AS conectMthd
, C.CODE_NM AS conectMthdTxt
, A.RESERVE_C_YN AS reserveCYn
, A.RESERVE_YN AS reserveYn
, A.FILE_CNT AS fileCnt
, DATE_FORMAT(A.CANCELDATE, '%Y-%m-%d %H:%i' ) AS cancelDate
, A.CALLBACK_YN AS callbackYn
, LMB.SMISHING_YN AS smishingYn
, LMB.VIP_YN AS vipYn
, LMB.CALLBACK_YN AS userCallbackYn
, IFNULL(LMB.BLINE_CODE, 'N') AS blineCode
, A.DELAY_YN AS delayYn
, A.DELAY_COMPLETE_YN AS delayCompleteYn
FROM
MJ_MSG_GROUP_DATA A
INNER JOIN LETTNGNRLMBER LMB
ON LMB.MBER_ID = A.USER_ID
LEFT JOIN(
SELECT CODE_NM, CODE, CODE_DC
FROM LETTCCMMNDETAILCODE
WHERE USE_AT = 'Y'
AND CODE_ID = 'ITN019'
) B ON A.AGENT_CODE = B.CODE /** 전송사 */
LEFT JOIN(
SELECT CODE_NM, CODE, CODE_DC
FROM LETTCCMMNDETAILCODE
WHERE USE_AT = 'Y'
AND CODE_ID = 'ITN020'
) C ON A.CONECT_MTHD = C.CODE /** 접속기기 */
LEFT JOIN(
SELECT CODE_NM , CODE , CODE_DC
FROM LETTCCMMNDETAILCODE
WHERE USE_AT = 'Y'
AND CODE_ID = 'ITN022'
) D ON A.MSG_TYPE = D.CODE /** 메세지타입 */
WHERE 1 = 1
AND A.MSG_TYPE IN (4, 6)
<!--
AND ((IFNULL(DELAY_YN, 'N') = 'Y' AND DATE_ADD(NOW(), INTERVAL 60 MINUTE) >= REQ_DATE)
OR (IFNULL(DELAY_YN, 'N') = 'N' AND NOW() >= REQ_DATE)
OR (RESERVE_YN = 'Y' AND NOW() >= REQ_DATE))
-->
<!-- JSPark 2023.07.11 문자 전송완료 목록은 (즉시 + 예약 발송완료 + 처리안된 지연문자(즉시,예약) 노출 -->
<![CDATA[
AND CASE
WHEN RESERVE_YN = 'N'
THEN (REQ_DATE <= DATE_ADD(NOW(), INTERVAL 60 MINUTE))
WHEN RESERVE_YN = 'Y'
THEN (REQ_DATE <= NOW() OR (IFNULL(DELAY_YN, 'N') = 'Y' AND IFNULL(DELAY_COMPLETE_YN, 'N') = 'N'))
END
]]>
<isNotEmpty property="sendKind">
<isEqual property="sendKind" compareValue="H">
AND A.SEND_KIND = 'H'
</isEqual>
<isEqual property="sendKind" compareValue="A">
AND A.SEND_KIND = 'A'
</isEqual>
</isNotEmpty>
<isNotEmpty property="searchKeyword">
<isEqual property="searchCondition" compareValue="" >
AND (
USER_ID LIKE CONCAT ('%', #searchKeyword#,'%') OR
A.CALL_FROM LIKE CONCAT('%', #searchKeyword#, '%') OR
SMS_TXT LIKE CONCAT ('%', #searchKeyword#,'%')
)
</isEqual>
<isEqual property="searchCondition" compareValue="1">
AND A.USER_ID LIKE CONCAT('%', #searchKeyword#, '%')
</isEqual>
<isEqual property="searchCondition" compareValue="2">
AND A.CALL_FROM LIKE CONCAT('%', #searchKeyword#, '%')
</isEqual>
<isEqual property="searchCondition" compareValue="3">
AND A.SMS_TXT LIKE CONCAT ('%', #searchKeyword#,'%')
</isEqual>
</isNotEmpty>
<isNotEmpty property="searchCondition2">
AND B.CODE LIKE CONCAT ('%', #searchCondition2#,'%')
</isNotEmpty>
<isNotEmpty property="searchCondition3">
<isEqual property="searchCondition3" compareValue="1">
AND A.MSG_TYPE = '4'
</isEqual>
<isEqual property="searchCondition3" compareValue="2">
AND A.MSG_TYPE = '6' AND A.FILE_CNT = 0
</isEqual>
<isEqual property="searchCondition3" compareValue="3">
AND A.MSG_TYPE = '6' AND A.FILE_CNT > 0
</isEqual>
</isNotEmpty>
<isNotEmpty property="userId">
AND A.USER_ID = #userId#
</isNotEmpty>
<isNotEmpty property="ntceBgnde">
AND <![CDATA[ A.REQ_DATE >= #ntceBgnde# ]]>
</isNotEmpty>
<isNotEmpty property="ntceEndde">
AND <![CDATA[ A.REQ_DATE <= #ntceEndde# ]]>
</isNotEmpty>
<isNotEmpty property="reserveYn">
AND RESERVE_YN = #reserveYn#
</isNotEmpty>
<isNotEmpty property="reserveCYn">
AND RESERVE_C_YN = #reserveCYn#
</isNotEmpty>
<isNotEmpty property="searchAdminSmsNoticeYn">
AND ADMIN_SMS_NOTICE_YN = #searchAdminSmsNoticeYn#
</isNotEmpty>
<isNotEmpty property="searchCampaignYn">
AND MSG_KIND = 'C'
</isNotEmpty>
<isNotEmpty property="searchDelayMsgYn">
AND A.MSG_GROUP_ID IN (
SELECT
Y.MSG_GROUP_ID
FROM MJ_MSG_GROUP_DATA Y
WHERE 1=1
AND Y.REQ_DATE >= NOW()
AND Y.RESERVE_C_YN = 'N'
AND IFNULL(Y.DELAY_YN, 'N') = 'Y'
AND IFNULL(Y.DELAY_COMPLETE_YN, 'N') = 'N'
AND Y.USER_ID != 'system'
)
</isNotEmpty>
ORDER BY 1=1
<isNotEmpty property="searchSortCnd">
,$searchSortCnd$
</isNotEmpty>
<isNotEmpty property="searchSortOrd">
$searchSortOrd$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
) M
</select>
</sqlMap>

View File

@ -1,78 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="GroupManage">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="groupManageVO" type="itn.let.sec.gmt.service.GroupManageVO"/>
<typeAlias alias="groupManage" type="itn.let.sec.gmt.service.GroupManage"/>
<resultMap id="group" class="itn.let.sec.gmt.service.GroupManageVO">
<result property="groupId" column="GROUP_ID" columnIndex="1"/>
<result property="groupNm" column="GROUP_NM" columnIndex="2"/>
<result property="groupDc" column="GROUP_DC" columnIndex="3"/>
<result property="groupCreatDe" column="GROUP_CREAT_DE" columnIndex="4"/>
</resultMap>
<select id="groupManageDAO.selectGroup" parameterClass="groupManageVO" resultMap="group">
<![CDATA[
SELECT GROUP_ID, GROUP_NM, GROUP_DC, GROUP_CREAT_DE
FROM LETTNAUTHORGROUPINFO
WHERE GROUP_ID=#groupId#
]]>
</select>
<select id="groupManageDAO.selectGroupList" parameterClass="groupManageVO" resultMap="group">
SELECT GROUP_ID, GROUP_NM, GROUP_DC, GROUP_CREAT_DE
FROM LETTNAUTHORGROUPINFO
WHERE 1=1
<isEqual prepend="AND" property="searchCondition" compareValue="1">
GROUP_NM LIKE CONCAT('%' , #searchKeyword#, '%')
</isEqual>
ORDER BY GROUP_CREAT_DE DESC
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<insert id="groupManageDAO.insertGroup">
<![CDATA[
INSERT INTO LETTNAUTHORGROUPINFO
( GROUP_ID
, GROUP_NM
, GROUP_DC
, GROUP_CREAT_DE )
VALUES ( #groupId#
, #groupNm#
, #groupDc#
, now())
]]>
</insert>
<update id="groupManageDAO.updateGroup" parameterClass="groupManage">
<![CDATA[
UPDATE LETTNAUTHORGROUPINFO
SET GROUP_NM=#groupNm#
, GROUP_DC=#groupDc#
, GROUP_CREAT_DE=now()
WHERE GROUP_ID=#groupId#
]]>
</update>
<delete id="groupManageDAO.deleteGroup">
<![CDATA[
DELETE FROM LETTNAUTHORGROUPINFO
WHERE GROUP_ID=#groupId#
]]>
</delete>
<select id="groupManageDAO.selectGroupListTotCnt" parameterClass="groupManageVO" resultClass="int">
SELECT COUNT(*) totcnt
FROM LETTNAUTHORGROUPINFO
WHERE 1=1
<isEqual prepend="AND" property="searchCondition" compareValue="1">
GROUP_NM LIKE CONCAT('%' , #searchKeyword#, '%')
</isEqual>
</select>
</sqlMap>