복사 자료 존재 여부 표시 기능 추가

main
이범준 1 year ago
parent 591ddd2ad4
commit 33718f5ed0

@ -227,65 +227,6 @@ AND (SELECT VLTN_ARTCL FROM TB_VLTN_INFO WHERE VLTN_ID = C.VLTN_ID) LIKE CONCAT(
<include refid="utility.paging-suffix"/> <include refid="utility.paging-suffix"/>
</select> </select>
<select id="selectCivilComplaintAnswerTargetDataList" parameterType="map" resultType="dataobject">
/* 민원답변대상자료 목록 조회(crdnCvlcptMapper.selectCivilComplaintAnswerTargetDataList) */
<include refid="utility.paging-prefix"/>
SELECT C.CRDN_ID <!-- 단속 ID -->
, C.CRDN_REG_SE_CD <!-- 단속 등록 구분 코드 -->
, (SELECT VLTN_ARTCL FROM TB_VLTN_INFO WHERE VLTN_ID = C.VLTN_ID) AS VLTN_ARTCL <!-- 위반내용 -->
, CC.CVLCPT_APLCNT_NM <!-- 민원 신청인 명 -->
, CC.CVLCPT_PRCS_PIC_NM <!-- 민원 처리 담당자 명 -->
, (SELECT TELNO FROM TB_USER WHERE USER_ID = CC.CVLCPT_PRCS_PIC) AS CVLCPT_PRCS_PIC_TELNO <!-- 민원 처리 담당자 전화번호 -->
, CC.CVLCPT_RCPT_YMD <!-- 민원 접수 일자 -->
, CC.CVLCPT_PRCS_PRNMNT_DT <!-- 민원 처리 예정 일시 -->
, CONCAT(C.CRDN_YMD,'',C.CRDN_TM) AS CRDN_YMD_TM <!-- 단속 일시 -->
, CC.CVLCPT_RCPT_NO <!-- 민원 접수 번호 -->
, C.VHRNO <!-- 차량번호 -->
, LE.LEVY_EXCL_RSN_CD
, C.ETC_CN
FROM TB_CRDN C
INNER JOIN TB_CRDN_CVLCPT CC ON (C.CVLCPT_LINK_YN = 'Y' AND C.LINK_ID = CC.CVLCPT_LINK_ID)
LEFT OUTER JOIN TB_LEVY_EXCL LE ON (C.CRDN_ID = LE.CRDN_ID)
WHERE C.DEL_YN = 'N'
AND C.TASK_SE_CD = #{taskSeCd}
AND C.CRDN_STTS_CD IN ('21','81','83')
AND C.CRDN_REG_SE_CD = '02'
AND CC.CVLCPT_PRCS_CD IN ('02','03','04')
<if test="by != null and by != '' and term != null">
<choose>
<when test="mainOption == 'codeValue' or mainOption == 'match' or mainOption == 'ymd'">
<include refid="dynamicSearch.start" />
<choose>
<when test="by == 'crdnRegSeCd'">C.CRDN_REG_SE_CD</when>
<when test="by == 'cvlcptAplcntNm'">CC.CVLCPT_APLCNT_NM</when>
<when test="by == 'cvlcptPrcsPicNm'">CC.CVLCPT_PRCS_PIC_NM</when>
<when test="by == 'cvlcptPrcsPicTelno'">CC.CVLCPT_PRCS_PIC_TELNO</when>
<when test="by == 'cvlcptRcptYmd'">CC.CVLCPT_RCPT_YMD</when>
<when test="by == 'cvlcptPrcsPrnmntDt'">CC.CVLCPT_PRCS_PRNMNT_DT</when>
<when test="by == 'crdnYmd'">C.CRDN_YMD</when>
<when test="by == 'cvlcptRcptNo'">CC.CVLCPT_RCPT_NO</when>
<when test="by == 'vhrno'">C.VHRNO</when>
<when test="by == 'levyExclRsnCd'">LE.LEVY_EXCL_RSN_CD</when>
<when test="by == 'etcCn'">C.ETC_CN</when>
</choose>
<include refid="dynamicSearch.center" />#{term}<include refid="dynamicSearch.end" />
</when>
<otherwise>
<if test="by == 'vltnArtcl'">
AND (SELECT VLTN_ARTCL FROM TB_VLTN_INFO WHERE VLTN_ID = C.VLTN_ID) LIKE CONCAT('%', #{term}, '%')
</if>
</otherwise>
</choose>
</if>
<if test="schCvlcptRcptYmdFrom != null or schCvlcptRcptYmdTo != null">
<if test="schCvlcptRcptYmdFrom != null">AND CC.CVLCPT_RCPT_YMD <![CDATA[ >= ]]> #{schCvlcptRcptYmdFrom} </if>
<if test="schCvlcptRcptYmdTo != null">AND CC.CVLCPT_RCPT_YMD <![CDATA[ <= ]]> #{schCvlcptRcptYmdTo} </if>
</if>
<if test="cvlcptPrcsCd != null">AND CC.CVLCPT_PRCS_CD = #{cvlcptPrcsCd}</if>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix"/>
</select>
<select id="selectCivilComplaintOriginalInfo" parameterType="map" resultType="dataobject"> <select id="selectCivilComplaintOriginalInfo" parameterType="map" resultType="dataobject">
/* 민원내역 원본 보기(crdnCvlcptMapper.selectCivilComplaintOriginalInfo) */ /* 민원내역 원본 보기(crdnCvlcptMapper.selectCivilComplaintOriginalInfo) */
SELECT C.CRDN_ID <!-- 단속 ID --> SELECT C.CRDN_ID <!-- 단속 ID -->
@ -317,17 +258,6 @@ SELECT C.CRDN_ID <!-- 단속 ID -->
AND C.CRDN_ID = #{crdnId} AND C.CRDN_ID = #{crdnId}
</select> </select>
<select id="selectAnswerPreview" parameterType="map" resultType="dataobject">
/* 민원답변 미리보기(crdnCvlcptMapper.selectAnswerPreview) */
SELECT C.CRDN_ID <!-- 단속 ID -->
, CC.CVLCPT_APLY_CN <!-- 민원 신청 내용 -->
, CC.CVLCPT_PRCS_RSLT_CN <!-- 민원 처리 결과 내용 -->
FROM TB_CRDN C
INNER JOIN TB_CRDN_CVLCPT CC ON (C.CVLCPT_LINK_YN = 'Y' AND C.LINK_ID = CC.CVLCPT_LINK_ID)
WHERE C.DEL_YN = 'N'
AND C.CRDN_ID = #{crdnId}
</select>
<select id="selectCivilComplaintReceiptInitialDataInfo" parameterType="map" resultType="dataobject"> <select id="selectCivilComplaintReceiptInitialDataInfo" parameterType="map" resultType="dataobject">
/* 민원접수 초기자료 상세조회(crdnCvlcptMapper.selectCivilComplaintReceiptInitialDataInfo) */ /* 민원접수 초기자료 상세조회(crdnCvlcptMapper.selectCivilComplaintReceiptInitialDataInfo) */
SELECT C.CRDN_ID <!-- 단속 ID --> SELECT C.CRDN_ID <!-- 단속 ID -->
@ -620,4 +550,85 @@ SELECT #{newCrdnId}
WHERE CRDN_ID = #{crdnId} WHERE CRDN_ID = #{crdnId}
</insert> </insert>
<select id="selectCivilComplaintAnswerTargetDataList" parameterType="map" resultType="dataobject">
/* 민원답변대상자료 목록 조회(crdnCvlcptMapper.selectCivilComplaintAnswerTargetDataList) */
<include refid="utility.paging-prefix"/>
SELECT C.CRDN_ID <!-- 단속 ID -->
, C.CRDN_REG_SE_CD <!-- 단속 등록 구분 코드 -->
, (SELECT VLTN_ARTCL
FROM TB_VLTN_INFO
WHERE VLTN_ID = C.VLTN_ID) AS VLTN_ARTCL <!-- 위반내용 -->
, CC.CVLCPT_APLCNT_NM <!-- 민원 신청인 명 -->
, CC.CVLCPT_PRCS_PIC_NM <!-- 민원 처리 담당자 명 -->
, (SELECT TELNO
FROM TB_USER
WHERE USER_ID = CC.CVLCPT_PRCS_PIC
) AS CVLCPT_PRCS_PIC_TELNO <!-- 민원 처리 담당자 전화번호 -->
, CC.CVLCPT_RCPT_YMD <!-- 민원 접수 일자 -->
, CC.CVLCPT_PRCS_PRNMNT_DT <!-- 민원 처리 예정 일시 -->
, CONCAT(C.CRDN_YMD,'',C.CRDN_TM) AS CRDN_YMD_TM <!-- 단속 일시 -->
, CC.CVLCPT_RCPT_NO <!-- 민원 접수 번호 -->
, C.VHRNO <!-- 차량번호 -->
, LE.LEVY_EXCL_RSN_CD <!-- 부과 제외 사유 코드 -->
, C.ETC_CN <!-- 기타 내용 -->
, (CASE
WHEN C.CRDN_ID IN (SELECT DISTINCT(A.BFR_CRDN_ID) FROM TB_CRDN A WHERE A.DEL_YN = 'N' AND A.CRDN_REG_SE_CD = '04')
THEN 'Y'
ELSE 'N'
END) AS COPY_EXIST_YN <!-- 복사 자료 존재 여부 -->
FROM TB_CRDN C
INNER JOIN TB_CRDN_CVLCPT CC ON (C.CVLCPT_LINK_YN = 'Y' AND C.LINK_ID = CC.CVLCPT_LINK_ID)
LEFT OUTER JOIN TB_LEVY_EXCL LE ON (C.CRDN_ID = LE.CRDN_ID)
WHERE C.DEL_YN = 'N'
AND C.TASK_SE_CD = #{taskSeCd}
AND C.CRDN_STTS_CD IN ('21','81','83')
AND C.CRDN_REG_SE_CD = '02'
AND CC.CVLCPT_PRCS_CD IN ('02','03','04')
<if test="by != null and by != '' and term != null">
<choose>
<when test="mainOption == 'codeValue' or mainOption == 'match' or mainOption == 'ymd'">
<include refid="dynamicSearch.start" />
<choose>
<when test="by == 'crdnRegSeCd'">C.CRDN_REG_SE_CD</when>
<when test="by == 'cvlcptAplcntNm'">CC.CVLCPT_APLCNT_NM</when>
<when test="by == 'cvlcptPrcsPicNm'">CC.CVLCPT_PRCS_PIC_NM</when>
<when test="by == 'cvlcptPrcsPicTelno'">CC.CVLCPT_PRCS_PIC_TELNO</when>
<when test="by == 'cvlcptRcptYmd'">CC.CVLCPT_RCPT_YMD</when>
<when test="by == 'cvlcptPrcsPrnmntDt'">CC.CVLCPT_PRCS_PRNMNT_DT</when>
<when test="by == 'crdnYmd'">C.CRDN_YMD</when>
<when test="by == 'cvlcptRcptNo'">CC.CVLCPT_RCPT_NO</when>
<when test="by == 'vhrno'">C.VHRNO</when>
<when test="by == 'levyExclRsnCd'">LE.LEVY_EXCL_RSN_CD</when>
<when test="by == 'etcCn'">C.ETC_CN</when>
</choose>
<include refid="dynamicSearch.center" />#{term}<include refid="dynamicSearch.end" />
</when>
<otherwise>
<if test="by == 'vltnArtcl'">
AND (SELECT VLTN_ARTCL FROM TB_VLTN_INFO WHERE VLTN_ID = C.VLTN_ID) LIKE CONCAT('%', #{term}, '%')
</if>
</otherwise>
</choose>
</if>
<if test="schCvlcptRcptYmdFrom != null or schCvlcptRcptYmdTo != null">
<if test="schCvlcptRcptYmdFrom != null">AND CC.CVLCPT_RCPT_YMD <![CDATA[ >= ]]> #{schCvlcptRcptYmdFrom} </if>
<if test="schCvlcptRcptYmdTo != null">AND CC.CVLCPT_RCPT_YMD <![CDATA[ <= ]]> #{schCvlcptRcptYmdTo} </if>
</if>
<if test="cvlcptPrcsCd != null">AND CC.CVLCPT_PRCS_CD = #{cvlcptPrcsCd}</if>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix"/>
</select>
<select id="selectAnswerPreview" parameterType="map" resultType="dataobject">
/* 민원답변 미리보기(crdnCvlcptMapper.selectAnswerPreview) */
SELECT C.CRDN_ID <!-- 단속 ID -->
, CC.CVLCPT_APLY_CN <!-- 민원 신청 내용 -->
, CC.CVLCPT_PRCS_RSLT_CN <!-- 민원 처리 결과 내용 -->
FROM TB_CRDN C
INNER JOIN TB_CRDN_CVLCPT CC ON (C.CVLCPT_LINK_YN = 'Y' AND C.LINK_ID = CC.CVLCPT_LINK_ID)
WHERE C.DEL_YN = 'N'
AND C.CRDN_ID = #{crdnId}
</select>
</mapper> </mapper>

@ -64,6 +64,9 @@
</div> </div>
</form> </form>
<div class="text-red">
빨간색 글자로 표시된 자료는 복사등록 자료가 있습니다.
</div>
<div> <div>
<span class="container-page-btn"> <span class="container-page-btn">
<div class="d-flex flex-row justify-content-between"> <div class="d-flex flex-row justify-content-between">
@ -91,8 +94,6 @@
data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}"> data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
<th style="min-width: 80px;">No.</th> <th style="min-width: 80px;">No.</th>
<th style="min-width: 50px;"><input type="checkbox" name="gridAllCheckbox" /></th> <th style="min-width: 50px;"><input type="checkbox" name="gridAllCheckbox" /></th>
<th onclick="searchFromGridTitle('CRDN_REG_SE_CD',this.innerText,'codeValue','FIM026');"
style="min-width: 80px;">등록구분</th>
<th onclick="searchFromGridTitle('VLTN_ARTCL',this.innerText);" <th onclick="searchFromGridTitle('VLTN_ARTCL',this.innerText);"
style="min-width: 80px;">위반내용</th> style="min-width: 80px;">위반내용</th>
<th onclick="searchFromGridTitle('CVLCPT_APLCNT_NM',this.innerText,'match','part');" <th onclick="searchFromGridTitle('CVLCPT_APLCNT_NM',this.innerText,'match','part');"
@ -122,7 +123,6 @@
<tr data-key="{CRDN_ID}"> <tr data-key="{CRDN_ID}">
<td onclick="{onclick}" ondblclick="{ondblclick}" class="text-end">{ROW_NUM}</td> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-end">{ROW_NUM}</td>
<td class="text-end"><input type="checkbox" name="gridCheckbox" /></td> <td class="text-end"><input type="checkbox" name="gridCheckbox" /></td>
<td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{CRDN_REG_SE_CD}</td>
<td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{VLTN_ARTCL}</td> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{VLTN_ARTCL}</td>
<td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{CVLCPT_APLCNT_NM}</td> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{CVLCPT_APLCNT_NM}</td>
<td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{CVLCPT_PRCS_PIC_NM}</td> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{CVLCPT_PRCS_PIC_NM}</td>
@ -138,7 +138,7 @@
</template> </template>
<template id="crdnNotFound--${pageName}"> <template id="crdnNotFound--${pageName}">
<tr> <tr>
<td valign="top" colspan="14" class="dataTables_empty text-center">민원 정보를 찾지 못했습니다.</td> <td valign="top" colspan="13" class="dataTables_empty text-center">민원 정보를 찾지 못했습니다.</td>
</tr> </tr>
</template> </template>
</table> </table>
@ -218,7 +218,7 @@ $(document).ready(function(){
* pageObject.function * pageObject.function
**************************************************************************/ **************************************************************************/
$P.fnReset = () => { $P.fnReset = () => {
$('#schCvlcptRcptYmdFrom--${pageName}').datepicker('setDate', DateUtil.getDateDay(-5475).date); $('#schCvlcptRcptYmdFrom--${pageName}').datepicker('setDate', DateUtil.getDateDay(-31).date);
$('#schCvlcptRcptYmdTo--${pageName}').datepicker('setDate', new Date()); $('#schCvlcptRcptYmdTo--${pageName}').datepicker('setDate', new Date());
$P.crdnControl.setData([]); $P.crdnControl.setData([]);
} }
@ -296,6 +296,20 @@ $(document).ready(function(){
$P.crdnControl.untilPageNum = 0; $P.crdnControl.untilPageNum = 0;
} }
$("#crdnTbody--${pageName}").find("tr[data-key]").each(function(item){
var crdnId = this.dataset.key;
var data = crdnList.getData(crdnId);
if(data.COPY_EXIST_YN == "Y"){
$(this).addClass("text-red");
} else {
$(this).removeClass("text-red");
}
});
if($("#table-responsive--${pageName}").find("input[name='gridAllCheckbox']").is(":checked")){ if($("#table-responsive--${pageName}").find("input[name='gridAllCheckbox']").is(":checked")){
$("#table-responsive--${pageName}").find("input[name='gridCheckbox']").prop("checked",true); $("#table-responsive--${pageName}").find("input[name='gridCheckbox']").prop("checked",true);
} }

@ -11911,6 +11911,11 @@ button.list-group-item-gray.active {
color: #fff !important; color: #fff !important;
} }
.text-red {
--bs-text-opacity: 1;
color: red !important;
}
.text-orange { .text-orange {
--bs-text-opacity: 1; --bs-text-opacity: 1;
color: orange !important; color: orange !important;

Loading…
Cancel
Save