관리자 변경 중
This commit is contained in:
parent
16a432b15e
commit
be76b2e446
@ -36,6 +36,8 @@ 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.fdl.string.EgovStringUtil;
|
||||
import egovframework.rte.psl.dataaccess.util.EgovMap;
|
||||
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
|
||||
import kcc.com.cmm.ComDefaultCodeVO;
|
||||
import kcc.com.cmm.EgovMessageSource;
|
||||
@ -52,6 +54,7 @@ import kcc.com.uss.ion.pwm.service.PopupManageVO;
|
||||
import kcc.com.uss.ion.pwm.service.PopupzoneVO;
|
||||
import kcc.com.uss.ion.pwm.service.SocialVO;
|
||||
import kcc.let.sym.site.service.EgovSiteManagerService;
|
||||
import kcc.let.utl.fcc.service.EgovCryptoUtil;
|
||||
|
||||
/**
|
||||
* 개요
|
||||
@ -115,6 +118,10 @@ public class EgovPopupManageController {
|
||||
|
||||
@Resource(name = "EgovFileMngService")
|
||||
private EgovFileMngService fileService;
|
||||
|
||||
//암복호화 유틸
|
||||
@Resource(name = "egovCryptoUtil")
|
||||
EgovCryptoUtil egovCryptoUtil;
|
||||
/**
|
||||
* 팝업창관리 목록을 조회한다.
|
||||
* @param popupManageVO
|
||||
@ -554,7 +561,11 @@ public class EgovPopupManageController {
|
||||
popupzoneVo.setSearchSortCnd("SORT");
|
||||
popupzoneVo.setSearchSortOrd("asc");
|
||||
}
|
||||
List<?> popupzoneList = egovPopupManageService.selectPopupzoneList(popupzoneVo);
|
||||
List<EgovMap> popupzoneList = (List<EgovMap>)egovPopupManageService.selectPopupzoneList(popupzoneVo);
|
||||
|
||||
popupzoneList.forEach(t -> {
|
||||
egovCryptoUtil.decryptEgovMap(t, "registerId");
|
||||
});
|
||||
model.addAttribute("popupzoneList", popupzoneList);
|
||||
|
||||
/* 타겟 코드 */
|
||||
@ -584,6 +595,7 @@ public class EgovPopupManageController {
|
||||
if("Modify".equals((String)commandMap.get("pageType"))){ //수정
|
||||
String pozId = (String)commandMap.get("selectedId");
|
||||
popupzoneVO = egovPopupManageService.selectPopupzoneVO(pozId);
|
||||
popupzoneVO.setRegisterId(egovCryptoUtil.decrypt(popupzoneVO.getRegisterId()));
|
||||
if(popupzoneVO != null){
|
||||
popupzoneVO.setBeSort(popupzoneVO.getSort());
|
||||
FileVO fileVO = new FileVO();
|
||||
@ -781,7 +793,11 @@ public class EgovPopupManageController {
|
||||
if(null != loginVO && !"super".equals(loginVO.getSiteId())){ //각각의 사이트
|
||||
mainzoneVO.setSiteId(loginVO.getSiteId());
|
||||
}
|
||||
List<?> mainzoneList = egovPopupManageService.selectMainzoneList(mainzoneVO);
|
||||
List<EgovMap> mainzoneList = (List<EgovMap>)egovPopupManageService.selectMainzoneList(mainzoneVO);
|
||||
mainzoneList.forEach(t -> {
|
||||
egovCryptoUtil.decryptEgovMap(t, "registerId");
|
||||
});
|
||||
|
||||
model.addAttribute("mainzoneList", mainzoneList);
|
||||
|
||||
int totCnt = egovPopupManageService.selectMainzoneCount(mainzoneVO);
|
||||
@ -854,6 +870,7 @@ public class EgovPopupManageController {
|
||||
if("Modify".equals((String)commandMap.get("pageType"))){ //수정
|
||||
String mazId = (String)commandMap.get("selectedId");
|
||||
mainzoneVO = egovPopupManageService.selectMainzoneVO(mazId);
|
||||
mainzoneVO.setRegisterId(egovCryptoUtil.decrypt(mainzoneVO.getRegisterId()));
|
||||
if(mainzoneVO != null){
|
||||
mainzoneVO.setBeSort(mainzoneVO.getSort());
|
||||
|
||||
|
||||
@ -10,6 +10,7 @@ import java.lang.management.ThreadMXBean;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
@ -39,6 +40,7 @@ import egovframework.rte.psl.dataaccess.util.EgovMap;
|
||||
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
|
||||
import kcc.com.cmm.ComDefaultVO;
|
||||
import kcc.com.cmm.LoginVO;
|
||||
import kcc.com.cmm.util.IpUtil;
|
||||
import kcc.com.cmm.util.RedirectUrlMaker;
|
||||
import kcc.com.uss.ion.bnr.service.BannerVO;
|
||||
import kcc.com.uss.ion.bnr.service.EgovBannerService;
|
||||
@ -64,6 +66,12 @@ import kcc.let.uss.notify.service.NotifyManageService;
|
||||
import kcc.let.uss.notify.service.NotifyManageVO;
|
||||
import kcc.let.uss.olp.qmc.service.EgovQustnrManageService;
|
||||
import kcc.let.uss.umt.service.EgovUserManageService;
|
||||
import kcc.let.utl.fcc.service.EgovCryptoUtil;
|
||||
import kcc.ve.cmm.VeConstants;
|
||||
import kcc.ve.oprtn.cmdTrgt.trgtMng.service.CmdTrgtMngService;
|
||||
import kcc.ve.oprtn.cmdTrgt.trgtMng.service.CmdTrgtMngVO;
|
||||
import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngService;
|
||||
import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngVO;
|
||||
|
||||
/**
|
||||
* 템플릿 메인 페이지 컨트롤러 클래스(Sample 소스)
|
||||
@ -138,6 +146,17 @@ public class EgovMainController {
|
||||
@Resource(name = "NotifyManageService")
|
||||
private NotifyManageService notifyManageService;
|
||||
|
||||
//암복호화 유틸
|
||||
@Resource(name = "egovCryptoUtil")
|
||||
EgovCryptoUtil egovCryptoUtil;
|
||||
|
||||
//과정 관리
|
||||
@Resource(name = "cndtnTrgtInfoMngService")
|
||||
private CndtnTrgtMngService cndtnTrgtInfoMngService;
|
||||
|
||||
//과정 관리 - 시정명령
|
||||
@Resource(name = "cmdTrgtInfoMngService")
|
||||
private CmdTrgtMngService cmdTrgtInfoMngService;
|
||||
|
||||
|
||||
/**
|
||||
@ -222,28 +241,83 @@ public class EgovMainController {
|
||||
, ModelMap model
|
||||
, HttpSession session) throws Exception{
|
||||
|
||||
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
||||
|
||||
/*
|
||||
* notify..?
|
||||
*/
|
||||
/** pageing */
|
||||
PaginationInfo paginationInfo = new PaginationInfo();
|
||||
paginationInfo.setCurrentPageNo(notifyManageVO.getPageIndex());
|
||||
paginationInfo.setRecordCountPerPage(notifyManageVO.getPageUnit());
|
||||
paginationInfo.setPageSize(notifyManageVO.getPageSize());
|
||||
|
||||
|
||||
notifyManageVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
|
||||
notifyManageVO.setLastIndex(paginationInfo.getLastRecordIndex());
|
||||
notifyManageVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
|
||||
|
||||
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
||||
notifyManageVO.setToUserId(loginVO.getId());
|
||||
|
||||
List<NotifyManageVO> resultList = notifyManageService.selectPagingList(notifyManageVO);
|
||||
List<NotifyManageVO> notifyresultList = notifyManageService.selectPagingList(notifyManageVO);
|
||||
|
||||
|
||||
|
||||
paginationInfo.setTotalRecordCount(resultList.size() > 0 ? resultList.get(0).getTotCnt() : 0);
|
||||
paginationInfo.setTotalRecordCount(notifyresultList.size() > 0 ? notifyresultList.get(0).getTotCnt() : 0);
|
||||
model.addAttribute("paginationInfo", paginationInfo);
|
||||
model.addAttribute("list", resultList);
|
||||
model.addAttribute("list", notifyresultList);
|
||||
|
||||
|
||||
/*
|
||||
* (조건부기소유예)
|
||||
* 대상자 정보
|
||||
*/
|
||||
Map<String, Object> cndtnTrgtInfoList = this.cndtnTrgtInfo();
|
||||
//전체건수
|
||||
model.addAttribute("cndtnTrgtInfoAllCnt", cndtnTrgtInfoList.get("cndtnTrgtInfoAllCnt"));
|
||||
//완료건수
|
||||
model.addAttribute("cndtnTrgtInfoCompleteCnt", cndtnTrgtInfoList.get("cndtnTrgtInfoCompleteCnt"));
|
||||
//취소건수
|
||||
model.addAttribute("cndtnTrgtInfoCancelCnt", cndtnTrgtInfoList.get("cndtnTrgtInfoCancelCnt"));
|
||||
|
||||
/*
|
||||
* (시정명령)
|
||||
* 대상자 정보
|
||||
*/
|
||||
Map<String, Object> cmdTrgtInfoList = this.cmdTrgtInfo();
|
||||
//전체건수
|
||||
model.addAttribute("cmdtnTrgtAllCnt", cmdTrgtInfoList.get("cmdtnTrgtAllCnt"));
|
||||
//완료건수
|
||||
model.addAttribute("cmdtnTrgtCompleteCnt", cmdTrgtInfoList.get("cmdtnTrgtCompleteCnt"));
|
||||
//취소건수
|
||||
model.addAttribute("cmdtnTrgtCancelCnt", cmdTrgtInfoList.get("cmdtnTrgtCancelCnt"));
|
||||
|
||||
/*
|
||||
* (조건부기소유예)
|
||||
* 과정신청기간 현황
|
||||
*/
|
||||
|
||||
/*
|
||||
* (시정명령)
|
||||
* 과정신청기간 현황
|
||||
*/
|
||||
|
||||
/*
|
||||
* (예방교육)
|
||||
* 과정신청기간 현황
|
||||
*/
|
||||
|
||||
/*
|
||||
* (조건부기소유예)
|
||||
* 확정과정 현황
|
||||
*/
|
||||
|
||||
/*
|
||||
* (시정명령)
|
||||
* 확정과정 현황
|
||||
*/
|
||||
|
||||
/*
|
||||
* (예방교육)
|
||||
* 확정과정 현황
|
||||
*/
|
||||
|
||||
return "main/EgovMainList";
|
||||
/*
|
||||
@ -572,6 +646,10 @@ public class EgovMainController {
|
||||
model.addAttribute("quickList", quickList);
|
||||
}
|
||||
|
||||
user.setName(egovCryptoUtil.decrypt(user.getName()));
|
||||
model.addAttribute("userInfo", user);
|
||||
model.addAttribute("userIp", IpUtil.getClientIP(req));
|
||||
|
||||
}catch(Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
@ -1001,4 +1079,55 @@ public class EgovMainController {
|
||||
System.out.println( "CPU Usage: " + usage );
|
||||
}
|
||||
|
||||
private Map<String, Object> cndtnTrgtInfo(){
|
||||
|
||||
CndtnTrgtMngVO cndtnTrgtInfoMngVO = new CndtnTrgtMngVO();
|
||||
cndtnTrgtInfoMngVO.setSearchQuery("");
|
||||
cndtnTrgtInfoMngVO.setRecordCountPerPage(2147483647);
|
||||
cndtnTrgtInfoMngVO.setFirstIndex(0);
|
||||
|
||||
List<CndtnTrgtMngVO> cndtnTrgtInfoMngVOList = cndtnTrgtInfoMngService.selectPagingList(cndtnTrgtInfoMngVO);
|
||||
|
||||
//전체건수
|
||||
Integer allCnt = cndtnTrgtInfoMngVOList != null ? cndtnTrgtInfoMngVOList.size() : 0;
|
||||
//완료건수
|
||||
Long completeCnt = cndtnTrgtInfoMngVOList.stream().filter(t -> VeConstants.REQ_STATE_CD_COMPLETE.equals(t.getReqStateCd())).count();
|
||||
//취소건수
|
||||
Long cancelCnt = cndtnTrgtInfoMngVOList.stream().filter(t -> VeConstants.REQ_STATE_CD_EDUCANCEL.equals(t.getReqStateCd())).count();
|
||||
|
||||
|
||||
Map<String, Object> returnMap = new HashMap<String, Object>();
|
||||
returnMap.put("cndtnTrgtInfoAllCnt", allCnt);
|
||||
returnMap.put("cndtnTrgtInfoCompleteCnt", completeCnt);
|
||||
returnMap.put("cndtnTrgtInfoCancelCnt", cancelCnt);
|
||||
|
||||
return returnMap;
|
||||
}
|
||||
|
||||
private Map<String, Object> cmdTrgtInfo(){
|
||||
|
||||
CmdTrgtMngVO cmdtnTrgtMngVO = new CmdTrgtMngVO();
|
||||
cmdtnTrgtMngVO.setSearchQuery("");
|
||||
cmdtnTrgtMngVO.setRecordCountPerPage(2147483647);
|
||||
cmdtnTrgtMngVO.setFirstIndex(0);
|
||||
|
||||
// List<CndtnTrgtMngVO> cndtnTrgtInfoMngVOList = cndtnTrgtInfoMngService.selectPagingList(cndtnTrgtInfoMngVO);
|
||||
List<CmdTrgtMngVO> cmdtnTrgtMngVOList = cmdTrgtInfoMngService.selectPagingList(cmdtnTrgtMngVO);;
|
||||
|
||||
//전체건수
|
||||
Integer allCnt = cmdtnTrgtMngVOList != null ? cmdtnTrgtMngVOList.size() : 0;
|
||||
//완료건수
|
||||
Long completeCnt = cmdtnTrgtMngVOList.stream().filter(t -> VeConstants.REQ_STATE_CD_COMPLETE.equals(t.getReqStateCd())).count();
|
||||
//취소건수
|
||||
Long cancelCnt = cmdtnTrgtMngVOList.stream().filter(t -> VeConstants.REQ_STATE_CD_EDUCANCEL.equals(t.getReqStateCd())).count();
|
||||
|
||||
|
||||
Map<String, Object> returnMap = new HashMap<String, Object>();
|
||||
returnMap.put("cmdtnTrgtAllCnt", allCnt);
|
||||
returnMap.put("cmdtnTrgtCompleteCnt", completeCnt);
|
||||
returnMap.put("cmdtnTrgtCancelCnt", cancelCnt);
|
||||
|
||||
return returnMap;
|
||||
}
|
||||
|
||||
}
|
||||
@ -62,243 +62,243 @@ public class AnotaionSchedule {
|
||||
@Resource(name = "egovCryptoUtil")
|
||||
EgovCryptoUtil egovCryptoUtil;
|
||||
|
||||
//@RequestMapping("/sym/site/AdminLogMngTest.do")
|
||||
//@Scheduled(fixedDelay = 1000)
|
||||
// @Scheduled(cron="30 0 0 * * ?")
|
||||
public void SchDeleteMember() throws Exception { //설정에 따른 회원삭제 / 관리자로그 설정삭제
|
||||
try {
|
||||
SiteManagerVO siteManagerVO =new SiteManagerVO();
|
||||
/** paging */
|
||||
PaginationInfo paginationInfo = new PaginationInfo();
|
||||
paginationInfo.setCurrentPageNo(siteManagerVO.getPageIndex());
|
||||
paginationInfo.setRecordCountPerPage(siteManagerVO.getPageUnit());
|
||||
paginationInfo.setPageSize(siteManagerVO.getPageSize());
|
||||
siteManagerVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
|
||||
siteManagerVO.setLastIndex(paginationInfo.getLastRecordIndex());
|
||||
siteManagerVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
|
||||
List<SiteManagerVO> siteManagerList= egovSiteManagerService.selectSiteManagerList(siteManagerVO) ;
|
||||
for(SiteManagerVO tempSiteManagerVO : siteManagerList){
|
||||
if(!"9".equals(tempSiteManagerVO.getIdWithdrawCd())) { //탈퇴회원 영구보관이 아니면
|
||||
userManageService.deleteMemberSchedule(tempSiteManagerVO);
|
||||
}
|
||||
|
||||
if(null!=tempSiteManagerVO.getAdminlogKpCd() && !"N".equals(tempSiteManagerVO.getAdminlogKpCd())) { //관리자로그 보관설정 영구보관이 아니면
|
||||
switch (tempSiteManagerVO.getAdminlogKpCd()) {// M:1개월,3:3개월,6:6개월보관,Y:1년, N:영구보관
|
||||
case "M":
|
||||
tempSiteManagerVO.setAdminlogKpCd("1");
|
||||
case "Y":
|
||||
tempSiteManagerVO.setAdminlogKpCd("12");
|
||||
default:
|
||||
}
|
||||
userManageService.deleteAdminLogSchedule(tempSiteManagerVO);
|
||||
}
|
||||
}
|
||||
}catch(Exception e) {
|
||||
System.out.println("Exception Error");
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* 매일 새벽1시에 청소년 찾교 신청자 개인 정보 초기화 (담당자, 휴대폰, 전화 , 이메일)
|
||||
* */
|
||||
// Schdule Lock (2분동안)
|
||||
@Scheduled(cron = "0 0 1 * * ?")
|
||||
//@Scheduled(cron = "0 * * * * ?")
|
||||
public void deletePrivacy4tngr() throws Exception {
|
||||
|
||||
// do something...
|
||||
try {
|
||||
System.out.println("=============AnotaionSchedule=====deletePrivacy4tngr =============>");
|
||||
|
||||
//문자 환불, 팩스 환불
|
||||
deletePrivacy("10");
|
||||
deletePrivacy("TWO");
|
||||
/*
|
||||
// 문자 환불
|
||||
schdlrManageService.msgFailPayBack();
|
||||
* */
|
||||
|
||||
|
||||
// do something...
|
||||
|
||||
}catch(Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : oneDayBeforeTrainingStartDate
|
||||
* @author : 이호영
|
||||
* @date : 2023.12.01
|
||||
* @description :
|
||||
* @throws Exception
|
||||
*/
|
||||
@Scheduled(cron = "0 21 18 * * ?")
|
||||
// @Scheduled(cron = "0 0 9 * * ?")
|
||||
public void oneDayBeforeTrainingStartDate() throws Exception {
|
||||
|
||||
// do something...
|
||||
try {
|
||||
System.out.println("=============AnotaionSchedule=====deletePrivacy4tngr =============>");
|
||||
|
||||
|
||||
//권한에 따른 로그인 정보 가져오기
|
||||
|
||||
//메일 발송 부 시작
|
||||
//================================================================
|
||||
//메일 발송 VeSendMail 파라미터 정리
|
||||
//1. sndFlag = 메뉴 구분
|
||||
// C -> 찾교청소년
|
||||
// Z -> 찾교청소년-교육확정알림(교육배치목록-확정된 강의 알림 버튼) : 청소년>교육확정 메일본문 수정 메뉴에서 관리
|
||||
// S -> 찾교성인
|
||||
// G -> 체험교실
|
||||
// W -> 교육콘텐츠
|
||||
// A -> 기반강화
|
||||
// B -> 기소유예
|
||||
//2. sndTo = 수신자
|
||||
//3. vEEduAplctVO = eduAplctOrd(pk)
|
||||
// sndHstryOrd(pk)
|
||||
// sndCd(10 - sms, 20 - email)
|
||||
// sndId(발송자)
|
||||
// sndCn(발송내용)
|
||||
//================================================================
|
||||
|
||||
// 기반 테스트
|
||||
// this.sendLctrDivCd("50", "2", "A");
|
||||
// 기반강화
|
||||
// this.sendLctrDivCd50("50", "1", "A"); // LCTR_DIV_CD 50, A 기반강화, 1 하루후
|
||||
// 기소유예
|
||||
// this.sendLctrDivCd("60", "2", "B"); // LCTR_DIV_CD 60, A 기반강화, 1 하루후
|
||||
|
||||
|
||||
/*
|
||||
|
||||
VeSendSMS sendSMS = new VeSendSMS();
|
||||
Map<String, Object> resultMap = sendSMS.VeSendSMS(vEEduAplctVO.getClphone(), vEEduAplctVO.getSndCn());
|
||||
|
||||
LoginVO loginVO = checkLoginUtil.getAuthLoginVO();
|
||||
|
||||
//문자 발송 성공 시 로그
|
||||
if("1".equals(resultMap.get("result_code"))){
|
||||
String snd_ord = sndGnrService.getNextStringId();
|
||||
vEEduAplctVO.setSndHstryOrd(snd_ord);
|
||||
vEEduAplctVO.setSndId(loginVO.getUniqId());
|
||||
vEEduAplctVO.setTrgt(vEEduAplctVO.getClphone());
|
||||
vEEduAplctSndHstryService.insert(vEEduAplctVO);
|
||||
}else {
|
||||
result = "fail";
|
||||
message = resultMap.get("message").toString();
|
||||
}
|
||||
*/
|
||||
}catch(Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
private void sendLctrDivCd(String lctrDivCd, String diffDay, String sndFlag) throws Exception {
|
||||
VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO();
|
||||
vEPrcsDetailVO.setLctrDivCd(lctrDivCd);
|
||||
vEPrcsDetailVO.setDiffDay(diffDay);
|
||||
|
||||
if("10".equals(lctrDivCd)) { //청소년
|
||||
vEPrcsDetailVO.setSndFlag("C");
|
||||
}else if("20".equals(lctrDivCd)) { //성인
|
||||
vEPrcsDetailVO.setSndFlag("S");
|
||||
}else if("30".equals(lctrDivCd)) { //체험교실
|
||||
vEPrcsDetailVO.setSndFlag("G");
|
||||
}else if("40".equals(lctrDivCd)) { //기반강화
|
||||
vEPrcsDetailVO.setSndFlag("A");
|
||||
}else { //기소유예
|
||||
vEPrcsDetailVO.setSndFlag("B");
|
||||
}
|
||||
|
||||
List<VEPrcsDetailVO> VEEduAplctVOList = vEPrcsAplctPrdService.selectOneDayBeforeTrainingStartDate(vEPrcsDetailVO);
|
||||
|
||||
for(VEPrcsDetailVO vo : VEEduAplctVOList) {
|
||||
VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
|
||||
vEEduAplctVO.setEduAplctOrd(vo.getEduAplctOrd());
|
||||
vEEduAplctVO.setEmail(vo.getEmail());
|
||||
vEEduAplctVO.setSndFlag(sndFlag);
|
||||
|
||||
vEEduAplctVO.setSndCn("안녕하세요 \n"+egovCryptoUtil.decrypt(vo.getMberNm())+"님이 신청해주신 \n"
|
||||
+ vo.getPrcsNm()+"교육이 "+vo.getEduStrtPnttm()+"날 시작합니다.");
|
||||
|
||||
System.out.println(" vEEduAplctVO.getSndCn() :: "+vEEduAplctVO.getSndCn());
|
||||
this.sendMailModule(vEEduAplctVO);
|
||||
this.sendSmsModule(vEEduAplctVO);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void sendSmsModule(VEEduAplctVO vEEduAplctVO) throws Exception {
|
||||
VeSendSMS sendSMS = new VeSendSMS();
|
||||
// String phone = vEEduAplctVO.getClphone();
|
||||
// 테스트
|
||||
String phone = "01083584250";
|
||||
|
||||
Map<String, Object> resultMap = sendSMS.VeSendSMS(phone, vEEduAplctVO.getSndCn(), vEEduAplctVO.getSndFlag());
|
||||
|
||||
|
||||
//문자 발송 성공 시 로그
|
||||
if("1".equals(resultMap.get("result_code"))){
|
||||
String snd_ord = sndGnrService.getNextStringId();
|
||||
vEEduAplctVO.setSndHstryOrd(snd_ord);
|
||||
vEEduAplctVO.setSndId("");
|
||||
vEEduAplctVO.setTrgt(vEEduAplctVO.getClphone());
|
||||
vEEduAplctSndHstryService.insert(vEEduAplctVO);
|
||||
}else {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void sendMailModule(VEEduAplctVO vEEduAplctVO) {
|
||||
VeSendMail sendMail = new VeSendMail();
|
||||
if("".equals(vEEduAplctVO.getSndFlag())) {
|
||||
vEEduAplctVO.setSndFlag("test");
|
||||
}
|
||||
if("".equals(vEEduAplctVO.getEmail())) {
|
||||
vEEduAplctVO.setEmail("tolag3@gmail.com");
|
||||
}
|
||||
// 테스트
|
||||
// 테스트
|
||||
// 테스트
|
||||
vEEduAplctVO.setEmail("hehihoho3@gmail.com");
|
||||
|
||||
try {
|
||||
|
||||
// String message = "정상적으로 발송되었습니다.";
|
||||
String result = sendMail.VeSendMail(vEEduAplctVO.getSndFlag() // 기반강화 50 , 기소유예 60
|
||||
, vEEduAplctVO.getEmail()
|
||||
, vEEduAplctVO
|
||||
);
|
||||
|
||||
if("success".equals(result)) {
|
||||
//메일 발송 로그
|
||||
vEEduAplctVO.setSndHstryOrd(sndGnrService.getNextStringId());
|
||||
|
||||
vEEduAplctVO.setSndId("");
|
||||
vEEduAplctVO.setTrgt(vEEduAplctVO.getEmail());
|
||||
vEEduAplctSndHstryService.insert(vEEduAplctVO);
|
||||
}else {
|
||||
// message = "발송 실패하였습니다.";
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
// TODO: handle exception
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////
|
||||
//개인 정보 삭제
|
||||
////////////////////////////////////////////////
|
||||
private void deletePrivacy(String p_type) throws Exception {
|
||||
//개인 정보 삭제 - ve_edu_aplct
|
||||
System.out.println("==== deletePrivacy ===="+p_type);
|
||||
VEEduAplctVO paramVO = new VEEduAplctVO();
|
||||
paramVO.setLctrDivCd(p_type);
|
||||
vEEduAplctService.privacyUpdate(paramVO);
|
||||
|
||||
}
|
||||
// //@RequestMapping("/sym/site/AdminLogMngTest.do")
|
||||
// //@Scheduled(fixedDelay = 1000)
|
||||
//// @Scheduled(cron="30 0 0 * * ?")
|
||||
// public void SchDeleteMember() throws Exception { //설정에 따른 회원삭제 / 관리자로그 설정삭제
|
||||
// try {
|
||||
// SiteManagerVO siteManagerVO =new SiteManagerVO();
|
||||
// /** paging */
|
||||
// PaginationInfo paginationInfo = new PaginationInfo();
|
||||
// paginationInfo.setCurrentPageNo(siteManagerVO.getPageIndex());
|
||||
// paginationInfo.setRecordCountPerPage(siteManagerVO.getPageUnit());
|
||||
// paginationInfo.setPageSize(siteManagerVO.getPageSize());
|
||||
// siteManagerVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
|
||||
// siteManagerVO.setLastIndex(paginationInfo.getLastRecordIndex());
|
||||
// siteManagerVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
|
||||
// List<SiteManagerVO> siteManagerList= egovSiteManagerService.selectSiteManagerList(siteManagerVO) ;
|
||||
// for(SiteManagerVO tempSiteManagerVO : siteManagerList){
|
||||
// if(!"9".equals(tempSiteManagerVO.getIdWithdrawCd())) { //탈퇴회원 영구보관이 아니면
|
||||
// userManageService.deleteMemberSchedule(tempSiteManagerVO);
|
||||
// }
|
||||
//
|
||||
// if(null!=tempSiteManagerVO.getAdminlogKpCd() && !"N".equals(tempSiteManagerVO.getAdminlogKpCd())) { //관리자로그 보관설정 영구보관이 아니면
|
||||
// switch (tempSiteManagerVO.getAdminlogKpCd()) {// M:1개월,3:3개월,6:6개월보관,Y:1년, N:영구보관
|
||||
// case "M":
|
||||
// tempSiteManagerVO.setAdminlogKpCd("1");
|
||||
// case "Y":
|
||||
// tempSiteManagerVO.setAdminlogKpCd("12");
|
||||
// default:
|
||||
// }
|
||||
// userManageService.deleteAdminLogSchedule(tempSiteManagerVO);
|
||||
// }
|
||||
// }
|
||||
// }catch(Exception e) {
|
||||
// System.out.println("Exception Error");
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// /*
|
||||
// * 매일 새벽1시에 청소년 찾교 신청자 개인 정보 초기화 (담당자, 휴대폰, 전화 , 이메일)
|
||||
// * */
|
||||
// // Schdule Lock (2분동안)
|
||||
// @Scheduled(cron = "0 0 1 * * ?")
|
||||
// //@Scheduled(cron = "0 * * * * ?")
|
||||
// public void deletePrivacy4tngr() throws Exception {
|
||||
//
|
||||
// // do something...
|
||||
// try {
|
||||
// System.out.println("=============AnotaionSchedule=====deletePrivacy4tngr =============>");
|
||||
//
|
||||
// //문자 환불, 팩스 환불
|
||||
// deletePrivacy("10");
|
||||
// deletePrivacy("TWO");
|
||||
// /*
|
||||
// // 문자 환불
|
||||
// schdlrManageService.msgFailPayBack();
|
||||
// * */
|
||||
//
|
||||
//
|
||||
// // do something...
|
||||
//
|
||||
// }catch(Exception ex) {
|
||||
// ex.printStackTrace();
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * @methodName : oneDayBeforeTrainingStartDate
|
||||
// * @author : 이호영
|
||||
// * @date : 2023.12.01
|
||||
// * @description :
|
||||
// * @throws Exception
|
||||
// */
|
||||
// @Scheduled(cron = "0 21 18 * * ?")
|
||||
//// @Scheduled(cron = "0 0 9 * * ?")
|
||||
// public void oneDayBeforeTrainingStartDate() throws Exception {
|
||||
//
|
||||
// // do something...
|
||||
// try {
|
||||
// System.out.println("=============AnotaionSchedule=====deletePrivacy4tngr =============>");
|
||||
//
|
||||
//
|
||||
// //권한에 따른 로그인 정보 가져오기
|
||||
//
|
||||
// //메일 발송 부 시작
|
||||
// //================================================================
|
||||
// //메일 발송 VeSendMail 파라미터 정리
|
||||
// //1. sndFlag = 메뉴 구분
|
||||
// // C -> 찾교청소년
|
||||
// // Z -> 찾교청소년-교육확정알림(교육배치목록-확정된 강의 알림 버튼) : 청소년>교육확정 메일본문 수정 메뉴에서 관리
|
||||
// // S -> 찾교성인
|
||||
// // G -> 체험교실
|
||||
// // W -> 교육콘텐츠
|
||||
// // A -> 기반강화
|
||||
// // B -> 기소유예
|
||||
// //2. sndTo = 수신자
|
||||
// //3. vEEduAplctVO = eduAplctOrd(pk)
|
||||
// // sndHstryOrd(pk)
|
||||
// // sndCd(10 - sms, 20 - email)
|
||||
// // sndId(발송자)
|
||||
// // sndCn(발송내용)
|
||||
// //================================================================
|
||||
//
|
||||
// // 기반 테스트
|
||||
//// this.sendLctrDivCd("50", "2", "A");
|
||||
// // 기반강화
|
||||
//// this.sendLctrDivCd50("50", "1", "A"); // LCTR_DIV_CD 50, A 기반강화, 1 하루후
|
||||
// // 기소유예
|
||||
//// this.sendLctrDivCd("60", "2", "B"); // LCTR_DIV_CD 60, A 기반강화, 1 하루후
|
||||
//
|
||||
//
|
||||
// /*
|
||||
//
|
||||
// VeSendSMS sendSMS = new VeSendSMS();
|
||||
// Map<String, Object> resultMap = sendSMS.VeSendSMS(vEEduAplctVO.getClphone(), vEEduAplctVO.getSndCn());
|
||||
//
|
||||
// LoginVO loginVO = checkLoginUtil.getAuthLoginVO();
|
||||
//
|
||||
// //문자 발송 성공 시 로그
|
||||
// if("1".equals(resultMap.get("result_code"))){
|
||||
// String snd_ord = sndGnrService.getNextStringId();
|
||||
// vEEduAplctVO.setSndHstryOrd(snd_ord);
|
||||
// vEEduAplctVO.setSndId(loginVO.getUniqId());
|
||||
// vEEduAplctVO.setTrgt(vEEduAplctVO.getClphone());
|
||||
// vEEduAplctSndHstryService.insert(vEEduAplctVO);
|
||||
// }else {
|
||||
// result = "fail";
|
||||
// message = resultMap.get("message").toString();
|
||||
// }
|
||||
// */
|
||||
// }catch(Exception ex) {
|
||||
// ex.printStackTrace();
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// private void sendLctrDivCd(String lctrDivCd, String diffDay, String sndFlag) throws Exception {
|
||||
// VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO();
|
||||
// vEPrcsDetailVO.setLctrDivCd(lctrDivCd);
|
||||
// vEPrcsDetailVO.setDiffDay(diffDay);
|
||||
//
|
||||
// if("10".equals(lctrDivCd)) { //청소년
|
||||
// vEPrcsDetailVO.setSndFlag("C");
|
||||
// }else if("20".equals(lctrDivCd)) { //성인
|
||||
// vEPrcsDetailVO.setSndFlag("S");
|
||||
// }else if("30".equals(lctrDivCd)) { //체험교실
|
||||
// vEPrcsDetailVO.setSndFlag("G");
|
||||
// }else if("40".equals(lctrDivCd)) { //기반강화
|
||||
// vEPrcsDetailVO.setSndFlag("A");
|
||||
// }else { //기소유예
|
||||
// vEPrcsDetailVO.setSndFlag("B");
|
||||
// }
|
||||
//
|
||||
// List<VEPrcsDetailVO> VEEduAplctVOList = vEPrcsAplctPrdService.selectOneDayBeforeTrainingStartDate(vEPrcsDetailVO);
|
||||
//
|
||||
// for(VEPrcsDetailVO vo : VEEduAplctVOList) {
|
||||
// VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
|
||||
// vEEduAplctVO.setEduAplctOrd(vo.getEduAplctOrd());
|
||||
// vEEduAplctVO.setEmail(vo.getEmail());
|
||||
// vEEduAplctVO.setSndFlag(sndFlag);
|
||||
//
|
||||
// vEEduAplctVO.setSndCn("안녕하세요 \n"+egovCryptoUtil.decrypt(vo.getMberNm())+"님이 신청해주신 \n"
|
||||
// + vo.getPrcsNm()+"교육이 "+vo.getEduStrtPnttm()+"날 시작합니다.");
|
||||
//
|
||||
// System.out.println(" vEEduAplctVO.getSndCn() :: "+vEEduAplctVO.getSndCn());
|
||||
// this.sendMailModule(vEEduAplctVO);
|
||||
// this.sendSmsModule(vEEduAplctVO);
|
||||
//
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// private void sendSmsModule(VEEduAplctVO vEEduAplctVO) throws Exception {
|
||||
// VeSendSMS sendSMS = new VeSendSMS();
|
||||
//// String phone = vEEduAplctVO.getClphone();
|
||||
// // 테스트
|
||||
// String phone = "01083584250";
|
||||
//
|
||||
// Map<String, Object> resultMap = sendSMS.VeSendSMS(phone, vEEduAplctVO.getSndCn(), vEEduAplctVO.getSndFlag());
|
||||
//
|
||||
//
|
||||
// //문자 발송 성공 시 로그
|
||||
// if("1".equals(resultMap.get("result_code"))){
|
||||
// String snd_ord = sndGnrService.getNextStringId();
|
||||
// vEEduAplctVO.setSndHstryOrd(snd_ord);
|
||||
// vEEduAplctVO.setSndId("");
|
||||
// vEEduAplctVO.setTrgt(vEEduAplctVO.getClphone());
|
||||
// vEEduAplctSndHstryService.insert(vEEduAplctVO);
|
||||
// }else {
|
||||
// }
|
||||
//
|
||||
// }
|
||||
//
|
||||
// private void sendMailModule(VEEduAplctVO vEEduAplctVO) {
|
||||
// VeSendMail sendMail = new VeSendMail();
|
||||
// if("".equals(vEEduAplctVO.getSndFlag())) {
|
||||
// vEEduAplctVO.setSndFlag("test");
|
||||
// }
|
||||
// if("".equals(vEEduAplctVO.getEmail())) {
|
||||
// vEEduAplctVO.setEmail("tolag3@gmail.com");
|
||||
// }
|
||||
// // 테스트
|
||||
// // 테스트
|
||||
// // 테스트
|
||||
// vEEduAplctVO.setEmail("hehihoho3@gmail.com");
|
||||
//
|
||||
// try {
|
||||
//
|
||||
// // String message = "정상적으로 발송되었습니다.";
|
||||
// String result = sendMail.VeSendMail(vEEduAplctVO.getSndFlag() // 기반강화 50 , 기소유예 60
|
||||
// , vEEduAplctVO.getEmail()
|
||||
// , vEEduAplctVO
|
||||
// );
|
||||
//
|
||||
// if("success".equals(result)) {
|
||||
// //메일 발송 로그
|
||||
// vEEduAplctVO.setSndHstryOrd(sndGnrService.getNextStringId());
|
||||
//
|
||||
// vEEduAplctVO.setSndId("");
|
||||
// vEEduAplctVO.setTrgt(vEEduAplctVO.getEmail());
|
||||
// vEEduAplctSndHstryService.insert(vEEduAplctVO);
|
||||
// }else {
|
||||
// // message = "발송 실패하였습니다.";
|
||||
// }
|
||||
//
|
||||
// } catch (Exception e) {
|
||||
// e.printStackTrace();
|
||||
// // TODO: handle exception
|
||||
// }
|
||||
// }
|
||||
//
|
||||
//
|
||||
// ////////////////////////////////////////////////
|
||||
// //개인 정보 삭제
|
||||
// ////////////////////////////////////////////////
|
||||
// private void deletePrivacy(String p_type) throws Exception {
|
||||
// //개인 정보 삭제 - ve_edu_aplct
|
||||
// System.out.println("==== deletePrivacy ===="+p_type);
|
||||
// VEEduAplctVO paramVO = new VEEduAplctVO();
|
||||
// paramVO.setLctrDivCd(p_type);
|
||||
// vEEduAplctService.privacyUpdate(paramVO);
|
||||
//
|
||||
// }
|
||||
}
|
||||
@ -211,7 +211,7 @@ public class EgovLoginController {
|
||||
* @exception Exception
|
||||
*/
|
||||
@RequestMapping(value = "/uat/uia/EgovLoginUsr.do")
|
||||
public String adminLogin(HttpServletRequest request, HttpServletResponse response, ModelMap model) throws Exception {
|
||||
public String adminLogin(HttpServletRequest request, HttpServletResponse response, ModelMap model, RedirectAttributes rttr) throws Exception {
|
||||
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
|
||||
|
||||
System.out.println("==start=");
|
||||
@ -229,21 +229,23 @@ public class EgovLoginController {
|
||||
LOGGER.debug("userIpCheck: [" + userIpCheck + "]");
|
||||
loginPolicyGroupList = egovLoginPolicyService.selectLoginGroupPolicyAllIP(loginPolicyVOCheck);
|
||||
|
||||
// boolean ipCheck = false;
|
||||
// if (loginPolicyGroupList != null) {
|
||||
// for (LoginPolicyVO tempPolicyVO : loginPolicyGroupList) {
|
||||
//// if(userIpCheck.equals(tempPolicyVO.getIpInfo())){
|
||||
// if (userIpCheck.contains(tempPolicyVO.getIpInfo())) {
|
||||
// ipCheck = true;
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
boolean ipCheck = false;
|
||||
if (loginPolicyGroupList != null) {
|
||||
for (LoginPolicyVO tempPolicyVO : loginPolicyGroupList) {
|
||||
// if(userIpCheck.equals(tempPolicyVO.getIpInfo())){
|
||||
if (userIpCheck.contains(tempPolicyVO.getIpInfo())) {
|
||||
ipCheck = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 1. Spring Security 사용자권한 처리
|
||||
// if (!ipCheck) {
|
||||
// return "/cmm/error/ipFailure";
|
||||
// }
|
||||
if (!ipCheck) {
|
||||
rttr.addFlashAttribute("message", "접근이 불가능한 아이피 입니다.");
|
||||
return "redirect:/web/main/mainPage.do";
|
||||
}
|
||||
|
||||
if (!isAuthenticated) {
|
||||
// model.addAttribute("message",
|
||||
// egovMessageSource.getMessage("fail.common.login"));
|
||||
|
||||
@ -788,4 +788,10 @@ public class EgovCryptoUtil {
|
||||
return vEAStngVOOList;
|
||||
}
|
||||
|
||||
public EgovMap decryptEgovMap(EgovMap map, String keyNm) {
|
||||
String encStr = map.get(keyNm).toString();
|
||||
map.put(keyNm, this.decrypt(encStr));
|
||||
return map;
|
||||
}
|
||||
|
||||
}
|
||||
@ -200,4 +200,17 @@ public class VeConstants {
|
||||
public static final String NOTI_STATUS_97 = "97"; // 서류요청
|
||||
public static final String NOTI_STATUS_98 = "98"; // 서류제출
|
||||
|
||||
/*
|
||||
* VEA005 대상자 정보 : 의뢰상태
|
||||
*/
|
||||
/**
|
||||
* 완
|
||||
*/
|
||||
public static final String REQ_STATE_CD_COMPLETE = "30";
|
||||
public static final String REQ_STATE_CD_EDUASG = "20";
|
||||
public static final String REQ_STATE_CD_EDUCANCEL = "40";
|
||||
public static final String REQ_STATE_CD_REQ = "15";
|
||||
public static final String REQ_STATE_CD_NOTCOMPLETE = "35";
|
||||
public static final String REQ_STATE_CD_EDUWAIT = "10";
|
||||
|
||||
}
|
||||
|
||||
@ -20,7 +20,7 @@
|
||||
<result property="tempSortNum" column="tempSortNum" columnIndex="10"/>
|
||||
</resultMap>
|
||||
|
||||
<select id="selectAuthorRoleList" parameterClass="authorRoleManageVO" resultMap="authorRole">
|
||||
<select id="authorRoleManageDAO.selectAuthorRoleList" parameterClass="authorRoleManageVO" resultMap="authorRole">
|
||||
SELECT A.ROLE_CODE,
|
||||
A.ROLE_NM,
|
||||
A.ROLE_PTTRN,
|
||||
@ -57,7 +57,7 @@
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectAuthorRoleListTotCnt" parameterClass="authorRoleManageVO" resultClass="int">
|
||||
<select id="authorRoleManageDAO.selectAuthorRoleListTotCnt" parameterClass="authorRoleManageVO" resultClass="int">
|
||||
SELECT COUNT(*) totcnt
|
||||
FROM (
|
||||
SELECT * FROM LETTNROLEINFO WHERE 1=1
|
||||
@ -73,7 +73,7 @@
|
||||
ON A.ROLE_CODE = B.ROLE_CODE
|
||||
</select>
|
||||
|
||||
<insert id="insertAuthorRole" parameterClass="authorRoleManage">
|
||||
<insert id="authorRoleManageDAO.insertAuthorRole" parameterClass="authorRoleManage">
|
||||
<![CDATA[
|
||||
INSERT INTO LETTNAUTHORROLERELATE
|
||||
( AUTHOR_CODE
|
||||
@ -87,7 +87,7 @@
|
||||
]]>
|
||||
</insert>
|
||||
|
||||
<delete id="deleteAuthorRole">
|
||||
<delete id="authorRoleManageDAO.deleteAuthorRole">
|
||||
<![CDATA[
|
||||
DELETE FROM LETTNAUTHORROLERELATE
|
||||
WHERE AUTHOR_CODE=#authorCode#
|
||||
|
||||
@ -614,7 +614,10 @@
|
||||
*/
|
||||
SELECT TO_CHAR(A.CREAT_DT, 'YYYY-MM-DD HH24:MI' ) creatDt FROM LETTNADMINLOG A
|
||||
WHERE A.CONECT_ID = #conectId#
|
||||
/*
|
||||
AND A.PROGRM_FILE_NM = 'selectActionSecurityLogin'
|
||||
*/
|
||||
AND A.PROGRM_FILE_NM = 'uat/uia/actionSecurityLogin.do'
|
||||
ORDER BY A.CREAT_DT DESC
|
||||
LIMIT 1
|
||||
</select>
|
||||
|
||||
@ -31,7 +31,6 @@
|
||||
|
||||
<script type="text/javaScript" language="javascript" defer="defer">
|
||||
|
||||
|
||||
function linkPage(pageNo){
|
||||
var listForm = document.listForm ;
|
||||
listForm.pageIndex.value = pageNo ;
|
||||
@ -39,265 +38,285 @@ function linkPage(pageNo){
|
||||
listForm.submit();
|
||||
}
|
||||
|
||||
|
||||
function fn_goDetail(cmmNotifyOrd){
|
||||
var form = document.detailForm ;
|
||||
form.cmmNotifyOrd.value=cmmNotifyOrd;
|
||||
form.action = "<c:url value='/cmm/main/mainDetail.do'/>";
|
||||
form.submit();
|
||||
}
|
||||
|
||||
//체크박스 전체 선택
|
||||
function chkAll(thisObj){
|
||||
$("input[name=chk]").prop("checked" , $(thisObj).is(":checked"));
|
||||
}
|
||||
|
||||
function chkDelete(){
|
||||
var chkLen = $(listForm).find("input[name=chk]:checked").length;
|
||||
if(chkLen == 0){
|
||||
alert("선택된 항목이 없습니다.");
|
||||
return;
|
||||
}
|
||||
|
||||
if(confirm("삭제하시겠습니까?")){
|
||||
var data = new FormData(document.getElementById("listForm"));
|
||||
var url = "<c:url value='/web/my/myNotifyMngDeleteAjax.do'/>"
|
||||
$.ajax({
|
||||
type : "Post",
|
||||
url : url,
|
||||
data : data,
|
||||
dataType : 'json',
|
||||
async : false,
|
||||
processData : false,
|
||||
contentType : false,
|
||||
cache : false,
|
||||
success : function(returnData){
|
||||
if(returnData.result == "success"){
|
||||
alert("삭제되었습니다.");
|
||||
location.reload();
|
||||
}else{
|
||||
alert("실패하였습니다.")
|
||||
}
|
||||
},
|
||||
error : function(request, status, error){
|
||||
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="cont_wrap dashboard">
|
||||
<div class="box_wrap">
|
||||
<div class="box">
|
||||
<div class="box_tit">
|
||||
<p>오늘의 교육 진행 현황</p>
|
||||
</div>
|
||||
<div class="box_cont today_box">
|
||||
<div class="today_status status01">
|
||||
<p>교육접수</p>
|
||||
<i></i>
|
||||
<span>18</span>
|
||||
</div>
|
||||
<i class="status_pcs"></i>
|
||||
<div class="today_status status02">
|
||||
<p>교육진행</p>
|
||||
<i></i>
|
||||
<span>18</span>
|
||||
</div>
|
||||
<i class="status_pcs"></i>
|
||||
<div class="today_status status03">
|
||||
<p>교육완료</p>
|
||||
<i></i>
|
||||
<span>18</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box">
|
||||
<div class="box_tit">
|
||||
<p>교육관리</p>
|
||||
</div>
|
||||
<div class="box_cont system_box">
|
||||
<a href="#" class="btn_system system01">
|
||||
<p>교육 일정관리</p>
|
||||
<span>바로가기 ></span>
|
||||
</a>
|
||||
<a href="#" class="btn_system system02">
|
||||
<p>고육 종료관리</p>
|
||||
<span>바로가기 ></span>
|
||||
</a>
|
||||
<a href="#" class="btn_system system03">
|
||||
<p>교육 신청관리</p>
|
||||
<span>바로가기 ></span>
|
||||
</a>
|
||||
<a href="#" class="btn_system system04">
|
||||
<p>교육 강사관리</p>
|
||||
<span>바로가기 ></span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box">
|
||||
<div class="box_tit">
|
||||
<p>교육건수</p>
|
||||
</div>
|
||||
<div class="box_cont ds_box">
|
||||
<ul class="chartType01">
|
||||
<li>
|
||||
<p>접수</p>
|
||||
<div class="chart_wrap">
|
||||
<div></div>
|
||||
</div>
|
||||
<p class="case_number"><span>30</span>건</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>승인</p>
|
||||
<div class="chart_wrap">
|
||||
<div></div>
|
||||
</div>
|
||||
<p class="case_number"><span>30</span>건</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>진행</p>
|
||||
<div class="chart_wrap">
|
||||
<div></div>
|
||||
</div>
|
||||
<p class="case_number"><span>30</span>건</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>대기</p>
|
||||
<div class="chart_wrap">
|
||||
<div></div>
|
||||
</div>
|
||||
<p class="case_number"><span>30</span>건</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>완료</p>
|
||||
<div class="chart_wrap">
|
||||
<div></div>
|
||||
</div>
|
||||
<p class="case_number"><span>30</span>건</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<ul class="chart_num">
|
||||
<li>0</li>
|
||||
<li>10</li>
|
||||
<li>20</li>
|
||||
<li>30</li>
|
||||
<li>40</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="box">
|
||||
<div class="box_tit">
|
||||
<p>교육신청현황</p>
|
||||
<button type="button" class="btn_plus">더보기 <i class="icon plus"></i></button>
|
||||
</div>
|
||||
<div class="box_cont">
|
||||
<ul class="dashboard_list">
|
||||
<li>
|
||||
<a href="#" class="list_tit">· 상표권 교육조건부 기소유예</a>
|
||||
<p class="list_writer">admin</p>
|
||||
<p class="list_date">2025-08-08</p>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="list_tit">· 상표권 교육조건부 기소유예</a>
|
||||
<p class="list_writer">admin</p>
|
||||
<p class="list_date">2025-08-08</p>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="list_tit">· 상표권 교육조건부 기소유예</a>
|
||||
<p class="list_writer">admin</p>
|
||||
<p class="list_date">2025-08-08</p>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="list_tit">· 상표권 교육조건부 기소유예</a>
|
||||
<p class="list_writer">admin</p>
|
||||
<p class="list_date">2025-08-08</p>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="list_tit">· 상표권 교육조건부 기소유예</a>
|
||||
<p class="list_writer">admin</p>
|
||||
<p class="list_date">2025-08-08</p>
|
||||
</li>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box">
|
||||
<div class="box_tit">
|
||||
<p>교육진행현황</p>
|
||||
<button type="button" class="btn_plus">더보기 <i class="icon plus"></i></button>
|
||||
</div>
|
||||
<div class="box_cont">
|
||||
<ul class="dashboard_list state">
|
||||
<li>
|
||||
<a href="#" class="list_tit">· <img src="${pageContext.request.contextPath}/kccadrPb/adm/image/icon_new.png" class="icon_new"> 상표권 교육조건부 기소유예</a>
|
||||
<p class="list_writer">admin</p>
|
||||
<p class="state line gray">배정완료</p>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="list_tit">· 상표권 교육조건부 기소유예</a>
|
||||
<p class="list_writer">admin</p>
|
||||
<p class="state line blue">승인요청</p>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="list_tit">· 상표권 교육조건부 기소유예</a>
|
||||
<p class="list_writer">admin</p>
|
||||
<p class="state line orange">대기중</p>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="list_tit">· 상표권 교육조건부 기소유예</a>
|
||||
<p class="list_writer">admin</p>
|
||||
<p class="state line gray">배정완료</p>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="list_tit">· 상표권 교육조건부 기소유예</a>
|
||||
<p class="list_writer">admin</p>
|
||||
<p class="state line gray">배정완료</p>
|
||||
</li>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box">
|
||||
<div class="box_tit">
|
||||
<p>교육종료현황</p>
|
||||
<button type="button" class="btn_plus">더보기 <i class="icon plus"></i></button>
|
||||
</div>
|
||||
<div class="box_cont">
|
||||
<ul class="dashboard_list state">
|
||||
<li>
|
||||
<a href="#" class="list_tit">· 인사교육 프로그램 교재의 저작물</a>
|
||||
<p class="list_writer">admin</p>
|
||||
<p class="state fill gray">보고완료</p>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="list_tit">· 음악저작물 제작 및 이용에 따른</a>
|
||||
<p class="list_writer">admin</p>
|
||||
<p class="state fill green">설문진행</p>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="list_tit">· 부주의에 의한 성명표시권 침해</a>
|
||||
<p class="list_writer">admin</p>
|
||||
<p class="state fill purple">비용지급</p>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="list_tit">· 학위논문에서의 정당한 인용의 문제</a>
|
||||
<p class="list_writer">admin</p>
|
||||
<p class="state fill gray">보고완료</p>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="list_tit">· 저작물 이용허락 요청 후 무단이용</a>
|
||||
<p class="list_writer">admin</p>
|
||||
<p class="state fill gray">보고완료</p>
|
||||
</li>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cont_wrap dashboard">
|
||||
<div class="box_wrap">
|
||||
<%-- ===========================================
|
||||
조건부 기소유예 시작
|
||||
============================================ --%>
|
||||
<div class="box">
|
||||
<div class="box_tit">
|
||||
<p>조건부기소유예 대상자 목록 현황</p>
|
||||
<button type="button" class="btn_plus">더보기 <i class="icon plus"></i></button>
|
||||
</div>
|
||||
<div class="box_cont today_box">
|
||||
<div class="today_status status01">
|
||||
<p>전체</p>
|
||||
<i></i>
|
||||
<span>${cndtnTrgtInfoAllCnt}</span>
|
||||
</div>
|
||||
<div class="today_status status02">
|
||||
<p>완료</p>
|
||||
<i></i>
|
||||
<span>${cndtnTrgtInfoCompleteCnt}</span>
|
||||
</div>
|
||||
<div class="today_status status03">
|
||||
<p>취소</p>
|
||||
<i></i>
|
||||
<span>${cndtnTrgtInfoCancelCnt}</span>
|
||||
</div>
|
||||
</div>
|
||||
<!-- //cont -->
|
||||
</div>
|
||||
<div class="box">
|
||||
<div class="box_tit">
|
||||
<p>과정신청현황</p>
|
||||
<button type="button" class="btn_plus">더보기 <i class="icon plus"></i></button>
|
||||
</div>
|
||||
<div class="box_cont">
|
||||
<ul class="dashboard_list">
|
||||
<li>
|
||||
<a href="#" class="list_tit">· 상표권 교육조건부 기소유예</a>
|
||||
<p class="list_writer">admin</p>
|
||||
<p class="list_date">2025-08-08</p>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="list_tit">· 상표권 교육조건부 기소유예</a>
|
||||
<p class="list_writer">admin</p>
|
||||
<p class="list_date">2025-08-08</p>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="list_tit">· 상표권 교육조건부 기소유예</a>
|
||||
<p class="list_writer">admin</p>
|
||||
<p class="list_date">2025-08-08</p>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="list_tit">· 상표권 교육조건부 기소유예</a>
|
||||
<p class="list_writer">admin</p>
|
||||
<p class="list_date">2025-08-08</p>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="list_tit">· 상표권 교육조건부 기소유예</a>
|
||||
<p class="list_writer">admin</p>
|
||||
<p class="list_date">2025-08-08</p>
|
||||
</li>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box">
|
||||
<div class="box_tit">
|
||||
<p>확정과정현황</p>
|
||||
<button type="button" class="btn_plus">더보기 <i class="icon plus"></i></button>
|
||||
</div>
|
||||
<div class="box_cont">
|
||||
<ul class="dashboard_list state">
|
||||
<li>
|
||||
<%-- <a href="#" class="list_tit">· <img src="${pageContext.request.contextPath}/kccadrPb/adm/image/icon_new.png" class="icon_new"> 상표권 교육조건부 기소유예</a> --%>
|
||||
<a href="#" class="list_tit">· 상표권 교육조건부 기소유예</a>
|
||||
<p class="list_writer">admin</p>
|
||||
<p class="state line gray">배정완료</p>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="list_tit">· 상표권 교육조건부 기소유예</a>
|
||||
<p class="list_writer">admin</p>
|
||||
<p class="state line blue">승인요청</p>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="list_tit">· 상표권 교육조건부 기소유예</a>
|
||||
<p class="list_writer">admin</p>
|
||||
<p class="state line orange">대기중</p>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="list_tit">· 상표권 교육조건부 기소유예</a>
|
||||
<p class="list_writer">admin</p>
|
||||
<p class="state line gray">배정완료</p>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="list_tit">· 상표권 교육조건부 기소유예</a>
|
||||
<p class="list_writer">admin</p>
|
||||
<p class="state line gray">배정완료</p>
|
||||
</li>
|
||||
</div>
|
||||
</div>
|
||||
<%-- ===========================================
|
||||
조건부 기소유예 끝
|
||||
============================================ --%>
|
||||
<%-- ===========================================
|
||||
시정명령 시작
|
||||
============================================ --%>
|
||||
<div class="box">
|
||||
<div class="box_tit">
|
||||
<p>시정명령 대상자 정보 현황</p>
|
||||
<button type="button" class="btn_plus">더보기 <i class="icon plus"></i></button>
|
||||
</div>
|
||||
<div class="box_cont today_box">
|
||||
<div class="today_status status01">
|
||||
<p>전체</p>
|
||||
<i></i>
|
||||
<span>${cmdtnTrgtAllCnt}</span>
|
||||
</div>
|
||||
<div class="today_status status02">
|
||||
<p>완료</p>
|
||||
<i></i>
|
||||
<span>${cmdtnTrgtCompleteCnt}</span>
|
||||
</div>
|
||||
<div class="today_status status03">
|
||||
<p>취소</p>
|
||||
<i></i>
|
||||
<span>${cmdtnTrgtCancelCnt}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box">
|
||||
<div class="box_tit">
|
||||
<p>과정신청현황</p>
|
||||
<button type="button" class="btn_plus">더보기 <i class="icon plus"></i></button>
|
||||
</div>
|
||||
<div class="box_cont">
|
||||
<ul class="dashboard_list">
|
||||
<li>
|
||||
<a href="#" class="list_tit">· 상표권 교육조건부 기소유예</a>
|
||||
<p class="list_writer">admin</p>
|
||||
<p class="list_date">2025-08-08</p>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="list_tit">· 상표권 교육조건부 기소유예</a>
|
||||
<p class="list_writer">admin</p>
|
||||
<p class="list_date">2025-08-08</p>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="list_tit">· 상표권 교육조건부 기소유예</a>
|
||||
<p class="list_writer">admin</p>
|
||||
<p class="list_date">2025-08-08</p>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="list_tit">· 상표권 교육조건부 기소유예</a>
|
||||
<p class="list_writer">admin</p>
|
||||
<p class="list_date">2025-08-08</p>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="list_tit">· 상표권 교육조건부 기소유예</a>
|
||||
<p class="list_writer">admin</p>
|
||||
<p class="list_date">2025-08-08</p>
|
||||
</li>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box">
|
||||
<div class="box_tit">
|
||||
<p>확정과정현황</p>
|
||||
<button type="button" class="btn_plus">더보기 <i class="icon plus"></i></button>
|
||||
</div>
|
||||
<div class="box_cont">
|
||||
<ul class="dashboard_list state">
|
||||
<li>
|
||||
<%-- <a href="#" class="list_tit">· <img src="${pageContext.request.contextPath}/kccadrPb/adm/image/icon_new.png" class="icon_new"> 상표권 교육조건부 기소유예</a> --%>
|
||||
<a href="#" class="list_tit">· 상표권 교육조건부 기소유예</a>
|
||||
<p class="list_writer">admin</p>
|
||||
<p class="state line gray">배정완료</p>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="list_tit">· 상표권 교육조건부 기소유예</a>
|
||||
<p class="list_writer">admin</p>
|
||||
<p class="state line blue">승인요청</p>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="list_tit">· 상표권 교육조건부 기소유예</a>
|
||||
<p class="list_writer">admin</p>
|
||||
<p class="state line orange">대기중</p>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="list_tit">· 상표권 교육조건부 기소유예</a>
|
||||
<p class="list_writer">admin</p>
|
||||
<p class="state line gray">배정완료</p>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="list_tit">· 상표권 교육조건부 기소유예</a>
|
||||
<p class="list_writer">admin</p>
|
||||
<p class="state line gray">배정완료</p>
|
||||
</li>
|
||||
</div>
|
||||
</div>
|
||||
<%-- ===========================================
|
||||
시정명령 끝
|
||||
============================================ --%>
|
||||
<%-- ===========================================
|
||||
예방교육 시작
|
||||
============================================ --%>
|
||||
<div class="box">
|
||||
<div class="box_tit">
|
||||
<p>과정신청현황</p>
|
||||
<button type="button" class="btn_plus">더보기 <i class="icon plus"></i></button>
|
||||
</div>
|
||||
<div class="box_cont">
|
||||
<ul class="dashboard_list">
|
||||
<li>
|
||||
<a href="#" class="list_tit">· 상표권 교육조건부 기소유예</a>
|
||||
<p class="list_writer">admin</p>
|
||||
<p class="list_date">2025-08-08</p>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="list_tit">· 상표권 교육조건부 기소유예</a>
|
||||
<p class="list_writer">admin</p>
|
||||
<p class="list_date">2025-08-08</p>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="list_tit">· 상표권 교육조건부 기소유예</a>
|
||||
<p class="list_writer">admin</p>
|
||||
<p class="list_date">2025-08-08</p>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="list_tit">· 상표권 교육조건부 기소유예</a>
|
||||
<p class="list_writer">admin</p>
|
||||
<p class="list_date">2025-08-08</p>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="list_tit">· 상표권 교육조건부 기소유예</a>
|
||||
<p class="list_writer">admin</p>
|
||||
<p class="list_date">2025-08-08</p>
|
||||
</li>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box">
|
||||
<div class="box_tit">
|
||||
<p>확정과정현황</p>
|
||||
<button type="button" class="btn_plus">더보기 <i class="icon plus"></i></button>
|
||||
</div>
|
||||
<div class="box_cont">
|
||||
<ul class="dashboard_list state">
|
||||
<li>
|
||||
<%-- <a href="#" class="list_tit">· <img src="${pageContext.request.contextPath}/kccadrPb/adm/image/icon_new.png" class="icon_new"> 상표권 교육조건부 기소유예</a> --%>
|
||||
<a href="#" class="list_tit">· 상표권 교육조건부 기소유예</a>
|
||||
<p class="list_writer">admin</p>
|
||||
<p class="state line gray">배정완료</p>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="list_tit">· 상표권 교육조건부 기소유예</a>
|
||||
<p class="list_writer">admin</p>
|
||||
<p class="state line blue">승인요청</p>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="list_tit">· 상표권 교육조건부 기소유예</a>
|
||||
<p class="list_writer">admin</p>
|
||||
<p class="state line orange">대기중</p>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="list_tit">· 상표권 교육조건부 기소유예</a>
|
||||
<p class="list_writer">admin</p>
|
||||
<p class="state line gray">배정완료</p>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="list_tit">· 상표권 교육조건부 기소유예</a>
|
||||
<p class="list_writer">admin</p>
|
||||
<p class="state line gray">배정완료</p>
|
||||
</li>
|
||||
</div>
|
||||
</div>
|
||||
<%-- ===========================================
|
||||
예방교육 끝
|
||||
============================================ --%>
|
||||
</div>
|
||||
</div>
|
||||
<!-- //cont -->
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@ -89,7 +89,8 @@ function modifyMem(uniqId){
|
||||
</li>
|
||||
<li class="ip">
|
||||
<i></i>
|
||||
<p>IP : 218.123.45.678</p>
|
||||
<!-- <p>IP : 218.123.45.678</p> -->
|
||||
<p>IP : ${userIp}</p>
|
||||
</li>
|
||||
<li class="time_out">
|
||||
<i></i>
|
||||
@ -120,14 +121,15 @@ function modifyMem(uniqId){
|
||||
|
||||
<div class="area_right">
|
||||
<ul class="user_info_ul">
|
||||
<li>
|
||||
<!-- <li>
|
||||
<select name="" id="">
|
||||
<option value="">관리팀</option>
|
||||
<option value="">관리팀2</option>
|
||||
</select>
|
||||
</li>
|
||||
</li> -->
|
||||
<li>
|
||||
슈퍼관리자(honggildong235)
|
||||
${userInfo.name}(<c:out value="${userInfo.id}" />)
|
||||
<!-- 슈퍼관리자(honggildong235) -->
|
||||
</li>
|
||||
</ul>
|
||||
<button type="button" class="btn btn_text gray_fill btn_logout" onclick="location.href='<c:url value='/uat/uia/actionLogout.do'/>'">로그아웃</button>
|
||||
|
||||
@ -309,7 +309,7 @@ function fn_egov_inqire_data(bbsId, nttId) {
|
||||
<c:if test="${popipZoneList.istarget == 'N'}">
|
||||
<a class="swiper-slide" href="javascript:popzoneOpen('${popipZoneList.mlink}','${popipZoneList.istarget}');" title="새창열림" >
|
||||
<div>
|
||||
<img style="cursor:pointer" onerror="this.src='/images/no_img.jpg'" alt="${popipZoneList.imgAlt} 팝업"
|
||||
<img style="cursor:pointer" onerror="this.src='${pageContext.request.contextPath}/images/no_img.jpg'" alt="${popipZoneList.imgAlt} 팝업"
|
||||
src='<c:url value='/uss/ion/pwm/getImage.do'/>?atchFileId=<c:out value="${popipZoneList.popupzoneImageFile}"/>' />
|
||||
</div>
|
||||
</a>
|
||||
@ -317,7 +317,7 @@ function fn_egov_inqire_data(bbsId, nttId) {
|
||||
<c:if test="${popipZoneList.istarget != 'N'}">
|
||||
<a class="swiper-slide" href="javascript:popzoneOpen('${popipZoneList.mlink}','${popipZoneList.istarget}');">
|
||||
<div>
|
||||
<img style="cursor:pointer" onerror="this.src='/images/no_img.jpg'" alt="${popipZoneList.imgAlt} 팝업"
|
||||
<img style="cursor:pointer" onerror="this.src='${pageContext.request.contextPath}/images/no_img.jpg'" alt="${popipZoneList.imgAlt} 팝업"
|
||||
src='<c:url value='/uss/ion/pwm/getImage.do'/>?atchFileId=<c:out value="${popipZoneList.popupzoneImageFile}"/>' />
|
||||
</div>
|
||||
</a>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user