FAISP/src/main/resources/templates/common/modal/crackdownStatusModal.html

366 lines
27 KiB
HTML

<!DOCTYPE html>
<html lang="ko" xmlns:th="http://www.thymeleaf.org">
<div class="row">
<div class="col-12">
<form method="get" action="#" id="modalSearchForm">
<input type="hidden" name="pageIndex" id="modalPageIndex" th:value="${searchParams.pageIndex}">
<input type="hidden" name="rowCnt" value="10">
<div class="row justify-content-end pe-3 py-1">
<div class="col-auto">
<div class="row justify-content-end">
<div class="col-auto">
<input type="text" class="form-control form-control-sm" name="caseNum" placeholder="사건번호" th:value="${searchParams.caseNum}">
</div>
<div class="col-auto">
<input type="button" class="btn btn-sm btn-primary" id="searchModalBtn" value="검색">
</div>
</div>
</div>
</div>
</form>
<div class="row justify-content-start">
<div class="col-12">
<div class="card">
<div class="card-body">
<div class="row">
<div class="col-12" style="overflow: hidden; overflow-x: scroll">
<table class="table table-sm table-hover table-bordered" style="max-width: none; width: auto;" id="cdsTable">
<thead>
<tr class="table-secondary">
<th rowspan="4">연번</th>
<th rowspan="4">사건번호</th>
<th rowspan="4">나포일시</th>
<th rowspan="4">위반장소</th>
<th rowspan="4">위반내용</th>
<th colspan="4">침범유형</th>
<th rowspan="3">NLL</th>
<th colspan="7">특수공무집행방해</th>
<th rowspan="4">사건담당경찰서</th>
<th colspan="2">검거기관</th>
<th rowspan="4">MMSI.NO(AIS)</th>
<th colspan="6">선박제원</th>
<th rowspan="3" colspan="2">선장(출생년도)</th>
<th rowspan="4">선종</th>
<th rowspan="3" colspan="2">어획물 축소기재</th>
<th colspan="5">범칙물</th>
<th colspan="2">처리현황</th>
<th colspan="3">담보금납부(만원)</th>
<th colspan="2">담보금미납(만원)</th>
<th colspan="10">선박처리</th>
<th colspan="4">직접인계</th>
<th colspan="6">구속</th>
<th colspan="6">불구속</th>
<th rowspan="3" colspan="4">현장조사</th>
<th rowspan="3" colspan="2">압송</th>
<th rowspan="4">영장청구 소요시간</th>
<th colspan="5">압수어구</th>
</tr>
<tr>
<th rowspan="2">무허가 조업</th>
<th rowspan="2">
특정금지<br>
(무허가, 정선명령위반)
</th>
<th rowspan="2">
EEZ<br>
제한조건
</th>
<th rowspan="2">영해침범</th>
<th rowspan="2">발생건수</th>
<th colspan="3">인적피해</th>
<th colspan="3">물적피해</th>
<th rowspan="2" colspan="2">구분</th>
<th rowspan="3">선명</th>
<th rowspan="3">톤수(톤)</th>
<th rowspan="3">선원(명)</th>
<th rowspan="3">선질</th>
<th rowspan="2" colspan="2">선적</th>
<th rowspan="3">어종</th>
<th rowspan="2">어획량(kg)</th>
<th rowspan="2">폐기량(kg)</th>
<th rowspan="2">위판량(kg)</th>
<th rowspan="2">위판금액(원)</th>
<th rowspan="2">조사중</th>
<th rowspan="2">완료</th>
<th rowspan="2">척수</th>
<th rowspan="2">납부액</th>
<th rowspan="3">납부일시</th>
<th rowspan="2">미납</th>
<th rowspan="2">미납금액</th>
<th rowspan="2">위탁관리</th>
<th rowspan="3">위탁시작일</th>
<th rowspan="3">위탁종료일</th>
<th rowspan="2">퇴거</th>
<th rowspan="2">직접인계</th>
<th rowspan="2">공매</th>
<th colspan="2">폐선</th>
<th rowspan="2">침몰</th>
<th rowspan="2">환부</th>
<th rowspan="3">일시</th>
<th rowspan="3">해점</th>
<th rowspan="3">인계함정</th>
<th rowspan="3">중측인수함정</th>
<th rowspan="2"></th>
<th rowspan="2">선장</th>
<th rowspan="2">향해장</th>
<th rowspan="2">기관장</th>
<th rowspan="2">선원</th>
<th rowspan="2">구속척수(몰수판결)</th>
<th rowspan="2"></th>
<th rowspan="2">선장</th>
<th rowspan="2">향해장</th>
<th rowspan="2">기관장</th>
<th rowspan="2">선원</th>
<th rowspan="2">불구속척수</th>
<th rowspan="2">틀(타망)</th>
<th rowspan="2">폭(유망)</th>
<th rowspan="2">조(형망)</th>
<th rowspan="2">개(통발)</th>
<th rowspan="2">기타</th>
</tr>
<tr>
<th>피해인원</th>
<th>피해액(만원)</th>
<th rowspan="2">상세내용</th>
<th>발생건수</th>
<th>피해액(만원)</th>
<th rowspan="2">상세내용</th>
<th>단순폐선</th>
<th>폐선조건부공매</th>
</tr>
<tr>
<th th:text="${#aggregates.sum(crackdownList.?[invasionType == 'IST001'].![1]) ne null ? #aggregates.sum(crackdownList.?[invasionType == 'IST001'].![1]) : 0}"></th>
<th th:text="${#aggregates.sum(crackdownList.?[invasionType == 'IST002'].![1]) ne null ? #aggregates.sum(crackdownList.?[invasionType == 'IST002'].![1]) : 0}"></th>
<th th:text="${#aggregates.sum(crackdownList.?[invasionType == 'IST003'].![1]) ne null ? #aggregates.sum(crackdownList.?[invasionType == 'IST003'].![1]) : 0}"></th>
<th th:text="${#aggregates.sum(crackdownList.?[invasionType == 'IST004'].![1]) ne null ? #aggregates.sum(crackdownList.?[invasionType == 'IST004'].![1]) : 0}"></th>
<th th:text="${#aggregates.sum(crackdownList.?[nll == 'Y'].![1]) ne null ? #aggregates.sum(crackdownList.?[nll == 'Y'].![1]) : 0}"></th>
<th th:text="${#aggregates.sum(crackdownList.?[personDamageCnt > 0 || personDamageAmount > 0].![1]) ne null ? 1 : 0}"></th>
<th th:text="${#aggregates.sum(crackdownList.![personDamageCnt])}"></th>
<th th:text="${#aggregates.sum(crackdownList.![personDamageAmount])}"></th>
<th th:text="${#aggregates.sum(crackdownList.?[materialDamageCnt > 0 || materialDamageAmount > 0].![1]) ne null ? 1 : 0}"></th>
<th th:text="${#aggregates.sum(crackdownList.![materialDamageAmount])}"></th>
<th>단속경찰서</th>
<th>단속함정</th>
<th></th>
<th></th>
<th>이름</th>
<th>출생년도</th>
<th>어종</th>
<th>수량</th>
<th th:text="${#aggregates.sum(crackdownList.![fishingBoat.offenseCatchCnt])}"></th>
<th th:text="${#aggregates.sum(crackdownList.![fishingBoat.offenseIllegalWasteQuantity])}"></th>
<th th:text="${#aggregates.sum(crackdownList.![fishingBoat.offenseQuantity])}"></th>
<th th:text="${#aggregates.sum(crackdownList.![fishingBoat.offenseAmount])}"></th>
<th th:text="${#aggregates.sum(crackdownList.?[processResult.processStatus == 'PR001'].![1]) ne null ? #aggregates.sum(crackdownList.?[processResult.processStatus == 'PR001'].![1]) : 0}"></th>
<th th:text="${#aggregates.sum(crackdownList.?[processResult.processStatus == 'PR009'].![1]) ne null ? #aggregates.sum(crackdownList.?[processResult.processStatus == 'PR009'].![1]) : 0}"></th>
<th th:text="${#aggregates.sum(crackdownList.?[fishingBoat.damboPayment > 0].![1]) ne null ? 1 : 0}"></th>
<th th:text="${#aggregates.sum(crackdownList.![fishingBoat.damboPayment])}"></th>
<th th:text="${#aggregates.sum(crackdownList.?[fishingBoat.damboUnpaidAmount > 0].![1]) ne null ? 1 : 0}"></th>
<th th:text="${#aggregates.sum(crackdownList.![fishingBoat.damboUnpaidAmount])}"></th>
<th th:text="${#aggregates.sum(crackdownList.?[processResult.consignmentStartDt != null].![1]) ne null ? 1 : 0}"></th>
<th th:text="${#aggregates.sum(crackdownList.?[processResult.evictionDt != null].![1]) ne null ? 1 : 0}"></th>
<th th:text="${#aggregates.sum(crackdownList.?[processResult.directHandoverDt != null].![1]) ne null ? 1 : 0}"></th>
<th th:text="${#aggregates.sum(crackdownList.?[processResult.boatDisposalDt != null && processResult.boatDisposalType == 'BDT001'].![1]) ne null ? #aggregates.sum(crackdownList.?[processResult.boatDisposalDt != null && processResult.boatDisposalType == 'BDT001'].![1]) : 0}"></th>
<th th:text="${#aggregates.sum(crackdownList.?[processResult.boatDisposalDt != null && processResult.boatDisposalType == 'BDT002'].![1]) ne null ? #aggregates.sum(crackdownList.?[processResult.boatDisposalDt != null && processResult.boatDisposalType == 'BDT002'].![1]) : 0}"></th>
<th th:text="${#aggregates.sum(crackdownList.?[processResult.boatDisposalDt != null && processResult.boatDisposalType == 'BDT003'].![1]) ne null ? #aggregates.sum(crackdownList.?[processResult.boatDisposalDt != null && processResult.boatDisposalType == 'BDT003'].![1]) : 0}"></th>
<th th:text="${#aggregates.sum(crackdownList.?[processResult.confiscationDt != null].![1]) ne null ? 1 : 0}"></th>
<th th:text="${#aggregates.sum(crackdownList.?[processResult.returnDt != null].![1]) ne null ? 1 : 0}"></th>
<th th:text="${#aggregates.sum(crackdownList.![restrictionTotal])}"></th>
<th th:text="${#aggregates.sum(crackdownList.![restrictionCaptin])}"></th>
<th th:text="${#aggregates.sum(crackdownList.![restrictionMate])}"></th>
<th th:text="${#aggregates.sum(crackdownList.![restrictionWarden])}"></th>
<th th:text="${#aggregates.sum(crackdownList.![restrictionSailor])}"></th>
<th th:text="${#aggregates.sum(crackdownList.?[processResult.confiscationDt != null].![1]) ne null ? #aggregates.sum(crackdownList.?[processResult.confiscationDt != null].![1]) : 0}"></th>
<th th:text="${#aggregates.sum(crackdownList.![notRestrictionTotal])}"></th>
<th th:text="${#aggregates.sum(crackdownList.![notRestrictionCaptin])}"></th>
<th th:text="${#aggregates.sum(crackdownList.![notRestrictionMate])}"></th>
<th th:text="${#aggregates.sum(crackdownList.![notRestrictionWarden])}"></th>
<th th:text="${#aggregates.sum(crackdownList.![notRestrictionSailor])}"></th>
<th th:text="${#aggregates.sum(crackdownList.?[processResult.confiscationDt != null].![1]) ne null ? 0 : #aggregates.sum(crackdownList.?[processResult.confiscationDt != null].![1])}"></th>
<th th:text="${#aggregates.sum(crackdownList.?[fieldIvsgtNapoDt != null].![1]) ne null ? 1 : 0}"></th>
<th>나포일시</th>
<th>석방일시</th>
<th>소요시간</th>
<th>소요시간</th>
<th>거리(해리)</th>
<th th:text="${#aggregates.sum(crackdownList.?[fishingBoat.confiscationFrame != null && fishingBoat.confiscationFrame != ''].![1]) ne null ? #aggregates.sum(crackdownList.?[fishingBoat.confiscationFrame != null && fishingBoat.confiscationFrame != ''].![1]) : 0}"></th>
<th th:text="${#aggregates.sum(crackdownList.?[fishingBoat.confiscationFrame != null && fishingBoat.confiscationWidth != ''].![1]) ne null ? #aggregates.sum(crackdownList.?[fishingBoat.confiscationWidth != null && fishingBoat.confiscationWidth != ''].![1]) : 0}"></th>
<th th:text="${#aggregates.sum(crackdownList.?[fishingBoat.confiscationFrame != null && fishingBoat.confiscationJo != ''].![1]) ne null ? #aggregates.sum(crackdownList.?[fishingBoat.confiscationJo != null && fishingBoat.confiscationJo != ''].![1]) : 0}"></th>
<th th:text="${#aggregates.sum(crackdownList.?[fishingBoat.confiscationFrame != null && fishingBoat.confiscationGae != ''].![1]) ne null ? #aggregates.sum(crackdownList.?[fishingBoat.confiscationGae != null && fishingBoat.confiscationGae != ''].![1]) : 0}"></th>
<th th:text="${#aggregates.sum(crackdownList.?[fishingBoat.confiscationFrame != null && fishingBoat.confiscationEtc != ''].![1]) ne null ? #aggregates.sum(crackdownList.?[fishingBoat.confiscationEtc != null && fishingBoat.confiscationEtc != ''].![1]) : 0}"></th>
</tr>
</thead>
<tbody class="table-group-divider">
<th:block th:each="crackdownStatus:${crackdownList}">
<tr class="crackdownTr" th:data-key="${crackdownStatus.cdsKey}">
<td><input type="checkbox" class="crackdownChkbox"></td>
<!--<td th:text="${crackdownStatus.cdsKey}"></td>-->
<td th:text="${crackdownStatus.caseNum}"></td>
<td th:text="${crackdownStatus.napoDt}"></td>
<td>
<span th:text="${crackdownStatus.napoSeaPointLat}"> ~ </span>
<span th:text="${crackdownStatus.napoSeaPointLon}"></span>
<div th:text="${crackdownStatus.napoSeaPointDetail}"></div>
</td>
<td>
<th:block th:if="${#lists.size(crackdownStatus.violationList) >= 1}">
<th:block th:each="violation:${crackdownStatus.violationList}">
<th:block th:each="commonCode:${session.commonCode.get('VT')}">
<div th:if="${violation.violation eq commonCode.itemCd}" th:text="${commonCode.itemValue}"></div>
</th:block>
</th:block>
</th:block>
</td>
<th:block th:each="commonCode:${session.commonCode.get('IST')}">
<td th:if="${crackdownStatus.invasionType ne null && crackdownStatus.invasionType eq 'IST001' && crackdownStatus.invasionType eq commonCode.itemCd}" th:text="1"></td>
<td th:if="${crackdownStatus.invasionType ne commonCode.itemCd}" th:text="0"></td>
</th:block>
<td th:text="${crackdownStatus.nll eq 'Y' ? 1 : 0}"></td>
<td th:text="${crackdownStatus.personDamageCnt ne 0 && crackdownStatus.personDamageAmount ne 0 ? 1 : 0}"></td>
<td th:text="${crackdownStatus.personDamageCnt}"></td>
<td th:text="${crackdownStatus.personDamageAmount}"></td>
<td th:text="${crackdownStatus.personDamageDetail}"></td>
<td th:text="${crackdownStatus.materialDamageCnt ne 0 && crackdownStatus.materialDamageAmount ne 0 ? 1 : 0}"></td>
<td th:text="${crackdownStatus.materialDamageAmount}"></td>
<td th:text="${crackdownStatus.materialDamageDetail}"></td>
<th:block th:each="commonCode:${session.commonCode.get('ATA')}">
<td th:if="${crackdownStatus.caseAgency eq commonCode.itemCd}" th:text="${commonCode.itemValue}"></td>
</th:block>
<th:block th:if="${crackdownStatus.caseAgency eq null || crackdownStatus.caseAgency eq ''}">
<td></td>
</th:block>
<th:block th:each="commonCode:${session.commonCode.get('CPO')}">
<td th:if="${crackdownStatus.crackdownPolice eq commonCode.itemCd}" th:text="${commonCode.itemValue}"></td>
</th:block>
<th:block th:if="${!#strings.contains(crackdownStatus.crackdownPolice, 'CPO')}">
<td th:text="${crackdownStatus.crackdownPolice}"></td>
</th:block>
<th:block th:each="num : ${#numbers.sequence(1,#lists.size(session.commonCode.get('CPO')))}">
<th:block th:if="${'CPO'+num == crackdownStatus.crackdownPolice}" th:each="commonCode:${session.commonCode.get('CPO'+num)}">
<td th:if="${crackdownStatus.crackdownBoat eq commonCode.itemCd}" th:text="${commonCode.itemValue}"></td>
</th:block>
</th:block>
<th:block th:if="${!#strings.contains(crackdownStatus.crackdownBoat, 'CPO')}">
<td></td>
</th:block>
<td th:text="${crackdownStatus.mmsi}"></td>
<td th:text="${crackdownStatus.fishingBoat.boatNameKr}"></td>
<td th:text="${crackdownStatus.fishingBoat.tonCnt}"></td>
<td th:text="${crackdownStatus.restrictionSailor + crackdownStatus.notRestrictionSailor}"></td>
<th:block th:each="commonCode:${session.commonCode.get('BM')}">
<td th:if="${crackdownStatus.fishingBoat.boatMaterial eq commonCode.itemCd}" th:text="${commonCode.itemValue}"></td>
</th:block>
<th:block th:if="${!#strings.contains(crackdownStatus.fishingBoat.boatMaterial, 'BM')}">
<td th:text="${crackdownStatus.fishingBoat.boatMaterial}"></td>
</th:block>
<td th:text="${crackdownStatus.fishingBoat.boatNnySung}"></td>
<td th:text="${crackdownStatus.fishingBoat.boatNnySi}"></td>
<th:block th:each="sailor:${crackdownStatus.sailorList}">
<td th:if="${sailor.position eq 'POS001'}" th:text="${sailor.sailorNameKr}"></td>
<td th:if="${sailor.position eq 'POS001'}" th:text="${sailor.birthdate}"></td>
</th:block>
<th:block th:if="${#lists.size(crackdownStatus.sailorList) == 0}">
<td></td>
<td></td>
</th:block>
<th:block th:each="commonCode:${session.commonCode.get('FT')}">
<td th:if="${crackdownStatus.fishingBoat.fisheryType eq commonCode.itemCd}" th:text="${commonCode.itemValue}"></td>
</th:block>
<th:block th:if="${!#strings.contains(crackdownStatus.fishingBoat.fisheryType, 'FT')}">
<td th:text="${crackdownStatus.fishingBoat.fisheryType}"></td>
</th:block>
<td th:text="${crackdownStatus.fishingBoat.catchFishSpecies}"></td>
<td th:text="${crackdownStatus.fishingBoat.catchCnt}"></td>
<td th:text="${crackdownStatus.fishingBoat.offenseFishSpecies}"></td>
<td th:text="${crackdownStatus.fishingBoat.offenseCatchCnt}"></td>
<td th:text="${crackdownStatus.fishingBoat.offenseIllegalWasteQuantity}"></td>
<td th:text="${crackdownStatus.fishingBoat.offenseQuantity}"></td>
<td th:text="${crackdownStatus.fishingBoat.offenseAmount}"></td>
<td th:text="${crackdownStatus.processResult.processStatus eq 'PR001' ? 1 : 0}"></td>
<td th:text="${crackdownStatus.processResult.processStatus eq 'PR009' ? 1 : 0}"></td>
<td th:text="${crackdownStatus.fishingBoat.damboPayment ne 0 ? 1 : 0}"></td>
<td th:text="${crackdownStatus.fishingBoat.damboPayment}"></td>
<td th:text="${crackdownStatus.fishingBoat.paymentPaymentDt}"></td>
<td th:text="${crackdownStatus.fishingBoat.damboUnpaidAmount ne 0 ? 1 : 0}"></td>
<td th:text="${crackdownStatus.fishingBoat.damboUnpaidAmount}"></td>
<td th:text="${crackdownStatus.processResult.consignmentStartDt ne null ? 1 : 0}"></td>
<td th:text="${crackdownStatus.processResult.consignmentStartDt}"></td>
<td th:text="${crackdownStatus.processResult.consignmentEndDt}"></td>
<td th:text="${crackdownStatus.processResult.evictionDt ne null ? 1 : 0}"></td>
<td th:text="${crackdownStatus.processResult.directHandoverDt ne null ? 1 : 0}"></td>
<td th:text="${crackdownStatus.processResult.boatDisposalDt ne null && crackdownStatus.processResult.boatDisposalType eq 'BDT001'? 1 : 0}"></td>
<td th:text="${crackdownStatus.processResult.boatDisposalDt ne null && crackdownStatus.processResult.boatDisposalType eq 'BDT002'? 1 : 0}"></td>
<td th:text="${crackdownStatus.processResult.boatDisposalDt ne null && crackdownStatus.processResult.boatDisposalType eq 'BDT003'? 1 : 0}"></td>
<td th:text="${crackdownStatus.processResult.confiscationDt ne null ? 1 : 0}"></td>
<td th:text="${crackdownStatus.processResult.returnDt ne null ? 1 : 0}"></td>
<td th:text="${crackdownStatus.processResult.directHandoverDt}"></td>
<td>
<span th:text="${crackdownStatus.processResult.handoverSeaPointLat}"> ~ </span>
<span th:text="${crackdownStatus.processResult.handoverSeaPointLon}"></span>
</td>
<td th:text="${crackdownStatus.processResult.handoverBoat}"></td>
<td th:text="${crackdownStatus.processResult.middleTakeoverBoat}"></td>
<td th:text="${crackdownStatus.restrictionTotal}"></td>
<td th:text="${crackdownStatus.restrictionCaptin}"></td>
<td th:text="${crackdownStatus.restrictionMate}"></td>
<td th:text="${crackdownStatus.restrictionWarden}"></td>
<td th:text="${crackdownStatus.restrictionSailor}"></td>
<td th:text="${crackdownStatus.processResult.confiscationDt ne null ? 1 : 0}"></td>
<td th:text="${crackdownStatus.notRestrictionTotal}"></td>
<td th:text="${crackdownStatus.notRestrictionCaptin}"></td>
<td th:text="${crackdownStatus.notRestrictionMate}"></td>
<td th:text="${crackdownStatus.notRestrictionWarden}"></td>
<td th:text="${crackdownStatus.notRestrictionSailor}"></td>
<td th:text="${crackdownStatus.processResult.confiscationDt ne null ? 0 : 1}"></td>
<td th:text="${crackdownStatus.fieldIvsgtNapoDt ne null? 1 : 0}"></td>
<td th:text="${crackdownStatus.fieldIvsgtNapoDt }"></td>
<td th:text="${crackdownStatus.fieldIvsgtReleaseDt}"></td>
<td th:text="${crackdownStatus.fieldIvsgtTimeTaken}"></td>
<td th:text="${crackdownStatus.processResult.pressurizedTimeTaken}"></td>
<td th:text="${crackdownStatus.distance}"></td>
<td th:text="${crackdownStatus.processResult.warrantReqTakeTime}"></td>
<td th:text="${crackdownStatus.fishingBoat.confiscationFrame}"></td>
<td th:text="${crackdownStatus.fishingBoat.confiscationWidth}"></td>
<td th:text="${crackdownStatus.fishingBoat.confiscationJo}"></td>
<td th:text="${crackdownStatus.fishingBoat.confiscationGae}"></td>
<td th:text="${crackdownStatus.fishingBoat.confiscationEtc}"></td>
</tr>
</th:block>
</tbody>
</table>
</div>
</div>
<div class="row justify-content-center">
<div class="col-auto">
<nav aria-label="Page navigation">
<ul class="pagination mb-0">
<th:block th:if="${searchParams.pageIndex>3}">
<li class="page-item modalPage" th:data-pageindex="${(searchParams.pageIndex)-3}">
<a class="page-link" href="#" aria-label="Previous">
<span aria-hidden="true">&laquo;</span>
</a>
</li>
</th:block>
<th:block th:each="num : ${#numbers.sequence(searchParams.startNum, searchParams.endNum)}">
<li class="page-item modalPage" th:data-pageindex="${num}" th:classappend="${searchParams.pageIndex==num?'active':''}">
<a class="page-link" href="#" th:text="${num}"></a>
</li>
</th:block>
<th:block th:if="${searchParams.maxNum>searchParams.endNum+2}">
<li class="page-item modalPage" th:data-pageindex="${(searchParams.pageIndex)+3}">
<a class="page-link" href="#" aria-label="Next">
<span aria-hidden="true">&raquo;</span>
</a>
</li>
</th:block>
</ul>
</nav>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</html>