메인 팝업 관리자 완료

This commit is contained in:
hehihoho3@gmail.com 2025-02-28 09:42:07 +09:00
parent d6371aa631
commit 3d9db44442
12 changed files with 335 additions and 1559 deletions

View File

@ -22,16 +22,16 @@ import itn.com.uss.ion.pwm.service.SortVO;
*/ */
public interface MainPopupManageService { public interface MainPopupManageService {
public List<?> selectSubMainzoneList(MainzoneVO mainzoneVO) throws Exception; public List<?> selectMainPopupList(MainPopupVO mainPopupVO) throws Exception;
public int selectSubMainzoneCount(MainzoneVO mainzoneVO) throws Exception; public int selectMainPopupCount(MainPopupVO mainPopupVO) throws Exception;
public MainzoneVO selectSubMainzoneVO(String mazId) throws Exception; public MainPopupVO selectMainPopupVO(String mazId) throws Exception;
public List<MainzoneVO> selectSubMainzoneListRolling(); public List<MainPopupVO> selectMainPopupListRolling();
public void deleteSubMainzone(String id); public void deleteMainPopup(String id);
public void resetSubMainVOSort(MainzoneVO mainzoneVO); public void resetMainPopupSort(MainPopupVO mainPopupVO);
} }

View File

@ -3,13 +3,8 @@ import java.util.List;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import egovframework.rte.psl.dataaccess.util.EgovMap;
import itn.com.cmm.service.impl.EgovComAbstractDAO; import itn.com.cmm.service.impl.EgovComAbstractDAO;
import itn.com.uss.ion.pwm.service.MainzoneVO; import itn.com.uss.ion.bnr.pop.service.MainPopupVO;
import itn.com.uss.ion.pwm.service.PopupManageVO;
import itn.com.uss.ion.pwm.service.PopupzoneVO;
import itn.com.uss.ion.pwm.service.SocialVO;
import itn.com.uss.ion.pwm.service.SortVO;
/** /**
* 개요 * 개요
@ -31,279 +26,33 @@ public class MainPopupManageDAO extends EgovComAbstractDAO {
* @return 목록 * @return 목록
* @exception Exception * @exception Exception
*/ */
public List<?> selectSubMainzoneList(MainzoneVO mainzoneVO ) throws Exception{ public List<?> selectMainPopupList(MainPopupVO mainPopupVO ) throws Exception{
return list("subMainzoneManage.selectSubMainzoneList", mainzoneVO); return list("mainPopup.selectMainPopupList", mainPopupVO);
} }
public int selectSubMainzoneCount(MainzoneVO mainzoneVO) throws Exception{ public int selectMainPopupCount(MainPopupVO mainPopupVO) throws Exception{
return (int)select("subMainzoneManage.selectSubMainzoneCount", mainzoneVO); return (int)select("mainPopup.selectMainPopupCount", mainPopupVO);
} }
public MainzoneVO selectSubMainzoneVO(String mazId) throws Exception{ public MainPopupVO selectMainPopupVO(String mazId) throws Exception{
return (MainzoneVO)select("subMainzoneManage.selectSubMainzoneVO", mazId); return (MainPopupVO)select("mainPopup.selectMainPopupVO", mazId);
} }
public List<MainzoneVO> selectSubMainzoneListRolling() { public List<MainPopupVO> selectMainPopupListRolling() {
return (List<MainzoneVO>) list("subMainzoneManage.selectSubMainzoneListRolling"); return (List<MainPopupVO>) list("mainPopup.selectMainPopupListRolling");
} }
public void deleteSubMainzone(String mazId) { public void deleteMainPopup(String mazId) {
delete("subMainzoneManage.deleteSubMainzone", mazId); delete("mainPopup.deleteMainPopup", mazId);
} }
public void resetSubMainVOSort(MainzoneVO mainzoneVO) { public void resetMainPopupSort(MainPopupVO mainPopupVO) {
update("subMainzoneManage.resetSubMainVOSort", mainzoneVO); update("mainPopup.resetMainPopupSort", mainPopupVO);
} }
//
// public SubMainZoneManageDAO(){}
//
// /**
// * 등록된 팝업창정보를 삭제한다.
// * @param popupManage - 팝업창 model
// * @return boolean - 반영성공 여부
// *
// * @param popupManage
// */
// public void deletePopup(PopupManageVO popupManageVO) throws Exception {
// delete("PopupManage.deletePopupManage", popupManageVO);
// }
//
// /**
// * 팝업창정보를 신규로 등록한다.
// * @param popupManage - 팝업창 model
// * @return boolean - 반영성공 여부
// *
// * @param popupManage
// */
// public void insertPopup(PopupManageVO popupManageVO) throws Exception {
// insert("PopupManage.insertPopupManage", popupManageVO);
// }
//
// /**
// * 등록된 팝업창정보를 수정한다.
// * @param popupManage - 팝업창 model
// * @return boolean - 반영성공 여부
// *
// * @param popupManage
// */
// public void updatePopup(PopupManageVO popupManageVO) throws Exception {
// update("PopupManage.updatePopupManage", popupManageVO);
// }
//
// /**
// * 팝업창을 사용자 화면에서 볼수 있는 정보들을 조회한다.
// * @param popupManageVO - 팝업창 Vo
// * @return popupManageVO - 팝업창 Vo
// *
// * @param popupManageVO
// */
// public PopupManageVO selectPopup(PopupManageVO popupManageVO) throws Exception {
// return (PopupManageVO)select("PopupManage.selectPopupManageDetail", popupManageVO);
// }
//
// /**
// * 팝업창를 관리하기 위해 등록된 팝업창목록을 조회한다.
// * @param popupManageVO - 팝업창 Vo
// * @return List - 팝업창 목록
// *
// * @param popupManageVO
// */
// public List<?> selectPopupList(PopupManageVO popupManageVO) throws Exception {
// return list("PopupManage.selectPopupManage", popupManageVO);
// }
//
// /**
// * 팝업창를 관리하기 위해 등록된 팝업창목록 총갯수를 조회한다.
// * @param popupManageVO - 팝업창 Vo
// * @return List - 팝업창 목록
// *
// * @param popupManageVO
// */
// public int selectPopupListCount(PopupManageVO popupManageVO) throws Exception {
// return (Integer)select("PopupManage.selectPopupManageCnt", popupManageVO);
// }
//
// /**
// * 팝업창를 사용하기 위해 등록된 팝업창목록을 조회한다.
// * @param popupManageVO - 팝업창 Vo
// * @return List - 팝업창 목록
// *
// * @param popupManageVO
// */
// public List<?> selectPopupMainList(PopupManageVO popupManageVO) throws Exception {
// return list("PopupManage.selectPopupManageMain", popupManageVO);
// }
//
// /**
// * 메인알림창 목록을 조회한다.
// * @return 목록
// * @exception Exception
// */
// public List<?> selectPopupzoneList(PopupzoneVO popupzoneVo) throws Exception{
// return list("PopupzoneManage.selectPopupzoneList", popupzoneVo);
// }
//
// /**
// * 메인배너 순번정보를 가져온다.
// * @param mode - 0:등록 1:수정
// * @return 순번정보
// * @exception Exception
// */
// @SuppressWarnings("unchecked")
// public List<EgovMap> getSortList() throws Exception{
// return (List<EgovMap>) list("PopupzoneManage.getSortList",null);
// }
//
// public PopupzoneVO selectPopupzoneVO(String pozId) throws Exception {
// return (PopupzoneVO)select("PopupzoneManage.selectPopupzoneVO", pozId);
// }
//
// /**
// * 메인배너 변경할때 나머지 배너들 순서 변경
// * @param 입력된 sort번호
// * @return 등록 결과
// * @exception Exception
// */
// public void updateSortUp(SortVO sortVO) throws Exception{
// update("PopupzoneManage.updateSortUp", sortVO);
// }
//
// public void updateSortDown(SortVO sortVO) throws Exception {
// update("PopupzoneManage.updateSortDown", sortVO);
// }
//
// public void updatePopupzone(PopupzoneVO popupzoneVO) throws Exception {
// update("PopupzoneManage.updatePopupzone", popupzoneVO);
// }
//
// /**
// * 메인알림창을 삭제한다.
// * @param pozId - 삭제할 메인알림창 번호
// * @return void형
// * @exception Exception
// */
// public void deletePopupzone(String pozId) throws Exception {
// delete("PopupzoneManage.deletePopupzone", pozId);
// }
//
// public int getMaxSort() throws Exception{
// return (Integer)select("PopupzoneManage.getMaxSort") ;
// }
//
// /**
// * 메인배너의 새로운seq를 가지고온다.
// * @return seq
// * @exception Exception
// */
// public int selectNextSeq() throws Exception{
// return (Integer)select("PopupzoneManage.selectNextSeq");
// }
//
// public void insertPopupzone(PopupzoneVO popupzoneVO) throws Exception{
// insert("PopupzoneManage.insertPopupzone", popupzoneVO);
// }
//
// public void resetSort(PopupzoneVO popupzoneVO) throws Exception{
// update("PopupzoneManage.resetSort", popupzoneVO);
// }
//
// /**
// * 메인이미지 목록을 조회한다.
// * @return 목록
// * @exception Exception
// */
// public List<?> selectMainzoneList(MainzoneVO mainzoneVO ) throws Exception{
// return list("MainzoneManage.selectMainzoneList", mainzoneVO);
// }
//
// public int getMainMaxSort() throws Exception{
// return (Integer)select("MainzoneManage.getMainMaxSort");
// }
//
// public void insertMainzone(MainzoneVO mainzoneVO) throws Exception{
// insert("MainzoneManage.insertMainzone", mainzoneVO);
// }
//
// public void resetMainSort(MainzoneVO mainzoneVO) throws Exception{
// insert("MainzoneManage.resetMainSort", mainzoneVO);
// }
//
// public void updateMainSortUp(SortVO sortVO) throws Exception{
// update("MainzoneManage.updateMainSortUp", sortVO);
// }
//
// public MainzoneVO selectMainzoneVO(String mazId) throws Exception{
// return (MainzoneVO)select("MainzoneManage.selectMainzoneVO", mazId);
// }
//
// @SuppressWarnings("unchecked")
// public List<EgovMap> getMainSortList() throws Exception{
// return (List<EgovMap>) list("MainzoneManage.getMainSortList",null);
// }
//
// public void deleteMainzone(String mazId) throws Exception{
// delete("MainzoneManage.deleteMainzone", mazId);
// }
//
// public void updateMainSortDown(SortVO sortVO) throws Exception{
// update("MainzoneManage.updateMainSortDown", sortVO);
// }
//
// public void updateMainzone(MainzoneVO mainzoneVO) throws Exception{
// update("MainzoneManage.updateMainzone", mainzoneVO);
// }
//
// @SuppressWarnings("unchecked")
// public List<MainzoneVO> selectMainzoneListRolling() throws Exception{
// return (List<MainzoneVO>) list("MainzoneManage.selectMainzoneListRolling");
// }
//
// public int selectPopupzoneListTotCnt(PopupzoneVO popupzoneVo) throws Exception {
// return (int)select("PopupzoneManage.selectPopupzoneListTotCnt", popupzoneVo);
// }
//
// public int selectMainzoneCount(MainzoneVO mainzoneVO) throws Exception{
// return (int)select("MainzoneManage.selectMainzoneCount", mainzoneVO);
// }
//
// public void resetVOSort(PopupzoneVO popupzoneVO) throws Exception{
// update("PopupzoneManage.resetVOSort", popupzoneVO);
// }
//
// public void resetMainVOSort(MainzoneVO mainzoneVO) throws Exception{
// update("MainzoneManage.resetMainVOSort", mainzoneVO);
// }
//
// @SuppressWarnings("unchecked")
// public List<SocialVO> selectSocialList(SocialVO socialVO) throws Exception{
// return (List<SocialVO>) list("SocialManage.selectSocialList",socialVO);
// }
//
// public SocialVO selectSocialVO(String socialId) throws Exception{
// return (SocialVO)select("SocialManage.selectSocialVO", socialId);
// }
//
// public void updateSocial(SocialVO socialVO) throws Exception{
// update("SocialManage.updateSocial", socialVO);
// }
//
// public void resetSocialSort(SocialVO socialVO) throws Exception{
// update("SocialManage.resetSocialSort", socialVO);
// }
//
// public void insertSocial(SocialVO socialVO) throws Exception{
// insert("SocialManage.insertSocial", socialVO);
// }
//
// public void deleteSocial(String id) throws Exception{
// delete("SocialManage.deleteSocial", id);
// }
} }

View File

@ -9,7 +9,7 @@ import org.springframework.stereotype.Service;
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
import egovframework.rte.fdl.idgnr.EgovIdGnrService; import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import itn.com.uss.ion.bnr.pop.service.MainPopupManageService; import itn.com.uss.ion.bnr.pop.service.MainPopupManageService;
import itn.com.uss.ion.pwm.service.MainzoneVO; import itn.com.uss.ion.bnr.pop.service.MainPopupVO;
/** /**
* 개요 * 개요
@ -34,37 +34,37 @@ public class MainPopupManageServiceImpl extends EgovAbstractServiceImpl implemen
private EgovIdGnrService idgenService; private EgovIdGnrService idgenService;
@Override @Override
public List<?> selectSubMainzoneList(MainzoneVO mainzoneVO) throws Exception { public List<?> selectMainPopupList(MainPopupVO mainPopupVO) throws Exception {
return dao.selectSubMainzoneList(mainzoneVO); return dao.selectMainPopupList(mainPopupVO);
} }
@Override @Override
public int selectSubMainzoneCount(MainzoneVO mainzoneVO) throws Exception { public int selectMainPopupCount(MainPopupVO mainPopupVO) throws Exception {
return dao.selectSubMainzoneCount(mainzoneVO); return dao.selectMainPopupCount(mainPopupVO);
} }
@Override @Override
public MainzoneVO selectSubMainzoneVO(String mazId) throws Exception { public MainPopupVO selectMainPopupVO(String mazId) throws Exception {
MainzoneVO resultVO = dao.selectSubMainzoneVO(mazId); MainPopupVO resultVO = dao.selectMainPopupVO(mazId);
if (resultVO == null) if (resultVO == null)
throw processException("info.nodata.msg"); throw processException("info.nodata.msg");
return resultVO; return resultVO;
} }
@Override @Override
public List<MainzoneVO> selectSubMainzoneListRolling() { public List<MainPopupVO> selectMainPopupListRolling() {
return dao.selectSubMainzoneListRolling(); return dao.selectMainPopupListRolling();
} }
@Override @Override
public void deleteSubMainzone(String id) { public void deleteMainPopup(String id) {
dao.deleteSubMainzone(id); dao.deleteMainPopup(id);
} }
@Override @Override
public void resetSubMainVOSort(MainzoneVO mainzoneVO) { public void resetMainPopupSort(MainPopupVO mainPopupVO) {
dao.resetSubMainVOSort(mainzoneVO); dao.resetMainPopupSort(mainPopupVO);
} }

View File

@ -1,306 +0,0 @@
package itn.com.uss.ion.bnr.pop.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.HttpSession;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
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.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 egovframework.rte.fdl.idgnr.EgovIdGnrService;
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.ComDefaultCodeVO;
import itn.com.cmm.EgovMessageSource;
import itn.com.cmm.LoginVO;
import itn.com.cmm.service.EgovCmmUseService;
import itn.com.cmm.service.EgovFileMngService;
import itn.com.cmm.service.EgovFileMngUtil;
import itn.com.cmm.service.FileVO;
import itn.com.cmm.util.RedirectUrlMaker;
import itn.com.uss.ion.bnr.sub.service.SubMainZoneManageService;
import itn.com.uss.ion.pwm.service.MainzoneVO;
import itn.let.sym.site.service.EgovSiteManagerService;
/**
* 개요
* - 팝업창에 대한 Controller를 정의한다.
*
* 상세내용
* - 팝업창에 대한 등록, 수정, 삭제, 조회, 반영확인 기능을 제공한다.
* - 팝업창의 조회기능은 목록조회, 상세조회로, 사용자 화면 보기로 구분된다.
* @author 이창원
* @version 1.0
* @created 05-8-2009 오후 2:19:57
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2025.02.24 이호영 최초 생성
*
* </pre>
*/
@Controller
public class MainPopupManageController {
private static final Logger LOGGER = LoggerFactory.getLogger(MainPopupManageController.class);
@Autowired
private DefaultBeanValidator beanValidator;
/** EgovMessageSource */
@Resource(name = "egovMessageSource")
EgovMessageSource egovMessageSource;
/** EgovPropertyService */
@Resource(name = "propertiesService")
protected EgovPropertyService propertiesService;
/** EgovPopupManageService */
@Resource(name = "subMainZoneManageService")
private SubMainZoneManageService subMainZoneManageService;
/** cmmUseService */
@Resource(name = "EgovCmmUseService")
private EgovCmmUseService cmmUseService;
@Resource(name="EgovFileMngUtil")
private EgovFileMngUtil fileUtil;
@Resource(name="EgovFileMngService")
private EgovFileMngService fileMngService;
@Resource(name = "egovPopupZoneIdGnrService")
private EgovIdGnrService idgenService;
// @Resource(name = "egovMainZoneIdGnrService")
// private EgovIdGnrService idgenServiceMain;
@Resource(name = "egovSubMainZoneIdGnrService")
private EgovIdGnrService idgenServiceSubMain;
@Resource(name = "egovSiteManagerService")
EgovSiteManagerService egovSiteManagerService;
@Resource(name = "EgovFileMngService")
private EgovFileMngService fileService;
/*메인이미지 관리*/
@RequestMapping(value="/uss/ion/bnr/pop/mainPopupList.do")
public String popupList(ModelMap model , MainzoneVO mainzoneVO , HttpSession session ) throws Exception {
LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
if(mainzoneVO.getPageUnit()% 8 != 0) {//9 배수로 넘어오지 않으면 초기세팅
mainzoneVO.setPageUnit(8);
}else {
mainzoneVO.setPageUnit(mainzoneVO.getPageUnit());
}
/** pageing */
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(mainzoneVO.getPageIndex());
paginationInfo.setRecordCountPerPage(mainzoneVO.getPageUnit());
paginationInfo.setPageSize(mainzoneVO.getPageSize());
mainzoneVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
mainzoneVO.setLastIndex(paginationInfo.getLastRecordIndex());
mainzoneVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
if(null != loginVO && !"super".equals(loginVO.getSiteId())){ //각각의 사이트
mainzoneVO.setSiteId(loginVO.getSiteId());
}
List<?> mainzoneList = subMainZoneManageService.selectSubMainzoneList(mainzoneVO);
model.addAttribute("mainzoneList", mainzoneList);
int totCnt = subMainZoneManageService.selectSubMainzoneCount(mainzoneVO);
paginationInfo.setTotalRecordCount(totCnt);
model.addAttribute("paginationInfo", paginationInfo);
return "uss/ion/bnr/sub/subMainZoneList";
}
/*알림창등록/수정 view*/
@RequestMapping(value="/uss/ion/bnr/pop/mainPopupModify.do")
public String popupModify(@RequestParam Map<?, ?> commandMap,
HttpServletRequest request, Model model, HttpSession session)
throws Exception {
MainzoneVO mainzoneVO = new MainzoneVO();
if("Modify".equals((String)commandMap.get("pageType"))){ //수정
String mazId = (String)commandMap.get("selectedId");
mainzoneVO = subMainZoneManageService.selectSubMainzoneVO(mazId);
String sNtceBgnde = mainzoneVO.getNtceBgnde();
String sNtceEndde = mainzoneVO.getNtceEndde();
if(sNtceBgnde != null && sNtceEndde != null ) {
mainzoneVO.setNtceBgndeHH(sNtceBgnde.substring(8, 10));
mainzoneVO.setNtceBgndeMM(sNtceBgnde.substring(10, 12));
mainzoneVO.setNtceEnddeHH(sNtceEndde.substring(8, 10));
mainzoneVO.setNtceEnddeMM(sNtceEndde.substring(10, 12));
//게시기간 시작일자()
model.addAttribute("ntceBgndeHH", getTimeHH());
//게시기간 시작일자()
model.addAttribute("ntceBgndeMM", getTimeMM());
//게시기간 종료일자()
model.addAttribute("ntceEnddeHH", getTimeHH());
//게시기간 종료일자()
model.addAttribute("ntceEnddeMM", getTimeMM());
}
if(mainzoneVO != null){
mainzoneVO.setBeSort(mainzoneVO.getSort());
FileVO fileVO = new FileVO();
String atchFileId = mainzoneVO.getMainzoneImageFile();
fileVO.setAtchFileId(atchFileId);
List<FileVO> fileList = fileService.selectFileInfs(fileVO);
model.addAttribute("fileList", fileList);
}
}else{ //등록
//게시기간 시작일자()
model.addAttribute("ntceBgndeHH", getTimeHH());
//게시기간 시작일자()
model.addAttribute("ntceBgndeMM", getTimeMM());
//게시기간 종료일자()
model.addAttribute("ntceEnddeHH", getTimeHH());
//게시기간 종료일자()
model.addAttribute("ntceEnddeMM", getTimeMM());
}
//model.addAttribute("sortList", sortList);
model.addAttribute("mainzoneVO", mainzoneVO);
System.out.println("mainzoneVO :: "+ mainzoneVO.toString());
/* 타겟 코드 */
ComDefaultCodeVO vo = new ComDefaultCodeVO();
vo.setCodeId("COM037");
//List<?> targetList = cmmUseService.selectCmmCodeDetail(vo);
//model.addAttribute("targetList", targetList);
return "uss/ion/bnr/sub/subMainZoneModify";
}
/*메인 이미지삭제 */
@RequestMapping(value="/uss/ion/bnr/pop/mainPopupListDelete.do")
public String deleteMainzoneDelete(@RequestParam("del") String[] del, RedirectAttributes redirectAttributes , Model model) throws Exception {
LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
MainzoneVO mainzoneVO = new MainzoneVO();
for(String id:del) {
try{
mainzoneVO = subMainZoneManageService.selectSubMainzoneVO(id);
}catch(Exception e){
redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("info.nodata.msg"));
RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/ion/bnr/subMainZoneList.do");
return redirectUrlMaker.getRedirectUrl();
}
subMainZoneManageService.deleteSubMainzone(id);
if(null != loginVO && !"super".equals(loginVO.getSiteId())){
mainzoneVO.setSiteId(loginVO.getSiteId());
}
subMainZoneManageService.resetSubMainVOSort(mainzoneVO);
}
redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.delete"));
RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/ion/bnr/subMainZoneList.do");
return redirectUrlMaker.getRedirectUrl();
}
/**
* 시간을 LIST를 반환한다.
* @return List
* @throws
*/
@SuppressWarnings("unused")
private List<ComDefaultCodeVO> getTimeHH() {
ArrayList<ComDefaultCodeVO> listHH = new ArrayList<ComDefaultCodeVO>();
HashMap<?, ?> hmHHMM;
for (int i = 0; i <= 24; i++) {
String sHH = "";
String strI = String.valueOf(i);
if (i < 10) {
sHH = "0" + strI;
} else {
sHH = strI;
}
ComDefaultCodeVO codeVO = new ComDefaultCodeVO();
codeVO.setCode(sHH);
codeVO.setCodeNm(sHH);
listHH.add(codeVO);
}
return listHH;
}
/**
* 분을 LIST를 반환한다.
* @return List
* @throws
*/
@SuppressWarnings("unused")
private List<ComDefaultCodeVO> getTimeMM() {
ArrayList<ComDefaultCodeVO> listMM = new ArrayList<ComDefaultCodeVO>();
HashMap<?, ?> hmHHMM;
for (int i = 0; i <= 60; i++) {
String sMM = "";
String strI = String.valueOf(i);
if (i < 10) {
sMM = "0" + strI;
} else {
sMM = strI;
}
ComDefaultCodeVO codeVO = new ComDefaultCodeVO();
codeVO.setCode(sMM);
codeVO.setCodeNm(sMM);
listMM.add(codeVO);
}
return listMM;
}
}

View File

@ -38,6 +38,7 @@ import itn.com.cmm.service.EgovFileMngService;
import itn.com.cmm.service.EgovFileMngUtil; import itn.com.cmm.service.EgovFileMngUtil;
import itn.com.cmm.service.FileVO; import itn.com.cmm.service.FileVO;
import itn.com.cmm.util.RedirectUrlMaker; import itn.com.cmm.util.RedirectUrlMaker;
import itn.com.uss.ion.bnr.pop.service.MainPopupVO;
import itn.com.uss.ion.bnr.service.Banner; import itn.com.uss.ion.bnr.service.Banner;
import itn.com.uss.ion.bnr.service.BannerVO; import itn.com.uss.ion.bnr.service.BannerVO;
import itn.com.uss.ion.bnr.service.EgovBannerService; import itn.com.uss.ion.bnr.service.EgovBannerService;
@ -115,6 +116,9 @@ public class FmsFileController {
@Resource(name = "egovSubMainZoneIdGnrService") @Resource(name = "egovSubMainZoneIdGnrService")
private EgovIdGnrService idgenServiceSubMain; private EgovIdGnrService idgenServiceSubMain;
@Resource(name = "egovMainPopupIdGnrService")
private EgovIdGnrService idgenServiceMainPopup;
@Resource(name = "egovBannerService") @Resource(name = "egovBannerService")
private EgovBannerService egovBannerService; private EgovBannerService egovBannerService;
@ -390,6 +394,7 @@ public class FmsFileController {
public ModelAndView insertFmsFileInsertAjax(@RequestParam Map<?, ?> commandMap, public ModelAndView insertFmsFileInsertAjax(@RequestParam Map<?, ?> commandMap,
@ModelAttribute("fmsFileVO") FmsFileVO fmsFileVO, @ModelAttribute("fmsFileVO") FmsFileVO fmsFileVO,
MainzoneVO mainzoneVO, MainzoneVO mainzoneVO,
MainPopupVO mainPopupVO,
PopupzoneVO popupzoneVO, PopupzoneVO popupzoneVO,
Banner banner, Banner banner,
BannerVO bannerVO, BannerVO bannerVO,
@ -419,6 +424,8 @@ public class FmsFileController {
KeyStr = "MAZ_"; KeyStr = "MAZ_";
}else if("subMainzone".equals(fileVO.getMenuName())) { //메인비주얼 }else if("subMainzone".equals(fileVO.getMenuName())) { //메인비주얼
KeyStr = "SMAZ_"; KeyStr = "SMAZ_";
}else if("mainPopup".equals(fileVO.getMenuName())) { //메인비주얼
KeyStr = "MPP_";
}else if("popupzone".equals(fileVO.getMenuName())) { //매뉴별 비주얼 }else if("popupzone".equals(fileVO.getMenuName())) { //매뉴별 비주얼
KeyStr = "POZ_"; KeyStr = "POZ_";
}else if("banner".equals(fileVO.getMenuName())) { //매뉴별 비주얼 }else if("banner".equals(fileVO.getMenuName())) { //매뉴별 비주얼
@ -447,6 +454,9 @@ public class FmsFileController {
mainzoneVO.setMainzoneImage(orignlFileNm); mainzoneVO.setMainzoneImage(orignlFileNm);
mainzoneVO.setMainzoneImageFile(atchFileId); mainzoneVO.setMainzoneImageFile(atchFileId);
mainPopupVO.setMainzoneImage(orignlFileNm);
mainPopupVO.setMainzoneImageFile(atchFileId);
fmsFileVO.setFmsImage(orignlFileNm); fmsFileVO.setFmsImage(orignlFileNm);
fmsFileVO.setFmsImageFile(atchFileId); fmsFileVO.setFmsImageFile(atchFileId);
@ -482,14 +492,24 @@ public class FmsFileController {
egovPopupManageService.insertMainzone(mainzoneVO); egovPopupManageService.insertMainzone(mainzoneVO);
mainzoneVO.setSortOver("D"); //앞쪽에 넣음 mainzoneVO.setSortOver("D"); //앞쪽에 넣음
egovPopupManageService.resetMainVOSort(mainzoneVO); egovPopupManageService.resetMainVOSort(mainzoneVO);
}else if("subMainzone".equals(fileVO.getMenuName())) { // 서브 메인비주얼 새글 }
else if("subMainzone".equals(fileVO.getMenuName())) { // 서브 메인비주얼 새글
String mainId = idgenServiceSubMain.getNextStringId(); String mainId = idgenServiceSubMain.getNextStringId();
mainzoneVO.setMazId(mainId); mainzoneVO.setMazId(mainId);
mainzoneVO.setRegisterId(loginVO.getUniqId()); mainzoneVO.setRegisterId(loginVO.getUniqId());
egovPopupManageService.insertSubMainzone(mainzoneVO); egovPopupManageService.insertSubMainzone(mainzoneVO);
mainzoneVO.setSortOver("D"); //앞쪽에 넣음 mainzoneVO.setSortOver("D"); //앞쪽에 넣음
egovPopupManageService.resetSubMainVOSort(mainzoneVO); egovPopupManageService.resetSubMainVOSort(mainzoneVO);
}else if("popupzone".equals(fileVO.getMenuName())) { //매뉴별 비주얼 }
else if("mainPopup".equals(fileVO.getMenuName())) { // 메인팝업 새글
String mainId = idgenServiceMainPopup.getNextStringId();
mainPopupVO.setPopId(mainId);
mainPopupVO.setRegisterId(loginVO.getUniqId());
egovPopupManageService.insertMainPopup(mainPopupVO);
mainPopupVO.setSortOver("D"); //앞쪽에 넣음
egovPopupManageService.resetMainPopup(mainPopupVO);
}
else if("popupzone".equals(fileVO.getMenuName())) { //매뉴별 비주얼
String pozId = idgenService.getNextStringId(); String pozId = idgenService.getNextStringId();
popupzoneVO.setPozId(pozId); popupzoneVO.setPozId(pozId);
popupzoneVO.setRegisterId(loginVO.getUniqId()); popupzoneVO.setRegisterId(loginVO.getUniqId());
@ -538,7 +558,14 @@ public class FmsFileController {
if(mainzoneVO.getSort() < mainzoneVO.getBeSort() ){ //sortOver : A 후번호로 변경 , D : 선번호로 변경 if(mainzoneVO.getSort() < mainzoneVO.getBeSort() ){ //sortOver : A 후번호로 변경 , D : 선번호로 변경
mainzoneVO.setSortOver("D"); mainzoneVO.setSortOver("D");
} }
egovPopupManageService.resetSubMainVOSort(mainzoneVO); egovPopupManageService.resetMainVOSort(mainzoneVO);
}else if("mainPopup".equals(fileVO.getMenuName())) { // 메인팝업 새글
egovPopupManageService.updateMainPopup(mainPopupVO);
if(mainzoneVO.getSort() < mainzoneVO.getBeSort() ){ //sortOver : A 후번호로 변경 , D : 선번호로 변경
mainzoneVO.setSortOver("D");
}
egovPopupManageService.resetMainPopup(mainPopupVO);
}else if("popupzone".equals(fileVO.getMenuName())) { //매뉴별 비주얼 }else if("popupzone".equals(fileVO.getMenuName())) { //매뉴별 비주얼
egovPopupManageService.updatePopupzone(popupzoneVO); egovPopupManageService.updatePopupzone(popupzoneVO);
if(popupzoneVO.getSort() < popupzoneVO.getBeSort() ){ //sortOver : A 후번호로 변경 , D : 선번호로 변경 if(popupzoneVO.getSort() < popupzoneVO.getBeSort() ){ //sortOver : A 후번호로 변경 , D : 선번호로 변경
@ -575,7 +602,8 @@ public class FmsFileController {
} }
} }
modelAndView.addObject("result", "success"); modelAndView.addObject("result", "success");
}catch (Exception e) { }catch (Exception e) {
e.printStackTrace();
modelAndView.addObject("result", "fail"); modelAndView.addObject("result", "fail");
} }
return modelAndView; return modelAndView;

View File

@ -3,6 +3,8 @@ package itn.com.uss.ion.pwm.service;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import itn.com.uss.ion.bnr.pop.service.MainPopupVO;
/** /**
* 개요 * 개요
* - 팝업창에 대한 Service Interface를 정의한다. * - 팝업창에 대한 Service Interface를 정의한다.
@ -167,4 +169,11 @@ public interface EgovPopupManageService {
//사용자 메인화면 롤링 배너 이미지 조회 //사용자 메인화면 롤링 배너 이미지 조회
public List<MainzoneVO> selectMainzoneListRolling() throws Exception; public List<MainzoneVO> selectMainzoneListRolling() throws Exception;
public void insertMainPopup(MainPopupVO mainPopupVO);
public void resetMainPopup(MainPopupVO mainPopupVO) throws Exception;
public void updateMainPopup(MainPopupVO mainPopupVO) throws Exception;
} }

View File

@ -1,9 +1,12 @@
package itn.com.uss.ion.pwm.service.impl; package itn.com.uss.ion.pwm.service.impl;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.IntStream;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -12,6 +15,8 @@ import org.springframework.stereotype.Service;
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
import egovframework.rte.fdl.idgnr.EgovIdGnrService; import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import egovframework.rte.psl.dataaccess.util.EgovMap; import egovframework.rte.psl.dataaccess.util.EgovMap;
import itn.com.uss.ion.bnr.pop.service.MainPopupLinkVO;
import itn.com.uss.ion.bnr.pop.service.MainPopupVO;
import itn.com.uss.ion.pwm.service.EgovPopupManageService; import itn.com.uss.ion.pwm.service.EgovPopupManageService;
import itn.com.uss.ion.pwm.service.MainzoneVO; import itn.com.uss.ion.pwm.service.MainzoneVO;
import itn.com.uss.ion.pwm.service.PopupManageVO; import itn.com.uss.ion.pwm.service.PopupManageVO;
@ -244,6 +249,10 @@ public class EgovPopupManageServiceImpl extends EgovAbstractServiceImpl implemen
public void insertSubMainzone(MainzoneVO mainzoneVO) throws Exception { public void insertSubMainzone(MainzoneVO mainzoneVO) throws Exception {
dao.insertSubMainzone(mainzoneVO); dao.insertSubMainzone(mainzoneVO);
} }
@Override
public void resetMainPopup(MainPopupVO mainPopupVO) throws Exception {
dao.resetMainPopup(mainPopupVO);
}
@Override @Override
public void resetMainSort(MainzoneVO mainzoneVO) throws Exception { public void resetMainSort(MainzoneVO mainzoneVO) throws Exception {
@ -305,6 +314,7 @@ public class EgovPopupManageServiceImpl extends EgovAbstractServiceImpl implemen
dao.updateSubMainzone(mainzoneVO); dao.updateSubMainzone(mainzoneVO);
} }
//사용자 메인화면 롤링 배너 이미지 조회 //사용자 메인화면 롤링 배너 이미지 조회
@Override @Override
public List<MainzoneVO> selectMainzoneListRolling() throws Exception{ public List<MainzoneVO> selectMainzoneListRolling() throws Exception{
@ -371,4 +381,47 @@ public class EgovPopupManageServiceImpl extends EgovAbstractServiceImpl implemen
public void deleteSocial(String id) throws Exception { public void deleteSocial(String id) throws Exception {
dao.deleteSocial(id); dao.deleteSocial(id);
} }
@Override
public void insertMainPopup(MainPopupVO mainPopupVO) {
dao.insertMainPopup(mainPopupVO);
List<MainPopupLinkVO> mainPopupLinkListVO = getMainPopupLinkList(mainPopupVO);
mainPopupLinkListVO.stream().forEach(t-> System.out.println(t.toString()));
dao.insertMainPopupLinkInfo(mainPopupLinkListVO);
}
@Override
public void updateMainPopup(MainPopupVO mainPopupVO) throws Exception {
dao.updateMainPopup(mainPopupVO);
List<MainPopupLinkVO> mainPopupLinkListVO = getMainPopupLinkList(mainPopupVO);
dao.deleteMainPopupLinkInfo(mainPopupVO.getPopId());
dao.insertMainPopupLinkInfo(mainPopupLinkListVO);
}
private List<MainPopupLinkVO> getMainPopupLinkList(MainPopupVO mainPopupVO) {
List<MainPopupLinkVO> mainPopupLinkListVO = mainPopupVO.getMainPopupLinkList();
// 기존 sort 값을 숫자로 변환하여 오름차순 정렬
mainPopupLinkListVO.sort(Comparator.comparingInt(vo -> vo.getSort()));
// 2. 정렬된 상태에서 sort 값을 연속적인 숫자로 변경 (1, 2, 3, ...)
IntStream.range(0, mainPopupLinkListVO.size())
.forEach(i -> mainPopupLinkListVO.get(i).setSort(i + 1));
mainPopupLinkListVO.stream().forEach(t-> t.setPopId(mainPopupVO.getPopId()));
return mainPopupLinkListVO;
}
} }

View File

@ -5,6 +5,8 @@ import org.springframework.stereotype.Repository;
import egovframework.rte.psl.dataaccess.util.EgovMap; import egovframework.rte.psl.dataaccess.util.EgovMap;
import itn.com.cmm.service.impl.EgovComAbstractDAO; import itn.com.cmm.service.impl.EgovComAbstractDAO;
import itn.com.uss.ion.bnr.pop.service.MainPopupLinkVO;
import itn.com.uss.ion.bnr.pop.service.MainPopupVO;
import itn.com.uss.ion.pwm.service.MainzoneVO; import itn.com.uss.ion.pwm.service.MainzoneVO;
import itn.com.uss.ion.pwm.service.PopupManageVO; import itn.com.uss.ion.pwm.service.PopupManageVO;
import itn.com.uss.ion.pwm.service.PopupzoneVO; import itn.com.uss.ion.pwm.service.PopupzoneVO;
@ -280,4 +282,30 @@ public class PopupManageDAO extends EgovComAbstractDAO {
public void deleteSocial(String id) throws Exception{ public void deleteSocial(String id) throws Exception{
delete("SocialManage.deleteSocial", id); delete("SocialManage.deleteSocial", id);
} }
public void insertMainPopup(MainPopupVO mainPopupVO) {
insert("MainzoneManage.insertMainPopup", mainPopupVO);
}
public void insertMainPopupLinkInfo(List<MainPopupLinkVO> mainPopupLinkListVO) {
insert("MainzoneManage.insertMainPopupLinkInfo", mainPopupLinkListVO);
}
public void resetMainPopup(MainPopupVO mainPopupVO) {
// update("MainzoneManage.resetSubMainVOSort", mainzoneVO);
insert("MainzoneManage.resetMainPopup", mainPopupVO);
}
public void updateMainPopup(MainPopupVO mainPopupVO) throws Exception{
update("MainzoneManage.updateMainPopup", mainPopupVO);
}
public void updateMainPopupLinkInfo(MainPopupLinkVO mainPopupLinkVO) {
update("MainzoneManage.updateMainPopupLinkInfo", mainPopupLinkVO);
}
public void deleteMainPopupLinkInfo(String popId) {
delete("MainzoneManage.deleteMainPopupLinkInfo", popId);
}
} }

View File

@ -2020,6 +2020,23 @@
<property name="fillChar" value="0" /> <property name="fillChar" value="0" />
</bean> </bean>
<bean name="egovMainPopupIdGnrService"
class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrServiceImpl"
destroy-method="destroy">
<property name="dataSource" ref="dataSource" />
<property name="strategy" ref="mainPopupIdStrategy" />
<property name="blockSize" value="10"/>
<property name="table" value="IDS"/>
<property name="tableName" value="MPP_ID"/>
</bean>
<!-- 메인상단 이미지 ID Generation Strategy Config -->
<bean name="mainPopupIdStrategy"
class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl">
<property name="prefix" value="MPP_" />
<property name="cipers" value="12" />
<property name="fillChar" value="0" />
</bean>
<!-- 컨텐츠 관리 ID Generation Strategy Config --> <!-- 컨텐츠 관리 ID Generation Strategy Config -->
<bean name="egovCntManageIdGnrService" <bean name="egovCntManageIdGnrService"

View File

@ -5,4 +5,5 @@
<sqlMapConfig> <sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/com/uss/ion/bnr/EgovBanner_SQL_Mysql.xml"/><!-- 배너 추가 --> <sqlMap resource="egovframework/sqlmap/com/uss/ion/bnr/EgovBanner_SQL_Mysql.xml"/><!-- 배너 추가 -->
<sqlMap resource="egovframework/sqlmap/let/uss/ion/bnr/SubMainZoneManage_SQL_Mysql.xml"/><!-- 서브팝업관리 --> <sqlMap resource="egovframework/sqlmap/let/uss/ion/bnr/SubMainZoneManage_SQL_Mysql.xml"/><!-- 서브팝업관리 -->
<sqlMap resource="egovframework/sqlmap/let/uss/ion/bnr/MainPopupManage_SQL_Mysql.xml"/><!-- 서브팝업관리 -->
</sqlMapConfig> </sqlMapConfig>

View File

@ -12,6 +12,10 @@
<typeAlias alias="PopupManageVO" type="itn.com.uss.ion.pwm.service.PopupManageVO" /> <typeAlias alias="PopupManageVO" type="itn.com.uss.ion.pwm.service.PopupManageVO" />
<typeAlias alias="popupzoneVO" type="itn.com.uss.ion.pwm.service.PopupzoneVO"/> <typeAlias alias="popupzoneVO" type="itn.com.uss.ion.pwm.service.PopupzoneVO"/>
<typeAlias alias="mainzoneVO" type="itn.com.uss.ion.pwm.service.MainzoneVO"/> <typeAlias alias="mainzoneVO" type="itn.com.uss.ion.pwm.service.MainzoneVO"/>
<typeAlias alias="mainPopupVO" type="itn.com.uss.ion.bnr.pop.service.MainPopupVO"/>
<typeAlias alias="mainPopupLinkVO" type="itn.com.uss.ion.bnr.pop.service.MainPopupLinkVO"/>
<typeAlias alias="socialVO" type="itn.com.uss.ion.pwm.service.SocialVO"/> <typeAlias alias="socialVO" type="itn.com.uss.ion.pwm.service.SocialVO"/>
<typeAlias alias="sortVO" type="itn.com.uss.ion.pwm.service.SortVO"/> <typeAlias alias="sortVO" type="itn.com.uss.ion.pwm.service.SortVO"/>
<!-- ::ResultMap 선언 --> <!-- ::ResultMap 선언 -->
@ -653,6 +657,8 @@
) )
</insert> </insert>
<update id="MainzoneManage.resetMainSort" parameterClass="mainzoneVO"> <update id="MainzoneManage.resetMainSort" parameterClass="mainzoneVO">
UPDATE MAINZONE A , (SELECT ROW_NUMBER() OVER(ORDER BY SORT) AS SORT1 , MAZ_ID FROM MAINZONE UPDATE MAINZONE A , (SELECT ROW_NUMBER() OVER(ORDER BY SORT) AS SORT1 , MAZ_ID FROM MAINZONE
WHERE 1=1 WHERE 1=1
@ -837,6 +843,27 @@
WHERE A.MAZ_ID = B.MAZ_ID WHERE A.MAZ_ID = B.MAZ_ID
</update> </update>
<update id="MainzoneManage.resetMainPopup" parameterClass="mainPopupVO">
UPDATE MAIN_POPUP A ,
(
SELECT ROW_NUMBER() OVER
(
ORDER BY SORT
<isEqual property="sortOver" compareValue="A">
, MODDT ASC
</isEqual>
<isEqual property="sortOver" compareValue="D">
, MODDT DESC
</isEqual>
) AS SORT1 , POP_ID
FROM MAIN_POPUP
WHERE 1=1
ORDER BY SORT1
) B
SET A.SORT = B.SORT1
WHERE A.POP_ID = B.POP_ID
</update>
<!-- 소설 관리자 리스트 --> <!-- 소설 관리자 리스트 -->
<select id="SocialManage.selectSocialList" parameterClass="socialVO" resultClass="socialVO"> <select id="SocialManage.selectSocialList" parameterClass="socialVO" resultClass="socialVO">
@ -1014,7 +1041,98 @@
AND MZ.USE_YN = 'Y' AND MZ.USE_YN = 'Y'
ORDER BY MZ.SORT ORDER BY MZ.SORT
</select> </select>
<insert id="MainzoneManage.insertMainPopup" parameterClass="mainPopupVO">
INSERT INTO MAIN_POPUP (
POP_ID
, CONTENT
, SORT
, DEL
, MAINZONE_IMAGE_FILE
, MAINZONE_IMAGE
, REGDT
, MODDT
, POP_NM
, USE_YN
, REGISTER_ID
, DEVICETYPE
, NTCE_BGNDE
, NTCE_ENDDE
) VALUES (
#popId#
, #content#
, #sort#
, #del#
, #mainzoneImageFile#
, #mainzoneImage#
, now()
, now()
, #popNm#
, #useYn#
, #registerId#
, #devicetype#
, #ntceBgnde#
, #ntceEndde#
)
</insert>
<insert id="MainzoneManage.insertMainPopupLinkInfo" parameterClass="java.util.List">
INSERT INTO MAIN_POPUP_LINK (
POP_ID
, MLINK
, COORDS
, SORT
)
VALUES
<iterate conjunction=",">
(
#[].popId#
, #[].mlink#
, #[].coords#
, #[].sort#
)
</iterate>
</insert>
<update id="MainzoneManage.updateMainPopup" parameterClass="mainPopupVO">
UPDATE MAIN_POPUP
SET
CONTENT = #content#,
SORT = #sort#,
DEL = #del#,
MAINZONE_IMAGE_FILE = #mainzoneImageFile#,
MAINZONE_IMAGE = #mainzoneImage#,
MODDT = now(),
POP_NM = #popNm#,
USE_YN = #useYn#,
<isNotEmpty property="deviceType">
DEVICETYPE = #deviceType# ,
</isNotEmpty>
NTCE_BGNDE = #ntceBgnde#,
NTCE_ENDDE = #ntceEndde#
WHERE POP_ID = #popId#
</update>
<update id="MainzoneManage.updateMainPopupLinkInfo" parameterClass="mainPopupLinkVO">
UPDATE MAIN_POPUP_LINK
SET
MLINK = #mlink#
, COORDS = #coords#
, SORT = #sort#
WHERE POP_ID = #popId#
</update>
<delete id="MainzoneManage.deleteMainPopupLinkInfo" parameterClass="String">
DELETE FROM MAIN_POPUP_LINK
WHERE POP_ID = #popId#
</delete>
</sqlMap> </sqlMap>