2023-09-14 16:47 청소년 개인 정보 스케쥴러 추가

This commit is contained in:
myname 2023-09-14 16:47:57 +09:00
parent 897579ad7d
commit 598cc0940a
10 changed files with 131 additions and 9 deletions

View File

@ -5,6 +5,7 @@ import java.util.List;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import egovframework.rte.fdl.property.EgovPropertyService; import egovframework.rte.fdl.property.EgovPropertyService;
@ -12,6 +13,8 @@ import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import kcc.let.sym.site.service.EgovSiteManagerService; import kcc.let.sym.site.service.EgovSiteManagerService;
import kcc.let.sym.site.service.SiteManagerVO; import kcc.let.sym.site.service.SiteManagerVO;
import kcc.let.uss.umt.service.EgovUserManageService; import kcc.let.uss.umt.service.EgovUserManageService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
@Controller @Controller
@EnableScheduling @EnableScheduling
@ -27,6 +30,10 @@ public class AnotaionSchedule {
@Resource(name = "userManageService") @Resource(name = "userManageService")
private EgovUserManageService userManageService; private EgovUserManageService userManageService;
/** vEEduAplctService */
@Resource(name = "vEEduAplctService")
private VEEduAplctService vEEduAplctService;
//@RequestMapping("/sym/site/AdminLogMngTest.do") //@RequestMapping("/sym/site/AdminLogMngTest.do")
//@Scheduled(fixedDelay = 1000) //@Scheduled(fixedDelay = 1000)
// @Scheduled(cron="30 0 0 * * ?") // @Scheduled(cron="30 0 0 * * ?")
@ -62,4 +69,44 @@ public class AnotaionSchedule {
System.out.println("Exception Error"); 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();
}
}
////////////////////////////////////////////////
//개인 정보 삭제
////////////////////////////////////////////////
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);
}
} }

View File

@ -39,6 +39,8 @@ public interface VEEduAplctService {
//비공개메모 update //비공개메모 update
int memoUpdate(VEEduAplctVO paramVO) throws Exception; int memoUpdate(VEEduAplctVO paramVO) throws Exception;
int privacyUpdate(VEEduAplctVO paramVO) throws Exception;
//관리번호 max값 가져오기 //관리번호 max값 가져오기
int selectMngNoMax(VEEduAplctVO veEduAplctVO) throws Exception; int selectMngNoMax(VEEduAplctVO veEduAplctVO) throws Exception;

View File

@ -105,6 +105,11 @@ public class VEEduAplctDAO extends EgovAbstractDAO {
return update("VEEduAplctDAO.memoUpdate", paramVO); return update("VEEduAplctDAO.memoUpdate", paramVO);
} }
//privacy update
public int privacyUpdate(VEEduAplctVO paramVO) throws Exception {
return update("VEEduAplctDAO.privacyUpdate", paramVO);
}
public int selectMngNoMax(VEEduAplctVO veEduAplctVO) throws Exception { public int selectMngNoMax(VEEduAplctVO veEduAplctVO) throws Exception {
return (int) select("VEEduAplctDAO.selectMngNoMax",veEduAplctVO); return (int) select("VEEduAplctDAO.selectMngNoMax",veEduAplctVO);
} }

View File

@ -144,6 +144,11 @@ public class VEEduAplctServiceImpl implements VEEduAplctService {
return vEEduAplctDAO.memoUpdate(paramVO); return vEEduAplctDAO.memoUpdate(paramVO);
} }
@Override
public int privacyUpdate(VEEduAplctVO paramVO) throws Exception {
return vEEduAplctDAO.privacyUpdate(paramVO);
}
@Override @Override
public int selectMngNoMax(VEEduAplctVO veEduAplctVO) throws Exception { public int selectMngNoMax(VEEduAplctVO veEduAplctVO) throws Exception {
return vEEduAplctDAO.selectMngNoMax(veEduAplctVO); return vEEduAplctDAO.selectMngNoMax(veEduAplctVO);

View File

@ -116,7 +116,7 @@
<insert id="authorRoleManageDAO.insertAuthorRole" parameterClass="authorRoleManage"> <insert id="authorRoleManageDAO.insertAuthorRole" parameterClass="authorRoleManage">
MERGE INTO LETTNAUTHORROLERELATE MERGE INTO LETTNAUTHORROLERELATE
USING dual USING DUAL
ON (AUTHOR_CODE=#authorCode# AND ROLE_CODE= #roleCode#) ON (AUTHOR_CODE=#authorCode# AND ROLE_CODE= #roleCode#)
WHEN MATCHED THEN WHEN MATCHED THEN
@ -134,7 +134,6 @@
, SYSDATE , SYSDATE
) )
</insert> </insert>
<delete id="authorRoleManageDAO.deleteAuthorRole"> <delete id="authorRoleManageDAO.deleteAuthorRole">

View File

@ -874,6 +874,39 @@
WHERE EDU_APLCT_ORD = #eduAplctOrd# WHERE EDU_APLCT_ORD = #eduAplctOrd#
</update> </update>
<update id="VEEduAplctDAO.privacyUpdate" parameterClass="VEEduAplctVO">
SELECT *
FROM <include refid="VEEduAplctDAO.table_name"/> a
WHERE 1=1
AND DATE_ADD(sysdate, INTERVAL -1 year) > a.sbmt_pnttm
AND a.LCTR_DIV_CD = #lctrDivCd#
AND (
a.chrg_nm IS NOT NULL
OR a.clphone IS NOT NULL
OR a.phone IS NOT NULL
OR a.email IS NOT null
)
/*
UPDATE ve_edu_aplct a
SET a.chrg_nm = NULL
, a.clphone = NULL
, a.phone = NULL
, a.email = null
WHERE 1=1
AND DATE_ADD(SYSDATE, INTERVAL -1 YEAR) > a.sbmt_pnttm
AND a.LCTR_DIV_CD = lctrDivCd
AND
(
a.chrg_nm IS NOT NULL
OR a.clphone IS NOT NULL
OR a.phone IS NOT NULL
OR a.email IS NOT NULL
)
*/
</update>
<!-- 강사 정보 R --> <!-- 강사 정보 R -->
<select id="VEEduAplctDAO.selectMngNoMax" parameterClass="VEEduAplctVO" resultClass="int"> <select id="VEEduAplctDAO.selectMngNoMax" parameterClass="VEEduAplctVO" resultClass="int">
/* VEEduAplctDAO.selectMngNoMax */ /* VEEduAplctDAO.selectMngNoMax */

View File

@ -45,8 +45,17 @@
a.prcs_onln_cntnt_ord AS prcsOnlnCntntOrd, a.prcs_onln_cntnt_ord AS prcsOnlnCntntOrd,
/*
IF (LENGTH(a.edu_strt_dt) =8 ,CONCAT(SUBSTRING(a.edu_strt_dt,1,4), '.', SUBSTRING(a.edu_strt_dt,5,2), '.', SUBSTRING(a.edu_strt_dt,7,2)), a.edu_strt_dt) AS eduStrtDt, IF (LENGTH(a.edu_strt_dt) =8 ,CONCAT(SUBSTRING(a.edu_strt_dt,1,4), '.', SUBSTRING(a.edu_strt_dt,5,2), '.', SUBSTRING(a.edu_strt_dt,7,2)), a.edu_strt_dt) AS eduStrtDt,
IF (LENGTH(a.edu_end_dt) =8 ,CONCAT(SUBSTRING(a.edu_end_dt,1,4), '.', SUBSTRING(a.edu_end_dt,5,2), '.', SUBSTRING(a.edu_end_dt,7,2)), a.edu_end_dt) AS eduEndDt, IF (LENGTH(a.edu_end_dt) =8 ,CONCAT(SUBSTRING(a.edu_end_dt,1,4), '.', SUBSTRING(a.edu_end_dt,5,2), '.', SUBSTRING(a.edu_end_dt,7,2)), a.edu_end_dt) AS eduEndDt,
*/
CASE WHEN LENGTH(a.edu_strt_dt) =8 THEN SUBSTRING(a.edu_strt_dt,1,4)||'.'||SUBSTRING(a.edu_strt_dt,5,2)||'.'||SUBSTRING(a.edu_strt_dt,7,2)
ELSE a.edu_strt_dt
END AS eduStrtDt,
CASE WHEN LENGTH(a.edu_end_dt) =8 THEN SUBSTRING(a.edu_end_dt,1,4)||'.'||SUBSTRING(a.edu_end_dt,5,2)||'.'||SUBSTRING(a.edu_end_dt,7,2)
ELSE a.edu_end_dt
END AS eduEndDt,
/* /*
a.edu_strt_dt AS eduStrtDt, a.edu_strt_dt AS eduStrtDt,
@ -64,9 +73,9 @@
a.APRVL_CN AS aprvlCn, a.APRVL_CN AS aprvlCn,
DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d') AS frstRegistPnttm, TO_CHAR(a.frst_regist_pnttm,'YYYY-MM-DD') AS frstRegistPnttm,
a.frst_register_id AS frstRegisterId, a.frst_register_id AS frstRegisterId,
DATE_FORMAT(a.last_updt_pnttm,'%Y-%m-%d') AS lastUpdtPnttm, TO_CHAR(a.last_updt_pnttm,'YYYY-MM-DD') AS lastUpdtPnttm,
a.last_updusr_id AS lastUpdusrId a.last_updusr_id AS lastUpdusrId
</sql> </sql>
@ -86,11 +95,17 @@
#eduPrsnl#, #eduPrsnl#,
#sbmtYn#, #sbmtYn#,
/*
IF(#sbmtYn# = 'Y' , SYSDATE , NULL), IF(#sbmtYn# = 'Y' , SYSDATE , NULL),
*/
CASE WHEN #sbmtYn# = 'Y' THEN SYSDATE ELSE NULL END,
#sbmtId#, #sbmtId#,
#aprvlCd#, #aprvlCd#,
/*
IF(#aprvlCd# IS NOT NULL , SYSDATE , NULL), IF(#aprvlCd# IS NOT NULL , SYSDATE , NULL),
*/
CASE WHEN #aprvlCd# IS NOT NULL THEN SYSDATE ELSE NULL END,
#aprvlId#, #aprvlId#,
#aprvlCn#, #aprvlCn#,
@ -126,7 +141,10 @@
<isNotEmpty property="sbmtYn"> <isNotEmpty property="sbmtYn">
, SBMT_YN = #sbmtYn# , SBMT_YN = #sbmtYn#
/*
, SBMT_PNTTM = IF(#sbmtYn# = 'Y', SYSDATE, NULL) , SBMT_PNTTM = IF(#sbmtYn# = 'Y', SYSDATE, NULL)
*/
, SBMT_PNTTM = CASE WHEN #sbmtYn# = 'Y' THEN SYSDATE ELSE NULL END
</isNotEmpty> </isNotEmpty>
<isNotEmpty property="sbmtId"> <isNotEmpty property="sbmtId">
, SBMT_ID = #sbmtId# , SBMT_ID = #sbmtId#
@ -230,7 +248,7 @@
$selectPagingListQuery$ $selectPagingListQuery$
</isNotEmpty> </isNotEmpty>
ORDER BY 1=1 ORDER BY 1
<isEmpty property="orderByQuery"> <isEmpty property="orderByQuery">
, a.edu_aplct_ord desc , a.edu_aplct_ord desc
@ -239,8 +257,10 @@
, $orderByQuery$ , $orderByQuery$
</isNotEmpty> </isNotEmpty>
/*
LIMIT #recordCountPerPage# OFFSET #firstIndex# LIMIT recordCountPerPage OFFSET firstIndex
*/
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
</select> </select>

View File

@ -257,7 +257,10 @@
SELECT SELECT
(SELECT COUNT(1) FROM VE_PRCS_ONLN_CNTNT WHERE PRCS_ORD = A.PRCS_ORD) AS chasiCnt, (SELECT COUNT(1) FROM VE_PRCS_ONLN_CNTNT WHERE PRCS_ORD = A.PRCS_ORD) AS chasiCnt,
COUNT(A.PRCS_DIV) OVER(PARTITION BY A.PRCS_DIV) AS rowCnt, COUNT(A.PRCS_DIV) OVER(PARTITION BY A.PRCS_DIV) AS rowCnt,
/*
IF(B.EDU_APLCT_ORD IS NOT NULL, 'Y', 'N') AS checkYn, IF(B.EDU_APLCT_ORD IS NOT NULL, 'Y', 'N') AS checkYn,
*/
CASE WHEN B.EDU_APLCT_ORD IS NOT NULL THEN 'Y' ELSE 'N' END AS checkYn,
(SELECT END_PNTTM FROM VE_PRCS_APLCT_PRD WHERE USE_YN = 'Y' order by frst_regist_pnttm DESC limit 1) AS endPnttm, (SELECT END_PNTTM FROM VE_PRCS_APLCT_PRD WHERE USE_YN = 'Y' order by frst_regist_pnttm DESC limit 1) AS endPnttm,
<include refid="VEPrcsDAO.select_column_name"/> <include refid="VEPrcsDAO.select_column_name"/>
FROM <include refid="VEPrcsDAO.table_name"/> A FROM <include refid="VEPrcsDAO.table_name"/> A

View File

@ -79,6 +79,13 @@
varFrom.action = "<c:url value='/web/kccadr/accdnt/adr/adjstDeputyReqList.do'/>"; varFrom.action = "<c:url value='/web/kccadr/accdnt/adr/adjstDeputyReqList.do'/>";
varFrom.submit(); varFrom.submit();
}
function fncCancle(){
var varFrom = document.getElementById("createForm");
varFrom.action = "<c:url value='/web/ve/instr/tngrVisitEdu/instrInfo/instrDashboard.do'/>";
varFrom.submit();
} }
//변경내역 조회 //변경내역 조회
@ -676,6 +683,7 @@
<c:if test="${empty vEInstrMdfyRqstList and info.qlfctEndYn ne 'Y'}"> <c:if test="${empty vEInstrMdfyRqstList and info.qlfctEndYn ne 'Y'}">
<button class="btnType06 btn_list" onclick="fncMdfy(); return false;">정보 변경 </button> <button class="btnType06 btn_list" onclick="fncMdfy(); return false;">정보 변경 </button>
</c:if> </c:if>
<button class="btnType06 btn_list" onclick="fncCancle(); return false;">취소 </button>
</div> </div>
</div> </div>
<!-- //하단 버튼 --> <!-- //하단 버튼 -->

View File

@ -487,7 +487,7 @@
<c:if test="${empty vELctrDetailVOSbmt or (not empty vELctrDetailVOSbmt and lctrStngInfo.sbmtYn ne 'Y')}"> <c:if test="${empty vELctrDetailVOSbmt or (not empty vELctrDetailVOSbmt and lctrStngInfo.sbmtYn ne 'Y')}">
<button type="button" class="btnType04" onclick="fncSave('20');">제출</button> <button type="button" class="btnType04" onclick="fncSave('20');">제출</button>
<button type="button" class="btnType03" onclick="fncSave('Y');">저장</button> <!-- <button type="button" class="btnType03" onclick="fncSave('Y');">저장</button> -->
</c:if> </c:if>
</c:if> </c:if>
<!-- <!--