대상구분 대응소스 작업 진행중

main
박성영 1 week ago
parent 26129a1dbc
commit d738063b50

@ -67,6 +67,15 @@ public class CarFfnlgTrgtController {
.sortAscending(true)
.build();
model.addAttribute("taskPrcsSttsCdList", commonCodeService.selectCodeDetailList(taskPrcsSttsCdSearchVO));
// 과태료 대상 구분 코드 조회 (공통코드)
CmmnCodeSearchVO ffnlgTrgtSeCdSearchVO = CmmnCodeSearchVO.builder()
.searchCdGroupId("FFNLG_TRGT_SE_CD")
.searchUseYn("Y")
.sortColumn("SORT_ORDR")
.sortAscending(true)
.build();
model.addAttribute("ffnlgTrgtSeCdList", commonCodeService.selectCodeDetailList(ffnlgTrgtSeCdSearchVO));
return "carInspectionPenalty/registration/list" + TilesConstants.BASE;
}

@ -18,6 +18,10 @@ import lombok.*;
@ExcelSheet(name = "과태료대상목록")
public class CarFfnlgTrgtExcelVO {
/** 대상구분 */
@ExcelColumn(headerName = "대상구분", headerWidth = 15, align = ExcelColumn.Align.CENTER)
private String ffnlgTrgtSeCdNm;
/** 접수일자 */
@ExcelColumn(headerName = "접수일자", headerWidth = 15, align = ExcelColumn.Align.CENTER)
private String rcptYmd;

@ -65,6 +65,7 @@ public class CarFfnlgTrgtVO extends PagingVO {
private String dltr; // 삭제자
// 조회용 필드
private String ffnlgTrgtSeCdNm; // 대상구분 코드명
private String taskPrcsSttsCdNm; // 업무 처리 상태 코드명
private String rgtrNm; // 등록자명
@ -76,4 +77,5 @@ public class CarFfnlgTrgtVO extends PagingVO {
private List<String> schTaskPrcsSttsCd; // 검색 업무 처리 상태 코드 (다중 선택 가능)
private String schInspYmdStart; // 검색 시작 검사 일자
private String schInspYmdEnd; // 검색 종료 검사 일자
private String schFfnlgTrgtSeCd; // 검색 과태료 대상 구분 코드
}

@ -192,6 +192,8 @@ public class CarFfnlgTrgtServiceImpl extends EgovAbstractServiceImpl implements
}
// 업무 처리 상태 및 등록자 설정
// TODO : txt upload 시 1 지연 코드 하드코딩
vo.setFfnlgTrgtSeCd("1"); // 지연
vo.setTaskPrcsSttsCd(TaskPrcsSttsConstants.TASK_PRCS_STTS_CD_01_RCPT); // 01=접수
vo.setTaskPrcsYmd(LocalDate.now().format(DATE_FORMATTER));
vo.setRcptYmd(LocalDate.now().format(DATE_FORMATTER)); // 접수일자는 현재 날짜

@ -2,7 +2,7 @@ package go.kr.project.carInspectionPenalty.registration.service.impl;
import go.kr.project.carInspectionPenalty.registration.model.CarFfnlgTrgtVO;
import go.kr.project.carInspectionPenalty.registration.service.ComparisonService;
import go.kr.project.carInspectionPenalty.registration.service.impl.checker.*;
import go.kr.project.carInspectionPenalty.registration.service.impl.delay_checker.*;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.egovframe.rte.fdl.cmmn.EgovAbstractServiceImpl;

@ -1,4 +1,4 @@
package go.kr.project.carInspectionPenalty.registration.service.impl.checker;
package go.kr.project.carInspectionPenalty.registration.service.impl.delay_checker;
import go.kr.project.api.model.request.NewBasicRequest;
import go.kr.project.api.model.request.NewLedgerRequest;

@ -1,4 +1,4 @@
package go.kr.project.carInspectionPenalty.registration.service.impl.checker;
package go.kr.project.carInspectionPenalty.registration.service.impl.delay_checker;
import go.kr.project.carInspectionPenalty.registration.model.CarFfnlgTrgtVO;

@ -1,4 +1,4 @@
package go.kr.project.carInspectionPenalty.registration.service.impl.checker;
package go.kr.project.carInspectionPenalty.registration.service.impl.delay_checker;
import egovframework.constant.TaskPrcsSttsConstants;
import egovframework.exception.MessageException;

@ -1,4 +1,4 @@
package go.kr.project.carInspectionPenalty.registration.service.impl.checker;
package go.kr.project.carInspectionPenalty.registration.service.impl.delay_checker;
import egovframework.constant.TaskPrcsSttsConstants;
import egovframework.exception.MessageException;

@ -1,4 +1,4 @@
package go.kr.project.carInspectionPenalty.registration.service.impl.checker;
package go.kr.project.carInspectionPenalty.registration.service.impl.delay_checker;
import egovframework.constant.TaskPrcsSttsConstants;
import egovframework.exception.MessageException;

@ -1,4 +1,4 @@
package go.kr.project.carInspectionPenalty.registration.service.impl.checker;
package go.kr.project.carInspectionPenalty.registration.service.impl.delay_checker;
import egovframework.constant.TaskPrcsSttsConstants;
import egovframework.exception.MessageException;

@ -1,4 +1,4 @@
package go.kr.project.carInspectionPenalty.registration.service.impl.checker;
package go.kr.project.carInspectionPenalty.registration.service.impl.delay_checker;
import egovframework.constant.TaskPrcsSttsConstants;
import egovframework.exception.MessageException;

@ -1,4 +1,4 @@
package go.kr.project.carInspectionPenalty.registration.service.impl.checker;
package go.kr.project.carInspectionPenalty.registration.service.impl.delay_checker;
import egovframework.constant.TaskPrcsSttsConstants;
import egovframework.exception.MessageException;

@ -1,4 +1,4 @@
package go.kr.project.carInspectionPenalty.registration.service.impl.checker;
package go.kr.project.carInspectionPenalty.registration.service.impl.delay_checker;
import egovframework.constant.TaskPrcsSttsConstants;
import egovframework.exception.MessageException;

@ -18,6 +18,9 @@
<if test='schOwnrNm != null and schOwnrNm != ""'>
AND t.OWNR_NM LIKE CONCAT('%', #{schOwnrNm}, '%')
</if>
<if test='schFfnlgTrgtSeCd != null and schFfnlgTrgtSeCd != ""'>
AND t.FFNLG_TRGT_SE_CD = #{schFfnlgTrgtSeCd}
</if>
<if test='schTaskPrcsSttsCd != null and schTaskPrcsSttsCd.size() > 0'>
AND t.TASK_PRCS_STTS_CD IN
<foreach collection="schTaskPrcsSttsCd" item="item" open="(" separator="," close=")">
@ -43,6 +46,12 @@
WHERE CD_GROUP_ID = 'TASK_PRCS_STTS_CD'
AND USE_YN = 'Y'
) cd ON t.TASK_PRCS_STTS_CD = cd.CD_ID
LEFT JOIN (
SELECT CD_ID, CD_NM
FROM tb_cd_detail
WHERE CD_GROUP_ID = 'FFNLG_TRGT_SE_CD'
AND USE_YN = 'Y'
) cd2 ON t.FFNLG_TRGT_SE_CD = cd2.CD_ID
WHERE t.DEL_DT IS NULL
<include refid="searchCondition"/>
</select>
@ -53,6 +62,7 @@
t.CAR_FFNLG_TRGT_ID AS carFfnlgTrgtId,
t.RCPT_YMD AS rcptYmd,
t.FFNLG_TRGT_SE_CD AS ffnlgTrgtSeCd,
cd2.CD_NM as ffnlgTrgtSeCdNm,
t.INSPSTN_CD AS inspstnCd,
t.INSP_YMD AS inspYmd,
t.VHCLNO AS vhclno,
@ -95,6 +105,12 @@
WHERE CD_GROUP_ID = 'TASK_PRCS_STTS_CD'
AND USE_YN = 'Y'
) cd ON t.TASK_PRCS_STTS_CD = cd.CD_ID
LEFT JOIN (
SELECT CD_ID, CD_NM
FROM tb_cd_detail
WHERE CD_GROUP_ID = 'FFNLG_TRGT_SE_CD'
AND USE_YN = 'Y'
) cd2 ON t.FFNLG_TRGT_SE_CD = cd2.CD_ID
WHERE t.DEL_DT IS NULL
<include refid="searchCondition"/>
ORDER BY t.CAR_FFNLG_TRGT_ID ASC
@ -109,6 +125,7 @@
t.CAR_FFNLG_TRGT_ID AS carFfnlgTrgtId,
t.RCPT_YMD AS rcptYmd,
t.FFNLG_TRGT_SE_CD AS ffnlgTrgtSeCd,
cd2.CD_NM as ffnlgTrgtSeCdNm,
t.INSPSTN_CD AS inspstnCd,
t.INSP_YMD AS inspYmd,
t.VHCLNO AS vhclno,
@ -151,6 +168,12 @@
WHERE CD_GROUP_ID = 'TASK_PRCS_STTS_CD'
AND USE_YN = 'Y'
) cd ON t.TASK_PRCS_STTS_CD = cd.CD_ID
LEFT JOIN (
SELECT CD_ID, CD_NM
FROM tb_cd_detail
WHERE CD_GROUP_ID = 'FFNLG_TRGT_SE_CD'
AND USE_YN = 'Y'
) cd2 ON t.FFNLG_TRGT_SE_CD = cd2.CD_ID
WHERE t.CAR_FFNLG_TRGT_ID = #{carFfnlgTrgtId}
AND t.DEL_DT IS NULL
</select>
@ -159,6 +182,7 @@
<!-- 과태료 대상 목록 엑셀 다운로드용 조회 -->
<select id="selectListForExcel" parameterType="CarFfnlgTrgtVO" resultType="CarFfnlgTrgtExcelVO">
SELECT
cd2.CD_NM as ffnlgTrgtSeCdNm,
DATE_FORMAT(STR_TO_DATE(t.RCPT_YMD, '%Y%m%d'), '%Y-%m-%d') AS rcptYmd,
t.INSPSTN_CD AS inspstnCd,
DATE_FORMAT(STR_TO_DATE(t.INSP_YMD, '%Y%m%d'), '%Y-%m-%d') AS inspYmd,
@ -193,6 +217,12 @@
WHERE CD_GROUP_ID = 'TASK_PRCS_STTS_CD'
AND USE_YN = 'Y'
) cd ON t.TASK_PRCS_STTS_CD = cd.CD_ID
LEFT JOIN (
SELECT CD_ID, CD_NM
FROM tb_cd_detail
WHERE CD_GROUP_ID = 'FFNLG_TRGT_SE_CD'
AND USE_YN = 'Y'
) cd2 ON t.FFNLG_TRGT_SE_CD = cd2.CD_ID
WHERE t.DEL_DT IS NULL
<include refid="searchCondition"/>
ORDER BY t.CAR_FFNLG_TRGT_ID ASC

@ -41,6 +41,21 @@
<li>
<input type="text" id="schOwnrNm" name="schOwnrNm" class="input" style="width: 150px;" maxlength="75" autocomplete="off"/>
</li>
</ul>
<ul class="rig2">
<li><button type="button" id="search_btn" class="newbtnss bg1">검색</button></li>
<li><button type="button" id="reset_btn" class="newbtnss bg5" style="margin-left: 5px;">초기화</button></li>
</ul>
<ul class="lef2">
<li class="th">대상구분</li>
<li>
<select id="schFfnlgTrgtSeCd" name="schFfnlgTrgtSeCd" class="input" style="width: 120px;">
<option value="">전체</option>
<c:forEach var="code" items="${ffnlgTrgtSeCdList}">
<option value="${code.cdId}">${code.cdNm}</option>
</c:forEach>
</select>
</li>
<li class="th">처리상태</li>
<li>
<c:forEach var="code" items="${taskPrcsSttsCdList}">
@ -51,10 +66,7 @@
</c:forEach>
</li>
</ul>
<ul class="rig2">
<li><button type="button" id="search_btn" class="newbtnss bg1">검색</button></li>
<li><button type="button" id="reset_btn" class="newbtnss bg5" style="margin-left: 5px;">초기화</button></li>
</ul>
</div>
<div class="gs_booking">
<div class="row">
@ -128,6 +140,7 @@
var schInspYmdEnd = $.trim(nvl($("#schInspYmdEnd").val(), ""));
var schVhclno = $.trim(nvl($("#schVhclno").val(), ""));
var schOwnrNm = $.trim(nvl($("#schOwnrNm").val(), ""));
var schFfnlgTrgtSeCd = $.trim(nvl($("#schFfnlgTrgtSeCd").val(), ""));
// 체크박스에서 선택된 값들을 배열로 수집
var schTaskPrcsSttsCd = [];
@ -141,6 +154,7 @@
SEARCH_COND.schInspYmdEnd = schInspYmdEnd.replace(/-/g, '');
SEARCH_COND.schVhclno = schVhclno;
SEARCH_COND.schOwnrNm = schOwnrNm;
SEARCH_COND.schFfnlgTrgtSeCd = schFfnlgTrgtSeCd;
SEARCH_COND.schTaskPrcsSttsCd = schTaskPrcsSttsCd;
};
@ -155,6 +169,7 @@
if (SEARCH_COND.schInspYmdEnd) params.push('schInspYmdEnd=' + encodeURIComponent(SEARCH_COND.schInspYmdEnd));
if (SEARCH_COND.schVhclno) params.push('schVhclno=' + encodeURIComponent(SEARCH_COND.schVhclno));
if (SEARCH_COND.schOwnrNm) params.push('schOwnrNm=' + encodeURIComponent(SEARCH_COND.schOwnrNm));
if (SEARCH_COND.schFfnlgTrgtSeCd) params.push('schFfnlgTrgtSeCd=' + encodeURIComponent(SEARCH_COND.schFfnlgTrgtSeCd));
// 배열로 전달
if (SEARCH_COND.schTaskPrcsSttsCd && SEARCH_COND.schTaskPrcsSttsCd.length > 0) {
SEARCH_COND.schTaskPrcsSttsCd.forEach(function(val) {
@ -183,6 +198,7 @@
schInspYmdEnd: '검사일자 종료',
schVhclno: '차량번호',
schOwnrNm: '소유자명',
schFfnlgTrgtSeCd: '대상구분',
schTaskPrcsSttsCd: '처리상태'
};
@ -224,7 +240,7 @@
// 달라진 조건 찾기
var differences = [];
var searchFields = ['schRcptYmdStart', 'schRcptYmdEnd', 'schInspYmdStart', 'schInspYmdEnd',
'schVhclno', 'schOwnrNm', 'schTaskPrcsSttsCd'];
'schVhclno', 'schOwnrNm', 'schFfnlgTrgtSeCd', 'schTaskPrcsSttsCd'];
searchFields.forEach(function(field) {
var currentValue = SEARCH_COND[field];
@ -357,12 +373,13 @@
return totalCount - (page - 1) * perPage - rowIndex;
}
},
{ header: '과태료대상구분코드', name: 'ffnlgTrgtSeCd', align: 'center', width: 120, hidden: true },
{ header: '대상구분', name: 'ffnlgTrgtSeCdNm', align: 'center', width: 120 },
{ header: '접수일자', name: 'rcptYmd', align: 'center', width: 100,
formatter: function(e) {
return e.value ? moment(e.value, 'YYYYMMDD').format('YYYY-MM-DD') : '';
}
},
{ header: '과태료대상구분코드', name: 'ffnlgTrgtSeCd', align: 'center', width: 120, hidden: true },
{ header: '검사소코드', name: 'inspstnCd', align: 'center', width: 100 },
{ header: '검사일자', name: 'inspYmd', align: 'center', width: 100,
formatter: function(e) {
@ -691,6 +708,7 @@
$("#schInspYmdEnd").val("");
$("#schVhclno").val("");
$("#schOwnrNm").val("");
$("#schFfnlgTrgtSeCd").val("");
// 체크박스 모두 해제
$("input[name='schTaskPrcsSttsCd']").prop('checked', false);
self.grid.reload();

Loading…
Cancel
Save