690 lines
46 KiB
HTML
690 lines
46 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="ko" xmlns:th="http://www.thymeleaf.org"
|
|
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
|
|
layout:decorate="~{layout/layout}">
|
|
<th:block layout:fragment="script">
|
|
<script th:inline="javascript">
|
|
const crackdownStatus = [[${crackdownStatus}]];
|
|
const commonCode = [[${session.commonCode}]];
|
|
</script>
|
|
<!--<script type="text/javascript" th:src="@{/js/faStatistics/crackdownInfo.js}"></script>-->
|
|
<script type="text/javascript" th:src="@{/js/faStatistics/fishingBoatMgt.js}"></script>
|
|
</th:block>
|
|
<th:block layout:fragment="css">
|
|
<style>
|
|
#violationSelectDiv{
|
|
position: absolute;
|
|
top: 45px;
|
|
left: 555px;
|
|
display: none;
|
|
z-index: 10;
|
|
}
|
|
</style>
|
|
</th:block>
|
|
<div layout:fragment="content">
|
|
<main>
|
|
<input type="hidden" id="menuKey" value="42">
|
|
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
|
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
|
|
<div class="row justify-content-between">
|
|
<div class="col-auto">
|
|
<div class="d-inline align-middle"><i class="bi bi-square-fill"></i></div>
|
|
<h5 class="d-inline align-middle"> 불법조업 외국어선 단속현황</h5>
|
|
</div>
|
|
<div class="col-auto"><p class="mb-0 mt-2">외사통계 > 불법조업외국어선 > 불법조업 외국어선 단속현황</p></div>
|
|
</div>
|
|
<div class="row mx-0">
|
|
<div class="col-12 card bg-light text-center">
|
|
<div class="card-body">
|
|
<form method="get" th:action="@{/faStatistics/crackdownStatus}" id="cdsSearchForm">
|
|
<input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">
|
|
<div class="row justify-content-between py-1">
|
|
<div class="col-auto">
|
|
<div>
|
|
<select class="form-select form-select-sm" name="year">
|
|
<option value="">연도</option>
|
|
<th:block th:each="year : ${yearList}">
|
|
<option th:value="${year}" th:text="${year}" th:selected="${searchParams.year eq year}"></option>
|
|
</th:block>
|
|
</select>
|
|
</div>
|
|
<div>
|
|
<select class="form-select form-select-sm" name="month">
|
|
<option value="">월</option>
|
|
<th:block th:each="month : ${#numbers.sequence(1, 12)}">
|
|
<option th:value="${month}" th:text="${month}" th:selected="${searchParams.month eq month}"></option>
|
|
</th:block>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="col-8">
|
|
<div class="row">
|
|
<div class="col-11">
|
|
<div class="row justify-content-end pb-1">
|
|
<div class="col-4">
|
|
<input type="text" class="form-control form-control-sm" id="violationInput" placeholder="위반형태" readonly>
|
|
<div class="bg-white border p-2 text-start" id="violationSelectDiv">
|
|
<th:block th:each="code:${session.commonCode.get('VT')}">
|
|
<div>
|
|
<input type="checkbox" name="violationList" class="violationParams" th:id="|violation${code.itemCd}|" th:value="${code.itemCd}" th:checked="${searchParams.violationList ne null?#lists.contains(searchParams.violationList, code.itemCd):false}">
|
|
<label th:for="|violation${code.itemCd}|" class="form-label col-form-label-sm mb-0" th:text="${code.itemValue}"></label>
|
|
</div>
|
|
</th:block>
|
|
</div>
|
|
</div>
|
|
<div class="col-2">
|
|
<input class="form-control form-control-sm" name="napoSeaPointDetail" id="napoSeaPointDetail" placeholder="위반장소" th:value="${searchParams.napoSeaPointDetail}">
|
|
</div>
|
|
<div class="col-2">
|
|
<select class="form-select form-select-sm" name="nll">
|
|
<option value="">NLL</option>
|
|
<option value="Y" th:selected="${searchParams.nll == 'Y'}">O</option>
|
|
<option value="N" th:selected="${searchParams.nll == 'N'}">X</option>
|
|
</select>
|
|
</div>
|
|
<div class="col-2">
|
|
<input class="form-control form-control-sm" name="mmsi" id="mmsi" placeholder="MMSI.NO" th:value="${searchParams.mmsi}">
|
|
</div>
|
|
<div class="col-2">
|
|
<select class="form-select form-select-sm" name="caseAgency">
|
|
<option value="">사건담당경찰서</option>
|
|
<th:block th:each="code:${session.commonCode.get('OG')}">
|
|
<option th:if="${code.useChk eq 'T'}" th:value="${code.itemCd}" th:text="${code.itemValue}"
|
|
th:selected="${code.itemCd eq searchParams.caseAgency}"></option>
|
|
</th:block>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="row justify-content-end pb-1">
|
|
<div class="col-2">
|
|
<select class="form-select form-select-sm" name="crackdownPolice" id="searchFormPolice">
|
|
<option value="">단속경찰서</option>
|
|
<th:block th:each="code:${session.commonCode.get('CPO')}">
|
|
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
|
|
th:selected="${code.itemCd eq searchParams.crackdownPolice}"></option>
|
|
</th:block>
|
|
</select>
|
|
</div>
|
|
<div class="col-2">
|
|
<select class="form-select form-select-sm" name="crackdownBoat" id="searchFormBoat" disabled>
|
|
<option value="">단속함정</option>
|
|
<th:block th:each="cpoNum:${#numbers.sequence(1, #lists.size(session.commonCode.get('CPO')))}">
|
|
<th:block th:each="code:${session.commonCode.get('CPO'+cpoNum)}">
|
|
<option th:class="${code.categoryCd}" th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq searchParams.crackdownBoat}" style="display: none;"></option>
|
|
</th:block>
|
|
</th:block>
|
|
</select>
|
|
</div>
|
|
<div class="col-2">
|
|
<input class="form-control form-control-sm" name="distance" id="distance" placeholder="거리" th:value="${searchParams.distance}">
|
|
</div>
|
|
<div class="col-2">
|
|
<select class="form-select form-select-sm" name="processStatus" id="processStatus">
|
|
<option value="">처리현황</option>
|
|
<th:block th:each="commonCode:${session.commonCode.get('PR')}">
|
|
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
|
|
th:selected="${commonCode.itemCd eq searchParams.processStatus}"></option>
|
|
</th:block>
|
|
</select>
|
|
</div>
|
|
<div class="col-4">
|
|
<div class="input-group w-auto input-daterange" id="dateSelectorDiv">
|
|
<select class="form-select form-select-sm w-30" name="dateSelector">
|
|
<option value="">조건선택</option>
|
|
<option value="napoDt" th:selected="${searchParams.dateSelector eq 'napoDt'}">나포일시</option>
|
|
<option value="evictionDt" th:selected="${searchParams.dateSelector eq 'evictionDt'}">퇴거일</option>
|
|
<option value="directHandoverDt" th:selected="${searchParams.dateSelector eq 'directHandoverDt'}">직접인계일</option>
|
|
<option value="consignmentDt" th:selected="${searchParams.dateSelector eq 'consignmentDt'}">위탁일</option>
|
|
<option value="confiscationDt" th:selected="${searchParams.dateSelector eq 'confiscationDt'}">몰수확정일</option>
|
|
<option value="boatDisposalDt" th:selected="${searchParams.dateSelector eq 'boatDisposalDt'}">폐선일</option>
|
|
<option value="returnDt" th:selected="${searchParams.dateSelector eq 'returnDt'}">환부일</option>
|
|
<option value="wrtDt" th:selected="${searchParams.dateSelector eq 'wrtDt'}">최종수정일</option>
|
|
</select>
|
|
<input type="text" class="form-control form-control-sm w-35" id="startDate" name="startDate" placeholder="시작일" autocomplete="off" readonly th:value="${searchParams.startDate}">
|
|
<input type="text" class="form-control form-control-sm w-35" id="endDate" name="endDate" placeholder="종료일" autocomplete="off" readonly th:value="${searchParams.endDate}">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row justify-content-start pb-1 subSearchParam" style="display: none">
|
|
<hr class="mb-1">
|
|
<label class="col-2 col-form-label col-form-label-sm">처리현황</label>
|
|
<div class="col-2">
|
|
<select class="form-select form-select-sm" name="isDamboUnpaidAmount" th:value="${searchParams.isDamboUnpaidAmount}">
|
|
<option value="">담보금 미납 여부</option>
|
|
<option value="Y" th:selected="${searchParams.isDamboUnpaidAmount eq 'Y'}">O</option>
|
|
<option value="N" th:selected="${searchParams.isDamboUnpaidAmount eq 'N'}">X</option>
|
|
</select>
|
|
</div>
|
|
<div class="col-2">
|
|
<select class="form-select form-select-sm" name="isEvictionDt" th:value="${searchParams.isEvictionDt}">
|
|
<option value="">퇴거여부</option>
|
|
<option value="Y" th:selected="${searchParams.isEvictionDt eq 'Y'}">O</option>
|
|
<option value="N" th:selected="${searchParams.isEvictionDt eq 'N'}">X</option>
|
|
</select>
|
|
</div>
|
|
<div class="col-2">
|
|
<select class="form-select form-select-sm" name="isReturnDt" th:value="${searchParams.isReturnDt}">
|
|
<option value="">환부여부</option>
|
|
<option value="Y" th:selected="${searchParams.isReturnDt eq 'Y'}">O</option>
|
|
<option value="N" th:selected="${searchParams.isReturnDt eq 'N'}">X</option>
|
|
</select>
|
|
</div>
|
|
<div class="col-2">
|
|
<select class="form-select form-select-sm" name="isConsignmentStartDt" th:value="${searchParams.isConsignmentStartDt}">
|
|
<option value="">위탁관리 여부</option>
|
|
<option value="Y" th:selected="${searchParams.isConsignmentStartDt eq 'Y'}">O</option>
|
|
<option value="N" th:selected="${searchParams.isConsignmentStartDt eq 'N'}">X</option>
|
|
</select>
|
|
</div>
|
|
<div class="col-2">
|
|
<select class="form-select form-select-sm" name="isConfiscationDt" th:value="${searchParams.isConfiscationDt}">
|
|
<option value="">침몰여부</option>
|
|
<option value="Y" th:selected="${searchParams.isConfiscationDt eq 'Y'}">O</option>
|
|
<option value="N" th:selected="${searchParams.isConfiscationDt eq 'N'}">X</option>
|
|
</select>
|
|
</div>
|
|
<div class="col-2"></div>
|
|
<div class="col-2">
|
|
<select class="form-select form-select-sm" name="boatDisposalType" th:value="${searchParams.boatDisposalType}">
|
|
<option value="">폐선종류</option>
|
|
<th:block th:each="commonCode:${session.commonCode.get('BDT')}">
|
|
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
|
|
th:selected="${commonCode.itemCd eq searchParams.boatDisposalType}"></option>
|
|
</th:block>
|
|
</select>
|
|
</div>
|
|
<div class="col-2">
|
|
<select class="form-select form-select-sm" name="isDirectHandoverDt" th:value="${searchParams.isDirectHandoverDt}">
|
|
<option value="">직접인계 여부</option>
|
|
<option value="Y" th:selected="${searchParams.isDirectHandoverDt eq 'Y'}">O</option>
|
|
<option value="N" th:selected="${searchParams.isDirectHandoverDt eq 'N'}">X</option>
|
|
</select>
|
|
</div>
|
|
<div class="col-2">
|
|
<input class="form-control form-control-sm" name="handoverSeaPointDetail" id="handoverSeaPointDetail" placeholder="직접인계 해점" th:value="${searchParams.handoverSeaPointDetail}">
|
|
</div>
|
|
<div class="col-2">
|
|
<input class="form-control form-control-sm" name="handoverBoat" id="handoverBoat" placeholder="인계함정" th:value="${searchParams.handoverBoat}">
|
|
</div>
|
|
<div class="col-2">
|
|
<input class="form-control form-control-sm" name="middleTakeoverBoat" id="middleTakeoverBoat" placeholder="중국측 인수함정" th:value="${searchParams.middleTakeoverBoat}">
|
|
</div>
|
|
</div>
|
|
<div class="row justify-content-start pb-1 subSearchParam" style="display: none">
|
|
<hr class="mb-1">
|
|
<label class="col-2 col-form-label col-form-label-sm">어선정보</label>
|
|
<div class="col-2">
|
|
<input class="form-control form-control-sm" name="boatNameKr" id="boatNameKr" placeholder="선명" th:value="${searchParams.boatNameKr}">
|
|
</div>
|
|
<div class="col-2">
|
|
<div class="input-group">
|
|
<input type="number" min="0" class="form-control form-control-sm" name="tonMin" id="tonStartCnt" placeholder="톤수" th:value="${searchParams.tonMin}">
|
|
~<input type="number" min="0" class="form-control form-control-sm" name="tonMax" id="tonEndCnt" placeholder="톤수" th:value="${searchParams.tonMax}">
|
|
</div>
|
|
</div>
|
|
<div class="col-2">
|
|
<select class="form-select form-select-sm" name="boatMaterial" id="boatMaterial">
|
|
<option value="">선질</option>
|
|
<th:block th:each="commonCode:${session.commonCode.get('BM')}">
|
|
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
|
|
th:selected="${commonCode.itemCd eq searchParams.boatMaterial}"></option>
|
|
</th:block>
|
|
</select>
|
|
</div>
|
|
<div class="col-2">
|
|
<input class="form-control form-control-sm" name="boatNnySung" id="boatNnySung" placeholder="선적 성" th:value="${searchParams.boatNnySung}">
|
|
</div>
|
|
<div class="col-2">
|
|
<input class="form-control form-control-sm" name="boatNnySi" id="boatNnySi" placeholder="선적 시" th:value="${searchParams.boatNnySi}">
|
|
</div>
|
|
<div class="col-2"></div>
|
|
<div class="col-2">
|
|
<input class="form-control form-control-sm" name="sailorNameKr" id="sailorNameKr" placeholder="선장명" th:value="${searchParams.sailorNameKr}">
|
|
</div>
|
|
<div class="col-2">
|
|
<select class="form-select form-select-sm" name="fisheryType" id="fisheryType">
|
|
<option value="">선종</option>
|
|
<th:block th:each="commonCode:${session.commonCode.get('FT')}">
|
|
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
|
|
th:selected="${commonCode.itemCd eq searchParams.fisheryType}"></option>
|
|
</th:block>
|
|
</select>
|
|
</div>
|
|
<div class="col-2">
|
|
<input class="form-control form-control-sm" name="catchFishSpecies" id="catchFishSpecies" placeholder="어획물 축소기재 어종" th:value="${searchParams.catchFishSpecies}">
|
|
</div>
|
|
<div class="col-2">
|
|
<input class="form-control form-control-sm" name="offenseFishSpecies" id="offenseFishSpecies" placeholder="범칙물 어종" th:value="${searchParams.offenseFishSpecies}">
|
|
</div>
|
|
<div class="col-2"></div>
|
|
<label class="col-2 col-form-label col-form-label-sm">압수어구</label>
|
|
<div class="col-2">
|
|
<select class="form-select form-select-sm" name="confiscationFrame">
|
|
<option value="">틀</option>
|
|
<option value="Y" th:selected="${searchParams.confiscationFrame eq 'Y'}">O</option>
|
|
<option value="N" th:selected="${searchParams.confiscationFrame eq 'N'}">X</option>
|
|
</select>
|
|
</div>
|
|
<div class="col-2">
|
|
<select class="form-select form-select-sm" name="confiscationWidth">
|
|
<option value="">폭</option>
|
|
<option value="Y" th:selected="${searchParams.confiscationWidth eq 'Y'}">O</option>
|
|
<option value="N" th:selected="${searchParams.confiscationWidth eq 'N'}">X</option>
|
|
</select>
|
|
</div>
|
|
<div class="col-2">
|
|
<select class="form-select form-select-sm" name="confiscationJo">
|
|
<option value="">조</option>
|
|
<option value="Y" th:selected="${searchParams.confiscationJo eq 'Y'}">O</option>
|
|
<option value="N" th:selected="${searchParams.confiscationJo eq 'N'}">X</option>
|
|
</select>
|
|
</div>
|
|
<div class="col-2">
|
|
<select class="form-select form-select-sm" name="confiscationGae">
|
|
<option value="">개</option>
|
|
<option value="Y" th:selected="${searchParams.confiscationGae eq 'Y'}">O</option>
|
|
<option value="N" th:selected="${searchParams.confiscationGae eq 'N'}">X</option>
|
|
</select>
|
|
</div>
|
|
<div class="col-2">
|
|
<select class="form-select form-select-sm" name="confiscationEtc">
|
|
<option value="">기타</option>
|
|
<option value="Y" th:selected="${searchParams.confiscationEtc eq 'Y'}">O</option>
|
|
<option value="N" th:selected="${searchParams.confiscationEtc eq 'N'}">X</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="row justify-content-start pb-1 subSearchParam" style="display: none">
|
|
<hr class="mb-1">
|
|
<label class="col-2 col-form-label col-form-label-sm">특수공무</label>
|
|
<label class="col-1 col-form-label col-form-label-sm">인적피해</label>
|
|
<div class="col-2">
|
|
<div class="input-group">
|
|
<input type="number" min="0" class="form-control form-control-sm" name="obstrExspdCntMin" placeholder="발생건수" th:value="${searchParams.obstrExspdCntMin}">
|
|
~<input type="number" min="0" class="form-control form-control-sm" name="obstrExspdCntMax" placeholder="발생건수" th:value="${searchParams.obstrExspdCntMax}">
|
|
</div>
|
|
</div>
|
|
<div class="col-2">
|
|
<div class="input-group">
|
|
<input type="number" min="0" class="form-control form-control-sm" name="personDamageCntMin" placeholder="피해인원" th:value="${searchParams.personDamageCntMin}">
|
|
~<input type="number" min="0" class="form-control form-control-sm" name="personDamageCntMax" placeholder="피해인원" th:value="${searchParams.personDamageCntMax}">
|
|
</div>
|
|
</div>
|
|
<div class="col-2">
|
|
<div class="input-group">
|
|
<input type="number" min="0" class="form-control form-control-sm" name="personDamageAmountMin" placeholder="피해액" th:value="${searchParams.personDamageAmountMin}">
|
|
~<input type="number" min="0" class="form-control form-control-sm" name="personDamageAmountMax" placeholder="피해액" th:value="${searchParams.personDamageAmountMax}">
|
|
</div>
|
|
</div>
|
|
<div class="col-3">
|
|
<input class="form-control form-control-sm" name="personDamageDetail" id="personDamageDetail" placeholder="인적피해 상세내용" th:value="${searchParams.personDamageDetail}">
|
|
</div>
|
|
<label class="col-2 col-form-label col-form-label-sm">집행방해</label>
|
|
<label class="col-1 col-form-label col-form-label-sm">물적피해</label>
|
|
<div class="col-2">
|
|
<div class="input-group">
|
|
<input type="number" min="0" class="form-control form-control-sm" name="materialDamageCntMin" placeholder="발생건수" th:value="${searchParams.materialDamageCntMin}">
|
|
~<input type="number" min="0" class="form-control form-control-sm" name="materialDamageCntMax" placeholder="발생건수" th:value="${searchParams.materialDamageCntMax}">
|
|
</div>
|
|
</div>
|
|
<div class="col-2"></div>
|
|
<div class="col-2">
|
|
<div class="input-group">
|
|
<input type="number" min="0" class="form-control form-control-sm" name="materialDamageAmountMin" placeholder="피해액" th:value="${searchParams.materialDamageAmountMin}">
|
|
~<input type="number" min="0" class="form-control form-control-sm" name="materialDamageAmountMax" placeholder="피해액" th:value="${searchParams.materialDamageAmountMax}">
|
|
</div>
|
|
</div>
|
|
<div class="col-3">
|
|
<input class="form-control form-control-sm" name="materialDamageDetail" id="materialDamageDetail" placeholder="물적피해 상세내용" th:value="${searchParams.materialDamageDetail}">
|
|
</div>
|
|
</div>
|
|
<div class="row justify-content-start subSearchParam" style="display: none">
|
|
<hr class="mb-1">
|
|
<label class="col-2 col-form-label col-form-label-sm">구속여부</label>
|
|
<div class="col-2">
|
|
<select class="form-select form-select-sm" name="captainRestriction">
|
|
<option value="">선장</option>
|
|
<option value="Y" th:selected="${searchParams.captainRestriction eq 'Y'}">구속</option>
|
|
<option value="N" th:selected="${searchParams.captainRestriction eq 'N'}">불구속</option>
|
|
</select>
|
|
</div>
|
|
<div class="col-2">
|
|
<select class="form-select form-select-sm" name="navigaterRestriction">
|
|
<option value="">향해장</option>
|
|
<option value="Y" th:selected="${searchParams.navigaterRestriction eq 'Y'}">구속</option>
|
|
<option value="N" th:selected="${searchParams.navigaterRestriction eq 'N'}">불구속</option>
|
|
</select>
|
|
</div>
|
|
<div class="col-2">
|
|
<select class="form-select form-select-sm" name="engineerRestriction">
|
|
<option value="">기관장</option>
|
|
<option value="Y" th:selected="${searchParams.engineerRestriction eq 'Y'}">구속</option>
|
|
<option value="N" th:selected="${searchParams.engineerRestriction eq 'N'}">불구속</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-1 d-grid gap-2">
|
|
<input type="submit" class="btn btn-primary" id="searchBtn" value="검색">
|
|
<button type="button" class="btn btn-info" id="searchFormBtn" data-state="hide">조건<br>펼치기</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
<div class="card">
|
|
<div class="card-body">
|
|
<div class="row">
|
|
<div class="col-12 overflow-auto">
|
|
<table class="table table-sm table-hover table-bordered text-nowrap" id="cdsTable">
|
|
<thead class="align-middle">
|
|
<tr class="table-secondary">
|
|
<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 class="table-secondary">
|
|
<th rowspan="2">무허가 조업</th>
|
|
<th rowspan="2">
|
|
<div>특정금지</div>
|
|
<div>(무허가, 정선명령위반)</div>
|
|
</th>
|
|
<th rowspan="2">
|
|
<div>EEZ</div>
|
|
<div>제한조건</div>
|
|
</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 class="table-secondary">
|
|
<th>피해인원</th>
|
|
<th>피해액(만원)</th>
|
|
<th rowspan="2">상세내용</th>
|
|
<th>발생건수</th>
|
|
<th>피해액(만원)</th>
|
|
<th rowspan="2">상세내용</th>
|
|
<th>단순폐선</th>
|
|
<th>폐선조건부공매</th>
|
|
</tr>
|
|
<tr class="table-secondary">
|
|
<th th:text="${statistics.vt002Cnt}"></th>
|
|
<th th:text="${statistics.vt003vt004Cnt}"></th>
|
|
<th th:text="${statistics.vt029Cnt}"></th>
|
|
<th th:text="${statistics.vt030Cnt}"></th>
|
|
<th th:text="${statistics.nllCnt}"></th>
|
|
<th th:text="${statistics.obstrExspdCnt}"></th>
|
|
<th th:text="${statistics.personDamageCnt}"></th>
|
|
<th th:text="|${statistics.personDamageAmount/10000}만원|"></th>
|
|
<th th:text="${statistics.materialDamageCnt}"></th>
|
|
<th th:text="|${statistics.materialDamageAmount/10000}만원|"></th>
|
|
<th>단속경찰서</th>
|
|
<th>단속함정</th>
|
|
<th>성</th>
|
|
<th>시</th>
|
|
<th>이름</th>
|
|
<th>출생년도</th>
|
|
<th>어종</th>
|
|
<th>수량</th>
|
|
<th th:text="|${statistics.offenseWeight}kg|"></th>
|
|
<th th:text="|${statistics.offenseIllegalWasteQuantity}kg|"></th>
|
|
<th th:text="|${statistics.offenseQuantity}kg|"></th>
|
|
<th th:text="|${statistics.offenseAmount}원|"></th>
|
|
<th th:text="${statistics.pr001Cnt}"></th>
|
|
<th th:text="${statistics.otherPrCnt}"></th>
|
|
<th th:text="${statistics.damboPaymentCnt}"></th>
|
|
<th th:text="|${statistics.damboPayment/10000}만원|"></th>
|
|
<th th:text="${statistics.damboUnpaidAmountCnt}"></th>
|
|
<th th:text="|${statistics.damboUnpaidAmount/10000}만원|"></th>
|
|
<th th:text="${statistics.consignmentCnt}"></th>
|
|
<th th:text="${statistics.evictionCnt}"></th>
|
|
<th th:text="${statistics.directHandoverCnt}"></th>
|
|
<th th:text="${statistics.bdt001Cnt}"></th>
|
|
<th th:text="${statistics.bdt002Cnt}"></th>
|
|
<th th:text="${statistics.bdt003Cnt}"></th>
|
|
<th th:text="${statistics.exileCnt}"></th>
|
|
<th th:text="${statistics.returnCnt}"></th>
|
|
<th th:text="${statistics.sailorRestrictionCnt}"></th>
|
|
<th th:text="${statistics.captainRestrictionCnt}"></th>
|
|
<th th:text="${statistics.navigaterRestrictionCnt}"></th>
|
|
<th th:text="${statistics.engineerRestrictionCnt}"></th>
|
|
<th th:text="${statistics.normalRestrictionCnt}"></th>
|
|
<th th:text="${statistics.confiscationCnt}"></th>
|
|
<th th:text="${statistics.sailorRestrictionNotCnt}"></th>
|
|
<th th:text="${statistics.captainRestrictionNotCnt}"></th>
|
|
<th th:text="${statistics.navigaterRestrictionNotCnt}"></th>
|
|
<th th:text="${statistics.engineerRestrictionNotCnt}"></th>
|
|
<th th:text="${statistics.normalRestrictionNotCnt}"></th>
|
|
<th th:text="${statistics.confiscationNotCnt}"></th>
|
|
<th th:text="${statistics.fieldIvsgtCnt}"></th>
|
|
<th>나포일시</th>
|
|
<th>석방일시</th>
|
|
<th>소요시간</th>
|
|
<th>소요시간</th>
|
|
<th>거리(해리)</th>
|
|
<th th:text="${statistics.confiscationFrameCnt}"></th>
|
|
<th th:text="${statistics.confiscationWidthCnt}"></th>
|
|
<th th:text="${statistics.confiscationJoCnt}"></th>
|
|
<th th:text="${statistics.confiscationGaeCnt}"></th>
|
|
<th th:text="${statistics.confiscationEtcCnt}"></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody class="table-group-divider align-middle">
|
|
<th:block th:each="dto,cnt:${crackdownStatusList}">
|
|
<tr class="crackdownStatusTr" th:data-cdskey="${dto.cdsKey}" data-modaltype="viewOnly">
|
|
<td th:text="${cnt.count}"></td>
|
|
<td th:text="${#temporals.format(dto.napoDt, 'yyyy-MM-dd HH:mm')}"></td>
|
|
<td class="text-wrap min-width-300" th:text="${dto.violationStr}"></td>
|
|
<td>
|
|
<div th:if="${!#strings.isEmpty(dto.napoSeaPointLon) and !#strings.isEmpty(dto.napoSeaPointLon)}" th:text="${#strings.concat(dto.napoSeaPointLon, ' ~ ', dto.napoSeaPointLat)}"></div>
|
|
<div th:if="${!#strings.isEmpty(dto.napoSeaPointLon) or !#strings.isEmpty(dto.napoSeaPointLon)}" th:text="${#strings.concat(dto.napoSeaPointLon, dto.napoSeaPointLat)}"></div>
|
|
<div th:text="${dto.napoSeaPointDetail}"></div>
|
|
</td>
|
|
<td th:text="${dto.violationCode ne null and #strings.contains(dto.violationCode, 'VT002')?1:0}"></td>
|
|
<td th:text="${dto.violationCode ne null and (#strings.contains(dto.violationCode, 'VT003') or #strings.contains(dto.violationCode, 'VT004'))?1:0}"></td>
|
|
<td th:text="${dto.violationCode ne null and #strings.contains(dto.violationCode, 'VT029')?1:0}"></td>
|
|
<td th:text="${dto.violationCode ne null and #strings.contains(dto.violationCode, 'VT030')?1:0}"></td>
|
|
<td th:text="${dto.nll eq 'Y'?1:0}"></td>
|
|
<td th:text="${dto.obstrExspdCnt}"></td>
|
|
<td th:text="${dto.personDamageCnt}"></td>
|
|
<td th:text="${dto.personDamageAmount>10000?#strings.concat(dto.personDamageAmount/10000, '만원'):'-'}"></td>
|
|
<td th:text="${dto.personDamageDetail}"></td>
|
|
<td th:text="${dto.materialDamageCnt}"></td>
|
|
<td th:text="${dto.materialDamageAmount>10000?#strings.concat(dto.materialDamageAmount/10000, '만원'):'-'}"></td>
|
|
<td th:text="${dto.materialDamageDetail}"></td>
|
|
<td>
|
|
<th:block th:each="code:${session.commonCode.get('OG')}">
|
|
<th:block th:if="${code.itemCd eq dto.caseAgency}" th:text="${code.itemValue}"></th:block>
|
|
</th:block>
|
|
</td>
|
|
<td>
|
|
<th:block th:each="code:${session.commonCode.get('CPO')}">
|
|
<th:block th:if="${code.itemCd eq dto.crackdownPolice}" th:text="${code.itemValue}"></th:block>
|
|
</th:block>
|
|
</td>
|
|
<td>
|
|
<th:block th:each="code:${session.commonCode.get(dto.crackdownPolice)}">
|
|
<th:block th:if="${code.itemCd eq dto.crackdownBoat}" th:text="${code.itemValue}"></th:block>
|
|
</th:block>
|
|
</td>
|
|
<td th:text="${dto.mmsi}"></td>
|
|
<td th:text="${dto.boatNameKr}"></td>
|
|
<td>
|
|
<th:block th:if="${dto.tonCnt>0}" th:text="|${dto.tonCnt}t|"></th:block>
|
|
</td>
|
|
<td th:text="${dto.sailorCnt}"></td>
|
|
<td>
|
|
<th:block th:each="code:${session.commonCode.get('BM')}">
|
|
<th:block th:if="${code.itemCd eq dto.boatMaterial}" th:text="${code.itemValue}"></th:block>
|
|
</th:block>
|
|
</td>
|
|
<td th:text="${dto.boatNnySung}"></td>
|
|
<td th:text="${dto.boatNnySi}"></td>
|
|
<td th:text="${dto.captainName}"></td>
|
|
<td th:text="${dto.captainBirthDate}"></td>
|
|
<td>
|
|
<th:block th:each="code:${session.commonCode.get('FT')}">
|
|
<th:block th:if="${code.itemCd eq dto.fisheryType}" th:text="${code.itemValue}"></th:block>
|
|
</th:block>
|
|
</td>
|
|
<td th:text="${dto.catchFishSpecies}"></td>
|
|
<td><th:block th:if="${dto.catchCnt>0}" th:text="|${dto.catchCnt}kg|"></th:block></td>
|
|
<td th:text="${dto.offenseType}"></td>
|
|
<td><th:block th:if="${dto.offenseWeight>0}" th:text="|${dto.offenseWeight}kg|"></th:block></td>
|
|
<td><th:block th:if="${dto.offenseIllegalWasteQuantity>0}" th:text="|${dto.offenseIllegalWasteQuantity}kg|"></th:block></td>
|
|
<td><th:block th:if="${dto.offenseQuantity>0}" th:text="|${dto.offenseQuantity}kg|"></th:block></td>
|
|
<td><th:block th:if="${dto.offenseAmount>0}" th:text="|${dto.offenseAmount}원|"></th:block></td>
|
|
<td th:text="${dto.processStatus eq 'PR001'?1:0}"></td>
|
|
<td th:text="${dto.processStatus ne 'PR001'?1:0}"></td>
|
|
<td th:text="${dto.damboPayment > 0?1:0}"></td>
|
|
<td>
|
|
<th:block th:if="${dto.damboPayment ne null and dto.damboPayment>10000}" th:text="|${dto.damboPayment/10000}만원|"></th:block>
|
|
</td>
|
|
<td th:text="${dto.paymentPaymentDt}"></td>
|
|
<td th:text="${dto.damboUnpaidAmount > 0?1:0}"></td>
|
|
<td>
|
|
<th:block th:if="${dto.damboUnpaidAmount ne null and dto.damboUnpaidAmount>10000}" th:text="|${dto.damboUnpaidAmount/10000}만원|"></th:block>
|
|
</td>
|
|
<td th:text="${dto.consignmentStartDt ne null?1:0}"></td>
|
|
<td th:text="${dto.consignmentStartDt}"></td>
|
|
<td th:text="${dto.consignmentEndDt}"></td>
|
|
<td th:text="${dto.evictionDt ne null?1:0}"></td>
|
|
<td th:text="${dto.directHandoverDt ne null?1:0}"></td>
|
|
<td th:text="${dto.boatDisposalType eq 'BDT001'?1:0}"></td>
|
|
<td th:text="${dto.boatDisposalType eq 'BDT002'?1:0}"></td>
|
|
<td th:text="${dto.boatDisposalType eq 'BDT003'?1:0}"></td>
|
|
<td th:text="${dto.exileDt ne null?1:0}"></td>
|
|
<td th:text="${dto.returnDt ne null?1:0}"></td>
|
|
<td th:text="${dto.directHandoverDt}"></td>
|
|
<td>
|
|
<div th:if="${!#strings.isEmpty(dto.handoverSeaPointLon) and !#strings.isEmpty(dto.handoverSeaPointLat)}" th:text="${#strings.concat(dto.handoverSeaPointLon, ' ~ ', dto.handoverSeaPointLat)}"></div>
|
|
<div th:if="${!#strings.isEmpty(dto.handoverSeaPointLon) or !#strings.isEmpty(dto.handoverSeaPointLat)}" th:text="${#strings.concat(dto.handoverSeaPointLon, dto.handoverSeaPointLat)}"></div>
|
|
<div th:text="${dto.handoverSeaPointDetail}"></div>
|
|
</td>
|
|
<td th:text="${dto.handoverBoat}"></td>
|
|
<td th:text="${dto.middleTakeoverBoat}"></td>
|
|
<td th:text="${dto.captainRestriction+dto.navigaterRestriction+dto.engineerRestriction+dto.seniorRestriction+dto.normalRestriction}"></td>
|
|
<td th:text="${dto.captainRestriction}"></td>
|
|
<td th:text="${dto.navigaterRestriction}"></td>
|
|
<td th:text="${dto.engineerRestriction}"></td>
|
|
<td th:text="${dto.seniorRestriction+dto.normalRestriction}"></td>
|
|
<td th:text="${dto.confiscationDt ne null?1:0}"></td>
|
|
<td th:text="${dto.captainRestrictionNot+dto.navigaterRestrictionNot+dto.engineerRestrictionNot+dto.seniorRestrictionNot+dto.normalRestrictionNot}"></td>
|
|
<td th:text="${dto.captainRestrictionNot}"></td>
|
|
<td th:text="${dto.navigaterRestrictionNot}"></td>
|
|
<td th:text="${dto.engineerRestrictionNot}"></td>
|
|
<td th:text="${dto.seniorRestrictionNot+dto.normalRestrictionNot}"></td>
|
|
<td th:text="${dto.confiscationDt eq null?1:0}"></td>
|
|
<td th:text="${dto.fieldIvsgt eq 'F'? 1 : 0}"></td>
|
|
<td><th:block th:if="${dto.fieldIvsgt eq 'F'}" th:text="${#temporals.format(dto.napoDt, 'yyyy-MM-dd HH:mm')}"></th:block></td>
|
|
<td><th:block th:if="${dto.fieldIvsgt eq 'F'}" th:text="${#temporals.format(dto.releaseDt, 'yyyy-MM-dd HH:mm')}"></th:block></td>
|
|
<td><th:block th:if="${dto.fieldIvsgt eq 'F'}" th:text="${dto.fieldIvsgtDayHour}"></th:block></td>
|
|
<td><th:block th:if="${dto.fieldIvsgt eq 'C'}" th:text="${dto.pressurizedTimeTaken}"></th:block></td>
|
|
<td><th:block th:if="${dto.fieldIvsgt eq 'C'}" th:text="${dto.distance}"></th:block></td>
|
|
<td th:text="${dto.warrantReqTakeTime}"></td>
|
|
<td th:text="${dto.confiscationFrame}"></td>
|
|
<td th:text="${dto.confiscationWidth}"></td>
|
|
<td th:text="${dto.confiscationJo}"></td>
|
|
<td th:text="${dto.confiscationGae}"></td>
|
|
<td th:text="${dto.confiscationEtc}"></td>
|
|
</tr>
|
|
</th:block>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
<div class="row justify-content-between pt-1">
|
|
<div class="col-auto">
|
|
<button class="btn btn-success" id="cdsDownExcel">엑셀 다운로드</button>
|
|
</div>
|
|
<div class="col-auto">
|
|
<!--<button class="btn btn-primary" id="crackdownStatusAddBtn">등록</button>-->
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="modal fade" id="fishingBoatViewModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="fishingBoatViewModalLabel" aria-hidden="true">
|
|
<div class="modal-dialog modal-xxl modal-dialog-scrollable">
|
|
<div class="modal-content" id="fishingBoatViewModalContent">
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</main>
|
|
</div>
|
|
</html> |