이지우 - 대시보드 사건조회 변경 및 처리관리 조회 정렬 변경

This commit is contained in:
JIWOO 2025-01-24 14:20:33 +09:00
parent 1a971ad24a
commit 8c2f7022ff
7 changed files with 169 additions and 78 deletions

View File

@ -716,6 +716,8 @@ public class EgovMainController {
params.put("pageStart", 0);
params.put("perPageNum", 5);
params.put("searchMa", "N");
params.put("selectPage", "dashboard");
params.put("sql", "trublreqstmngAdministPagingList");
return JSPUtil.fixNull(bservice.list(params));
@ -730,6 +732,7 @@ public class EgovMainController {
params = JSPUtil.makeRequestParams(request, session, true);
params.put("pageStart", 0);
params.put("perPageNum", 5);
params.put("selectPage", "dashboard");
params.put("sql", "trublprocessmngTrublprocessmngPagingList");
return JSPUtil.fixNull(bservice.list(params));

View File

@ -300,6 +300,14 @@ public class BaseController {
params.put("sql", pageFolder + ".selectCfrnctrnsfer");
params.put("selectCfrnctrnsfer", JSPUtil.fixNull(bservice.select(params)));
}
//열람 여부 등록
if(pageFolder.equals("trublreqstmng")) {
params.put("viewType", "case");
params.put("sql", pageFolder + ".caseViewStatusInsert");
JSPUtil.fixNull(bservice.insert(params));
}
}else if("TP_RCEPTEDIT".equals(type)){
//사건마스터
@ -357,6 +365,13 @@ public class BaseController {
//내부결제 첨부파일 조회
params.put("sql", pageFolder+".selectGWFileList");
params.put("selectGWFileList", JSPUtil.fixNull(bservice.list(params)));
//열람 여부 등록
if(pageFolder.equals("trublprocessmng") || pageFolder.equals("trublend")) {
params.put("viewType", "case");
params.put("sql", pageFolder + ".caseViewStatusInsert");
JSPUtil.fixNull(bservice.insert(params));
}
}else if("MASTER_DELETE".equals(type)){
//내부결제 첨부파일 조회

View File

@ -862,4 +862,20 @@
AND RESULT IS NOT NULL
)
</select>
<insert id="caseViewStatusInsert" parameterType="hashMap" useGeneratedKeys="false">
INSERT INTO UNP_VIEW_STATUS (VIEW_ID, VIEW_TYPE, VIEW_TARGET, MEMBER_ID, FRST_REGIST_PNTTM)
SELECT
UNP_VIEW_STATUS_SEQ.NEXTVAL,
#{viewType},
#{rceptNo},
#{memberId},
SYSDATE
FROM dual
WHERE NOT EXISTS(
SELECT 1
FROM UNP_VIEW_STATUS
WHERE VIEW_TYPE = #{viewType} AND VIEW_TARGET = #{rceptNo} AND MEMBER_ID = #{memberId}
)
</insert>
</mapper>

View File

@ -262,7 +262,6 @@
</if>
</if>
</where>
ORDER BY AA.CASE_NO DESC
) AAAAA
@ -517,7 +516,7 @@
AND RESULT IS NOT null)
</if>
<if test='memberPosition neq "0915000000"'>
<!-- <if test='memberPosition neq "0915000000"'> -->
<choose>
<when test="memberPosition eq '0910000000' or memberPosition eq '0903000000' or (memberPosition eq '0913000000' and memberDept eq '1010000000')">
@ -526,7 +525,7 @@
AND A.CASE_EXAMINER = #{memberId}
AND C.TIMHDER_ASSIGN = #{memberDept}
</when>
<when test="memberPosition eq '0911000000'">
<when test="memberPosition eq '0911000000' or memberPosition eq '0915000000'">
AND A.CASE_EXAMINER NOT IN(#{memberId})
AND C.TIMHDER_ASSIGN = #{memberDept}
</when>
@ -534,7 +533,7 @@
AND C.TIMHDER_ASSIGN = 'N'
</otherwise>
</choose>
</if>
<!-- </if> -->
<if test="searchVal != null and searchVal != ''">
<choose>
<when test="searchType == 'caseNoSearch'">AND A.CASE_NO LIKE '%' || #{searchVal} || '%' </when>
@ -559,7 +558,6 @@
</if>
</if>
</where>
ORDER BY A.CASE_NO DESC
) AAAAA
)
<if test="searchType == 'process'">
@ -567,6 +565,12 @@
TERM_CHECK = #{searchVal}
</where>
</if>
<if test='selectPage eq "dashboard"'>
ORDER BY CASE_NO ASC
</if>
<if test='selectPage neq "dashboard"'>
ORDER BY CASE_NO DESC
</if>
<include refid="bottom2"/>
</select>
@ -707,7 +711,7 @@
AND RESULT IS NOT null)
</if>
<if test='memberPosition neq "0915000000"'>
<!-- <if test='memberPosition neq "0915000000"'> -->
<choose>
<when test="memberPosition eq '0910000000' or memberPosition eq '0903000000' or (memberPosition eq '0913000000' and memberDept eq '1010000000')">
@ -716,7 +720,7 @@
AND A.CASE_EXAMINER = #{memberId}
AND C.TIMHDER_ASSIGN = #{memberDept}
</when>
<when test="memberPosition eq '0911000000'">
<when test="memberPosition eq '0911000000' or memberPosition eq '0915000000'">
AND A.CASE_EXAMINER NOT IN(#{memberId})
AND C.TIMHDER_ASSIGN = #{memberDept}
</when>
@ -724,7 +728,7 @@
AND C.TIMHDER_ASSIGN = 'N'
</otherwise>
</choose>
</if>
<!-- </if> -->
<if test="searchVal != null and searchVal != ''">
<choose>
<when test="searchType == 'caseNoSearch'">AND A.CASE_NO LIKE '%' || #{searchVal} || '%' </when>
@ -2917,4 +2921,20 @@
DEL_YN = 'Y'
WHERE CASE_NO = #{caseNo}
</update>
<insert id="caseViewStatusInsert" parameterType="hashMap" useGeneratedKeys="false">
INSERT INTO UNP_VIEW_STATUS (VIEW_ID, VIEW_TYPE, VIEW_TARGET, MEMBER_ID, FRST_REGIST_PNTTM)
SELECT
UNP_VIEW_STATUS_SEQ.NEXTVAL,
#{viewType},
#{rceptNo},
#{memberId},
SYSDATE
FROM dual
WHERE NOT EXISTS(
SELECT 1
FROM UNP_VIEW_STATUS
WHERE VIEW_TYPE = #{viewType} AND VIEW_TARGET = #{rceptNo} AND MEMBER_ID = #{memberId}
)
</insert>
</mapper>

View File

@ -32,14 +32,22 @@
(SELECT MEMBER_NAME FROM T_MEMBER WHERE MEMBER_ID = A.EXAMINER_ASSIGN) AS MEMBER_NAME,
DEL_GUBUN,
(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = A.DOC_GUBUN) AS DOC_GUBUN,
A.CASE_DATE AS CASE_DATE
A.CASE_DATE AS CASE_DATE,
CASE
WHEN B.VIEW_TARGET IS NOT NULL THEN 'Y'
ELSE 'N'
END AS VIEW_STATUS
FROM C_RCEPTMST A
LEFT JOIN UNP_VIEW_STATUS B
ON A.RCEPT_NO = B.VIEW_TARGET
AND B.MEMBER_ID = #{memberId}
AND B.VIEW_TYPE = 'case'
<where>
REQUEST_CHECK = '1602000000'
AND (DEL_GUBUN = 'N' OR DEL_GUBUN = 'R')
AND RCEPT_NO IS NOT NULL
<choose>
<when test='memberDept eq "1030000000" and memberPosition neq "0911000000"'>
<when test='memberDept eq "1030000000" and memberPosition neq "0911000000"'><!-- 유통팀 팀장아닌 -->
<choose>
<when test='searchMa == "Y"'>
AND STATE = '0302000000'
@ -61,7 +69,7 @@
</otherwise>
</choose>
</when>
<when test='memberDept eq "1010000000"'>
<when test='memberDept eq "1010000000"'><!-- 민원상담센터 -->
<choose>
<when test='searchMa == "Y"'>
AND STATE = '0302000000'
@ -93,7 +101,7 @@
AND TIMHDER_ASSIGN_DT IS NULL
AND EXAMINER_ASSIGN IS NULL
</when> -->
<when test='memberDept eq "1001000000" and memberPosition eq "0903000000"'>
<when test='memberDept eq "1001000000" and memberPosition eq "0903000000"'><!-- 공정거래조정원 부원장 -->
<choose>
<when test='searchMa == "Y"'>
AND STATE = '0302000000'
@ -115,7 +123,7 @@
</otherwise>
</choose>
</when>
<when test='memberDept eq "1003000000" and memberPosition eq "0910000000"'><!-- 실장 -->
<when test='memberDept eq "1003000000" and memberPosition eq "0910000000"'><!-- 분쟁조정실 실장 -->
AND STATE = '0302000000'
AND PRESIDENT_ASSIGN IS NOT NULL
AND PRESIDENT_ASSIGN_DT IS NOT NULL
@ -145,6 +153,10 @@
</when>
</choose>
<if test="selectPage eq 'dashboard' and memberPosition eq '0912000000'"> <!-- 조사관 대시보드 - 자기 사건만 조회 -->
AND EXAMINER_ASSIGN = #{memberId}
</if>
<if test="searchVal != null and searchVal != ''">
<choose>
<when test="searchType == 'companyCeo'">AND A.RCEPT_NO IN (SELECT RCEPT_NO FROM C_APPLCNT WHERE APPLCNT_COMPANY LIKE '%' || #{searchVal} || '%')</when>
@ -1867,4 +1879,20 @@
#{applyEtc}
)
</insert>
<insert id="caseViewStatusInsert" parameterType="hashMap" useGeneratedKeys="false">
INSERT INTO UNP_VIEW_STATUS (VIEW_ID, VIEW_TYPE, VIEW_TARGET, MEMBER_ID, FRST_REGIST_PNTTM)
SELECT
UNP_VIEW_STATUS_SEQ.NEXTVAL,
#{viewType},
#{rceptNo},
#{memberId},
SYSDATE
FROM dual
WHERE NOT EXISTS(
SELECT 1
FROM UNP_VIEW_STATUS
WHERE VIEW_TYPE = #{viewType} AND VIEW_TARGET = #{rceptNo} AND MEMBER_ID = #{memberId}
)
</insert>
</mapper>

View File

@ -103,21 +103,25 @@
<div class="box_wrap">
<div class="box width3">
<div class="title">
<h2>최근 접수사건 <span>(미배정)</span></h2>
<h2>최근 접수사건 <span><c:if test="${params.memberPosition == SeedConstants.TIMJANG }">(미배정)</c:if></span></h2>
<button type="button" class="btn_plus" onclick="location.href='/gtm/case/trublreqstmng/administList/AdministPagingList.do'"><i></i></button>
</div>
<ul class="box_list">
<ul class="box_list recent">
<c:forEach var="rceptList" items="${rceptList}" varStatus="sts">
<li>
<c:set var="newClass" value="new"/>
<c:if test="${rceptList.viewStatus eq 'Y'}">
<c:set var="newClass" value=""/>
</c:if>
<c:choose>
<c:when test="${(params.searchMa != 'Y' && (params.memberDept == SeedConstants.YUTONG || params.memberDept == SeedConstants.HANGUK)) && params.memberPosition != SeedConstants.TIMJANG}">
<a href="javascript:goPage('rceptEdit','${rceptList.rceptNo}', '${rceptList.delGubun}');" >
<a href="javascript:goPage('rceptEdit','${rceptList.rceptNo}', '${rceptList.delGubun}');" class="${newClass}" >
</c:when>
<c:otherwise>
<a href="javascript:goPage('rceptView','${rceptList.rceptNo}', '${rceptList.delGubun}');" >
<a href="javascript:goPage('rceptView','${rceptList.rceptNo}', '${rceptList.delGubun}');" class="${newClass}" >
</c:otherwise>
</c:choose>
<span class="list_title">· ${rceptList.rceptNo}</span>
<span class="list_title">${rceptList.rceptNo}</span>
<span class="list_writer">${rceptList.applcntCompany}</span>
<span class="list_date">${rceptList.regDt}</span>
</a>
@ -137,7 +141,8 @@
<a href="javascript:void(0);" onclick="goPage('TP_RCEPTEDIT', '${caseList.caseNo}', '')">
<span class="list_title">· <c:out value="${caseList.caseNo}"/></span>
<span class="list_writer">
<c:set var="ceoName" value=""/>
<!-- 250124 신청인 > 조사관으로 변경 -->
<%-- <c:set var="ceoName" value=""/>
<c:choose>
<c:when test='${caseList.companyGubun eq "1301000000" && caseList.companyCeo ne null && caseList.companyCeo ne ""}'>
<c:set var="ceoName" value="${caseList.companyCeo}"/>
@ -155,7 +160,8 @@
<c:if test='${fn:length(ceoName)>13}'>
<c:set var="ceoName" value="${fn:substring(ceoName, 0, 13)}.."/>
</c:if>
<c:out value="${ceoName}"/>
<c:out value="${ceoName}"/> --%>
<c:out value="${caseList.caseExaminerNm}"/>
</span>
<span class="list_date">${caseList.caseDate}</span>
</a>

View File

@ -1,59 +1,62 @@
@charset "utf-8";
/* .wrap.main{min-height:100vh;} */
.main .contents{padding:0;width:100%;}
.main .box_wrap{display:flex;flex-wrap:wrap;gap:40px;}
.main .box{border:5px solid #f4f5fb;border-radius:10px;;}
.main .width3{width:calc((100% / 3) - 27px);}
.main .width2{width:calc((100% / 2) - 20px);}
.main .title{display:flex;height:50px;padding:0 25px;font-size:20px;font-weight:bold;color:#2b3db9;border-bottom:1px solid #f4f5f6;justify-content:space-between;align-items:center;}
.main .title span{font-size:18px;font-weight:400;}
.main .btn_plus{width:26px;height:26px;border:1px solid #d5d5d5;border-radius:5px;}
.main .btn_plus i{display:inline-block;width:100%;height:100%;background:url(/kofair_case_seed/adm/images/main/icon_plus.png) no-repeat center center;}
.main .box_list{display:flex;padding:20px 25px;flex-direction:column;gap:18px;}
.main .box_list a{display:flex;font-size:16px;font-weight:300;color:#666;gap:3px;transition:all 0.3s;}
.main .box_list a:hover{text-decoration:underline;text-underline-offset:3px;transition:all 0.3s;}
.main .box_list span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;}
.main .box_list .list_title{position:relative;width:calc(100% - 160px);font-weight:400;color:#222;}
.main .box_list .new .list_title::after{position:absolute;content:"N";display:inline-flex;width:16px;height:16px;font-size:10px;font-weight:bold;color:#fff;background:#e40000;border-radius:5px;justify-content:center;align-items:center;margin:4px 0 0 5px;}
.main .box_list .list_writer{width:60px;}
.main .box_list .list_date{width:100px;text-align:right;}
.main .quick_area{display:inline-flex;flex-wrap:wrap;border:0;gap:20px;}
.main .quick_area a{position:relative;width:calc((100% - 20px)/2);height:calc((100% - 20px)/2);padding:25px;color:#fff;border-radius:10px;transition:all 0.3s;}
.main .quick_area a::after{position:absolute;content:"";width:85px;height:85px;background:#fff;border-radius:100%;right:-6px;bottom:-17px;opacity:0.2;}
.main .quick_area a::before{position:absolute;content:"";width:85px;height:85px;}
.main .quick_area a.bg_7990c3::before{background:url(/kofair_case_seed/adm/images/main/icon_1.png) no-repeat center center;right:-4px;bottom:-14px;}
.main .quick_area a.bg_474b5e::before{background:url(/kofair_case_seed/adm/images/main/icon_2.png) no-repeat center center;right:-4px;bottom:-14px;}
.main .quick_area a.bg_171c70::before{background:url(/kofair_case_seed/adm/images/main/icon_3.png) no-repeat center center;right:-4px;bottom:-10px;}
.main .quick_area a.bg_04b5a5::before{background:url(/kofair_case_seed/adm/images/main/icon_4.png) no-repeat center center;right:-6px;bottom:-12px;}
.main .quick_area a:hover{transition:all 0.3s;}
.main .quick_area a.bg_7990c3:hover{box-shadow:0 0 9px rgba(121,144,195,0.5);}
.main .quick_area a.bg_474b5e:hover{box-shadow:0 0 9px rgba(71,75,94,0.5);}
.main .quick_area a.bg_171c70:hover{box-shadow:0 0 9px rgba(23,28,112,0.5);}
.main .quick_area a.bg_04b5a5:hover{box-shadow:0 0 9px rgba(4,181,165,0.5);}
.main .quick_area .bg_7990c3{background:#7990c3;}
.main .quick_area .bg_474b5e{background:#474b5e;}
.main .quick_area .bg_171c70{background:#171c70;}
.main .quick_area .bg_04b5a5{background:#04b5a5;}
.main .quick_area .quick_title{font-size:20px;font-weight:bold;}
.main .quick_area .baro_text{position:absolute;font-size:14px;left:25px;bottom:25px;}
.main .quick_area .baro_text i{display:inline-block;width:20px;height:11px;background:url(/kofair_case_seed/adm/images/main/icon_baro.png) no-repeat center center;}
@media screen and (max-width: 1600px){
.main .box_wrap{gap:30px;justify-content:space-between;}
.main .width3{width:calc((100% / 2) - 20px);}
.main .title{font-size:18px;}
.main .box_list a{font-size:15px;}
.main .quick_area{width:100%;justify-content:space-between;gap:20px 30px;}
.main .quick_area .quick_title{font-size:18px;}
.main .quick_area a{display:flex;width:calc((100%/2) - 20px);align-items:center;gap:12px;}
.main .quick_area .baro_text{position:initial;font-weight:300;margin:2px 0 0 0;opacity:0.6;}
@charset "utf-8";
/* .wrap.main{min-height:100vh;} */
.main .contents{padding:0;width:100%;}
.main .box_wrap{display:flex;flex-wrap:wrap;gap:40px;}
.main .box{border:5px solid #f4f5fb;border-radius:10px;;}
.main .width3{width:calc((100% / 3) - 27px);}
.main .width2{width:calc((100% / 2) - 20px);}
.main .title{display:flex;height:50px;padding:0 25px;font-size:20px;font-weight:bold;color:#2b3db9;border-bottom:1px solid #f4f5f6;justify-content:space-between;align-items:center;}
.main .title span{font-size:18px;font-weight:400;}
.main .btn_plus{width:26px;height:26px;border:1px solid #d5d5d5;border-radius:5px;}
.main .btn_plus i{display:inline-block;width:100%;height:100%;background:url(/kofair_case_seed/adm/images/main/icon_plus.png) no-repeat center center;}
.main .box_list{display:flex;padding:20px 25px;flex-direction:column;gap:18px;}
.main .box_list a{display:flex;font-size:16px;font-weight:300;color:#666;gap:3px;transition:all 0.3s;}
.main .box_list a:hover{text-decoration:underline;text-underline-offset:3px;transition:all 0.3s;}
.main .box_list span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;}
.main .box_list .list_title{position:relative;width:calc(100% - 160px);font-weight:400;color:#222;padding:}
.main .box_list.recent .list_title{padding:0 0 0 8px;}
.main .box_list.recent .new .list_title{padding:0 0 0 29px;}
.main .box_list.recent .list_title::before{position:absolute;content:"·";display:inline-flex;width:16px;height:16px;left:0;top:-1px;}
.main .box_list .new .list_title::after{position:absolute;content:"N";display:inline-flex;width:16px;height:16px;font-size:10px;font-weight:bold;color:#fff;background:#e40000;border-radius:5px;justify-content:center;align-items:center;margin:4px 0 0 5px;left:3px;}
.main .box_list .list_writer{width:60px;}
.main .box_list .list_date{width:100px;text-align:right;}
.main .quick_area{display:inline-flex;flex-wrap:wrap;border:0;gap:20px;}
.main .quick_area a{position:relative;width:calc((100% - 20px)/2);height:calc((100% - 20px)/2);padding:25px;color:#fff;border-radius:10px;transition:all 0.3s;}
.main .quick_area a::after{position:absolute;content:"";width:85px;height:85px;background:#fff;border-radius:100%;right:-6px;bottom:-17px;opacity:0.2;}
.main .quick_area a::before{position:absolute;content:"";width:85px;height:85px;}
.main .quick_area a.bg_7990c3::before{background:url(/kofair_case_seed/adm/images/main/icon_1.png) no-repeat center center;right:-4px;bottom:-14px;}
.main .quick_area a.bg_474b5e::before{background:url(/kofair_case_seed/adm/images/main/icon_2.png) no-repeat center center;right:-4px;bottom:-14px;}
.main .quick_area a.bg_171c70::before{background:url(/kofair_case_seed/adm/images/main/icon_3.png) no-repeat center center;right:-4px;bottom:-10px;}
.main .quick_area a.bg_04b5a5::before{background:url(/kofair_case_seed/adm/images/main/icon_4.png) no-repeat center center;right:-6px;bottom:-12px;}
.main .quick_area a:hover{transition:all 0.3s;}
.main .quick_area a.bg_7990c3:hover{box-shadow:0 0 9px rgba(121,144,195,0.5);}
.main .quick_area a.bg_474b5e:hover{box-shadow:0 0 9px rgba(71,75,94,0.5);}
.main .quick_area a.bg_171c70:hover{box-shadow:0 0 9px rgba(23,28,112,0.5);}
.main .quick_area a.bg_04b5a5:hover{box-shadow:0 0 9px rgba(4,181,165,0.5);}
.main .quick_area .bg_7990c3{background:#7990c3;}
.main .quick_area .bg_474b5e{background:#474b5e;}
.main .quick_area .bg_171c70{background:#171c70;}
.main .quick_area .bg_04b5a5{background:#04b5a5;}
.main .quick_area .quick_title{font-size:20px;font-weight:bold;}
.main .quick_area .baro_text{position:absolute;font-size:14px;left:25px;bottom:25px;}
.main .quick_area .baro_text i{display:inline-block;width:20px;height:11px;background:url(/kofair_case_seed/adm/images/main/icon_baro.png) no-repeat center center;}
@media screen and (max-width: 1600px){
.main .box_wrap{gap:30px;justify-content:space-between;}
.main .width3{width:calc((100% / 2) - 20px);}
.main .title{font-size:18px;}
.main .box_list a{font-size:15px;}
.main .quick_area{width:100%;justify-content:space-between;gap:20px 30px;}
.main .quick_area .quick_title{font-size:18px;}
.main .quick_area a{display:flex;width:calc((100%/2) - 20px);align-items:center;gap:12px;}
.main .quick_area .baro_text{position:initial;font-weight:300;margin:2px 0 0 0;opacity:0.6;}
}