메인화면 작업 중

This commit is contained in:
leejunho 2025-11-05 18:18:04 +09:00
parent 0eb02134f3
commit ab1d18db08
3 changed files with 351 additions and 202 deletions

View File

@ -2141,7 +2141,6 @@ public class MainController {
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsAplctPrdService.selectMainContent();
Map<String, List<VEPrcsDetailVO>> returnMap = new HashMap<String, List<VEPrcsDetailVO>>();
returnMap.put("eduAplctList", vEPrcsDetailVOList.stream().limit(Math.min(vEPrcsDetailVOList.size(), 4)).collect(Collectors.toList()));
returnMap.put("sspnIdtmtList", vEPrcsDetailVOList.stream().filter(t -> "60".equals(t.getLctrDivCd())).collect(Collectors.toList()));
returnMap.put("cmdTrgtList", vEPrcsDetailVOList.stream().filter(t -> "70".equals(t.getLctrDivCd())).collect(Collectors.toList()));

View File

@ -1987,156 +1987,246 @@
<select id="selectMainContent" resultClass="VEPrcsDetailVO">
/* VEPrcsAplctPrdDAO.selectPagingList4Fndth */
WITH
a AS (SELECT
t1.prcs_aplct_prd_ord
, t1.prcs_ord
, t1.lctr_div_cd
, t1.strt_pnttm
, t1.end_pnttm
, t1.use_yn
, t1.frst_regist_pnttm
, t1.frst_register_id
, t1.last_updt_pnttm
, t1.last_updusr_id
, t1.anncm_cn
, t1.popup_cn
, t1.atch_file_id
, t1.title
, t1.dead_line_dt
, t1.edu_part_cd
, t1.nos
, t1.ddln_cd
, t1.edu_strt_pnttm
, t1.edu_ddln_pnttm
, t1.dprtm_nm
, t1.cn_atch_file_id
, t1.oprtn_atch_file_id
FROM
(SELECT
t1.prcs_aplct_prd_ord
, t1.prcs_ord
, t1.lctr_div_cd
, t1.strt_pnttm
, t1.end_pnttm
, t1.use_yn
, t1.frst_regist_pnttm
, t1.frst_register_id
, t1.last_updt_pnttm
, t1.last_updusr_id
, t1.anncm_cn
, t1.popup_cn
, t1.atch_file_id
, t1.title
, t1.dead_line_dt
, t1.edu_part_cd
, t1.nos
, t1.ddln_cd
, t1.edu_strt_pnttm
, t1.edu_ddln_pnttm
, t1.dprtm_nm
, t1.cn_atch_file_id
, t1.oprtn_atch_file_id
FROM
ve_prcs_aplct_prd t1
WHERE
t1.lctr_div_cd = '60'
ORDER BY t1.prcs_aplct_prd_ord DESC
LIMIT 4) t1
UNION ALL
SELECT
t2.prcs_aplct_prd_ord
, t2.prcs_ord
, t2.lctr_div_cd
, t2.strt_pnttm
, t2.end_pnttm
, t2.use_yn
, t2.frst_regist_pnttm
, t2.frst_register_id
, t2.last_updt_pnttm
, t2.last_updusr_id
, t2.anncm_cn
, t2.popup_cn
, t2.atch_file_id
, t2.title
, t2.dead_line_dt
, t2.edu_part_cd
, t2.nos
, t2.ddln_cd
, t2.edu_strt_pnttm
, t2.edu_ddln_pnttm
, t2.dprtm_nm
, t2.cn_atch_file_id
, t2.oprtn_atch_file_id
FROM
(SELECT
t1.prcs_aplct_prd_ord
, t1.prcs_ord
, t1.lctr_div_cd
, t1.strt_pnttm
, t1.end_pnttm
, t1.use_yn
, t1.frst_regist_pnttm
, t1.frst_register_id
, t1.last_updt_pnttm
, t1.last_updusr_id
, t1.anncm_cn
, t1.popup_cn
, t1.atch_file_id
, t1.title
, t1.dead_line_dt
, t1.edu_part_cd
, t1.nos
, t1.ddln_cd
, t1.edu_strt_pnttm
, t1.edu_ddln_pnttm
, t1.dprtm_nm
, t1.cn_atch_file_id
, t1.oprtn_atch_file_id
FROM
ve_prcs_aplct_prd t1
WHERE
t1.lctr_div_cd = '70'
ORDER BY t1.prcs_aplct_prd_ord DESC
LIMIT 4) t2
UNION ALL
SELECT
t3.prcs_aplct_prd_ord
, t3.prcs_ord
, t3.lctr_div_cd
, t3.strt_pnttm
, t3.end_pnttm
, t3.use_yn
, t3.frst_regist_pnttm
, t3.frst_register_id
, t3.last_updt_pnttm
, t3.last_updusr_id
, t3.anncm_cn
, t3.popup_cn
, t3.atch_file_id
, t3.title
, t3.dead_line_dt
, t3.edu_part_cd
, t3.nos
, t3.ddln_cd
, t3.edu_strt_pnttm
, t3.edu_ddln_pnttm
, t3.dprtm_nm
, t3.cn_atch_file_id
, t3.oprtn_atch_file_id
FROM
(SELECT
t1.prcs_aplct_prd_ord
, t1.prcs_ord
, t1.lctr_div_cd
, t1.strt_pnttm
, t1.end_pnttm
, t1.use_yn
, t1.frst_regist_pnttm
, t1.frst_register_id
, t1.last_updt_pnttm
, t1.last_updusr_id
, t1.anncm_cn
, t1.popup_cn
, t1.atch_file_id
, t1.title
, t1.dead_line_dt
, t1.edu_part_cd
, t1.nos
, t1.ddln_cd
, t1.edu_strt_pnttm
, t1.edu_ddln_pnttm
, t1.dprtm_nm
, t1.cn_atch_file_id
, t1.oprtn_atch_file_id
FROM
ve_prcs_aplct_prd t1
WHERE
t1.lctr_div_cd = '80'
ORDER BY t1.prcs_aplct_prd_ord DESC
LIMIT 4) t3)
SELECT
COUNT(1) OVER () AS totCnt
, a.prcs_aplct_prd_ord AS prcsAplctPrdOrd
, a.lctr_div_cd AS lctrDivCd
, a.strt_pnttm AS strtPnttm
, a.end_pnttm AS endPnttm
, a.use_yn AS useYn
, TO_CHAR(a.frst_regist_pnttm, 'YYYY-MM-DD') AS frstRegistPnttm
, a.frst_register_id AS frstRegisterId
, TO_CHAR(a.last_updt_pnttm, 'YYYY-MM-DD') AS lastUpdtPnttm
, a.last_updusr_id AS lastUpdusrId
, a.anncm_cn AS anncmCn
, a.popup_cn AS popupCn
, a.atch_file_id AS atchFileId
, a.title AS title
, a.dead_line_dt AS deadLineDt
, a.prcs_ord AS prcsOrd
, a.edu_part_cd AS eduPartCd
, a.nos AS nos
, a.ddln_cd AS ddlnCd
, a.edu_strt_pnttm AS eduStrtPnttm
, a.edu_ddln_pnttm AS eduDdlnPnttm
, a.dprtm_nm AS dprtmNm
, a.cn_atch_file_id AS cnAtchFileId
, a.oprtn_atch_file_id AS oprtnAtchFileId
COUNT(1) OVER () AS totCnt
, a.prcs_aplct_prd_ord AS prcsAplctPrdOrd
, a.lctr_div_cd AS lctrDivCd
, TO_CHAR(TO_DATE(a.strt_pnttm, 'YYYY.MM.DD'), 'MM.DD') AS strtPnttm
, TO_CHAR(TO_DATE(a.end_pnttm, 'YYYY.MM.DD'), 'MM.DD') AS endPnttm
, a.use_yn AS useYn
, TO_CHAR(a.frst_regist_pnttm, 'YYYY-MM-DD') AS frstRegistPnttm
, a.frst_register_id AS frstRegisterId
, TO_CHAR(a.last_updt_pnttm, 'YYYY-MM-DD') AS lastUpdtPnttm
, a.last_updusr_id AS lastUpdusrId
, a.anncm_cn AS anncmCn
, a.popup_cn AS popupCn
, a.atch_file_id AS atchFileId
, a.title AS title
, a.dead_line_dt AS deadLineDt
, a.prcs_ord AS prcsOrd
, a.edu_part_cd AS eduPartCd
, a.nos AS nos
, a.ddln_cd AS ddlnCd
, CASE
WHEN NULLIF(BTRIM(code.code_nm), '') IS NULL THEN
CASE
WHEN CURRENT_DATE <![CDATA[ < ]]> TO_DATE(a.strt_pnttm, 'YYYY.MM.DD') THEN '접수전'
WHEN CURRENT_DATE BETWEEN TO_DATE(a.strt_pnttm, 'YYYY.MM.DD')
AND TO_DATE(a.end_pnttm, 'YYYY.MM.DD') THEN '접수중'
ELSE '접수종료'
END
ELSE code.code_nm
END AS ddlncdNm
, a.edu_strt_pnttm AS eduStrtPnttm
, a.edu_ddln_pnttm AS eduDdlnPnttm
, a.dprtm_nm AS dprtmNm
, a.cn_atch_file_id AS cnAtchFileId
, a.oprtn_atch_file_id AS oprtnAtchFileId
, (SELECT
user_nm
FROM
comvnusermaster
WHERE
esntl_id = a.frst_register_id
ORDER BY user_nm DESC
LIMIT 1) AS frstRegisterNm
user_nm
FROM
comvnusermaster
WHERE
esntl_id = a.frst_register_id
ORDER BY user_nm DESC
LIMIT 1) AS frstRegisterNm
, (SELECT
orignl_file_nm
FROM
lettnfiledetail
WHERE
atch_file_id = a.atch_file_id
LIMIT 1) AS atchFileNm
, b.prcs_nm AS prcsNm
, b.prcs_div AS prcsDiv
orignl_file_nm
FROM
lettnfiledetail
WHERE
atch_file_id = a.atch_file_id
LIMIT 1) AS atchFileNm
, b.prcs_nm AS prcsNm
, b.prcs_div AS prcsDiv
, (SELECT
COUNT(*)
FROM
ve_edu_aplct x
LEFT OUTER JOIN lettngnrlmber le ON x.user_id = le.esntl_id
WHERE
x.prcs_ord = a.prcs_aplct_prd_ord
AND x.sbmt_yn = 'Y'
AND x.aprvl_cd != '100') AS nosCnt1
COUNT(*)
FROM
ve_edu_aplct x
LEFT OUTER JOIN lettngnrlmber le ON x.user_id = le.esntl_id
WHERE
x.prcs_ord = a.prcs_aplct_prd_ord
AND x.sbmt_yn = 'Y'
AND x.aprvl_cd != '100') AS nosCnt1
FROM
(SELECT
t1.prcs_aplct_prd_ord
, t1.prcs_ord
, t1.lctr_div_cd
, t1.strt_pnttm
, t1.end_pnttm
, t1.use_yn
, t1.frst_regist_pnttm
, t1.frst_register_id
, t1.last_updt_pnttm
, t1.last_updusr_id
, t1.anncm_cn
, t1.popup_cn
, t1.atch_file_id
, t1.title
, t1.dead_line_dt
, t1.edu_part_cd
, t1.nos
, t1.ddln_cd
, t1.edu_strt_pnttm
, t1.edu_ddln_pnttm
, t1.dprtm_nm
, t1.cn_atch_file_id
, t1.oprtn_atch_file_id
FROM
ve_prcs_aplct_prd t1
WHERE
t1.lctr_div_cd = '60'
ORDER BY t1.prcs_aplct_prd_ord DESC
LIMIT 4
UNION ALL
SELECT
t1.prcs_aplct_prd_ord
, t1.prcs_ord
, t1.lctr_div_cd
, t1.strt_pnttm
, t1.end_pnttm
, t1.use_yn
, t1.frst_regist_pnttm
, t1.frst_register_id
, t1.last_updt_pnttm
, t1.last_updusr_id
, t1.anncm_cn
, t1.popup_cn
, t1.atch_file_id
, t1.title
, t1.dead_line_dt
, t1.edu_part_cd
, t1.nos
, t1.ddln_cd
, t1.edu_strt_pnttm
, t1.edu_ddln_pnttm
, t1.dprtm_nm
, t1.cn_atch_file_id
, t1.oprtn_atch_file_id
FROM
ve_prcs_aplct_prd t1
WHERE
t1.lctr_div_cd = '70'
ORDER BY t1.prcs_aplct_prd_ord DESC
LIMIT 4
UNION ALL
SELECT
t1.prcs_aplct_prd_ord
, t1.prcs_ord
, t1.lctr_div_cd
, t1.strt_pnttm
, t1.end_pnttm
, t1.use_yn
, t1.frst_regist_pnttm
, t1.frst_register_id
, t1.last_updt_pnttm
, t1.last_updusr_id
, t1.anncm_cn
, t1.popup_cn
, t1.atch_file_id
, t1.title
, t1.dead_line_dt
, t1.edu_part_cd
, t1.nos
, t1.ddln_cd
, t1.edu_strt_pnttm
, t1.edu_ddln_pnttm
, t1.dprtm_nm
, t1.cn_atch_file_id
, t1.oprtn_atch_file_id
FROM
ve_prcs_aplct_prd t1
WHERE
t1.lctr_div_cd = '80'
ORDER BY t1.prcs_aplct_prd_ord DESC
LIMIT 4) a
JOIN ve_prcs b ON a.prcs_ord = b.prcs_ord
a
JOIN ve_prcs b ON a.prcs_ord = b.prcs_ord
LEFT OUTER JOIN lettccmmndetailcode code ON a.ddln_cd = code.code AND code.code_id = 'VEA004'
ORDER BY
a.lctr_div_cd, a.prcs_aplct_prd_ord DESC
a.lctr_div_cd, a.prcs_aplct_prd_ord DESC
</select>

View File

@ -23,8 +23,10 @@ $(document).ready(function (){
//웹접근성>알림판 aria 속성 삭제
$(".swiper-slide").removeAttr("aria-label");
$(".swiper-slide").removeAttr("role");
});
//주요 교육일정 색상변환
ddlnCdColor();
});
/* ********************************************************
* 팝업창 오픈 쿠키 정보 OPEN
@ -79,6 +81,33 @@ function fn_egov_inqire_notice(bbsId, nttId) {
document.frm.submit();
}
function ddlnCdColor(){
$('.ddlnCdColor').each(function() {
const text = $(this).text().trim();
if (text === '접수중') {
$(this).addClass('blue');
} else if (text === '교육확정') {
$(this).addClass('purple');
} else if (text === '접수종료') {
$(this).addClass('gray');
}
});
}
function fncGoEduAplctDetail(prcsAplctPrdOrd, lctrDivCd) {
var viewForm = document.viewForm ;
viewForm.prcsAplctPrdOrd.value = prcsAplctPrdOrd ;
if(lctrDivCd == '60'){
viewForm.action = "<c:url value='/web/ve/aplct/sspnIdtmt/eduAplctDetail.do'/>";
}else if(lctrDivCd == '70'){
viewForm.action = "<c:url value='/web/ve/aplct/cmdTrgt/eduAplctDetail.do'/>";
}else if(lctrDivCd == '80'){
viewForm.action = "<c:url value='/web/ve/aplct/prevent/eduAplctDetail.do'/>";
}
viewForm.submit();
}
</script>
</head>
<c:if test="${fn:length(popupList) > 0}" >
@ -217,7 +246,7 @@ function fn_egov_inqire_notice(bbsId, nttId) {
<c:when test="${not empty eduAplctList}">
<c:forEach var="list" items="${eduAplctList}" varStatus="sts">
<li>
<a href="#">
<a href="#" onclick="fncGoEduAplctDetail('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.lctrDivCd}"/>');">
<c:choose>
<c:when test="${list.strtPnttm != list.endPnttm}">
<strong class="date">${list.strtPnttm} ~ ${list.endPnttm}</strong>
@ -227,7 +256,7 @@ function fn_egov_inqire_notice(bbsId, nttId) {
</c:otherwise>
</c:choose>
<p class="title"><c:out value="${list.title}"/></p>
<span class="status blue"><c:out value="${list.ddlnCdNm}"/></span>
<span class="status ddlnCdColor"><c:out value="${list.ddlnCdNm}"/></span>
</a>
</li>
</c:forEach>
@ -240,75 +269,102 @@ function fn_egov_inqire_notice(bbsId, nttId) {
</li>
</c:otherwise>
</c:choose>
<%--<li>
<a href="#">
<strong class="date">9.2~9.5</strong>
<p class="title">2025년 상표권 교육조건부 기소유예 1차</p>
<span class="status blue">신청중</span>
</a>
</li>
<li>
<a href="#">
<strong class="date">9.17~9.25</strong>
<p class="title">2025년 상표권 교육조건부 기소유예 1차</p>
<span class="status gray">마감</span>
</a>
</li>
<li>
<a href="#">
<strong class="date">9.17</strong>
<p class="title">2025년 상표권 교육조건부 기소유예 1차</p>
<span class="status gray">마감</span>
</a>
</li>
<li>
<a href="#" class="none">
<p class="title">등록된 교육이 없습니다.</p>
</a>
</li>--%>
</ul>
</li>
<li>
<button type="button" class="tab">기소유예</button>
<ul class="list">
<li>
<a href="#">
<strong class="date">9.2~9.5</strong>
<p class="title">2025년 상표권 교육조건부 기소유예 1차</p>
<span class="status blue">신청중</span>
</a>
</li>
<li>
<a href="#">
<strong class="date">9.2~9.5</strong>
<p class="title">2025년 상표권 교육조건부 기소유예 1차</p>
<span class="status blue">신청중</span>
</a>
</li>
<c:choose>
<c:when test="${not empty sspnIdtmtList}">
<c:forEach var="list" items="${sspnIdtmtList}" varStatus="sts">
<li>
<a href="#" onclick="fncGoEduAplctDetail('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.lctrDivCd}"/>');">
<c:choose>
<c:when test="${list.strtPnttm != list.endPnttm}">
<strong class="date">${list.strtPnttm} ~ ${list.endPnttm}</strong>
</c:when>
<c:otherwise>
<strong class="date">${list.strtPnttm}</strong>
</c:otherwise>
</c:choose>
<p class="title"><c:out value="${list.title}"/></p>
<span class="status ddlnCdColor"><c:out value="${list.ddlnCdNm}"/></span>
</a>
</li>
</c:forEach>
</c:when>
<c:otherwise>
<li>
<a href="#" class="none">
<p class="title">등록된 교육이 없습니다.</p>
</a>
</li>
</c:otherwise>
</c:choose>
</ul>
</li>
<li>
<button type="button" class="tab">시정명령</button>
<ul class="list">
<li>
<a href="#">
<strong class="date">9.2~9.5</strong>
<p class="title">2025년 상표권 교육조건부 기소유예 1차</p>
<span class="status blue">신청중</span>
</a>
</li>
<c:choose>
<c:when test="${not empty cmdTrgtList}">
<c:forEach var="list" items="${cmdTrgtList}" varStatus="sts">
<li>
<a href="#" onclick="fncGoEduAplctDetail('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.lctrDivCd}"/>');">
<c:choose>
<c:when test="${list.strtPnttm != list.endPnttm}">
<strong class="date">${list.strtPnttm} ~ ${list.endPnttm}</strong>
</c:when>
<c:otherwise>
<strong class="date">${list.strtPnttm}</strong>
</c:otherwise>
</c:choose>
<p class="title"><c:out value="${list.title}"/></p>
<span class="status ddlnCdColor"><c:out value="${list.ddlnCdNm}"/></span>
</a>
</li>
</c:forEach>
</c:when>
<c:otherwise>
<li>
<a href="#" class="none">
<p class="title">등록된 교육이 없습니다.</p>
</a>
</li>
</c:otherwise>
</c:choose>
</ul>
</li>
<li>
<button type="button" class="tab">예방</button>
<ul class="list">
<li>
<a href="#">
<strong class="date">9.2~9.5</strong>
<p class="title">2025년 상표권 교육조건부 기소유예 1차</p>
<span class="status blue">신청중</span>
</a>
</li>
<c:choose>
<c:when test="${not empty preventList}">
<c:forEach var="list" items="${preventList}" varStatus="sts">
<li>
<a href="#" onclick="fncGoEduAplctDetail('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.lctrDivCd}"/>');">
<c:choose>
<c:when test="${list.strtPnttm != list.endPnttm}">
<strong class="date">${list.strtPnttm} ~ ${list.endPnttm}</strong>
</c:when>
<c:otherwise>
<strong class="date">${list.strtPnttm}</strong>
</c:otherwise>
</c:choose>
<p class="title"><c:out value="${list.title}"/></p>
<span class="status ddlnCdColor"><c:out value="${list.ddlnCdNm}"/></span>
</a>
</li>
</c:forEach>
</c:when>
<c:otherwise>
<li>
<a href="#" class="none">
<p class="title">등록된 교육이 없습니다.</p>
</a>
</li>
</c:otherwise>
</c:choose>
</ul>
</li>
</ul>
@ -456,4 +512,8 @@ function fn_egov_inqire_notice(bbsId, nttId) {
<input type="hidden" name="nttId" value="0" />
<input type="hidden" name="pageIndex" value="1" />
</form>
<form name="viewForm" id="viewForm">
<input type="hidden" name="prcsAplctPrdOrd">
</form>
</html>