<!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>
            <input type="button" class="btn btn-sm btn-primary col-auto" id="searchModalBtn" value="검색">
          </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-striped 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>
                        <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>
                      <td>
                        <span th:text="${crackdownStatus.napoSeaPointLat}"> ~ </span>
                        <span th:text="${crackdownStatus.napoSeaPointLon}"></span>
                        <div th:text="${crackdownStatus.napoSeaPointDetail}"></div>
                      </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">
                    <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>