불법조업 외국어선 작업중.
parent
ff359aaad7
commit
0bf8992a05
|
|
@ -75,7 +75,7 @@ public class InternationalCrimeArrestService extends BaseService {
|
||||||
ica.getSubInfo().setIcaKey(icaKey);
|
ica.getSubInfo().setIcaKey(icaKey);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if(ica.getSubInfo().getIcaKey()!=null){
|
if(ica.getSubInfo()!=null && ica.getSubInfo().getIcaKey()!=null){
|
||||||
icaSubInfoRepository.save(ica.getSubInfo());
|
icaSubInfoRepository.save(ica.getSubInfo());
|
||||||
}
|
}
|
||||||
return icaKey;
|
return icaKey;
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,183 @@
|
||||||
|
<!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 type="text/javascript" th:src="@{/js/faStatistics/unlawfulFishing/crackdownInfo.js}"></script>
|
||||||
|
</th:block>
|
||||||
|
<th:block layout:fragment="css">
|
||||||
|
<style>
|
||||||
|
|
||||||
|
</style>
|
||||||
|
</th:block>
|
||||||
|
<div layout:fragment="content">
|
||||||
|
<main>
|
||||||
|
<input type="hidden" id="menuKey" th:value="${menuKey}">
|
||||||
|
<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/crackdownInfo}" 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-2">
|
||||||
|
<select class="form-select form-select-sm " id="caseAgency" name="caseAgency">
|
||||||
|
<option value="">사건담당경찰서</option>
|
||||||
|
<th:block th:each="code:${session.commonCode.get('OG')}">
|
||||||
|
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
|
||||||
|
th:selected="${code.itemCd eq searchParams.caseAgency}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="col-2">
|
||||||
|
<input type="text" class="form-control form-control-sm" placeholder="사건담당경찰관">
|
||||||
|
</div>
|
||||||
|
<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>
|
||||||
|
<div class="row justify-content-end pb-1">
|
||||||
|
<div class="col-2">
|
||||||
|
<input type="text" class="form-control form-control-sm" placeholder="사건번호">
|
||||||
|
</div>
|
||||||
|
<div class="col-2">
|
||||||
|
<input type="text" class="form-control form-control-sm" placeholder="MMSI.NO">
|
||||||
|
</div>
|
||||||
|
<div class="col-2">
|
||||||
|
<input type="text" class="form-control form-control-sm" placeholder="나포장소">
|
||||||
|
</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="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>
|
||||||
|
<div class="col-1 d-grid gap-2">
|
||||||
|
<input type="submit" class="btn btn-primary" id="searchBtn" value="검색">
|
||||||
|
</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>순번</th>
|
||||||
|
<th>사건번호</th>
|
||||||
|
<th>MMSI.NO</th>
|
||||||
|
<th>나포일시</th>
|
||||||
|
<th>나포장소</th>
|
||||||
|
<th>사건담당경찰서</th>
|
||||||
|
<th>사건담당경찰관</th>
|
||||||
|
<th>단속경찰서</th>
|
||||||
|
<th>단속함정</th>
|
||||||
|
<th>침범유형</th>
|
||||||
|
<th>NLL침범여부</th>
|
||||||
|
<th>압송여부</th>
|
||||||
|
<th>작성자</th>
|
||||||
|
<th>작성일시</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody class="table-group-divider align-middle">
|
||||||
|
<th:block th:each="dto,cnt:${crackdownInfoList}">
|
||||||
|
<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>
|
||||||
|
<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>
|
||||||
|
</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="addCrackdownStatusBtn">등록</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="modal fade" id="csEditModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="csEditModalLabel" aria-hidden="true">
|
||||||
|
<div class="modal-dialog modal-xxl modal-dialog-scrollable">
|
||||||
|
<div class="modal-content" id="csEditModalContent">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="modal fade" id="csViewModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="csViewModalLabel" aria-hidden="true">
|
||||||
|
<div class="modal-dialog modal-xxl modal-dialog-scrollable">
|
||||||
|
<div class="modal-content" id="csViewModalContent">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
</div>
|
||||||
|
</html>
|
||||||
|
|
@ -7,13 +7,7 @@
|
||||||
</th:block>
|
</th:block>
|
||||||
<th:block layout:fragment="css">
|
<th:block layout:fragment="css">
|
||||||
<style>
|
<style>
|
||||||
#violationSelectDiv{
|
|
||||||
position: absolute;
|
|
||||||
top: 45px;
|
|
||||||
left: 555px;
|
|
||||||
display: none;
|
|
||||||
z-index: 10;
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
</th:block>
|
</th:block>
|
||||||
<div layout:fragment="content">
|
<div layout:fragment="content">
|
||||||
|
|
@ -39,15 +33,15 @@
|
||||||
<select class="form-select form-select-sm" name="year">
|
<select class="form-select form-select-sm" name="year">
|
||||||
<option value="">연도</option>
|
<option value="">연도</option>
|
||||||
<th:block th:each="year : ${yearList}">
|
<th:block th:each="year : ${yearList}">
|
||||||
<option th:value="${year}" th:text="${year}" th:selected="${searchParams.year eq year}"></option>
|
<option th:value="${year}" th:text="|${year}년|" th:selected="${searchParams.year eq year}"></option>
|
||||||
</th:block>
|
</th:block>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<select class="form-select form-select-sm" name="month">
|
<select class="form-select form-select-sm" name="month">
|
||||||
<option value="">월</option>
|
<option value="">월 선택</option>
|
||||||
<th:block th:each="month : ${#numbers.sequence(1, 12)}">
|
<th:block th:each="month : ${#numbers.sequence(1, 12)}">
|
||||||
<option th:value="${month}" th:text="${month}" th:selected="${searchParams.month eq month}"></option>
|
<option th:value="${month}" th:text="|${month}월|" th:selected="${searchParams.month eq month}"></option>
|
||||||
</th:block>
|
</th:block>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -56,41 +50,18 @@
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-11">
|
<div class="col-11">
|
||||||
<div class="row justify-content-end pb-1">
|
<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">
|
<div class="col-2">
|
||||||
<input class="form-control form-control-sm" name="napoSeaPointDetail" id="napoSeaPointDetail" placeholder="위반장소" th:value="${searchParams.napoSeaPointDetail}">
|
<select class="form-select form-select-sm " id="caseAgency" name="caseAgency">
|
||||||
</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>
|
<option value="">사건담당경찰서</option>
|
||||||
<th:block th:each="code:${session.commonCode.get('OG')}">
|
<th:block th:each="code:${session.commonCode.get('OG')}">
|
||||||
<option th:if="${code.useChk eq 'T'}" th:value="${code.itemCd}" th:text="${code.itemValue}"
|
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
|
||||||
th:selected="${code.itemCd eq searchParams.caseAgency}"></option>
|
th:selected="${code.itemCd eq searchParams.caseAgency}"></option>
|
||||||
</th:block>
|
</th:block>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-2">
|
||||||
|
<input type="text" class="form-control form-control-sm" placeholder="사건담당경찰관">
|
||||||
</div>
|
</div>
|
||||||
<div class="row justify-content-end pb-1">
|
|
||||||
<div class="col-2">
|
<div class="col-2">
|
||||||
<select class="form-select form-select-sm" name="crackdownPolice" id="searchFormPolice">
|
<select class="form-select form-select-sm" name="crackdownPolice" id="searchFormPolice">
|
||||||
<option value="">단속경찰서</option>
|
<option value="">단속경찰서</option>
|
||||||
|
|
@ -110,258 +81,32 @@
|
||||||
</th:block>
|
</th:block>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row justify-content-end pb-1">
|
||||||
<div class="col-2">
|
<div class="col-2">
|
||||||
<input class="form-control form-control-sm" name="distance" id="distance" placeholder="거리" th:value="${searchParams.distance}">
|
<input type="text" class="form-control form-control-sm" placeholder="사건번호">
|
||||||
</div>
|
</div>
|
||||||
<div class="col-2">
|
<div class="col-2">
|
||||||
<select class="form-select form-select-sm" name="processStatus" id="processStatus">
|
<input type="text" class="form-control form-control-sm" placeholder="MMSI.NO">
|
||||||
<option value="">처리현황</option>
|
</div>
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('PR')}">
|
<div class="col-2">
|
||||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
|
<input type="text" class="form-control form-control-sm" placeholder="나포장소">
|
||||||
th:selected="${commonCode.itemCd eq searchParams.processStatus}"></option>
|
|
||||||
</th:block>
|
|
||||||
</select>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-4">
|
<div class="col-4">
|
||||||
<div class="input-group w-auto input-daterange" id="dateSelectorDiv">
|
<div class="input-group w-auto input-daterange" id="dateSelectorDiv">
|
||||||
<select class="form-select form-select-sm w-30" name="dateSelector">
|
<select class="form-select form-select-sm w-30" name="dateSelector">
|
||||||
<option value="">조건선택</option>
|
<option value="">조건선택</option>
|
||||||
<option value="napoDt" th:selected="${searchParams.dateSelector eq 'napoDt'}">나포일시</option>
|
<option value="napoDt" th:selected="${searchParams.dateSelector eq 'napoDt'}">나포일시</option>
|
||||||
<option value="evictionDt" th:selected="${searchParams.dateSelector eq 'evictionDt'}">퇴거일</option>
|
<option value="wrtDt" th:selected="${searchParams.dateSelector eq 'wrtDt'}">작성일시</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>
|
</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="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}">
|
<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>
|
||||||
</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>
|
||||||
<div class="col-1 d-grid gap-2">
|
<div class="col-1 d-grid gap-2">
|
||||||
<input type="submit" class="btn btn-primary" id="searchBtn" value="검색">
|
<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>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -374,166 +119,20 @@
|
||||||
<table class="table table-sm table-hover table-bordered text-nowrap" id="cdsTable">
|
<table class="table table-sm table-hover table-bordered text-nowrap" id="cdsTable">
|
||||||
<thead class="align-middle">
|
<thead class="align-middle">
|
||||||
<tr class="table-secondary">
|
<tr class="table-secondary">
|
||||||
<th rowspan="4">순번</th>
|
<th>순번</th>
|
||||||
<th rowspan="4">나포일시</th>
|
<th>사건번호</th>
|
||||||
<th rowspan="4">위반내용</th>
|
<th>MMSI.NO</th>
|
||||||
<th rowspan="4">위반장소</th>
|
<th>나포일시</th>
|
||||||
<th colspan="4">침범유형</th>
|
<th>나포장소</th>
|
||||||
<th rowspan="3">NLL</th>
|
<th>사건담당경찰서</th>
|
||||||
<th colspan="7">특수공무집행방해</th>
|
<th>사건담당경찰관</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>NLL침범여부</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>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody class="table-group-divider align-middle">
|
<tbody class="table-group-divider align-middle">
|
||||||
|
|
@ -541,119 +140,11 @@
|
||||||
<tr class="crackdownStatusTr" th:data-cdskey="${dto.cdsKey}" data-modaltype="viewOnly">
|
<tr class="crackdownStatusTr" th:data-cdskey="${dto.cdsKey}" data-modaltype="viewOnly">
|
||||||
<td th:text="${cnt.count}"></td>
|
<td th:text="${cnt.count}"></td>
|
||||||
<td th:text="${#temporals.format(dto.napoDt, 'yyyy-MM-dd HH:mm')}"></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>
|
<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) 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: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>
|
<div th:text="${dto.napoSeaPointDetail}"></div>
|
||||||
</td>
|
</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>
|
</tr>
|
||||||
</th:block>
|
</th:block>
|
||||||
</tbody>
|
</tbody>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,183 @@
|
||||||
|
<!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 type="text/javascript" th:src="@{/js/faStatistics/unlawfulFishing/crackdownInfo.js}"></script>
|
||||||
|
</th:block>
|
||||||
|
<th:block layout:fragment="css">
|
||||||
|
<style>
|
||||||
|
|
||||||
|
</style>
|
||||||
|
</th:block>
|
||||||
|
<div layout:fragment="content">
|
||||||
|
<main>
|
||||||
|
<input type="hidden" id="menuKey" th:value="${menuKey}">
|
||||||
|
<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/crackdownInfo}" 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-2">
|
||||||
|
<select class="form-select form-select-sm " id="caseAgency" name="caseAgency">
|
||||||
|
<option value="">사건담당경찰서</option>
|
||||||
|
<th:block th:each="code:${session.commonCode.get('OG')}">
|
||||||
|
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
|
||||||
|
th:selected="${code.itemCd eq searchParams.caseAgency}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="col-2">
|
||||||
|
<input type="text" class="form-control form-control-sm" placeholder="사건담당경찰관">
|
||||||
|
</div>
|
||||||
|
<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>
|
||||||
|
<div class="row justify-content-end pb-1">
|
||||||
|
<div class="col-2">
|
||||||
|
<input type="text" class="form-control form-control-sm" placeholder="사건번호">
|
||||||
|
</div>
|
||||||
|
<div class="col-2">
|
||||||
|
<input type="text" class="form-control form-control-sm" placeholder="MMSI.NO">
|
||||||
|
</div>
|
||||||
|
<div class="col-2">
|
||||||
|
<input type="text" class="form-control form-control-sm" placeholder="나포장소">
|
||||||
|
</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="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>
|
||||||
|
<div class="col-1 d-grid gap-2">
|
||||||
|
<input type="submit" class="btn btn-primary" id="searchBtn" value="검색">
|
||||||
|
</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>순번</th>
|
||||||
|
<th>사건번호</th>
|
||||||
|
<th>MMSI.NO</th>
|
||||||
|
<th>나포일시</th>
|
||||||
|
<th>나포장소</th>
|
||||||
|
<th>사건담당경찰서</th>
|
||||||
|
<th>사건담당경찰관</th>
|
||||||
|
<th>단속경찰서</th>
|
||||||
|
<th>단속함정</th>
|
||||||
|
<th>침범유형</th>
|
||||||
|
<th>NLL침범여부</th>
|
||||||
|
<th>압송여부</th>
|
||||||
|
<th>작성자</th>
|
||||||
|
<th>작성일시</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody class="table-group-divider align-middle">
|
||||||
|
<th:block th:each="dto,cnt:${crackdownInfoList}">
|
||||||
|
<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>
|
||||||
|
<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>
|
||||||
|
</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="addCrackdownStatusBtn">등록</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="modal fade" id="csEditModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="csEditModalLabel" aria-hidden="true">
|
||||||
|
<div class="modal-dialog modal-xxl modal-dialog-scrollable">
|
||||||
|
<div class="modal-content" id="csEditModalContent">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="modal fade" id="csViewModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="csViewModalLabel" aria-hidden="true">
|
||||||
|
<div class="modal-dialog modal-xxl modal-dialog-scrollable">
|
||||||
|
<div class="modal-content" id="csViewModalContent">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
</div>
|
||||||
|
</html>
|
||||||
|
|
@ -0,0 +1,112 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ko" xmlns:th="http://www.thymeleaf.org">
|
||||||
|
<div class="modal-header bg-dark">
|
||||||
|
<h5 class="modal-title text-white" id="csEditModalLabel" th:text="${crackdownInfo.cdsKey eq null?'단속현황 작성':'단속현황 수정'}"></h5>
|
||||||
|
<button type="button" class="btn-close f-invert" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<form action="#" method="post" id="csEditForm">
|
||||||
|
<input type="hidden" name="cdsKey" id="cdsKey" th:value="${crackdownInfo.cdsKey}">
|
||||||
|
<input type="hidden" class="status" name="status" id="infoStatus" th:value="${crackdownInfo.status}">
|
||||||
|
<input type="hidden" name="wrtOrgan" th:value="${crackdownInfo.wrtOrgan}">
|
||||||
|
<input type="hidden" name="wrtPart" th:value="${crackdownInfo.wrtPart}">
|
||||||
|
<input type="hidden" name="wrtUserSeq" th:value="${crackdownInfo.wrtUserSeq}">
|
||||||
|
<input type="hidden" name="wrtUserGrd" th:value="${crackdownInfo.wrtUserGrd}">
|
||||||
|
<input type="hidden" name="wrtUserNm" th:value="${crackdownInfo.wrtUserNm}">
|
||||||
|
<input type="hidden" name="wrtDt" th:value="${#temporals.format(crackdownInfo.wrtDt, 'yyyy-MM-dd HH:mm:ss')}">
|
||||||
|
<div class="row mb-1">
|
||||||
|
<label for="caseNum" class="col-sm-1 col-form-label col-form-label-sm text-center">사건번호</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input type="text" class="form-control form-control-sm " id="caseNum" name="caseNum" th:value="${crackdownInfo.caseNum}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center">MMSI.NO</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control form-control-sm" name="mmsi" th:value="${crackdownInfo.mmsi}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row mb-1">
|
||||||
|
<label for="caseAgency" class="col-sm-1 col-form-label col-form-label-sm text-center">사건담당경찰서</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<select class="form-select form-select-sm " id="caseAgency" name="caseAgency">
|
||||||
|
<option value="">선택</option>
|
||||||
|
<th:block th:each="code:${session.commonCode.get('OG')}">
|
||||||
|
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq crackdownInfo.caseAgency}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<label for="casePoliceOfficer" class="col-sm-1 col-form-label col-form-label-sm text-center fs-13">사건담당경찰관</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input type="text" class="form-control form-control-sm " id="casePoliceOfficer" name="casePoliceOfficer" th:value="${crackdownInfo.casePoliceOfficer}">
|
||||||
|
</div>
|
||||||
|
<label for="crackdownPolice" class="col-sm-1 col-form-label col-form-label-sm text-center">단속경찰서</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<select class="form-select form-select-sm crackdownPolice" name="crackdownPolice" id="crackdownPolice">
|
||||||
|
<option value="">선택</option>
|
||||||
|
<th:block th:each="code:${cpoList}">
|
||||||
|
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq crackdownInfo.crackdownPolice}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<label for="crackdownBoat" class="col-sm-1 col-form-label col-form-label-sm text-center">단속함정</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<select class="form-select form-select-sm crackdownBoat" name="crackdownBoat" id="crackdownBoat" th:data-boatcode="${crackdownInfo.crackdownBoat}">
|
||||||
|
<option value="">단속경찰서를 선택해주세요.</option>
|
||||||
|
<th:block th:each="code:${session.commonCode.get(crackdownInfo.crackdownPolice)}">
|
||||||
|
<th:block th:if="${code.useChk eq 'T'}">
|
||||||
|
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq crackdownInfo.crackdownBoat}"></option>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row mb-1">
|
||||||
|
<label for="invasionType" class="col-sm-1 col-form-label col-form-label-sm text-center">침범유형</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<select class="form-select form-select-sm" name="invasionType" id="invasionType">
|
||||||
|
<option value="">선택</option>
|
||||||
|
<th:block th:each="code:${session.commonCode.get('IST')}">
|
||||||
|
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
|
||||||
|
th:selected="${code.itemCd eq crackdownInfo.invasionType}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<label for="nll" class="col-sm-1 col-form-label col-form-label-sm text-center">NLL</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<select class="form-select form-select-sm" name="nll" id="nll">
|
||||||
|
<option value="">선택</option>
|
||||||
|
<option value="Y" th:selected="${crackdownInfo.nll == 'Y'}">O</option>
|
||||||
|
<option value="N" th:selected="${crackdownInfo.nll == 'N'}">X</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<label for="fieldIvsgt" class="col-sm-1 col-form-label col-form-label-sm text-center">압송/현장조사</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<select class="form-select form-select-sm " name="fieldIvsgt" id="fieldIvsgt">
|
||||||
|
<option value="">선택</option>
|
||||||
|
<option value="C" th:selected="${crackdownInfo.fieldIvsgt eq 'C'}">압송</option>
|
||||||
|
<option value="F" th:selected="${crackdownInfo.fieldIvsgt eq 'F'}">현장조사</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row mb-1">
|
||||||
|
<label for="napoDate" class="col-sm-1 col-form-label col-form-label-sm text-center">나포일시</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<div class="input-group">
|
||||||
|
<input type="text" class="form-control form-control-sm dateSelector" id="napoDate" placeholder="yyyy-mm-dd" th:value="${#temporals.format(crackdownInfo.napoDt, 'yyyy-MM-dd')}" autocomplete="off">
|
||||||
|
<input type="text" class="form-control form-control-sm timeInputer" id="napoTime" placeholder="hh:mm" th:value="${#temporals.format(crackdownInfo.napoDt, 'HH:mm')}" autocomplete="off">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<label for="napoSeaPointLon" class="col-sm-1 col-form-label col-form-label-sm text-center">나포장소</label>
|
||||||
|
<div class="col-sm-5">
|
||||||
|
<div class="input-group w-auto">
|
||||||
|
<input type="text" class="form-control form-control-sm w-25 " id="napoSeaPointLon" name="napoSeaPointLon" placeholder="00 . 00 . 00N" th:value="${crackdownInfo.napoSeaPointLon}">
|
||||||
|
<input type="text" class="form-control form-control-sm w-25 " id="napoSeaPointLat" name="napoSeaPointLat" placeholder="000-00.00E" th:value="${crackdownInfo.napoSeaPointLat}">
|
||||||
|
<input type="text" class="form-control form-control-sm w-50 " id="napoSeaPointDetail" name="napoSeaPointDetail" placeholder="00도 00방 00해리, 어업협정선 내측 00해리" th:value="${crackdownInfo.napoSeaPointDetail}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer bg-light">
|
||||||
|
<button type="button" class="btn btn-warning saveEditInfoBtn" data-status="DST001">임시저장</button>
|
||||||
|
<button type="button" class="btn btn-primary saveEditInfoBtn" data-status="DST007">저장</button>
|
||||||
|
</div>
|
||||||
|
|
@ -0,0 +1,183 @@
|
||||||
|
<!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 type="text/javascript" th:src="@{/js/faStatistics/unlawfulFishing/crackdownInfo.js}"></script>
|
||||||
|
</th:block>
|
||||||
|
<th:block layout:fragment="css">
|
||||||
|
<style>
|
||||||
|
|
||||||
|
</style>
|
||||||
|
</th:block>
|
||||||
|
<div layout:fragment="content">
|
||||||
|
<main>
|
||||||
|
<input type="hidden" id="menuKey" th:value="${menuKey}">
|
||||||
|
<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/crackdownInfo}" 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-2">
|
||||||
|
<select class="form-select form-select-sm " id="caseAgency" name="caseAgency">
|
||||||
|
<option value="">사건담당경찰서</option>
|
||||||
|
<th:block th:each="code:${session.commonCode.get('OG')}">
|
||||||
|
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
|
||||||
|
th:selected="${code.itemCd eq searchParams.caseAgency}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="col-2">
|
||||||
|
<input type="text" class="form-control form-control-sm" placeholder="사건담당경찰관">
|
||||||
|
</div>
|
||||||
|
<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>
|
||||||
|
<div class="row justify-content-end pb-1">
|
||||||
|
<div class="col-2">
|
||||||
|
<input type="text" class="form-control form-control-sm" placeholder="사건번호">
|
||||||
|
</div>
|
||||||
|
<div class="col-2">
|
||||||
|
<input type="text" class="form-control form-control-sm" placeholder="MMSI.NO">
|
||||||
|
</div>
|
||||||
|
<div class="col-2">
|
||||||
|
<input type="text" class="form-control form-control-sm" placeholder="나포장소">
|
||||||
|
</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="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>
|
||||||
|
<div class="col-1 d-grid gap-2">
|
||||||
|
<input type="submit" class="btn btn-primary" id="searchBtn" value="검색">
|
||||||
|
</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>순번</th>
|
||||||
|
<th>사건번호</th>
|
||||||
|
<th>MMSI.NO</th>
|
||||||
|
<th>나포일시</th>
|
||||||
|
<th>나포장소</th>
|
||||||
|
<th>사건담당경찰서</th>
|
||||||
|
<th>사건담당경찰관</th>
|
||||||
|
<th>단속경찰서</th>
|
||||||
|
<th>단속함정</th>
|
||||||
|
<th>침범유형</th>
|
||||||
|
<th>NLL침범여부</th>
|
||||||
|
<th>압송여부</th>
|
||||||
|
<th>작성자</th>
|
||||||
|
<th>작성일시</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody class="table-group-divider align-middle">
|
||||||
|
<th:block th:each="dto,cnt:${crackdownInfoList}">
|
||||||
|
<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>
|
||||||
|
<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>
|
||||||
|
</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="addCrackdownStatusBtn">등록</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="modal fade" id="csEditModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="csEditModalLabel" aria-hidden="true">
|
||||||
|
<div class="modal-dialog modal-xxl modal-dialog-scrollable">
|
||||||
|
<div class="modal-content" id="csEditModalContent">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="modal fade" id="csViewModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="csViewModalLabel" aria-hidden="true">
|
||||||
|
<div class="modal-dialog modal-xxl modal-dialog-scrollable">
|
||||||
|
<div class="modal-content" id="csViewModalContent">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
</div>
|
||||||
|
</html>
|
||||||
|
|
@ -0,0 +1,606 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ko" xmlns:th="http://www.thymeleaf.org">
|
||||||
|
<div class="modal-header bg-dark">
|
||||||
|
<h5 class="modal-title text-white" id="fishingBoatEditModalLabel">불법조업 외국어선 상세정보</h5>
|
||||||
|
<button type="button" class="btn-close f-invert" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<ul class="nav nav-tabs" id="fishingBoatTab" role="tablist">
|
||||||
|
<li class="nav-item" role="presentation">
|
||||||
|
<button class="nav-link active" id="fishingBoatViewTab" data-bs-toggle="tab" data-bs-target="#fishingBoatViewTabPanel" type="button" role="tab" aria-controls="fishingBoatViewTabPanel" aria-selected="true">최신버전</button>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item" role="presentation" th:unless="${#lists.size(crackdownStatus.crackdownStatusVersionList) <= 1}">
|
||||||
|
<button class="nav-link" id="fishingBoatVersionTab" data-bs-toggle="tab" data-bs-target="#fishingBoatVersionTabPanel" type="button" role="tab" aria-controls="fishingBoatHistoryTabPanel" aria-selected="false">수정이력</button>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<div class="tab-content bg-white border border-top-0">
|
||||||
|
<div class="tab-pane fade p-2 mx-2 show active" id="fishingBoatViewTabPanel" role="tabpanel" aria-labelledby="fishingBoatViewTab" tabindex="0">
|
||||||
|
<input type="hidden" class="cdsKey" th:value="${crackdownStatus.cdsKey}">
|
||||||
|
<input type="hidden" class="fbKey" th:value="${crackdownStatus.fishingBoat.fbKey}">
|
||||||
|
<div class="row py-2">
|
||||||
|
<div class="col-12">
|
||||||
|
<div class="row justify-content-end">
|
||||||
|
<div class="col-auto">
|
||||||
|
<th:block th:text="|최종수정일: ${#temporals.format(crackdownStatus.fishingBoat.wrtDt, 'yyyy-MM-dd HH:mm')}|"></th:block>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row justify-content-between">
|
||||||
|
<div class="col-auto">■ 단속정보</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<th:block th:each="code:${session.commonCode.get('DST')}">
|
||||||
|
<th:block th:if="${crackdownStatus.status eq code.itemCd}" th:text="|상태: ${code.itemValue}|"></th:block>
|
||||||
|
</th:block>
|
||||||
|
<th:block th:if="${#lists.size(crackdownStatus.crackdownStatusVersionList) <= 1}">
|
||||||
|
(수정 이력 없음)
|
||||||
|
</th:block>
|
||||||
|
<th:block th:unless="${#lists.size(crackdownStatus.crackdownStatusVersionList) <= 1}">
|
||||||
|
<th:block th:text="${#strings.concat('(', #lists.size(crackdownStatus.crackdownStatusVersionList), '차 수정본)') }"></th:block>
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">사건번호</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.caseNum}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">선명</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.fishingBoat.boatNameKr}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">위반사항</label>
|
||||||
|
<div class="col-sm-5">
|
||||||
|
<div class="row">
|
||||||
|
<th:block th:each="code:${vtList}">
|
||||||
|
<th:block th:each="violation:${crackdownStatus.violationList}">
|
||||||
|
<div class="col-6" th:if="${code.itemCd eq violation.violation}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${code.itemValue}"/>
|
||||||
|
</div>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">사건담당경찰서</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<th:block th:each="code:${session.commonCode.get('OG')}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownStatus.caseAgency}" th:value="${code.itemValue}">
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center fs-11">사건담당경찰관</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.casePoliceOfficer}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">단속경찰서</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<th:block th:each="code:${cpoList}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownStatus.crackdownPolice}" th:value="${code.itemValue}">
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">단속함정</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<th:block th:each="code:${boatList}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownStatus.crackdownBoat}" th:value="${code.itemValue}">
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">MMSI.NO</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.mmsi}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">침범유형</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<th:block th:each="code:${session.commonCode.get('IST')}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownStatus.invasionType}" th:value="${code.itemValue}">
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">NLL</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.nll eq 'Y'?'O':(crackdownStatus.nll eq 'N'?'X':crackdownStatus.nll)}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">압송/현장조사</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.fieldIvsgt eq 'C'?'압송':(crackdownStatus.fieldIvsgt eq 'F'?'현장조사':crackdownStatus.fieldIvsgt)}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">나포일시</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${#temporals.format(crackdownStatus.napoDt, 'yyyy-MM-dd hh:mm')}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">나포장소</label>
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="|${crackdownStatus.napoSeaPointLon} ${crackdownStatus.napoSeaPointLat} ${crackdownStatus.napoSeaPointDetail}|">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<th:block th:with="damageFlag=${crackdownStatus.obstrExspdCnt ne 0 ||
|
||||||
|
crackdownStatus.personDamageCnt ne 0 ||
|
||||||
|
crackdownStatus.personDamageAmount ne 0 ||
|
||||||
|
crackdownStatus.personDamageDetail ne null ||
|
||||||
|
crackdownStatus.materialDamageCnt ne 0 ||
|
||||||
|
crackdownStatus.materialDamageAmount ne 0 ||
|
||||||
|
crackdownStatus.materialDamageDetail ne null}">
|
||||||
|
<th:block th:if="${damageFlag}">
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center bg-lightB2">특수공무집행방해</label>
|
||||||
|
<div class="col-sm-11">
|
||||||
|
<div class="row border-bottom border-secondary">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center bg-lightB1">인적피해</label>
|
||||||
|
<div class="col-sm-11">
|
||||||
|
<div class="row border-bottom border-secondary">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">발생건수</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||||
|
<th:block th:if="${crackdownStatus.obstrExspdCnt>0}" th:text="|${crackdownStatus.obstrExspdCnt}건|"></th:block>
|
||||||
|
</label>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">피해인원</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||||
|
<th:block th:if="${crackdownStatus.personDamageCnt>0}" th:text="|${crackdownStatus.personDamageCnt}인|"></th:block>
|
||||||
|
</label>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">피해액</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||||
|
<th:block th:if="${crackdownStatus.personDamageAmount>0}" th:text="|${crackdownStatus.personDamageAmount}만원|"></th:block>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">상세내용</label>
|
||||||
|
<div class="col-sm-11" th:utext="${crackdownStatus.personDamageDetail}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center bg-lightB1">물적피해</label>
|
||||||
|
<div class="col-sm-11">
|
||||||
|
<div class="row border-bottom border-secondary">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">발생건수</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||||
|
<th:block th:if="${crackdownStatus.materialDamageCnt>0}" th:text="|${crackdownStatus.materialDamageCnt}건|"></th:block>
|
||||||
|
</label>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">피해액</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||||
|
<th:block th:if="${crackdownStatus.materialDamageAmount>0}" th:text="|${crackdownStatus.materialDamageAmount}만원|"></th:block>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">상세내용</label>
|
||||||
|
<div class="col-sm-11" th:utext="${crackdownStatus.materialDamageDetail}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
<th:block th:with="catchFlag=${crackdownStatus.fishingBoat.catchFishSpecies ne null ||
|
||||||
|
crackdownStatus.fishingBoat.catchCnt ne 0}">
|
||||||
|
<th:block th:if="${catchFlag}">
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center bg-lightB1">어획물축소기재</label>
|
||||||
|
<div class="col-sm-11">
|
||||||
|
<div class="row">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">어종</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start"
|
||||||
|
th:text="${crackdownStatus.fishingBoat.catchFishSpecies}"></label>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">수량</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||||
|
<th:block th:if="${crackdownStatus.fishingBoat.catchCnt>0}" th:text="|${crackdownStatus.fishingBoat.catchCnt}kg|"></th:block>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
<th:block th:if="${!#lists.isEmpty(crackdownStatus.sailorList)}">
|
||||||
|
<div class="row py-2">
|
||||||
|
<div class="col-auto">■ 선장·선주 정보</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<th:block th:each="sailor:${crackdownStatus.sailorList}">
|
||||||
|
<th:block th:if="${sailor.position eq 'POS001'}">
|
||||||
|
<div class="col-6" id="captainDiv">
|
||||||
|
<div class="row border border-secondary">
|
||||||
|
<label class="col-sm-2 fw-bold bg-label border-end border-secondary col-form-label col-form-label-sm py-2 border-end border-secondary text-center">선장명</label>
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<div class="input-group w-auto">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.sailorNameKr}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.sailorNameCn}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.sailorNamePinyin}">
|
||||||
|
</div>
|
||||||
|
<th:block th:unless="${#lists.isEmpty(sailor.fileList)}">
|
||||||
|
<div id="fileDownloadDiv" class="d-none">
|
||||||
|
<div class="row justify-content-end">
|
||||||
|
<div class="col-auto">
|
||||||
|
<th:block th:each="file:${sailor.fileList}">
|
||||||
|
<a href="#" class="fileDownLink" data-board="sailor"
|
||||||
|
th:data-parentkey="${file.sailorKey}" th:data-fileseq="${file.fileSeq}" th:text="|${file.origNm}.${file.fileExtn}|"></a>
|
||||||
|
<br>
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<th:block th:if="${#lists.isEmpty(sailor.fileList)}">
|
||||||
|
<div>사진 없음</div>
|
||||||
|
</th:block>
|
||||||
|
<th:block th:unless="${#lists.isEmpty(sailor.fileList)}">
|
||||||
|
<img id="captainPhoto" class="w-100" alt="선장 사진" th:src="|/file/fileDisplay?board=sailor&parentKey=${sailor.sailorKey}&fileSeq=1|">
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-2 fw-bold bg-label border-end border-secondary col-form-label col-form-label-sm py-2 border-end border-secondary text-center">생년월일</label>
|
||||||
|
<div class="col-sm-4 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.birthdate}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-2 fw-bold bg-label border-end border-secondary col-form-label col-form-label-sm py-2 border-end border-secondary text-center">연락처</label>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.sailorContact}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-2 fw-bold bg-label border-end border-secondary col-form-label col-form-label-sm py-2 border-end border-secondary text-center">주소</label>
|
||||||
|
<div class="col-sm-4 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.residence}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-2 fw-bold bg-label border-end border-secondary col-form-label col-form-label-sm py-2 border-end border-secondary text-center">재범횟수</label>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.arrestHistory}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-2 fw-bold bg-label border-end border-secondary col-form-label col-form-label-sm py-2 border-end border-secondary text-center">비고</label>
|
||||||
|
<div class="col-sm-10">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.note}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
<th:block th:each="sailor:${crackdownStatus.sailorList}">
|
||||||
|
<th:block th:if="${sailor.position eq 'POS004'}">
|
||||||
|
<div class="col-6" id="shipOwnerDiv">
|
||||||
|
<div class="row border border-secondary border-start-0">
|
||||||
|
<label class="col-sm-2 fw-bold bg-label border-end border-secondary col-form-label col-form-label-sm py-2 border-end border-secondary text-center">선주명</label>
|
||||||
|
<div class="col-sm-10">
|
||||||
|
<div class="input-group w-auto">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.sailorNameKr}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.sailorNameCn}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.sailorNamePinyin}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-start-0 border-top-0">
|
||||||
|
<label class="col-sm-2 fw-bold bg-label border-end border-secondary col-form-label col-form-label-sm py-2 border-end border-secondary text-center">생년월일</label>
|
||||||
|
<div class="col-sm-4 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.birthdate}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-2 fw-bold bg-label border-end border-secondary col-form-label col-form-label-sm py-2 border-end border-secondary text-center">연락처</label>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.sailorContact}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-start-0 border-top-0">
|
||||||
|
<label class="col-sm-2 fw-bold bg-label border-end border-secondary col-form-label col-form-label-sm py-2 border-end border-secondary text-center">주소</label>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.residence}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-start-0 border-top-0">
|
||||||
|
<label class="col-sm-2 fw-bold bg-label border-end border-secondary col-form-label col-form-label-sm py-2 border-end border-secondary text-center">비고</label>
|
||||||
|
<div class="col-sm-10">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.note}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
</th:block>
|
||||||
|
<div class="row py-2">
|
||||||
|
<div class="col-auto">■ 어선 정보</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">선명</label>
|
||||||
|
<div class="col-sm-5 border-end border-secondary">
|
||||||
|
<div class="input-group w-auto">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.fishingBoat.boatNameKr}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.fishingBoat.boatNameCn}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">허가번호</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.fishingBoat.permitNum}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">국적</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.fishingBoat.nationality}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">승선원</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary" th:if="${crackdownStatus.fishingBoat.sailorCnt>0}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="|${crackdownStatus.fishingBoat.sailorCnt}인|">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">톤수</label>
|
||||||
|
<div class="col-sm-2" th:if="${crackdownStatus.fishingBoat.tonCnt>0}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="|${crackdownStatus.fishingBoat.tonCnt}t|">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">선종</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<th:block th:each="code:${ftList}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownStatus.fishingBoat.fisheryType}" th:value="${code.itemValue}">
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">선질</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<th:block th:each="code:${bmList}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownStatus.fishingBoat.boatMaterial}" th:value="${code.itemValue}">
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">선적지</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<div class="input-group w-auto">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.fishingBoat.boatNnySung}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.fishingBoat.boatNnySi}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">범칙물</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||||
|
<th:block th:if="${crackdownStatus.fishingBoat.offenseType ne null}" th:text="${crackdownStatus.fishingBoat.offenseType}"></th:block>
|
||||||
|
<th:block th:if="${crackdownStatus.fishingBoat.offenseWeight>0}" th:text="|${crackdownStatus.fishingBoat.offenseWeight}kg|"></th:block>
|
||||||
|
</label>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">범칙물 폐기량</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||||
|
<th:block th:if="${crackdownStatus.fishingBoat.offenseIllegalWasteQuantity>0}" th:text="|${crackdownStatus.fishingBoat.offenseIllegalWasteQuantity}kg|"></th:block>
|
||||||
|
</label>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">범칙물 위판량</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||||
|
<th:block th:if="${crackdownStatus.fishingBoat.offenseQuantity>0}" th:text="|${crackdownStatus.fishingBoat.offenseQuantity}kg|"></th:block>
|
||||||
|
</label>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center fs-11">범칙물 위판금액</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||||
|
<th:block th:if="${crackdownStatus.fishingBoat.offenseAmount>0}" th:text="|${crackdownStatus.fishingBoat.offenseAmount}만원|"></th:block>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">담보금 미납액</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||||
|
<th:block th:if="${crackdownStatus.fishingBoat.damboUnpaidAmount>0}" th:text="|${crackdownStatus.fishingBoat.damboUnpaidAmount}만원|"></th:block>
|
||||||
|
</label>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">담보금 납부액</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||||
|
<th:block th:if="${crackdownStatus.fishingBoat.damboPayment>0}" th:text="|${crackdownStatus.fishingBoat.damboPayment}만원|"></th:block>
|
||||||
|
</label>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center fs-11">담보금 납부일시</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.fishingBoat.paymentPaymentDt}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">압수어구</label>
|
||||||
|
<label class="col-sm-11 col-form-label col-form-label-sm py-2 text-start">
|
||||||
|
<th:block th:if="${!#strings.isEmpty(crackdownStatus.fishingBoat.confiscationFrame)}" th:text="|틀: ${crackdownStatus.fishingBoat.confiscationFrame}|"></th:block>
|
||||||
|
<th:block th:if="${!#strings.isEmpty(crackdownStatus.fishingBoat.confiscationWidth)}" th:text="|폭: ${crackdownStatus.fishingBoat.confiscationWidth}|"></th:block>
|
||||||
|
<th:block th:if="${!#strings.isEmpty(crackdownStatus.fishingBoat.confiscationJo)}" th:text="|조: ${crackdownStatus.fishingBoat.confiscationJo}|"></th:block>
|
||||||
|
<th:block th:if="${!#strings.isEmpty(crackdownStatus.fishingBoat.confiscationGae)}" th:text="|개: ${crackdownStatus.fishingBoat.confiscationGae}|"></th:block>
|
||||||
|
<th:block th:if="${!#strings.isEmpty(crackdownStatus.fishingBoat.confiscationEtc)}" th:text="|기타: ${crackdownStatus.fishingBoat.confiscationEtc}|"></th:block>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="row py-2">
|
||||||
|
<div class="col-auto">■ 처리 결과</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">처리현황</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<th:block th:each="code:${prList}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownStatus.processResult.processStatus}" th:value="${code.itemValue}">
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">수사중지 여부</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.isIvsgtStop eq 'Y'?'중지':(crackdownStatus.processResult.isIvsgtStop eq 'N'?'수사중':crackdownStatus.processResult.isIvsgtStop)}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">선고법원</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start" th:text="${crackdownStatus.processResult.sentencingCourt}"></label>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">선고내용</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 text-start" th:text="${crackdownStatus.processResult.sentencingDetail}"></label>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">압송소요시간</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.pressurizedTimeTaken}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">압송거리</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||||
|
<th:block th:if="${!#strings.isEmpty(crackdownStatus.distance)}" th:text="|${crackdownStatus.distance}해리|"></th:block>
|
||||||
|
</label>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center fs-10">영장청구 소요시간</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.warrantReqTakeTime}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">나포일시</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" id="napoDt" readonly th:value="${#temporals.format(crackdownStatus.napoDt, 'yyyy-MM-dd hh:mm')}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">석방일시</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" id="releaseDt" readonly th:value="${#temporals.format(crackdownStatus.processResult.releaseDt, 'yyyy-MM-dd hh:mm')}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">소요시간</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" id="releaseToNapo" readonly>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">위탁시작일</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.consignmentStartDt}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">위탁종료일</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.consignmentEndDt}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">퇴거일</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.evictionDt}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">직접인계일</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.directHandoverDt}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">인계 해점</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<div class="input-group w-auto">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.handoverSeaPointLon}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.handoverSeaPointLat}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">인계 함정</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.handoverBoat}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">중측 인수함정</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.middleTakeoverBoat}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">몰수확정일</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.confiscationDt}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">폐선일</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.boatDisposalDt}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">폐선종류</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<th:block th:each="code:${bdtList}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownStatus.processResult.boatDisposalType}" th:value="${code.itemValue}">
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">침몰일</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.exileDt}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">환부일</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.returnDt}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">선장구속</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<th:block th:each="sailor:${crackdownStatus.sailorList}">
|
||||||
|
<th:block th:if="${sailor.position eq 'POS001'}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.isRestriction eq 'Y'?'구속':'불구속'}">
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">항해장구속</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<th:block th:each="sailor:${crackdownStatus.sailorList}">
|
||||||
|
<th:block th:if="${sailor.position eq 'POS002'}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.isRestriction eq 'Y'?'구속':'불구속'}">
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">기관장구속</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<th:block th:each="sailor:${crackdownStatus.sailorList}">
|
||||||
|
<th:block th:if="${sailor.position eq 'POS003'}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.isRestriction eq 'Y'?'구속':'불구속'}">
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">선원구속</label>
|
||||||
|
<div class="col-sm-11">
|
||||||
|
<div class="row">
|
||||||
|
<th:block th:each="sailor:${crackdownStatus.sailorList}">
|
||||||
|
<th:block th:if="${sailor.position eq 'POS005' or sailor.position eq 'POS006'}">
|
||||||
|
<div class="col-4">
|
||||||
|
<div class="row mt-2">
|
||||||
|
<label class="col-sm-auto col-form-label col-form-label-sm fw-bold text-end">직책: </label>
|
||||||
|
<label class="col-sm-auto col-form-label col-form-label-sm text-start" th:text="${sailor.position eq 'POS005'?'기타 간부선원':'일반선원 또는 확인불가'}"></label>
|
||||||
|
<label class="col-sm-auto col-form-label col-form-label-sm fw-bold text-end">구속여부: </label>
|
||||||
|
<label class="col-sm-auto col-form-label col-form-label-sm text-start" th:text="${sailor.isRestriction eq 'Y'?'구속':'불구속'}"></label>
|
||||||
|
<label class="col-sm-auto col-form-label col-form-label-sm fw-bold text-end">이름: </label>
|
||||||
|
<label class="col-sm-auto col-form-label col-form-label-sm text-start" th:text="${sailor.sailorNameKr}"></label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="tab-pane fade p-2 mx-2" id="fishingBoatVersionTabPanel" role="tabpanel" aria-labelledby="fishingBoatVersionTab" tabindex="0">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-4">
|
||||||
|
<table class="table table-hover">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td>수정자</td>
|
||||||
|
<td>수정일</td>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr class="versionInfoTr" th:each="versionInfo:${crackdownStatus.crackdownStatusVersionList}">
|
||||||
|
<input type="hidden" class="cdsKey" th:value="${versionInfo.cdsKey}">
|
||||||
|
<input type="hidden" class="versionNo" th:value="${versionInfo.versionNo}">
|
||||||
|
<td><input type="checkbox" class="versionInfoChkbox"></td>
|
||||||
|
<td>
|
||||||
|
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
|
||||||
|
<th:block th:if="${versionInfo.wrtOrgan eq commonCode.itemCd}" th:text="${commonCode.itemValue}"></th:block>
|
||||||
|
</th:block>
|
||||||
|
<br>
|
||||||
|
<th:block th:each="commonCode:${session.commonCode.get('JT')}">
|
||||||
|
<th:block th:if="${versionInfo.wrtUserGrd eq commonCode.itemCd}" th:text="${commonCode.itemValue}"></th:block>
|
||||||
|
</th:block>
|
||||||
|
<th:block th:text="${versionInfo.wrtUserNm}"></th:block>
|
||||||
|
</td>
|
||||||
|
<td th:text="${#temporals.format(versionInfo.wrtDt, 'yyyy-MM-dd HH:mm')}"></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="col-8" id="versionInfoDiv">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<th:block th:if="${modalType ne 'viewOnly'}">
|
||||||
|
<th:block th:if="${userSeq eq crackdownStatus.fishingBoat.wrtUserSeq
|
||||||
|
or (accessAuth eq 'ACC003' and #lists.contains(mgtOrganList, crackdownStatus.fishingBoat.wrtOrgan))}">
|
||||||
|
<!--작성자, 관리자일 경우 수정, 삭제 허용-->
|
||||||
|
<div class="modal-footer justify-content-between bg-light">
|
||||||
|
<div class="col-auto">
|
||||||
|
<button type="button" class="btn btn-danger" id="deleteFishingBoatBtn">삭제</button>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<button type="button" class="btn btn-warning" id="editFishingBoatBtn">수정</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
|
@ -0,0 +1,183 @@
|
||||||
|
<!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 type="text/javascript" th:src="@{/js/faStatistics/unlawfulFishing/crackdownInfo.js}"></script>
|
||||||
|
</th:block>
|
||||||
|
<th:block layout:fragment="css">
|
||||||
|
<style>
|
||||||
|
|
||||||
|
</style>
|
||||||
|
</th:block>
|
||||||
|
<div layout:fragment="content">
|
||||||
|
<main>
|
||||||
|
<input type="hidden" id="menuKey" th:value="${menuKey}">
|
||||||
|
<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/crackdownInfo}" 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-2">
|
||||||
|
<select class="form-select form-select-sm " id="caseAgency" name="caseAgency">
|
||||||
|
<option value="">사건담당경찰서</option>
|
||||||
|
<th:block th:each="code:${session.commonCode.get('OG')}">
|
||||||
|
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
|
||||||
|
th:selected="${code.itemCd eq searchParams.caseAgency}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="col-2">
|
||||||
|
<input type="text" class="form-control form-control-sm" placeholder="사건담당경찰관">
|
||||||
|
</div>
|
||||||
|
<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>
|
||||||
|
<div class="row justify-content-end pb-1">
|
||||||
|
<div class="col-2">
|
||||||
|
<input type="text" class="form-control form-control-sm" placeholder="사건번호">
|
||||||
|
</div>
|
||||||
|
<div class="col-2">
|
||||||
|
<input type="text" class="form-control form-control-sm" placeholder="MMSI.NO">
|
||||||
|
</div>
|
||||||
|
<div class="col-2">
|
||||||
|
<input type="text" class="form-control form-control-sm" placeholder="나포장소">
|
||||||
|
</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="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>
|
||||||
|
<div class="col-1 d-grid gap-2">
|
||||||
|
<input type="submit" class="btn btn-primary" id="searchBtn" value="검색">
|
||||||
|
</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>순번</th>
|
||||||
|
<th>사건번호</th>
|
||||||
|
<th>MMSI.NO</th>
|
||||||
|
<th>나포일시</th>
|
||||||
|
<th>나포장소</th>
|
||||||
|
<th>사건담당경찰서</th>
|
||||||
|
<th>사건담당경찰관</th>
|
||||||
|
<th>단속경찰서</th>
|
||||||
|
<th>단속함정</th>
|
||||||
|
<th>침범유형</th>
|
||||||
|
<th>NLL침범여부</th>
|
||||||
|
<th>압송여부</th>
|
||||||
|
<th>작성자</th>
|
||||||
|
<th>작성일시</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody class="table-group-divider align-middle">
|
||||||
|
<th:block th:each="dto,cnt:${crackdownInfoList}">
|
||||||
|
<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>
|
||||||
|
<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>
|
||||||
|
</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="addCrackdownStatusBtn">등록</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="modal fade" id="csEditModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="csEditModalLabel" aria-hidden="true">
|
||||||
|
<div class="modal-dialog modal-xxl modal-dialog-scrollable">
|
||||||
|
<div class="modal-content" id="csEditModalContent">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="modal fade" id="csViewModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="csViewModalLabel" aria-hidden="true">
|
||||||
|
<div class="modal-dialog modal-xxl modal-dialog-scrollable">
|
||||||
|
<div class="modal-content" id="csViewModalContent">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
</div>
|
||||||
|
</html>
|
||||||
|
|
@ -0,0 +1,112 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ko" xmlns:th="http://www.thymeleaf.org">
|
||||||
|
<div class="modal-header bg-dark">
|
||||||
|
<h5 class="modal-title text-white" id="csEditModalLabel" th:text="${crackdownInfo.cdsKey eq null?'단속현황 작성':'단속현황 수정'}"></h5>
|
||||||
|
<button type="button" class="btn-close f-invert" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<form action="#" method="post" id="csEditForm">
|
||||||
|
<input type="hidden" name="cdsKey" id="cdsKey" th:value="${crackdownInfo.cdsKey}">
|
||||||
|
<input type="hidden" class="status" name="status" id="infoStatus" th:value="${crackdownInfo.status}">
|
||||||
|
<input type="hidden" name="wrtOrgan" th:value="${crackdownInfo.wrtOrgan}">
|
||||||
|
<input type="hidden" name="wrtPart" th:value="${crackdownInfo.wrtPart}">
|
||||||
|
<input type="hidden" name="wrtUserSeq" th:value="${crackdownInfo.wrtUserSeq}">
|
||||||
|
<input type="hidden" name="wrtUserGrd" th:value="${crackdownInfo.wrtUserGrd}">
|
||||||
|
<input type="hidden" name="wrtUserNm" th:value="${crackdownInfo.wrtUserNm}">
|
||||||
|
<input type="hidden" name="wrtDt" th:value="${#temporals.format(crackdownInfo.wrtDt, 'yyyy-MM-dd HH:mm:ss')}">
|
||||||
|
<div class="row mb-1">
|
||||||
|
<label for="caseNum" class="col-sm-1 col-form-label col-form-label-sm text-center">사건번호</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input type="text" class="form-control form-control-sm " id="caseNum" name="caseNum" th:value="${crackdownInfo.caseNum}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center">MMSI.NO</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control form-control-sm" name="mmsi" th:value="${crackdownInfo.mmsi}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row mb-1">
|
||||||
|
<label for="caseAgency" class="col-sm-1 col-form-label col-form-label-sm text-center">사건담당경찰서</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<select class="form-select form-select-sm " id="caseAgency" name="caseAgency">
|
||||||
|
<option value="">선택</option>
|
||||||
|
<th:block th:each="code:${session.commonCode.get('OG')}">
|
||||||
|
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq crackdownInfo.caseAgency}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<label for="casePoliceOfficer" class="col-sm-1 col-form-label col-form-label-sm text-center fs-13">사건담당경찰관</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input type="text" class="form-control form-control-sm " id="casePoliceOfficer" name="casePoliceOfficer" th:value="${crackdownInfo.casePoliceOfficer}">
|
||||||
|
</div>
|
||||||
|
<label for="crackdownPolice" class="col-sm-1 col-form-label col-form-label-sm text-center">단속경찰서</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<select class="form-select form-select-sm crackdownPolice" name="crackdownPolice" id="crackdownPolice">
|
||||||
|
<option value="">선택</option>
|
||||||
|
<th:block th:each="code:${cpoList}">
|
||||||
|
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq crackdownInfo.crackdownPolice}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<label for="crackdownBoat" class="col-sm-1 col-form-label col-form-label-sm text-center">단속함정</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<select class="form-select form-select-sm crackdownBoat" name="crackdownBoat" id="crackdownBoat" th:data-boatcode="${crackdownInfo.crackdownBoat}">
|
||||||
|
<option value="">단속경찰서를 선택해주세요.</option>
|
||||||
|
<th:block th:each="code:${session.commonCode.get(crackdownInfo.crackdownPolice)}">
|
||||||
|
<th:block th:if="${code.useChk eq 'T'}">
|
||||||
|
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq crackdownInfo.crackdownBoat}"></option>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row mb-1">
|
||||||
|
<label for="invasionType" class="col-sm-1 col-form-label col-form-label-sm text-center">침범유형</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<select class="form-select form-select-sm" name="invasionType" id="invasionType">
|
||||||
|
<option value="">선택</option>
|
||||||
|
<th:block th:each="code:${session.commonCode.get('IST')}">
|
||||||
|
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
|
||||||
|
th:selected="${code.itemCd eq crackdownInfo.invasionType}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<label for="nll" class="col-sm-1 col-form-label col-form-label-sm text-center">NLL</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<select class="form-select form-select-sm" name="nll" id="nll">
|
||||||
|
<option value="">선택</option>
|
||||||
|
<option value="Y" th:selected="${crackdownInfo.nll == 'Y'}">O</option>
|
||||||
|
<option value="N" th:selected="${crackdownInfo.nll == 'N'}">X</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<label for="fieldIvsgt" class="col-sm-1 col-form-label col-form-label-sm text-center">압송/현장조사</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<select class="form-select form-select-sm " name="fieldIvsgt" id="fieldIvsgt">
|
||||||
|
<option value="">선택</option>
|
||||||
|
<option value="C" th:selected="${crackdownInfo.fieldIvsgt eq 'C'}">압송</option>
|
||||||
|
<option value="F" th:selected="${crackdownInfo.fieldIvsgt eq 'F'}">현장조사</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row mb-1">
|
||||||
|
<label for="napoDate" class="col-sm-1 col-form-label col-form-label-sm text-center">나포일시</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<div class="input-group">
|
||||||
|
<input type="text" class="form-control form-control-sm dateSelector" id="napoDate" placeholder="yyyy-mm-dd" th:value="${#temporals.format(crackdownInfo.napoDt, 'yyyy-MM-dd')}" autocomplete="off">
|
||||||
|
<input type="text" class="form-control form-control-sm timeInputer" id="napoTime" placeholder="hh:mm" th:value="${#temporals.format(crackdownInfo.napoDt, 'HH:mm')}" autocomplete="off">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<label for="napoSeaPointLon" class="col-sm-1 col-form-label col-form-label-sm text-center">나포장소</label>
|
||||||
|
<div class="col-sm-5">
|
||||||
|
<div class="input-group w-auto">
|
||||||
|
<input type="text" class="form-control form-control-sm w-25 " id="napoSeaPointLon" name="napoSeaPointLon" placeholder="00 . 00 . 00N" th:value="${crackdownInfo.napoSeaPointLon}">
|
||||||
|
<input type="text" class="form-control form-control-sm w-25 " id="napoSeaPointLat" name="napoSeaPointLat" placeholder="000-00.00E" th:value="${crackdownInfo.napoSeaPointLat}">
|
||||||
|
<input type="text" class="form-control form-control-sm w-50 " id="napoSeaPointDetail" name="napoSeaPointDetail" placeholder="00도 00방 00해리, 어업협정선 내측 00해리" th:value="${crackdownInfo.napoSeaPointDetail}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer bg-light">
|
||||||
|
<button type="button" class="btn btn-warning saveEditInfoBtn" data-status="DST001">임시저장</button>
|
||||||
|
<button type="button" class="btn btn-primary saveEditInfoBtn" data-status="DST007">저장</button>
|
||||||
|
</div>
|
||||||
|
|
@ -0,0 +1,606 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ko" xmlns:th="http://www.thymeleaf.org">
|
||||||
|
<div class="modal-header bg-dark">
|
||||||
|
<h5 class="modal-title text-white" id="fishingBoatEditModalLabel">불법조업 외국어선 상세정보</h5>
|
||||||
|
<button type="button" class="btn-close f-invert" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<ul class="nav nav-tabs" id="fishingBoatTab" role="tablist">
|
||||||
|
<li class="nav-item" role="presentation">
|
||||||
|
<button class="nav-link active" id="fishingBoatViewTab" data-bs-toggle="tab" data-bs-target="#fishingBoatViewTabPanel" type="button" role="tab" aria-controls="fishingBoatViewTabPanel" aria-selected="true">최신버전</button>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item" role="presentation" th:unless="${#lists.size(crackdownStatus.crackdownStatusVersionList) <= 1}">
|
||||||
|
<button class="nav-link" id="fishingBoatVersionTab" data-bs-toggle="tab" data-bs-target="#fishingBoatVersionTabPanel" type="button" role="tab" aria-controls="fishingBoatHistoryTabPanel" aria-selected="false">수정이력</button>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<div class="tab-content bg-white border border-top-0">
|
||||||
|
<div class="tab-pane fade p-2 mx-2 show active" id="fishingBoatViewTabPanel" role="tabpanel" aria-labelledby="fishingBoatViewTab" tabindex="0">
|
||||||
|
<input type="hidden" class="cdsKey" th:value="${crackdownStatus.cdsKey}">
|
||||||
|
<input type="hidden" class="fbKey" th:value="${crackdownStatus.fishingBoat.fbKey}">
|
||||||
|
<div class="row py-2">
|
||||||
|
<div class="col-12">
|
||||||
|
<div class="row justify-content-end">
|
||||||
|
<div class="col-auto">
|
||||||
|
<th:block th:text="|최종수정일: ${#temporals.format(crackdownStatus.fishingBoat.wrtDt, 'yyyy-MM-dd HH:mm')}|"></th:block>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row justify-content-between">
|
||||||
|
<div class="col-auto">■ 단속정보</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<th:block th:each="code:${session.commonCode.get('DST')}">
|
||||||
|
<th:block th:if="${crackdownStatus.status eq code.itemCd}" th:text="|상태: ${code.itemValue}|"></th:block>
|
||||||
|
</th:block>
|
||||||
|
<th:block th:if="${#lists.size(crackdownStatus.crackdownStatusVersionList) <= 1}">
|
||||||
|
(수정 이력 없음)
|
||||||
|
</th:block>
|
||||||
|
<th:block th:unless="${#lists.size(crackdownStatus.crackdownStatusVersionList) <= 1}">
|
||||||
|
<th:block th:text="${#strings.concat('(', #lists.size(crackdownStatus.crackdownStatusVersionList), '차 수정본)') }"></th:block>
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">사건번호</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.caseNum}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">선명</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.fishingBoat.boatNameKr}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">위반사항</label>
|
||||||
|
<div class="col-sm-5">
|
||||||
|
<div class="row">
|
||||||
|
<th:block th:each="code:${vtList}">
|
||||||
|
<th:block th:each="violation:${crackdownStatus.violationList}">
|
||||||
|
<div class="col-6" th:if="${code.itemCd eq violation.violation}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${code.itemValue}"/>
|
||||||
|
</div>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">사건담당경찰서</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<th:block th:each="code:${session.commonCode.get('OG')}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownStatus.caseAgency}" th:value="${code.itemValue}">
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center fs-11">사건담당경찰관</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.casePoliceOfficer}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">단속경찰서</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<th:block th:each="code:${cpoList}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownStatus.crackdownPolice}" th:value="${code.itemValue}">
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">단속함정</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<th:block th:each="code:${boatList}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownStatus.crackdownBoat}" th:value="${code.itemValue}">
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">MMSI.NO</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.mmsi}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">침범유형</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<th:block th:each="code:${session.commonCode.get('IST')}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownStatus.invasionType}" th:value="${code.itemValue}">
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">NLL</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.nll eq 'Y'?'O':(crackdownStatus.nll eq 'N'?'X':crackdownStatus.nll)}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">압송/현장조사</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.fieldIvsgt eq 'C'?'압송':(crackdownStatus.fieldIvsgt eq 'F'?'현장조사':crackdownStatus.fieldIvsgt)}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">나포일시</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${#temporals.format(crackdownStatus.napoDt, 'yyyy-MM-dd hh:mm')}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">나포장소</label>
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="|${crackdownStatus.napoSeaPointLon} ${crackdownStatus.napoSeaPointLat} ${crackdownStatus.napoSeaPointDetail}|">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<th:block th:with="damageFlag=${crackdownStatus.obstrExspdCnt ne 0 ||
|
||||||
|
crackdownStatus.personDamageCnt ne 0 ||
|
||||||
|
crackdownStatus.personDamageAmount ne 0 ||
|
||||||
|
crackdownStatus.personDamageDetail ne null ||
|
||||||
|
crackdownStatus.materialDamageCnt ne 0 ||
|
||||||
|
crackdownStatus.materialDamageAmount ne 0 ||
|
||||||
|
crackdownStatus.materialDamageDetail ne null}">
|
||||||
|
<th:block th:if="${damageFlag}">
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center bg-lightB2">특수공무집행방해</label>
|
||||||
|
<div class="col-sm-11">
|
||||||
|
<div class="row border-bottom border-secondary">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center bg-lightB1">인적피해</label>
|
||||||
|
<div class="col-sm-11">
|
||||||
|
<div class="row border-bottom border-secondary">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">발생건수</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||||
|
<th:block th:if="${crackdownStatus.obstrExspdCnt>0}" th:text="|${crackdownStatus.obstrExspdCnt}건|"></th:block>
|
||||||
|
</label>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">피해인원</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||||
|
<th:block th:if="${crackdownStatus.personDamageCnt>0}" th:text="|${crackdownStatus.personDamageCnt}인|"></th:block>
|
||||||
|
</label>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">피해액</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||||
|
<th:block th:if="${crackdownStatus.personDamageAmount>0}" th:text="|${crackdownStatus.personDamageAmount}만원|"></th:block>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">상세내용</label>
|
||||||
|
<div class="col-sm-11" th:utext="${crackdownStatus.personDamageDetail}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center bg-lightB1">물적피해</label>
|
||||||
|
<div class="col-sm-11">
|
||||||
|
<div class="row border-bottom border-secondary">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">발생건수</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||||
|
<th:block th:if="${crackdownStatus.materialDamageCnt>0}" th:text="|${crackdownStatus.materialDamageCnt}건|"></th:block>
|
||||||
|
</label>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">피해액</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||||
|
<th:block th:if="${crackdownStatus.materialDamageAmount>0}" th:text="|${crackdownStatus.materialDamageAmount}만원|"></th:block>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">상세내용</label>
|
||||||
|
<div class="col-sm-11" th:utext="${crackdownStatus.materialDamageDetail}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
<th:block th:with="catchFlag=${crackdownStatus.fishingBoat.catchFishSpecies ne null ||
|
||||||
|
crackdownStatus.fishingBoat.catchCnt ne 0}">
|
||||||
|
<th:block th:if="${catchFlag}">
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center bg-lightB1">어획물축소기재</label>
|
||||||
|
<div class="col-sm-11">
|
||||||
|
<div class="row">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">어종</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start"
|
||||||
|
th:text="${crackdownStatus.fishingBoat.catchFishSpecies}"></label>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">수량</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||||
|
<th:block th:if="${crackdownStatus.fishingBoat.catchCnt>0}" th:text="|${crackdownStatus.fishingBoat.catchCnt}kg|"></th:block>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
<th:block th:if="${!#lists.isEmpty(crackdownStatus.sailorList)}">
|
||||||
|
<div class="row py-2">
|
||||||
|
<div class="col-auto">■ 선장·선주 정보</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<th:block th:each="sailor:${crackdownStatus.sailorList}">
|
||||||
|
<th:block th:if="${sailor.position eq 'POS001'}">
|
||||||
|
<div class="col-6" id="captainDiv">
|
||||||
|
<div class="row border border-secondary">
|
||||||
|
<label class="col-sm-2 fw-bold bg-label border-end border-secondary col-form-label col-form-label-sm py-2 border-end border-secondary text-center">선장명</label>
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<div class="input-group w-auto">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.sailorNameKr}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.sailorNameCn}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.sailorNamePinyin}">
|
||||||
|
</div>
|
||||||
|
<th:block th:unless="${#lists.isEmpty(sailor.fileList)}">
|
||||||
|
<div id="fileDownloadDiv" class="d-none">
|
||||||
|
<div class="row justify-content-end">
|
||||||
|
<div class="col-auto">
|
||||||
|
<th:block th:each="file:${sailor.fileList}">
|
||||||
|
<a href="#" class="fileDownLink" data-board="sailor"
|
||||||
|
th:data-parentkey="${file.sailorKey}" th:data-fileseq="${file.fileSeq}" th:text="|${file.origNm}.${file.fileExtn}|"></a>
|
||||||
|
<br>
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<th:block th:if="${#lists.isEmpty(sailor.fileList)}">
|
||||||
|
<div>사진 없음</div>
|
||||||
|
</th:block>
|
||||||
|
<th:block th:unless="${#lists.isEmpty(sailor.fileList)}">
|
||||||
|
<img id="captainPhoto" class="w-100" alt="선장 사진" th:src="|/file/fileDisplay?board=sailor&parentKey=${sailor.sailorKey}&fileSeq=1|">
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-2 fw-bold bg-label border-end border-secondary col-form-label col-form-label-sm py-2 border-end border-secondary text-center">생년월일</label>
|
||||||
|
<div class="col-sm-4 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.birthdate}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-2 fw-bold bg-label border-end border-secondary col-form-label col-form-label-sm py-2 border-end border-secondary text-center">연락처</label>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.sailorContact}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-2 fw-bold bg-label border-end border-secondary col-form-label col-form-label-sm py-2 border-end border-secondary text-center">주소</label>
|
||||||
|
<div class="col-sm-4 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.residence}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-2 fw-bold bg-label border-end border-secondary col-form-label col-form-label-sm py-2 border-end border-secondary text-center">재범횟수</label>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.arrestHistory}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-2 fw-bold bg-label border-end border-secondary col-form-label col-form-label-sm py-2 border-end border-secondary text-center">비고</label>
|
||||||
|
<div class="col-sm-10">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.note}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
<th:block th:each="sailor:${crackdownStatus.sailorList}">
|
||||||
|
<th:block th:if="${sailor.position eq 'POS004'}">
|
||||||
|
<div class="col-6" id="shipOwnerDiv">
|
||||||
|
<div class="row border border-secondary border-start-0">
|
||||||
|
<label class="col-sm-2 fw-bold bg-label border-end border-secondary col-form-label col-form-label-sm py-2 border-end border-secondary text-center">선주명</label>
|
||||||
|
<div class="col-sm-10">
|
||||||
|
<div class="input-group w-auto">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.sailorNameKr}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.sailorNameCn}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.sailorNamePinyin}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-start-0 border-top-0">
|
||||||
|
<label class="col-sm-2 fw-bold bg-label border-end border-secondary col-form-label col-form-label-sm py-2 border-end border-secondary text-center">생년월일</label>
|
||||||
|
<div class="col-sm-4 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.birthdate}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-2 fw-bold bg-label border-end border-secondary col-form-label col-form-label-sm py-2 border-end border-secondary text-center">연락처</label>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.sailorContact}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-start-0 border-top-0">
|
||||||
|
<label class="col-sm-2 fw-bold bg-label border-end border-secondary col-form-label col-form-label-sm py-2 border-end border-secondary text-center">주소</label>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.residence}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-start-0 border-top-0">
|
||||||
|
<label class="col-sm-2 fw-bold bg-label border-end border-secondary col-form-label col-form-label-sm py-2 border-end border-secondary text-center">비고</label>
|
||||||
|
<div class="col-sm-10">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.note}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
</th:block>
|
||||||
|
<div class="row py-2">
|
||||||
|
<div class="col-auto">■ 어선 정보</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">선명</label>
|
||||||
|
<div class="col-sm-5 border-end border-secondary">
|
||||||
|
<div class="input-group w-auto">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.fishingBoat.boatNameKr}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.fishingBoat.boatNameCn}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">허가번호</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.fishingBoat.permitNum}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">국적</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.fishingBoat.nationality}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">승선원</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary" th:if="${crackdownStatus.fishingBoat.sailorCnt>0}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="|${crackdownStatus.fishingBoat.sailorCnt}인|">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">톤수</label>
|
||||||
|
<div class="col-sm-2" th:if="${crackdownStatus.fishingBoat.tonCnt>0}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="|${crackdownStatus.fishingBoat.tonCnt}t|">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">선종</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<th:block th:each="code:${ftList}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownStatus.fishingBoat.fisheryType}" th:value="${code.itemValue}">
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">선질</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<th:block th:each="code:${bmList}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownStatus.fishingBoat.boatMaterial}" th:value="${code.itemValue}">
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">선적지</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<div class="input-group w-auto">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.fishingBoat.boatNnySung}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.fishingBoat.boatNnySi}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">범칙물</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||||
|
<th:block th:if="${crackdownStatus.fishingBoat.offenseType ne null}" th:text="${crackdownStatus.fishingBoat.offenseType}"></th:block>
|
||||||
|
<th:block th:if="${crackdownStatus.fishingBoat.offenseWeight>0}" th:text="|${crackdownStatus.fishingBoat.offenseWeight}kg|"></th:block>
|
||||||
|
</label>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">범칙물 폐기량</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||||
|
<th:block th:if="${crackdownStatus.fishingBoat.offenseIllegalWasteQuantity>0}" th:text="|${crackdownStatus.fishingBoat.offenseIllegalWasteQuantity}kg|"></th:block>
|
||||||
|
</label>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">범칙물 위판량</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||||
|
<th:block th:if="${crackdownStatus.fishingBoat.offenseQuantity>0}" th:text="|${crackdownStatus.fishingBoat.offenseQuantity}kg|"></th:block>
|
||||||
|
</label>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center fs-11">범칙물 위판금액</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||||
|
<th:block th:if="${crackdownStatus.fishingBoat.offenseAmount>0}" th:text="|${crackdownStatus.fishingBoat.offenseAmount}만원|"></th:block>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">담보금 미납액</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||||
|
<th:block th:if="${crackdownStatus.fishingBoat.damboUnpaidAmount>0}" th:text="|${crackdownStatus.fishingBoat.damboUnpaidAmount}만원|"></th:block>
|
||||||
|
</label>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">담보금 납부액</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||||
|
<th:block th:if="${crackdownStatus.fishingBoat.damboPayment>0}" th:text="|${crackdownStatus.fishingBoat.damboPayment}만원|"></th:block>
|
||||||
|
</label>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center fs-11">담보금 납부일시</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.fishingBoat.paymentPaymentDt}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">압수어구</label>
|
||||||
|
<label class="col-sm-11 col-form-label col-form-label-sm py-2 text-start">
|
||||||
|
<th:block th:if="${!#strings.isEmpty(crackdownStatus.fishingBoat.confiscationFrame)}" th:text="|틀: ${crackdownStatus.fishingBoat.confiscationFrame}|"></th:block>
|
||||||
|
<th:block th:if="${!#strings.isEmpty(crackdownStatus.fishingBoat.confiscationWidth)}" th:text="|폭: ${crackdownStatus.fishingBoat.confiscationWidth}|"></th:block>
|
||||||
|
<th:block th:if="${!#strings.isEmpty(crackdownStatus.fishingBoat.confiscationJo)}" th:text="|조: ${crackdownStatus.fishingBoat.confiscationJo}|"></th:block>
|
||||||
|
<th:block th:if="${!#strings.isEmpty(crackdownStatus.fishingBoat.confiscationGae)}" th:text="|개: ${crackdownStatus.fishingBoat.confiscationGae}|"></th:block>
|
||||||
|
<th:block th:if="${!#strings.isEmpty(crackdownStatus.fishingBoat.confiscationEtc)}" th:text="|기타: ${crackdownStatus.fishingBoat.confiscationEtc}|"></th:block>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="row py-2">
|
||||||
|
<div class="col-auto">■ 처리 결과</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">처리현황</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<th:block th:each="code:${prList}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownStatus.processResult.processStatus}" th:value="${code.itemValue}">
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">수사중지 여부</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.isIvsgtStop eq 'Y'?'중지':(crackdownStatus.processResult.isIvsgtStop eq 'N'?'수사중':crackdownStatus.processResult.isIvsgtStop)}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">선고법원</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start" th:text="${crackdownStatus.processResult.sentencingCourt}"></label>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">선고내용</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 text-start" th:text="${crackdownStatus.processResult.sentencingDetail}"></label>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">압송소요시간</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.pressurizedTimeTaken}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">압송거리</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||||
|
<th:block th:if="${!#strings.isEmpty(crackdownStatus.distance)}" th:text="|${crackdownStatus.distance}해리|"></th:block>
|
||||||
|
</label>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center fs-10">영장청구 소요시간</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.warrantReqTakeTime}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">나포일시</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" id="napoDt" readonly th:value="${#temporals.format(crackdownStatus.napoDt, 'yyyy-MM-dd hh:mm')}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">석방일시</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" id="releaseDt" readonly th:value="${#temporals.format(crackdownStatus.processResult.releaseDt, 'yyyy-MM-dd hh:mm')}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">소요시간</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" id="releaseToNapo" readonly>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">위탁시작일</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.consignmentStartDt}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">위탁종료일</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.consignmentEndDt}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">퇴거일</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.evictionDt}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">직접인계일</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.directHandoverDt}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">인계 해점</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<div class="input-group w-auto">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.handoverSeaPointLon}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.handoverSeaPointLat}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">인계 함정</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.handoverBoat}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">중측 인수함정</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.middleTakeoverBoat}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">몰수확정일</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.confiscationDt}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">폐선일</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.boatDisposalDt}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">폐선종류</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<th:block th:each="code:${bdtList}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownStatus.processResult.boatDisposalType}" th:value="${code.itemValue}">
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">침몰일</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.exileDt}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">환부일</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.returnDt}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">선장구속</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<th:block th:each="sailor:${crackdownStatus.sailorList}">
|
||||||
|
<th:block th:if="${sailor.position eq 'POS001'}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.isRestriction eq 'Y'?'구속':'불구속'}">
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">항해장구속</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<th:block th:each="sailor:${crackdownStatus.sailorList}">
|
||||||
|
<th:block th:if="${sailor.position eq 'POS002'}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.isRestriction eq 'Y'?'구속':'불구속'}">
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">기관장구속</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<th:block th:each="sailor:${crackdownStatus.sailorList}">
|
||||||
|
<th:block th:if="${sailor.position eq 'POS003'}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.isRestriction eq 'Y'?'구속':'불구속'}">
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">선원구속</label>
|
||||||
|
<div class="col-sm-11">
|
||||||
|
<div class="row">
|
||||||
|
<th:block th:each="sailor:${crackdownStatus.sailorList}">
|
||||||
|
<th:block th:if="${sailor.position eq 'POS005' or sailor.position eq 'POS006'}">
|
||||||
|
<div class="col-4">
|
||||||
|
<div class="row mt-2">
|
||||||
|
<label class="col-sm-auto col-form-label col-form-label-sm fw-bold text-end">직책: </label>
|
||||||
|
<label class="col-sm-auto col-form-label col-form-label-sm text-start" th:text="${sailor.position eq 'POS005'?'기타 간부선원':'일반선원 또는 확인불가'}"></label>
|
||||||
|
<label class="col-sm-auto col-form-label col-form-label-sm fw-bold text-end">구속여부: </label>
|
||||||
|
<label class="col-sm-auto col-form-label col-form-label-sm text-start" th:text="${sailor.isRestriction eq 'Y'?'구속':'불구속'}"></label>
|
||||||
|
<label class="col-sm-auto col-form-label col-form-label-sm fw-bold text-end">이름: </label>
|
||||||
|
<label class="col-sm-auto col-form-label col-form-label-sm text-start" th:text="${sailor.sailorNameKr}"></label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="tab-pane fade p-2 mx-2" id="fishingBoatVersionTabPanel" role="tabpanel" aria-labelledby="fishingBoatVersionTab" tabindex="0">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-4">
|
||||||
|
<table class="table table-hover">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td>수정자</td>
|
||||||
|
<td>수정일</td>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr class="versionInfoTr" th:each="versionInfo:${crackdownStatus.crackdownStatusVersionList}">
|
||||||
|
<input type="hidden" class="cdsKey" th:value="${versionInfo.cdsKey}">
|
||||||
|
<input type="hidden" class="versionNo" th:value="${versionInfo.versionNo}">
|
||||||
|
<td><input type="checkbox" class="versionInfoChkbox"></td>
|
||||||
|
<td>
|
||||||
|
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
|
||||||
|
<th:block th:if="${versionInfo.wrtOrgan eq commonCode.itemCd}" th:text="${commonCode.itemValue}"></th:block>
|
||||||
|
</th:block>
|
||||||
|
<br>
|
||||||
|
<th:block th:each="commonCode:${session.commonCode.get('JT')}">
|
||||||
|
<th:block th:if="${versionInfo.wrtUserGrd eq commonCode.itemCd}" th:text="${commonCode.itemValue}"></th:block>
|
||||||
|
</th:block>
|
||||||
|
<th:block th:text="${versionInfo.wrtUserNm}"></th:block>
|
||||||
|
</td>
|
||||||
|
<td th:text="${#temporals.format(versionInfo.wrtDt, 'yyyy-MM-dd HH:mm')}"></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="col-8" id="versionInfoDiv">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<th:block th:if="${modalType ne 'viewOnly'}">
|
||||||
|
<th:block th:if="${userSeq eq crackdownStatus.fishingBoat.wrtUserSeq
|
||||||
|
or (accessAuth eq 'ACC003' and #lists.contains(mgtOrganList, crackdownStatus.fishingBoat.wrtOrgan))}">
|
||||||
|
<!--작성자, 관리자일 경우 수정, 삭제 허용-->
|
||||||
|
<div class="modal-footer justify-content-between bg-light">
|
||||||
|
<div class="col-auto">
|
||||||
|
<button type="button" class="btn btn-danger" id="deleteFishingBoatBtn">삭제</button>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<button type="button" class="btn btn-warning" id="editFishingBoatBtn">수정</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
|
@ -0,0 +1,183 @@
|
||||||
|
<!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 type="text/javascript" th:src="@{/js/faStatistics/unlawfulFishing/crackdownInfo.js}"></script>
|
||||||
|
</th:block>
|
||||||
|
<th:block layout:fragment="css">
|
||||||
|
<style>
|
||||||
|
|
||||||
|
</style>
|
||||||
|
</th:block>
|
||||||
|
<div layout:fragment="content">
|
||||||
|
<main>
|
||||||
|
<input type="hidden" id="menuKey" th:value="${menuKey}">
|
||||||
|
<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/crackdownInfo}" 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-2">
|
||||||
|
<select class="form-select form-select-sm " id="caseAgency" name="caseAgency">
|
||||||
|
<option value="">사건담당경찰서</option>
|
||||||
|
<th:block th:each="code:${session.commonCode.get('OG')}">
|
||||||
|
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
|
||||||
|
th:selected="${code.itemCd eq searchParams.caseAgency}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="col-2">
|
||||||
|
<input type="text" class="form-control form-control-sm" placeholder="사건담당경찰관">
|
||||||
|
</div>
|
||||||
|
<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>
|
||||||
|
<div class="row justify-content-end pb-1">
|
||||||
|
<div class="col-2">
|
||||||
|
<input type="text" class="form-control form-control-sm" placeholder="사건번호">
|
||||||
|
</div>
|
||||||
|
<div class="col-2">
|
||||||
|
<input type="text" class="form-control form-control-sm" placeholder="MMSI.NO">
|
||||||
|
</div>
|
||||||
|
<div class="col-2">
|
||||||
|
<input type="text" class="form-control form-control-sm" placeholder="나포장소">
|
||||||
|
</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="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>
|
||||||
|
<div class="col-1 d-grid gap-2">
|
||||||
|
<input type="submit" class="btn btn-primary" id="searchBtn" value="검색">
|
||||||
|
</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>순번</th>
|
||||||
|
<th>사건번호</th>
|
||||||
|
<th>MMSI.NO</th>
|
||||||
|
<th>나포일시</th>
|
||||||
|
<th>나포장소</th>
|
||||||
|
<th>사건담당경찰서</th>
|
||||||
|
<th>사건담당경찰관</th>
|
||||||
|
<th>단속경찰서</th>
|
||||||
|
<th>단속함정</th>
|
||||||
|
<th>침범유형</th>
|
||||||
|
<th>NLL침범여부</th>
|
||||||
|
<th>압송여부</th>
|
||||||
|
<th>작성자</th>
|
||||||
|
<th>작성일시</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody class="table-group-divider align-middle">
|
||||||
|
<th:block th:each="dto,cnt:${crackdownInfoList}">
|
||||||
|
<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>
|
||||||
|
<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>
|
||||||
|
</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="addCrackdownStatusBtn">등록</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="modal fade" id="csEditModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="csEditModalLabel" aria-hidden="true">
|
||||||
|
<div class="modal-dialog modal-xxl modal-dialog-scrollable">
|
||||||
|
<div class="modal-content" id="csEditModalContent">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="modal fade" id="csViewModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="csViewModalLabel" aria-hidden="true">
|
||||||
|
<div class="modal-dialog modal-xxl modal-dialog-scrollable">
|
||||||
|
<div class="modal-content" id="csViewModalContent">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
</div>
|
||||||
|
</html>
|
||||||
|
|
@ -0,0 +1,112 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ko" xmlns:th="http://www.thymeleaf.org">
|
||||||
|
<div class="modal-header bg-dark">
|
||||||
|
<h5 class="modal-title text-white" id="csEditModalLabel" th:text="${crackdownInfo.cdsKey eq null?'단속현황 작성':'단속현황 수정'}"></h5>
|
||||||
|
<button type="button" class="btn-close f-invert" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<form action="#" method="post" id="csEditForm">
|
||||||
|
<input type="hidden" name="cdsKey" id="cdsKey" th:value="${crackdownInfo.cdsKey}">
|
||||||
|
<input type="hidden" class="status" name="status" id="infoStatus" th:value="${crackdownInfo.status}">
|
||||||
|
<input type="hidden" name="wrtOrgan" th:value="${crackdownInfo.wrtOrgan}">
|
||||||
|
<input type="hidden" name="wrtPart" th:value="${crackdownInfo.wrtPart}">
|
||||||
|
<input type="hidden" name="wrtUserSeq" th:value="${crackdownInfo.wrtUserSeq}">
|
||||||
|
<input type="hidden" name="wrtUserGrd" th:value="${crackdownInfo.wrtUserGrd}">
|
||||||
|
<input type="hidden" name="wrtUserNm" th:value="${crackdownInfo.wrtUserNm}">
|
||||||
|
<input type="hidden" name="wrtDt" th:value="${#temporals.format(crackdownInfo.wrtDt, 'yyyy-MM-dd HH:mm:ss')}">
|
||||||
|
<div class="row mb-1">
|
||||||
|
<label for="caseNum" class="col-sm-1 col-form-label col-form-label-sm text-center">사건번호</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input type="text" class="form-control form-control-sm " id="caseNum" name="caseNum" th:value="${crackdownInfo.caseNum}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center">MMSI.NO</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control form-control-sm" name="mmsi" th:value="${crackdownInfo.mmsi}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row mb-1">
|
||||||
|
<label for="caseAgency" class="col-sm-1 col-form-label col-form-label-sm text-center">사건담당경찰서</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<select class="form-select form-select-sm " id="caseAgency" name="caseAgency">
|
||||||
|
<option value="">선택</option>
|
||||||
|
<th:block th:each="code:${session.commonCode.get('OG')}">
|
||||||
|
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq crackdownInfo.caseAgency}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<label for="casePoliceOfficer" class="col-sm-1 col-form-label col-form-label-sm text-center fs-13">사건담당경찰관</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input type="text" class="form-control form-control-sm " id="casePoliceOfficer" name="casePoliceOfficer" th:value="${crackdownInfo.casePoliceOfficer}">
|
||||||
|
</div>
|
||||||
|
<label for="crackdownPolice" class="col-sm-1 col-form-label col-form-label-sm text-center">단속경찰서</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<select class="form-select form-select-sm crackdownPolice" name="crackdownPolice" id="crackdownPolice">
|
||||||
|
<option value="">선택</option>
|
||||||
|
<th:block th:each="code:${cpoList}">
|
||||||
|
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq crackdownInfo.crackdownPolice}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<label for="crackdownBoat" class="col-sm-1 col-form-label col-form-label-sm text-center">단속함정</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<select class="form-select form-select-sm crackdownBoat" name="crackdownBoat" id="crackdownBoat" th:data-boatcode="${crackdownInfo.crackdownBoat}">
|
||||||
|
<option value="">단속경찰서를 선택해주세요.</option>
|
||||||
|
<th:block th:each="code:${session.commonCode.get(crackdownInfo.crackdownPolice)}">
|
||||||
|
<th:block th:if="${code.useChk eq 'T'}">
|
||||||
|
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq crackdownInfo.crackdownBoat}"></option>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row mb-1">
|
||||||
|
<label for="invasionType" class="col-sm-1 col-form-label col-form-label-sm text-center">침범유형</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<select class="form-select form-select-sm" name="invasionType" id="invasionType">
|
||||||
|
<option value="">선택</option>
|
||||||
|
<th:block th:each="code:${session.commonCode.get('IST')}">
|
||||||
|
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
|
||||||
|
th:selected="${code.itemCd eq crackdownInfo.invasionType}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<label for="nll" class="col-sm-1 col-form-label col-form-label-sm text-center">NLL</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<select class="form-select form-select-sm" name="nll" id="nll">
|
||||||
|
<option value="">선택</option>
|
||||||
|
<option value="Y" th:selected="${crackdownInfo.nll == 'Y'}">O</option>
|
||||||
|
<option value="N" th:selected="${crackdownInfo.nll == 'N'}">X</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<label for="fieldIvsgt" class="col-sm-1 col-form-label col-form-label-sm text-center">압송/현장조사</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<select class="form-select form-select-sm " name="fieldIvsgt" id="fieldIvsgt">
|
||||||
|
<option value="">선택</option>
|
||||||
|
<option value="C" th:selected="${crackdownInfo.fieldIvsgt eq 'C'}">압송</option>
|
||||||
|
<option value="F" th:selected="${crackdownInfo.fieldIvsgt eq 'F'}">현장조사</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row mb-1">
|
||||||
|
<label for="napoDate" class="col-sm-1 col-form-label col-form-label-sm text-center">나포일시</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<div class="input-group">
|
||||||
|
<input type="text" class="form-control form-control-sm dateSelector" id="napoDate" placeholder="yyyy-mm-dd" th:value="${#temporals.format(crackdownInfo.napoDt, 'yyyy-MM-dd')}" autocomplete="off">
|
||||||
|
<input type="text" class="form-control form-control-sm timeInputer" id="napoTime" placeholder="hh:mm" th:value="${#temporals.format(crackdownInfo.napoDt, 'HH:mm')}" autocomplete="off">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<label for="napoSeaPointLon" class="col-sm-1 col-form-label col-form-label-sm text-center">나포장소</label>
|
||||||
|
<div class="col-sm-5">
|
||||||
|
<div class="input-group w-auto">
|
||||||
|
<input type="text" class="form-control form-control-sm w-25 " id="napoSeaPointLon" name="napoSeaPointLon" placeholder="00 . 00 . 00N" th:value="${crackdownInfo.napoSeaPointLon}">
|
||||||
|
<input type="text" class="form-control form-control-sm w-25 " id="napoSeaPointLat" name="napoSeaPointLat" placeholder="000-00.00E" th:value="${crackdownInfo.napoSeaPointLat}">
|
||||||
|
<input type="text" class="form-control form-control-sm w-50 " id="napoSeaPointDetail" name="napoSeaPointDetail" placeholder="00도 00방 00해리, 어업협정선 내측 00해리" th:value="${crackdownInfo.napoSeaPointDetail}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer bg-light">
|
||||||
|
<button type="button" class="btn btn-warning saveEditInfoBtn" data-status="DST001">임시저장</button>
|
||||||
|
<button type="button" class="btn btn-primary saveEditInfoBtn" data-status="DST007">저장</button>
|
||||||
|
</div>
|
||||||
|
|
@ -0,0 +1,606 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ko" xmlns:th="http://www.thymeleaf.org">
|
||||||
|
<div class="modal-header bg-dark">
|
||||||
|
<h5 class="modal-title text-white" id="fishingBoatEditModalLabel">불법조업 외국어선 상세정보</h5>
|
||||||
|
<button type="button" class="btn-close f-invert" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<ul class="nav nav-tabs" id="fishingBoatTab" role="tablist">
|
||||||
|
<li class="nav-item" role="presentation">
|
||||||
|
<button class="nav-link active" id="fishingBoatViewTab" data-bs-toggle="tab" data-bs-target="#fishingBoatViewTabPanel" type="button" role="tab" aria-controls="fishingBoatViewTabPanel" aria-selected="true">최신버전</button>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item" role="presentation" th:unless="${#lists.size(crackdownStatus.crackdownStatusVersionList) <= 1}">
|
||||||
|
<button class="nav-link" id="fishingBoatVersionTab" data-bs-toggle="tab" data-bs-target="#fishingBoatVersionTabPanel" type="button" role="tab" aria-controls="fishingBoatHistoryTabPanel" aria-selected="false">수정이력</button>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<div class="tab-content bg-white border border-top-0">
|
||||||
|
<div class="tab-pane fade p-2 mx-2 show active" id="fishingBoatViewTabPanel" role="tabpanel" aria-labelledby="fishingBoatViewTab" tabindex="0">
|
||||||
|
<input type="hidden" class="cdsKey" th:value="${crackdownStatus.cdsKey}">
|
||||||
|
<input type="hidden" class="fbKey" th:value="${crackdownStatus.fishingBoat.fbKey}">
|
||||||
|
<div class="row py-2">
|
||||||
|
<div class="col-12">
|
||||||
|
<div class="row justify-content-end">
|
||||||
|
<div class="col-auto">
|
||||||
|
<th:block th:text="|최종수정일: ${#temporals.format(crackdownStatus.fishingBoat.wrtDt, 'yyyy-MM-dd HH:mm')}|"></th:block>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row justify-content-between">
|
||||||
|
<div class="col-auto">■ 단속정보</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<th:block th:each="code:${session.commonCode.get('DST')}">
|
||||||
|
<th:block th:if="${crackdownStatus.status eq code.itemCd}" th:text="|상태: ${code.itemValue}|"></th:block>
|
||||||
|
</th:block>
|
||||||
|
<th:block th:if="${#lists.size(crackdownStatus.crackdownStatusVersionList) <= 1}">
|
||||||
|
(수정 이력 없음)
|
||||||
|
</th:block>
|
||||||
|
<th:block th:unless="${#lists.size(crackdownStatus.crackdownStatusVersionList) <= 1}">
|
||||||
|
<th:block th:text="${#strings.concat('(', #lists.size(crackdownStatus.crackdownStatusVersionList), '차 수정본)') }"></th:block>
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">사건번호</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.caseNum}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">선명</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.fishingBoat.boatNameKr}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">위반사항</label>
|
||||||
|
<div class="col-sm-5">
|
||||||
|
<div class="row">
|
||||||
|
<th:block th:each="code:${vtList}">
|
||||||
|
<th:block th:each="violation:${crackdownStatus.violationList}">
|
||||||
|
<div class="col-6" th:if="${code.itemCd eq violation.violation}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${code.itemValue}"/>
|
||||||
|
</div>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">사건담당경찰서</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<th:block th:each="code:${session.commonCode.get('OG')}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownStatus.caseAgency}" th:value="${code.itemValue}">
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center fs-11">사건담당경찰관</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.casePoliceOfficer}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">단속경찰서</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<th:block th:each="code:${cpoList}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownStatus.crackdownPolice}" th:value="${code.itemValue}">
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">단속함정</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<th:block th:each="code:${boatList}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownStatus.crackdownBoat}" th:value="${code.itemValue}">
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">MMSI.NO</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.mmsi}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">침범유형</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<th:block th:each="code:${session.commonCode.get('IST')}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownStatus.invasionType}" th:value="${code.itemValue}">
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">NLL</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.nll eq 'Y'?'O':(crackdownStatus.nll eq 'N'?'X':crackdownStatus.nll)}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">압송/현장조사</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.fieldIvsgt eq 'C'?'압송':(crackdownStatus.fieldIvsgt eq 'F'?'현장조사':crackdownStatus.fieldIvsgt)}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">나포일시</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${#temporals.format(crackdownStatus.napoDt, 'yyyy-MM-dd hh:mm')}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">나포장소</label>
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="|${crackdownStatus.napoSeaPointLon} ${crackdownStatus.napoSeaPointLat} ${crackdownStatus.napoSeaPointDetail}|">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<th:block th:with="damageFlag=${crackdownStatus.obstrExspdCnt ne 0 ||
|
||||||
|
crackdownStatus.personDamageCnt ne 0 ||
|
||||||
|
crackdownStatus.personDamageAmount ne 0 ||
|
||||||
|
crackdownStatus.personDamageDetail ne null ||
|
||||||
|
crackdownStatus.materialDamageCnt ne 0 ||
|
||||||
|
crackdownStatus.materialDamageAmount ne 0 ||
|
||||||
|
crackdownStatus.materialDamageDetail ne null}">
|
||||||
|
<th:block th:if="${damageFlag}">
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center bg-lightB2">특수공무집행방해</label>
|
||||||
|
<div class="col-sm-11">
|
||||||
|
<div class="row border-bottom border-secondary">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center bg-lightB1">인적피해</label>
|
||||||
|
<div class="col-sm-11">
|
||||||
|
<div class="row border-bottom border-secondary">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">발생건수</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||||
|
<th:block th:if="${crackdownStatus.obstrExspdCnt>0}" th:text="|${crackdownStatus.obstrExspdCnt}건|"></th:block>
|
||||||
|
</label>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">피해인원</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||||
|
<th:block th:if="${crackdownStatus.personDamageCnt>0}" th:text="|${crackdownStatus.personDamageCnt}인|"></th:block>
|
||||||
|
</label>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">피해액</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||||
|
<th:block th:if="${crackdownStatus.personDamageAmount>0}" th:text="|${crackdownStatus.personDamageAmount}만원|"></th:block>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">상세내용</label>
|
||||||
|
<div class="col-sm-11" th:utext="${crackdownStatus.personDamageDetail}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center bg-lightB1">물적피해</label>
|
||||||
|
<div class="col-sm-11">
|
||||||
|
<div class="row border-bottom border-secondary">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">발생건수</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||||
|
<th:block th:if="${crackdownStatus.materialDamageCnt>0}" th:text="|${crackdownStatus.materialDamageCnt}건|"></th:block>
|
||||||
|
</label>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">피해액</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||||
|
<th:block th:if="${crackdownStatus.materialDamageAmount>0}" th:text="|${crackdownStatus.materialDamageAmount}만원|"></th:block>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">상세내용</label>
|
||||||
|
<div class="col-sm-11" th:utext="${crackdownStatus.materialDamageDetail}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
<th:block th:with="catchFlag=${crackdownStatus.fishingBoat.catchFishSpecies ne null ||
|
||||||
|
crackdownStatus.fishingBoat.catchCnt ne 0}">
|
||||||
|
<th:block th:if="${catchFlag}">
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center bg-lightB1">어획물축소기재</label>
|
||||||
|
<div class="col-sm-11">
|
||||||
|
<div class="row">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">어종</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start"
|
||||||
|
th:text="${crackdownStatus.fishingBoat.catchFishSpecies}"></label>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">수량</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||||
|
<th:block th:if="${crackdownStatus.fishingBoat.catchCnt>0}" th:text="|${crackdownStatus.fishingBoat.catchCnt}kg|"></th:block>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
<th:block th:if="${!#lists.isEmpty(crackdownStatus.sailorList)}">
|
||||||
|
<div class="row py-2">
|
||||||
|
<div class="col-auto">■ 선장·선주 정보</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<th:block th:each="sailor:${crackdownStatus.sailorList}">
|
||||||
|
<th:block th:if="${sailor.position eq 'POS001'}">
|
||||||
|
<div class="col-6" id="captainDiv">
|
||||||
|
<div class="row border border-secondary">
|
||||||
|
<label class="col-sm-2 fw-bold bg-label border-end border-secondary col-form-label col-form-label-sm py-2 border-end border-secondary text-center">선장명</label>
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<div class="input-group w-auto">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.sailorNameKr}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.sailorNameCn}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.sailorNamePinyin}">
|
||||||
|
</div>
|
||||||
|
<th:block th:unless="${#lists.isEmpty(sailor.fileList)}">
|
||||||
|
<div id="fileDownloadDiv" class="d-none">
|
||||||
|
<div class="row justify-content-end">
|
||||||
|
<div class="col-auto">
|
||||||
|
<th:block th:each="file:${sailor.fileList}">
|
||||||
|
<a href="#" class="fileDownLink" data-board="sailor"
|
||||||
|
th:data-parentkey="${file.sailorKey}" th:data-fileseq="${file.fileSeq}" th:text="|${file.origNm}.${file.fileExtn}|"></a>
|
||||||
|
<br>
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<th:block th:if="${#lists.isEmpty(sailor.fileList)}">
|
||||||
|
<div>사진 없음</div>
|
||||||
|
</th:block>
|
||||||
|
<th:block th:unless="${#lists.isEmpty(sailor.fileList)}">
|
||||||
|
<img id="captainPhoto" class="w-100" alt="선장 사진" th:src="|/file/fileDisplay?board=sailor&parentKey=${sailor.sailorKey}&fileSeq=1|">
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-2 fw-bold bg-label border-end border-secondary col-form-label col-form-label-sm py-2 border-end border-secondary text-center">생년월일</label>
|
||||||
|
<div class="col-sm-4 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.birthdate}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-2 fw-bold bg-label border-end border-secondary col-form-label col-form-label-sm py-2 border-end border-secondary text-center">연락처</label>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.sailorContact}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-2 fw-bold bg-label border-end border-secondary col-form-label col-form-label-sm py-2 border-end border-secondary text-center">주소</label>
|
||||||
|
<div class="col-sm-4 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.residence}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-2 fw-bold bg-label border-end border-secondary col-form-label col-form-label-sm py-2 border-end border-secondary text-center">재범횟수</label>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.arrestHistory}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-2 fw-bold bg-label border-end border-secondary col-form-label col-form-label-sm py-2 border-end border-secondary text-center">비고</label>
|
||||||
|
<div class="col-sm-10">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.note}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
<th:block th:each="sailor:${crackdownStatus.sailorList}">
|
||||||
|
<th:block th:if="${sailor.position eq 'POS004'}">
|
||||||
|
<div class="col-6" id="shipOwnerDiv">
|
||||||
|
<div class="row border border-secondary border-start-0">
|
||||||
|
<label class="col-sm-2 fw-bold bg-label border-end border-secondary col-form-label col-form-label-sm py-2 border-end border-secondary text-center">선주명</label>
|
||||||
|
<div class="col-sm-10">
|
||||||
|
<div class="input-group w-auto">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.sailorNameKr}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.sailorNameCn}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.sailorNamePinyin}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-start-0 border-top-0">
|
||||||
|
<label class="col-sm-2 fw-bold bg-label border-end border-secondary col-form-label col-form-label-sm py-2 border-end border-secondary text-center">생년월일</label>
|
||||||
|
<div class="col-sm-4 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.birthdate}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-2 fw-bold bg-label border-end border-secondary col-form-label col-form-label-sm py-2 border-end border-secondary text-center">연락처</label>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.sailorContact}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-start-0 border-top-0">
|
||||||
|
<label class="col-sm-2 fw-bold bg-label border-end border-secondary col-form-label col-form-label-sm py-2 border-end border-secondary text-center">주소</label>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.residence}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-start-0 border-top-0">
|
||||||
|
<label class="col-sm-2 fw-bold bg-label border-end border-secondary col-form-label col-form-label-sm py-2 border-end border-secondary text-center">비고</label>
|
||||||
|
<div class="col-sm-10">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.note}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
</th:block>
|
||||||
|
<div class="row py-2">
|
||||||
|
<div class="col-auto">■ 어선 정보</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">선명</label>
|
||||||
|
<div class="col-sm-5 border-end border-secondary">
|
||||||
|
<div class="input-group w-auto">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.fishingBoat.boatNameKr}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.fishingBoat.boatNameCn}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">허가번호</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.fishingBoat.permitNum}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">국적</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.fishingBoat.nationality}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">승선원</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary" th:if="${crackdownStatus.fishingBoat.sailorCnt>0}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="|${crackdownStatus.fishingBoat.sailorCnt}인|">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">톤수</label>
|
||||||
|
<div class="col-sm-2" th:if="${crackdownStatus.fishingBoat.tonCnt>0}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="|${crackdownStatus.fishingBoat.tonCnt}t|">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">선종</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<th:block th:each="code:${ftList}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownStatus.fishingBoat.fisheryType}" th:value="${code.itemValue}">
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">선질</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<th:block th:each="code:${bmList}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownStatus.fishingBoat.boatMaterial}" th:value="${code.itemValue}">
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">선적지</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<div class="input-group w-auto">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.fishingBoat.boatNnySung}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.fishingBoat.boatNnySi}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">범칙물</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||||
|
<th:block th:if="${crackdownStatus.fishingBoat.offenseType ne null}" th:text="${crackdownStatus.fishingBoat.offenseType}"></th:block>
|
||||||
|
<th:block th:if="${crackdownStatus.fishingBoat.offenseWeight>0}" th:text="|${crackdownStatus.fishingBoat.offenseWeight}kg|"></th:block>
|
||||||
|
</label>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">범칙물 폐기량</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||||
|
<th:block th:if="${crackdownStatus.fishingBoat.offenseIllegalWasteQuantity>0}" th:text="|${crackdownStatus.fishingBoat.offenseIllegalWasteQuantity}kg|"></th:block>
|
||||||
|
</label>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">범칙물 위판량</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||||
|
<th:block th:if="${crackdownStatus.fishingBoat.offenseQuantity>0}" th:text="|${crackdownStatus.fishingBoat.offenseQuantity}kg|"></th:block>
|
||||||
|
</label>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center fs-11">범칙물 위판금액</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||||
|
<th:block th:if="${crackdownStatus.fishingBoat.offenseAmount>0}" th:text="|${crackdownStatus.fishingBoat.offenseAmount}만원|"></th:block>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">담보금 미납액</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||||
|
<th:block th:if="${crackdownStatus.fishingBoat.damboUnpaidAmount>0}" th:text="|${crackdownStatus.fishingBoat.damboUnpaidAmount}만원|"></th:block>
|
||||||
|
</label>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">담보금 납부액</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||||
|
<th:block th:if="${crackdownStatus.fishingBoat.damboPayment>0}" th:text="|${crackdownStatus.fishingBoat.damboPayment}만원|"></th:block>
|
||||||
|
</label>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center fs-11">담보금 납부일시</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.fishingBoat.paymentPaymentDt}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">압수어구</label>
|
||||||
|
<label class="col-sm-11 col-form-label col-form-label-sm py-2 text-start">
|
||||||
|
<th:block th:if="${!#strings.isEmpty(crackdownStatus.fishingBoat.confiscationFrame)}" th:text="|틀: ${crackdownStatus.fishingBoat.confiscationFrame}|"></th:block>
|
||||||
|
<th:block th:if="${!#strings.isEmpty(crackdownStatus.fishingBoat.confiscationWidth)}" th:text="|폭: ${crackdownStatus.fishingBoat.confiscationWidth}|"></th:block>
|
||||||
|
<th:block th:if="${!#strings.isEmpty(crackdownStatus.fishingBoat.confiscationJo)}" th:text="|조: ${crackdownStatus.fishingBoat.confiscationJo}|"></th:block>
|
||||||
|
<th:block th:if="${!#strings.isEmpty(crackdownStatus.fishingBoat.confiscationGae)}" th:text="|개: ${crackdownStatus.fishingBoat.confiscationGae}|"></th:block>
|
||||||
|
<th:block th:if="${!#strings.isEmpty(crackdownStatus.fishingBoat.confiscationEtc)}" th:text="|기타: ${crackdownStatus.fishingBoat.confiscationEtc}|"></th:block>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="row py-2">
|
||||||
|
<div class="col-auto">■ 처리 결과</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">처리현황</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<th:block th:each="code:${prList}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownStatus.processResult.processStatus}" th:value="${code.itemValue}">
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">수사중지 여부</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.isIvsgtStop eq 'Y'?'중지':(crackdownStatus.processResult.isIvsgtStop eq 'N'?'수사중':crackdownStatus.processResult.isIvsgtStop)}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">선고법원</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start" th:text="${crackdownStatus.processResult.sentencingCourt}"></label>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">선고내용</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 text-start" th:text="${crackdownStatus.processResult.sentencingDetail}"></label>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">압송소요시간</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.pressurizedTimeTaken}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">압송거리</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||||
|
<th:block th:if="${!#strings.isEmpty(crackdownStatus.distance)}" th:text="|${crackdownStatus.distance}해리|"></th:block>
|
||||||
|
</label>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center fs-10">영장청구 소요시간</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.warrantReqTakeTime}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">나포일시</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" id="napoDt" readonly th:value="${#temporals.format(crackdownStatus.napoDt, 'yyyy-MM-dd hh:mm')}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">석방일시</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" id="releaseDt" readonly th:value="${#temporals.format(crackdownStatus.processResult.releaseDt, 'yyyy-MM-dd hh:mm')}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">소요시간</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" id="releaseToNapo" readonly>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">위탁시작일</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.consignmentStartDt}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">위탁종료일</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.consignmentEndDt}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">퇴거일</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.evictionDt}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">직접인계일</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.directHandoverDt}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">인계 해점</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<div class="input-group w-auto">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.handoverSeaPointLon}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.handoverSeaPointLat}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">인계 함정</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.handoverBoat}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">중측 인수함정</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.middleTakeoverBoat}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">몰수확정일</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.confiscationDt}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">폐선일</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.boatDisposalDt}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">폐선종류</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<th:block th:each="code:${bdtList}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownStatus.processResult.boatDisposalType}" th:value="${code.itemValue}">
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">침몰일</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.exileDt}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">환부일</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.returnDt}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">선장구속</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<th:block th:each="sailor:${crackdownStatus.sailorList}">
|
||||||
|
<th:block th:if="${sailor.position eq 'POS001'}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.isRestriction eq 'Y'?'구속':'불구속'}">
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">항해장구속</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<th:block th:each="sailor:${crackdownStatus.sailorList}">
|
||||||
|
<th:block th:if="${sailor.position eq 'POS002'}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.isRestriction eq 'Y'?'구속':'불구속'}">
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">기관장구속</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<th:block th:each="sailor:${crackdownStatus.sailorList}">
|
||||||
|
<th:block th:if="${sailor.position eq 'POS003'}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.isRestriction eq 'Y'?'구속':'불구속'}">
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">선원구속</label>
|
||||||
|
<div class="col-sm-11">
|
||||||
|
<div class="row">
|
||||||
|
<th:block th:each="sailor:${crackdownStatus.sailorList}">
|
||||||
|
<th:block th:if="${sailor.position eq 'POS005' or sailor.position eq 'POS006'}">
|
||||||
|
<div class="col-4">
|
||||||
|
<div class="row mt-2">
|
||||||
|
<label class="col-sm-auto col-form-label col-form-label-sm fw-bold text-end">직책: </label>
|
||||||
|
<label class="col-sm-auto col-form-label col-form-label-sm text-start" th:text="${sailor.position eq 'POS005'?'기타 간부선원':'일반선원 또는 확인불가'}"></label>
|
||||||
|
<label class="col-sm-auto col-form-label col-form-label-sm fw-bold text-end">구속여부: </label>
|
||||||
|
<label class="col-sm-auto col-form-label col-form-label-sm text-start" th:text="${sailor.isRestriction eq 'Y'?'구속':'불구속'}"></label>
|
||||||
|
<label class="col-sm-auto col-form-label col-form-label-sm fw-bold text-end">이름: </label>
|
||||||
|
<label class="col-sm-auto col-form-label col-form-label-sm text-start" th:text="${sailor.sailorNameKr}"></label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="tab-pane fade p-2 mx-2" id="fishingBoatVersionTabPanel" role="tabpanel" aria-labelledby="fishingBoatVersionTab" tabindex="0">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-4">
|
||||||
|
<table class="table table-hover">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td>수정자</td>
|
||||||
|
<td>수정일</td>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr class="versionInfoTr" th:each="versionInfo:${crackdownStatus.crackdownStatusVersionList}">
|
||||||
|
<input type="hidden" class="cdsKey" th:value="${versionInfo.cdsKey}">
|
||||||
|
<input type="hidden" class="versionNo" th:value="${versionInfo.versionNo}">
|
||||||
|
<td><input type="checkbox" class="versionInfoChkbox"></td>
|
||||||
|
<td>
|
||||||
|
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
|
||||||
|
<th:block th:if="${versionInfo.wrtOrgan eq commonCode.itemCd}" th:text="${commonCode.itemValue}"></th:block>
|
||||||
|
</th:block>
|
||||||
|
<br>
|
||||||
|
<th:block th:each="commonCode:${session.commonCode.get('JT')}">
|
||||||
|
<th:block th:if="${versionInfo.wrtUserGrd eq commonCode.itemCd}" th:text="${commonCode.itemValue}"></th:block>
|
||||||
|
</th:block>
|
||||||
|
<th:block th:text="${versionInfo.wrtUserNm}"></th:block>
|
||||||
|
</td>
|
||||||
|
<td th:text="${#temporals.format(versionInfo.wrtDt, 'yyyy-MM-dd HH:mm')}"></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="col-8" id="versionInfoDiv">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<th:block th:if="${modalType ne 'viewOnly'}">
|
||||||
|
<th:block th:if="${userSeq eq crackdownStatus.fishingBoat.wrtUserSeq
|
||||||
|
or (accessAuth eq 'ACC003' and #lists.contains(mgtOrganList, crackdownStatus.fishingBoat.wrtOrgan))}">
|
||||||
|
<!--작성자, 관리자일 경우 수정, 삭제 허용-->
|
||||||
|
<div class="modal-footer justify-content-between bg-light">
|
||||||
|
<div class="col-auto">
|
||||||
|
<button type="button" class="btn btn-danger" id="deleteFishingBoatBtn">삭제</button>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<button type="button" class="btn btn-warning" id="editFishingBoatBtn">수정</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
Loading…
Reference in New Issue