불법조업 외국어선 작업중

master
강석 최 2023-05-26 17:59:32 +09:00
parent 3c1d46f9e7
commit 12ceaed01a
14 changed files with 1015 additions and 640 deletions

View File

@ -44,7 +44,6 @@ public class UnlawfulFishingController {
yearList.add(params.getYear()); yearList.add(params.getYear());
} }
List<CrackdownStatusDTO> csDTOList = new ArrayList<>(); List<CrackdownStatusDTO> csDTOList = new ArrayList<>();
CSStatistics statistics = new CSStatistics();
mav.addObject("crackdownInfoList", csDTOList); mav.addObject("crackdownInfoList", csDTOList);
mav.addObject("yearList", yearList); mav.addObject("yearList", yearList);
@ -69,10 +68,20 @@ public class UnlawfulFishingController {
return mav; return mav;
} }
@GetMapping("/cdiSelectModal")
public ModelAndView crackdownInfoSelectModal(@AuthenticationPrincipal UserInfo loginUser, CrackdownInfo params){
ModelAndView mav = new ModelAndView("faStatistics/unlawfulFishing/crackdownInfo/cdiSelectModal");
List<CrackdownStatusDTO> csDTOList = new ArrayList<>();
mav.addObject("crackdownInfoList", csDTOList);
mav.addObject("searchParams", params);
return mav;
}
@GetMapping("/illegalShipInfo") @GetMapping("/illegalShipInfo")
public ModelAndView illegalShipPage(@AuthenticationPrincipal UserInfo loginUser, UnlawfulFishingParam params){ public ModelAndView illegalShipPage(@AuthenticationPrincipal UserInfo loginUser, UnlawfulFishingParam params){
ModelAndView mav = new ModelAndView("faStatistics/unlawfulFishing/crackdownInfo/illegalShipInfoPage"); ModelAndView mav = new ModelAndView("faStatistics/unlawfulFishing/illegalShipInfo/illegalShipInfoPage");
//메뉴권한 확인 //메뉴권한 확인
AccessConfig accessConfig = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/unlawfulFishing/illegalShipInfo").get(0); AccessConfig accessConfig = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/unlawfulFishing/illegalShipInfo").get(0);
mav.addObject("menuKey", accessConfig.getMenuKey()); mav.addObject("menuKey", accessConfig.getMenuKey());
@ -111,6 +120,15 @@ public class UnlawfulFishingController {
return mav; return mav;
} }
@GetMapping("/isiSelectModal")
public ModelAndView illegalShipInfoSelectModal(@AuthenticationPrincipal UserInfo loginUser, IllegalShipInfo params){
ModelAndView mav = new ModelAndView("faStatistics/unlawfulFishing/illegalShipInfo/isiSelectModal");
List<CrackdownStatusDTO> csDTOList = new ArrayList<>();
mav.addObject("crackdownInfoList", csDTOList);
mav.addObject("searchParams", params);
return mav;
}
@GetMapping("/shipProcessInfo") @GetMapping("/shipProcessInfo")
public ModelAndView shipProcessInfoPage(@AuthenticationPrincipal UserInfo loginUser, UnlawfulFishingParam params){ public ModelAndView shipProcessInfoPage(@AuthenticationPrincipal UserInfo loginUser, UnlawfulFishingParam params){

View File

@ -0,0 +1,53 @@
$(document).on('click', '#addIllegalShipInfoBtn', function (){
getIsiEditModal(null);
})
function getIsiEditModal(fbKey){
$.ajax({
url: '/unlawfulFishing/isiEditModal',
data: {fbKey: fbKey},
type: 'GET',
dataType:"html",
success: function(html){
const contentDiv = $("#isiEditModalContent");
contentDiv.empty().append(html)
$(".dateSelector").datepicker({
format: "yyyy-mm-dd",
language: "ko",
autoclose: true
});
$("#isiEditModal").modal('show');
},
error:function(e){
ajaxErrorAction(e);
}
});
}
$(document).on('click', '#selectCrackdownInfoBtn', function (){
getCdiSelectModal(null);
})
function getCdiSelectModal(){
$.ajax({
url: '/unlawfulFishing/cdiSelectModal',
type: 'GET',
dataType:"html",
success: function(html){
const contentDiv = $("#cdiSelectModalContent");
contentDiv.empty().append(html)
$(".dateSelector").datepicker({
format: "yyyy-mm-dd",
language: "ko",
autoclose: true
});
$("#cdiSelectModal").modal('show');
},
error:function(e){
ajaxErrorAction(e);
}
});
}

View File

@ -0,0 +1,26 @@
$(document).on('click', '#addIllegalShipSailorBtn', function (){
getIssEditModal(null);
})
function getIssEditModal(sailorKey){
$.ajax({
url: '/unlawfulFishing/issEditModal',
data: {sailorKey: sailorKey},
type: 'GET',
dataType:"html",
success: function(html){
const contentDiv = $("#issEditModalContent");
contentDiv.empty().append(html)
$(".dateSelector").datepicker({
format: "yyyy-mm-dd",
language: "ko",
autoclose: true
});
$("#issEditModal").modal('show');
},
error:function(e){
ajaxErrorAction(e);
}
});
}

View File

@ -0,0 +1,25 @@
$(document).on('click', '#selectIllegalShipInfoBtn', function (){
getIsiSelectModal(null);
})
function getIsiSelectModal(){
$.ajax({
url: '/unlawfulFishing/isiSelectModal',
type: 'GET',
dataType:"html",
success: function(html){
const contentDiv = $("#isiSelectModalContent");
contentDiv.empty().append(html)
$(".dateSelector").datepicker({
format: "yyyy-mm-dd",
language: "ko",
autoclose: true
});
$("#isiSelectModal").modal('show');
},
error:function(e){
ajaxErrorAction(e);
}
});
}

View File

@ -0,0 +1,26 @@
$(document).on('click', '#addShipProcessInfoBtn', function (){
getSpiEditModal(null);
})
function getSpiEditModal(prKey){
$.ajax({
url: '/unlawfulFishing/spiEditModal',
data: {prKey: prKey},
type: 'GET',
dataType:"html",
success: function(html){
const contentDiv = $("#spiEditModalContent");
contentDiv.empty().append(html)
$(".dateSelector").datepicker({
format: "yyyy-mm-dd",
language: "ko",
autoclose: true
});
$("#spiEditModal").modal('show');
},
error:function(e){
ajaxErrorAction(e);
}
});
}

View File

@ -18,10 +18,38 @@
<label for="caseNum" class="col-sm-1 col-form-label col-form-label-sm text-center">사건번호</label> <label for="caseNum" class="col-sm-1 col-form-label col-form-label-sm text-center">사건번호</label>
<div class="col-sm-2"> <div class="col-sm-2">
<input type="text" class="form-control form-control-sm " id="caseNum" name="caseNum" th:value="${crackdownInfo.caseNum}"> <input type="text" class="form-control form-control-sm " id="caseNum" name="caseNum" th:value="${crackdownInfo.caseNum}">
<!--<div class="input-group">
<input type="text" class="form-control form-control-sm " id="caseNum" name="caseNum" th:value="${crackdownInfo.caseNum}">
<input type="button" class="btn btn-sm btn-outline-primary w-auto" id="caseNumBtn" value="불러오기">
</div>-->
</div> </div>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">MMSI.NO</label> <label for="violationSelector" class="col-sm-1 col-form-label col-form-label-sm text-center">위반사항</label>
<div class="col-sm-2"> <div class="col-sm-1">
<input class="form-control form-control-sm" name="mmsi" th:value="${crackdownInfo.mmsi}"> <select class="form-select form-select-sm" id="violationSelector">
<option value="">선택</option>
<th:block th:each="code:${session.commonCode.get('VT')}">
<th:block th:if="${code.useChk eq 'T'}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}"></option>
</th:block>
</th:block>
</select>
</div>
<div class="col-sm-4">
<div class="row" id="violationDiv">
<th:block th:each="violation:${crackdownInfo.violationList}">
<div class="col-6 violation">
<input type="hidden" class="form-control form-control-sm violationCd" th:value="${violation.violation}">
<div class="input-group w-auto">
<th:block th:each="code:${session.commonCode.get('VT')}">
<input type="text" class="form-control form-control-sm" th:if="${code.itemCd eq violation.violation}" th:value="${code.itemValue}">
</th:block>
<button type="button" class="btn btn-sm btn-outline-secondary opacity-75 violationRemoveBtn">
<i class="bi bi-dash-square text-danger"></i>
</button>
</div>
</div>
</th:block>
</div>
</div> </div>
</div> </div>
<div class="row mb-1"> <div class="row mb-1">
@ -60,13 +88,17 @@
</div> </div>
</div> </div>
<div class="row mb-1"> <div class="row mb-1">
<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>
<label for="invasionType" class="col-sm-1 col-form-label col-form-label-sm text-center">침범유형</label> <label for="invasionType" class="col-sm-1 col-form-label col-form-label-sm text-center">침범유형</label>
<div class="col-sm-2"> <div class="col-sm-2">
<select class="form-select form-select-sm" name="invasionType" id="invasionType"> <select class="form-select form-select-sm" name="invasionType" id="invasionType">
<option value="">선택</option> <option value="">선택</option>
<th:block th:each="code:${session.commonCode.get('IST')}"> <th:block th:each="commonCode:${session.commonCode.get('IST')}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}" <option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
th:selected="${code.itemCd eq crackdownInfo.invasionType}"></option> th:selected="${commonCode.itemCd eq crackdownInfo.invasionType}"></option>
</th:block> </th:block>
</select> </select>
</div> </div>
@ -104,6 +136,79 @@
</div> </div>
</div> </div>
</div> </div>
<div class="row">
<label class="col-sm-1 col-form-label col-form-label-sm text-center bg-lightB2">특수공무집행방해</label>
<div class="col-sm-11 border" id="damageDiv"
th:with="damageFlag=${crackdownInfo.obstrExspdCnt > 0 ||
crackdownInfo.personDamageCnt > 0 ||
crackdownInfo.personDamageAmount > 0 ||
crackdownInfo.personDamageDetail ne null ||
crackdownInfo.materialDamageCnt > 0 ||
crackdownInfo.materialDamageAmount > 0 ||
crackdownInfo.materialDamageDetail ne null}">
<div class="row">
<label class="col-sm-1 col-form-label col-form-label-sm text-center bg-lightB1">인적피해</label>
<div class="col-sm-11 border">
<div class="row m-0">
<label class="col-sm-1 mb-1 col-form-label col-form-label-sm text-center">발생건수</label>
<div class="col-sm-2">
<input type="number" min="0" class="form-control form-control-sm" name="obstrExspdCnt" th:value="${crackdownInfo.obstrExspdCnt}" th:disabled="${!damageFlag}">
</div>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">피해인원</label>
<div class="col-sm-2">
<input type="number" min="0" class="form-control form-control-sm" name="personDamageCnt" th:value="${crackdownInfo.personDamageCnt}" th:disabled="${!damageFlag}">
</div>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">피해액</label>
<div class="col-sm-2">
<input type="number" min="0" class="form-control form-control-sm" name="personDamageAmount" placeholder="단위: 만원" th:value="${crackdownInfo.personDamageAmount}" th:disabled="${!damageFlag}">
</div>
<div class="col-sm-3"></div>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">상세내용</label>
<div class="col-sm-11">
<textarea class="form-control form-control-sm" name="personDamageDetail" rows="3" th:utext="${crackdownInfo.personDamageDetail}" th:disabled="${!damageFlag}"></textarea>
</div>
</div>
</div>
</div>
<div class="row">
<label class="col-sm-1 col-form-label col-form-label-sm text-center bg-lightB1">물적피해</label>
<div class="col-sm-11 border">
<div class="row m-0">
<label class="col-sm-1 mb-1 col-form-label col-form-label-sm text-center">발생건수</label>
<div class="col-sm-2">
<input type="number" min="0" class="form-control form-control-sm" name="materialDamageCnt" th:value="${crackdownInfo.materialDamageCnt}" th:disabled="${!damageFlag}">
</div>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">피해액</label>
<div class="col-sm-2">
<input type="number" min="0" class="form-control form-control-sm" name="materialDamageAmount" placeholder="단위: 만원" th:value="${crackdownInfo.materialDamageAmount}" th:disabled="${!damageFlag}">
</div>
<div class="col-sm-6"></div>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">상세내용</label>
<div class="col-sm-11">
<textarea class="form-control form-control-sm" name="materialDamageDetail" rows="3" th:utext="${crackdownInfo.materialDamageDetail}" th:disabled="${!damageFlag}"></textarea>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row mb-1">
<label class="col-sm-1 col-form-label col-form-label-sm text-center bg-lightB1">어획물 축소기재</label>
<div class="col-sm-11 border" id="catchDiv"
th:with="catchFlag=${crackdownInfo.catchFishSpecies ne null ||
crackdownInfo.catchCnt > 0}">
<div class="row">
<label 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" name="catchFishSpecies" th:value="${crackdownInfo.catchFishSpecies}" th:disabled="${!catchFlag}">
</div>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">수량</label>
<div class="col-sm-2">
<input type="number" class="form-control form-control-sm" name="catchCnt" placeholder="단위: kg" th:value="${crackdownInfo.catchCnt>0?crackdownInfo.catchCnt:''}" th:disabled="${!catchFlag}">
</div>
</div>
</div>
</div>
</form> </form>
</div> </div>
<div class="modal-footer bg-light"> <div class="modal-footer bg-light">

View File

@ -1,183 +1,146 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="ko" xmlns:th="http://www.thymeleaf.org" <html lang="ko" xmlns:th="http://www.thymeleaf.org">
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" <div class="modal-header bg-dark">
layout:decorate="~{layout/layout}"> <h5 class="modal-title text-white" id="cdiSelectModalLabel">단속현황 불러오기</h5>
<th:block layout:fragment="script"> <button type="button" class="btn-close f-invert" data-bs-dismiss="modal" aria-label="Close"></button>
<script type="text/javascript" th:src="@{/js/faStatistics/unlawfulFishing/crackdownInfo.js}"></script> </div>
</th:block> <div class="modal-body">
<th:block layout:fragment="css"> <div class="row mx-0">
<style> <div class="col-12 card bg-light text-center">
<div class="card-body">
</style> <form method="get" th:action="@{/faStatistics/crackdownInfo}" id="cdsSearchForm">
</th:block> <input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">
<div layout:fragment="content"> <div class="row justify-content-between py-1">
<main> <div class="col-auto">
<input type="hidden" id="menuKey" th:value="${menuKey}"> <div>
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/> <select class="form-select form-select-sm" name="year">
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/> <option value="">연도</option>
<div class="row justify-content-between"> <th:block th:each="year : ${yearList}">
<div class="col-auto"> <option th:value="${year}" th:text="|${year}년|" th:selected="${searchParams.year eq year}"></option>
<div class="d-inline align-middle"><i class="bi bi-square-fill"></i></div> </th:block>
<h5 class="d-inline align-middle"> 불법조업 외국어선 단속현황</h5> </select>
</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>
<div class="col-8"> <div>
<div class="row"> <select class="form-select form-select-sm" name="month">
<div class="col-11"> <option value="">월 선택</option>
<div class="row justify-content-end pb-1"> <th:block th:each="month : ${#numbers.sequence(1, 12)}">
<div class="col-2"> <option th:value="${month}" th:text="|${month}월|" th:selected="${searchParams.month eq month}"></option>
<select class="form-select form-select-sm " id="caseAgency" name="caseAgency"> </th:block>
<option value="">사건담당경찰서</option> </select>
<th:block th:each="code:${session.commonCode.get('OG')}"> </div>
<option th:value="${code.itemCd}" th:text="${code.itemValue}" </div>
th:selected="${code.itemCd eq searchParams.caseAgency}"></option> <div class="col-8">
</th:block> <div class="row">
</select> <div class="col-11">
</div> <div class="row justify-content-end pb-1">
<div class="col-2"> <div class="col-2">
<input type="text" class="form-control form-control-sm" placeholder="사건담당경찰관"> <select class="form-select form-select-sm " id="caseAgency" name="caseAgency">
</div> <option value="">사건담당경찰서</option>
<div class="col-2"> <th:block th:each="code:${session.commonCode.get('OG')}">
<select class="form-select form-select-sm" name="crackdownPolice" id="searchFormPolice"> <option th:value="${code.itemCd}" th:text="${code.itemValue}"
<option value="">단속경찰서</option> th:selected="${code.itemCd eq searchParams.caseAgency}"></option>
<th:block th:each="code:${session.commonCode.get('CPO')}"> </th:block>
<option th:value="${code.itemCd}" th:text="${code.itemValue}" </select>
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>
<div class="row justify-content-end pb-1"> <div class="col-2">
<div class="col-2"> <input type="text" class="form-control form-control-sm" placeholder="사건담당경찰관">
<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="crackdownPolice" id="searchFormPolice">
<input type="text" class="form-control form-control-sm" placeholder="MMSI.NO"> <option value="">단속경찰서</option>
</div> <th:block th:each="code:${session.commonCode.get('CPO')}">
<div class="col-2"> <option th:value="${code.itemCd}" th:text="${code.itemValue}"
<input type="text" class="form-control form-control-sm" placeholder="나포장소"> th:selected="${code.itemCd eq searchParams.crackdownPolice}"></option>
</div> </th:block>
<div class="col-4"> </select>
<div class="input-group w-auto input-daterange" id="dateSelectorDiv"> </div>
<select class="form-select form-select-sm w-30" name="dateSelector"> <div class="col-2">
<option value="">조건선택</option> <select class="form-select form-select-sm" name="crackdownBoat" id="searchFormBoat" disabled>
<option value="napoDt" th:selected="${searchParams.dateSelector eq 'napoDt'}">나포일시</option> <option value="">단속함정</option>
<option value="wrtDt" th:selected="${searchParams.dateSelector eq 'wrtDt'}">작성일시</option> <th:block th:each="cpoNum:${#numbers.sequence(1, #lists.size(session.commonCode.get('CPO')))}">
</select> <th:block th:each="code:${session.commonCode.get('CPO'+cpoNum)}">
<input type="text" class="form-control form-control-sm w-35" id="startDate" name="startDate" placeholder="시작일" autocomplete="off" readonly th:value="${searchParams.startDate}"> <option th:class="${code.categoryCd}" th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq searchParams.crackdownBoat}" style="display: none;"></option>
<input type="text" class="form-control form-control-sm w-35" id="endDate" name="endDate" placeholder="종료일" autocomplete="off" readonly th:value="${searchParams.endDate}"> </th:block>
</div> </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> </div>
<div class="col-1 d-grid gap-2"> </div>
<input type="submit" class="btn btn-primary" id="searchBtn" value="검색"> <div class="col-1 d-grid gap-2">
</div> <input type="submit" class="btn btn-primary" id="searchBtn" value="검색">
</div> </div>
</div> </div>
</div> </div>
</form> </div>
<div class="card"> </form>
<div class="card-body"> <div class="card">
<div class="row"> <div class="card-body">
<div class="col-12 overflow-auto"> <div class="row">
<table class="table table-sm table-hover table-bordered text-nowrap" id="cdsTable"> <div class="col-12 overflow-auto">
<thead class="align-middle"> <table class="table table-sm table-hover table-bordered text-nowrap" id="cdsTable">
<tr class="table-secondary"> <thead class="align-middle">
<th>순번</th> <tr class="table-secondary">
<th>사건번호</th> <th>순번</th>
<th>MMSI.NO</th> <th>사건번호</th>
<th>나포일시</th> <th>MMSI.NO</th>
<th>나포장소</th> <th>나포일시</th>
<th>사건담당경찰서</th> <th>나포장소</th>
<th>사건담당경찰관</th> <th>사건담당경찰서</th>
<th>단속경찰서</th> <th>사건담당경찰관</th>
<th>단속함정</th> <th>단속경찰서</th>
<th>침범유형</th> <th>단속함정</th>
<th>NLL침범여부</th> <th>침범유형</th>
<th>압송여부</th> <th>NLL침범여부</th>
<th>작성자</th> <th>압송여부</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> </tr>
</thead> </th:block>
<tbody class="table-group-divider align-middle"> </tbody>
<th:block th:each="dto,cnt:${crackdownInfoList}"> </table>
<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> </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>
<div class="modal-dialog modal-xxl modal-dialog-scrollable"> </div>
<div class="modal-content" id="csEditModalContent"> <div class="modal-footer">
<button type="button" class="btn btn-primary">불러오기</button>
</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> </div>
</html> </html>

View File

@ -3,7 +3,7 @@
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
layout:decorate="~{layout/layout}"> layout:decorate="~{layout/layout}">
<th:block layout:fragment="script"> <th:block layout:fragment="script">
<script type="text/javascript" th:src="@{/js/faStatistics/unlawfulFishing/crackdownInfo.js}"></script> <script type="text/javascript" th:src="@{/js/faStatistics/unlawfulFishing/illegalShipInfo.js}"></script>
</th:block> </th:block>
<th:block layout:fragment="css"> <th:block layout:fragment="css">
<style> <style>
@ -18,14 +18,14 @@
<div class="row justify-content-between"> <div class="row justify-content-between">
<div class="col-auto"> <div class="col-auto">
<div class="d-inline align-middle"><i class="bi bi-square-fill"></i></div> <div class="d-inline align-middle"><i class="bi bi-square-fill"></i></div>
<h5 class="d-inline align-middle"> 불법조업 외국어선 단속현황</h5> <h5 class="d-inline align-middle"> 불법조업 외국어선 정보</h5>
</div> </div>
<div class="col-auto"><p class="mb-0 mt-2">외사통계 > 불법조업외국어선 > 불법조업 외국어선 단속현황</p></div> <div class="col-auto"><p class="mb-0 mt-2">외사통계 > 불법조업외국어선 > 불법조업 외국어선 정보</p></div>
</div> </div>
<div class="row mx-0"> <div class="row mx-0">
<div class="col-12 card bg-light text-center"> <div class="col-12 card bg-light text-center">
<div class="card-body"> <div class="card-body">
<form method="get" th:action="@{/faStatistics/crackdownInfo}" id="cdsSearchForm"> <form method="get" th:action="@{/faStatistics/illegalShipInfo}" id="cdsSearchForm">
<input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}"> <input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">
<div class="row justify-content-between py-1"> <div class="row justify-content-between py-1">
<div class="col-auto"> <div class="col-auto">
@ -131,12 +131,11 @@
<th>침범유형</th> <th>침범유형</th>
<th>NLL침범여부</th> <th>NLL침범여부</th>
<th>압송여부</th> <th>압송여부</th>
<th>작성자</th>
<th>작성일시</th> <th>작성일시</th>
</tr> </tr>
</thead> </thead>
<tbody class="table-group-divider align-middle"> <tbody class="table-group-divider align-middle">
<th:block th:each="dto,cnt:${crackdownInfoList}"> <!--<th:block th:each="dto,cnt:${crackdownInfoList}">
<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>
@ -146,7 +145,7 @@
<div th:text="${dto.napoSeaPointDetail}"></div> <div th:text="${dto.napoSeaPointDetail}"></div>
</td> </td>
</tr> </tr>
</th:block> </th:block>-->
</tbody> </tbody>
</table> </table>
</div> </div>
@ -156,7 +155,7 @@
<button class="btn btn-success" id="cdsDownExcel">엑셀 다운로드</button> <button class="btn btn-success" id="cdsDownExcel">엑셀 다운로드</button>
</div> </div>
<div class="col-auto"> <div class="col-auto">
<button class="btn btn-primary" id="addCrackdownStatusBtn">등록</button> <button class="btn btn-primary" id="addIllegalShipInfoBtn">등록</button>
</div> </div>
</div> </div>
</div> </div>
@ -164,16 +163,23 @@
</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 fade" id="isiEditModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="isiEditModalLabel" aria-hidden="true">
<div class="modal-dialog modal-xxl modal-dialog-scrollable"> <div class="modal-dialog modal-xxl modal-dialog-scrollable">
<div class="modal-content" id="csEditModalContent"> <div class="modal-content" id="isiEditModalContent">
</div> </div>
</div> </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 fade" id="isiViewModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="isiViewModalLabel" aria-hidden="true">
<div class="modal-dialog modal-xxl modal-dialog-scrollable"> <div class="modal-dialog modal-xxl modal-dialog-scrollable">
<div class="modal-content" id="csViewModalContent"> <div class="modal-content" id="isiViewModalContent">
</div>
</div>
</div>
<div class="modal fade" id="cdiSelectModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="cdiSelectModalLabel" aria-hidden="true">
<div class="modal-dialog modal-xxl modal-dialog-scrollable">
<div class="modal-content" id="cdiSelectModalContent">
</div> </div>
</div> </div>

View File

@ -1,106 +1,171 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="ko" xmlns:th="http://www.thymeleaf.org"> <html lang="ko" xmlns:th="http://www.thymeleaf.org">
<div class="modal-header bg-dark"> <div class="modal-header bg-dark">
<h5 class="modal-title text-white" id="csEditModalLabel" th:text="${crackdownInfo.cdsKey eq null?'단속현황 작성':'단속현황 수정'}"></h5> <h5 class="modal-title text-white" id="issEditModalLabel" th:text="|불법조업 외국어선 정보 ${illegalShipInfo.fbKey eq null?'작성':'수정'}|"></h5>
<button type="button" class="btn-close f-invert" data-bs-dismiss="modal" aria-label="Close"></button> <button type="button" class="btn-close f-invert" data-bs-dismiss="modal" aria-label="Close"></button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<form action="#" method="post" id="csEditForm"> <form action="#" method="post" id="fbEditForm">
<input type="hidden" name="cdsKey" id="cdsKey" th:value="${crackdownInfo.cdsKey}"> <input type="hidden" name="fbKey" id="fbKey" th:value="${illegalShipInfo.fbKey}">
<input type="hidden" class="status" name="status" id="infoStatus" th:value="${crackdownInfo.status}"> <input type="hidden" class="status" name="status" id="infoStatus" th:value="${illegalShipInfo.status}">
<input type="hidden" name="wrtOrgan" th:value="${crackdownInfo.wrtOrgan}"> <input type="hidden" name="wrtOrgan" th:value="${illegalShipInfo.wrtOrgan}">
<input type="hidden" name="wrtPart" th:value="${crackdownInfo.wrtPart}"> <input type="hidden" name="wrtPart" th:value="${illegalShipInfo.wrtPart}">
<input type="hidden" name="wrtUserSeq" th:value="${crackdownInfo.wrtUserSeq}"> <input type="hidden" name="wrtUserSeq" th:value="${illegalShipInfo.wrtUserSeq}">
<input type="hidden" name="wrtUserGrd" th:value="${crackdownInfo.wrtUserGrd}"> <input type="hidden" name="wrtUserGrd" th:value="${illegalShipInfo.wrtUserGrd}">
<input type="hidden" name="wrtUserNm" th:value="${crackdownInfo.wrtUserNm}"> <input type="hidden" name="wrtUserNm" th:value="${illegalShipInfo.wrtUserNm}">
<input type="hidden" name="wrtDt" th:value="${#temporals.format(crackdownInfo.wrtDt, 'yyyy-MM-dd HH:mm:ss')}"> <input type="hidden" name="wrtDt" th:value="${#temporals.format(illegalShipInfo.wrtDt, 'yyyy-MM-dd HH:mm:ss')}">
<div class="row mb-1"> <div class="row mb-1">
<label for="caseNum" class="col-sm-1 col-form-label col-form-label-sm text-center">사건번호</label> <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="col-sm-2">
<div class="input-group"> <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 " id="caseNum" name="caseNum">
<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"> <input type="button" class="btn btn-sm btn-outline-primary w-auto" id="selectCrackdownInfoBtn" value="불러오기">
</div> </div>
</div> </div>
<label for="napoSeaPointLon" class="col-sm-1 col-form-label col-form-label-sm text-center">나포장소</label> </div>
<div class="col-sm-5"> <div class="row mb-1">
<label for="boatNameCn" class="col-sm-1 col-form-label col-form-label-sm text-center">선명</label>
<div class="col-sm-4">
<div class="input-group w-auto"> <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 boatNameKr" placeholder="한글" th:value="${illegalShipInfo.boatNameKr}">
<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 " id="boatNameCn" name="boatNameCn" placeholder="중문" th:value="${illegalShipInfo.boatNameCn}">
<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 class="col-sm-1"></div>
<!--<label for="violationSelector" class="col-sm-1 col-form-label col-form-label-sm text-center">위반사항</label>
<div class="col-sm-1">
<select class="form-select form-select-sm" id="violationSelector">
<option value="">선택</option>
<th:block th:each="code:${vtList}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}"></option>
</th:block>
</select>
</div>
<div class="col-sm-4">
<div class="row" id="violationDiv">
<th:block th:each="violation:${violationList}">
<div class="col-6 violation">
<input type="hidden" class="form-control form-control-sm violationCd" th:value="${violation.violation}">
<div class="input-group w-auto">
<th:block th:each="code:${vtList}">
<input type="text" class="form-control form-control-sm" th:if="${code.itemCd eq violation.violation}" th:value="${code.itemValue}">
</th:block>
<button type="button" class="btn btn-sm btn-outline-secondary opacity-75 violationRemoveBtn">
<i class="bi bi-dash-square text-danger"></i>
</button>
</div>
</div>
</th:block>
</div>
</div>-->
</div>
<div class="row mb-1">
<label for="permitNum" 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="permitNum" name="permitNum" th:value="${illegalShipInfo.permitNum}">
</div>
<label for="nationality" 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="nationality" name="nationality" th:value="${illegalShipInfo.nationality}">
</div>
<label for="sailorCnt" 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="sailorCnt" name="sailorCnt" placeholder="0인" th:value="${illegalShipInfo.sailorCnt>0?illegalShipInfo.sailorCnt:''}">
</div>
<label for="tonCnt" 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="tonCnt" name="tonCnt" placeholder="000.00t" th:value="${illegalShipInfo.tonCnt>0?illegalShipInfo.tonCnt:''}">
</div>
</div>
<div class="row mb-1">
<label for="fisheryType" 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="fisheryType" name="fisheryType">
<option value="">선택</option>
<th:block th:each="code:${ftList}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq illegalShipInfo.fisheryType}"></option>
</th:block>
</select>
</div>
<label for="boatMaterial" 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="boatMaterial" name="boatMaterial">
<option value="">선택</option>
<th:block th:each="code:${bmList}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq illegalShipInfo.boatMaterial}"></option>
</th:block>
</select>
</div>
<label for="boatNnySung" class="col-sm-1 col-form-label col-form-label-sm text-center">선적지</label>
<div class="col-sm-2">
<div class="input-group w-auto">
<input type="text" class="form-control form-control-sm " id="boatNnySung" name="boatNnySung" placeholder="성" th:value="${illegalShipInfo.boatNnySung}">
<input type="text" class="form-control form-control-sm " id="boatNnySi" name="boatNnySi" placeholder="시" th:value="${illegalShipInfo.boatNnySi}">
</div>
</div>
</div>
<div class="row mb-1">
<label for="offenseType" class="col-sm-1 col-form-label col-form-label-sm text-center">범칙물</label>
<div class="col-sm-2">
<div class="input-group w-auto">
<select class="form-select w-30 form-select-sm oxSelector" id="offenseSelector">
<option value="1" th:selected="${illegalShipInfo.offenseType eq null}">없음</option>
<option value="2" th:selected="${illegalShipInfo.offenseType ne null}">직접입력</option>
</select>
<input type="text" class="form-control w-40 form-control-sm " id="offenseType" name="offenseType" placeholder="범칙물" th:value="${illegalShipInfo.offenseType}" th:disabled="${illegalShipInfo.offenseType eq null}">
<input type="text" class="form-control w-30 form-control-sm " id="offenseWeight" name="offenseWeight" placeholder="000kg" th:value="${illegalShipInfo.offenseWeight>0?illegalShipInfo.offenseWeight:''}" th:disabled="${illegalShipInfo.offenseType eq null}">
</div>
</div>
<label for="offenseIllegalWasteQuantity" 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="offenseIllegalWasteQuantity" name="offenseIllegalWasteQuantity" placeholder="000kg" th:value="${illegalShipInfo.offenseIllegalWasteQuantity>0?illegalShipInfo.offenseIllegalWasteQuantity:''}" th:disabled="${illegalShipInfo.offenseType eq null}">
</div>
<label for="offenseQuantity" 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="offenseQuantity" name="offenseQuantity" placeholder="000kg" th:value="${illegalShipInfo.offenseQuantity>0?illegalShipInfo.offenseQuantity:''}" th:disabled="${illegalShipInfo.offenseType eq null}">
</div>
<label for="offenseAmount" class="col-sm-1 col-form-label col-form-label-sm text-center fs-11">범칙물 위판금액</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm " id="offenseAmount" name="offenseAmount" placeholder="단위: 만원" th:value="${illegalShipInfo.offenseAmount>0?illegalShipInfo.offenseAmount:''}" th:disabled="${illegalShipInfo.offenseType eq null}">
</div>
</div>
<div class="row mb-1">
<label for="damboUnpaidAmount" 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="damboUnpaidAmount" name="damboUnpaidAmount" placeholder="단위: 만원" th:value="${illegalShipInfo.damboUnpaidAmount>0?illegalShipInfo.damboUnpaidAmount:''}">
</div>
<label for="damboPayment" 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="damboPayment" name="damboPayment" placeholder="단위: 만원" th:value="${illegalShipInfo.damboPayment>0?illegalShipInfo.damboPayment:''}">
</div>
<label for="paymentPaymentDate" class="col-sm-1 col-form-label col-form-label-sm text-center fs-11">담보금 납부일시</label>
<div class="col-sm-2">
<input type="hidden" id="paymentPaymentDt" name="paymentPaymentDt" th:value="${#temporals.format(illegalShipInfo.paymentPaymentDt, 'yyyy-MM-dd hh:mm')}">
<div class="input-group">
<input type="text" class="form-control form-control-sm dateSelector" id="paymentPaymentDate" placeholder="yyyy-mm-dd" th:value="${#temporals.format(illegalShipInfo.paymentPaymentDt, 'yyyy-MM-dd')}" autocomplete="off">
<input type="text" class="form-control form-control-sm timeInputer" id="paymentPaymentTime" placeholder="hh:mm" th:value="${#temporals.format(illegalShipInfo.paymentPaymentDt, 'HH:mm')}" autocomplete="off">
</div>
</div>
</div>
<div class="row mb-1">
<label for="confiscationFrame" 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"
th:with="confiscationFlag=${illegalShipInfo.confiscationFrame ne null ||
illegalShipInfo.confiscationWidth ne null ||
illegalShipInfo.confiscationJo ne null ||
illegalShipInfo.confiscationGae ne null ||
illegalShipInfo.confiscationEtc ne null}">
<select class="form-select form-select-sm oxSelector">
<option value="1" th:selected="${!confiscationFlag}">없음</option>
<option value="2" th:selected="${confiscationFlag}">수량기입</option>
</select>
<input type="text" class="form-control form-control-sm " id="confiscationFrame" name="confiscationFrame" placeholder="틀" th:value="${illegalShipInfo.confiscationFrame}" th:disabled="${!confiscationFlag}">
<input type="text" class="form-control form-control-sm " id="confiscationWidth" name="confiscationWidth" placeholder="폭" th:value="${illegalShipInfo.confiscationWidth}" th:disabled="${!confiscationFlag}">
<input type="text" class="form-control form-control-sm " id="confiscationJo" name="confiscationJo" placeholder="조" th:value="${illegalShipInfo.confiscationJo}" th:disabled="${!confiscationFlag}">
<input type="text" class="form-control form-control-sm " id="confiscationGae" name="confiscationGae" placeholder="개" th:value="${illegalShipInfo.confiscationGae}" th:disabled="${!confiscationFlag}">
<input type="text" class="form-control form-control-sm " id="confiscationEtc" name="confiscationEtc" placeholder="기타" th:value="${illegalShipInfo.confiscationEtc}" th:disabled="${!confiscationFlag}">
</div> </div>
</div> </div>
</div> </div>

View File

@ -1,183 +1,128 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="ko" xmlns:th="http://www.thymeleaf.org" <html lang="ko" xmlns:th="http://www.thymeleaf.org">
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" <div class="modal-header bg-dark">
layout:decorate="~{layout/layout}"> <h5 class="modal-title text-white" id="isiSelectModalLabel">불법조업 외국어선 어선정보 불러오기</h5>
<th:block layout:fragment="script"> <button type="button" class="btn-close f-invert" data-bs-dismiss="modal" aria-label="Close"></button>
<script type="text/javascript" th:src="@{/js/faStatistics/unlawfulFishing/crackdownInfo.js}"></script> </div>
</th:block> <div class="modal-body">
<th:block layout:fragment="css"> <div class="row mx-0">
<style> <div class="col-12 card bg-light text-center">
<div class="card-body">
</style> <form method="get" th:action="@{/faStatistics/crackdownInfo}" id="cdsSearchForm">
</th:block> <input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">
<div layout:fragment="content"> <div class="row justify-content-end py-1">
<main> <div class="col-8">
<input type="hidden" id="menuKey" th:value="${menuKey}"> <div class="row">
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/> <div class="col-11">
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/> <div class="row justify-content-end pb-1">
<div class="row justify-content-between"> <div class="col-2">
<div class="col-auto"> <select class="form-select form-select-sm " id="caseAgency" name="caseAgency">
<div class="d-inline align-middle"><i class="bi bi-square-fill"></i></div> <option value="">사건담당경찰서</option>
<h5 class="d-inline align-middle"> 불법조업 외국어선 단속현황</h5> <th:block th:each="code:${session.commonCode.get('OG')}">
</div> <option th:value="${code.itemCd}" th:text="${code.itemValue}"
<div class="col-auto"><p class="mb-0 mt-2">외사통계 > 불법조업외국어선 > 불법조업 외국어선 단속현황</p></div> th:selected="${code.itemCd eq searchParams.caseAgency}"></option>
</div> </th:block>
<div class="row mx-0"> </select>
<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>
<div class="row justify-content-end pb-1"> <div class="col-2">
<div class="col-2"> <input type="text" class="form-control form-control-sm" placeholder="사건담당경찰관">
<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="crackdownPolice" id="searchFormPolice">
<input type="text" class="form-control form-control-sm" placeholder="MMSI.NO"> <option value="">단속경찰서</option>
</div> <th:block th:each="code:${session.commonCode.get('CPO')}">
<div class="col-2"> <option th:value="${code.itemCd}" th:text="${code.itemValue}"
<input type="text" class="form-control form-control-sm" placeholder="나포장소"> th:selected="${code.itemCd eq searchParams.crackdownPolice}"></option>
</div> </th:block>
<div class="col-4"> </select>
<div class="input-group w-auto input-daterange" id="dateSelectorDiv"> </div>
<select class="form-select form-select-sm w-30" name="dateSelector"> <div class="col-2">
<option value="">조건선택</option> <select class="form-select form-select-sm" name="crackdownBoat" id="searchFormBoat" disabled>
<option value="napoDt" th:selected="${searchParams.dateSelector eq 'napoDt'}">나포일시</option> <option value="">단속함정</option>
<option value="wrtDt" th:selected="${searchParams.dateSelector eq 'wrtDt'}">작성일시</option> <th:block th:each="cpoNum:${#numbers.sequence(1, #lists.size(session.commonCode.get('CPO')))}">
</select> <th:block th:each="code:${session.commonCode.get('CPO'+cpoNum)}">
<input type="text" class="form-control form-control-sm w-35" id="startDate" name="startDate" placeholder="시작일" autocomplete="off" readonly th:value="${searchParams.startDate}"> <option th:class="${code.categoryCd}" th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq searchParams.crackdownBoat}" style="display: none;"></option>
<input type="text" class="form-control form-control-sm w-35" id="endDate" name="endDate" placeholder="종료일" autocomplete="off" readonly th:value="${searchParams.endDate}"> </th:block>
</div> </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> </div>
<div class="col-1 d-grid gap-2"> </div>
<input type="submit" class="btn btn-primary" id="searchBtn" value="검색"> <div class="col-1 d-grid gap-2">
</div> <input type="submit" class="btn btn-primary" id="searchBtn" value="검색">
</div> </div>
</div> </div>
</div> </div>
</form> </div>
<div class="card"> </form>
<div class="card-body"> <div class="card">
<div class="row"> <div class="card-body">
<div class="col-12 overflow-auto"> <div class="row">
<table class="table table-sm table-hover table-bordered text-nowrap" id="cdsTable"> <div class="col-12 overflow-auto">
<thead class="align-middle"> <table class="table table-sm table-hover table-bordered text-nowrap" id="cdsTable">
<tr class="table-secondary"> <thead class="align-middle">
<th>순번</th> <tr class="table-secondary">
<th>사건번호</th> <th>순번</th>
<th>MMSI.NO</th> <th>사건번호</th>
<th>나포일시</th> <th>MMSI.NO</th>
<th>나포장소</th> <th>나포일시</th>
<th>사건담당경찰서</th> <th>나포장소</th>
<th>사건담당경찰관</th> <th>사건담당경찰서</th>
<th>단속경찰서</th> <th>사건담당경찰관</th>
<th>단속함정</th> <th>단속경찰서</th>
<th>침범유형</th> <th>단속함정</th>
<th>NLL침범여부</th> <th>침범유형</th>
<th>압송여부</th> <th>NLL침범여부</th>
<th>작성자</th> <th>압송여부</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> </tr>
</thead> </th:block>
<tbody class="table-group-divider align-middle"> </tbody>
<th:block th:each="dto,cnt:${crackdownInfoList}"> </table>
<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> </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>
<div class="modal-dialog modal-xxl modal-dialog-scrollable"> </div>
<div class="modal-content" id="csEditModalContent"> <div class="modal-footer">
<button type="button" class="btn btn-primary">불러오기</button>
</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> </div>
</html> </html>

View File

@ -3,7 +3,8 @@
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
layout:decorate="~{layout/layout}"> layout:decorate="~{layout/layout}">
<th:block layout:fragment="script"> <th:block layout:fragment="script">
<script type="text/javascript" th:src="@{/js/faStatistics/unlawfulFishing/crackdownInfo.js}"></script> <script type="text/javascript" th:src="@{/js/faStatistics/unlawfulFishing/illegalShipSailor.js}"></script>
<script type="text/javascript" th:src="@{/js/faStatistics/unlawfulFishing/illegalShipSelectModal.js}"></script>
</th:block> </th:block>
<th:block layout:fragment="css"> <th:block layout:fragment="css">
<style> <style>
@ -18,14 +19,14 @@
<div class="row justify-content-between"> <div class="row justify-content-between">
<div class="col-auto"> <div class="col-auto">
<div class="d-inline align-middle"><i class="bi bi-square-fill"></i></div> <div class="d-inline align-middle"><i class="bi bi-square-fill"></i></div>
<h5 class="d-inline align-middle"> 불법조업 외국어선 단속현황</h5> <h5 class="d-inline align-middle"> 불법조업 외국어선 선원 세부 현황</h5>
</div> </div>
<div class="col-auto"><p class="mb-0 mt-2">외사통계 > 불법조업외국어선 > 불법조업 외국어선 단속현황</p></div> <div class="col-auto"><p class="mb-0 mt-2">외사통계 > 불법조업외국어선 > 선원 세부 현황</p></div>
</div> </div>
<div class="row mx-0"> <div class="row mx-0">
<div class="col-12 card bg-light text-center"> <div class="col-12 card bg-light text-center">
<div class="card-body"> <div class="card-body">
<form method="get" th:action="@{/faStatistics/crackdownInfo}" id="cdsSearchForm"> <form method="get" th:action="@{/faStatistics/illegalShipSailor}" id="cdsSearchForm">
<input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}"> <input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">
<div class="row justify-content-between py-1"> <div class="row justify-content-between py-1">
<div class="col-auto"> <div class="col-auto">
@ -156,7 +157,7 @@
<button class="btn btn-success" id="cdsDownExcel">엑셀 다운로드</button> <button class="btn btn-success" id="cdsDownExcel">엑셀 다운로드</button>
</div> </div>
<div class="col-auto"> <div class="col-auto">
<button class="btn btn-primary" id="addCrackdownStatusBtn">등록</button> <button class="btn btn-primary" id="addIllegalShipSailorBtn">등록</button>
</div> </div>
</div> </div>
</div> </div>
@ -164,9 +165,9 @@
</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 fade" id="issEditModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="issEditModalLabel" aria-hidden="true">
<div class="modal-dialog modal-xxl modal-dialog-scrollable"> <div class="modal-dialog modal-xxl modal-dialog-scrollable">
<div class="modal-content" id="csEditModalContent"> <div class="modal-content" id="issEditModalContent">
</div> </div>
</div> </div>
@ -175,6 +176,13 @@
<div class="modal-dialog modal-xxl modal-dialog-scrollable"> <div class="modal-dialog modal-xxl modal-dialog-scrollable">
<div class="modal-content" id="csViewModalContent"> <div class="modal-content" id="csViewModalContent">
</div>
</div>
</div>
<div class="modal fade" id="isiSelectModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="isiSelectModalLabel" aria-hidden="true">
<div class="modal-dialog modal-xxl modal-dialog-scrollable">
<div class="modal-content" id="isiSelectModalContent">
</div> </div>
</div> </div>
</div> </div>

View File

@ -1,107 +1,133 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="ko" xmlns:th="http://www.thymeleaf.org"> <html lang="ko" xmlns:th="http://www.thymeleaf.org">
<div class="modal-header bg-dark"> <div class="modal-header bg-dark">
<h5 class="modal-title text-white" id="csEditModalLabel" th:text="${crackdownInfo.cdsKey eq null?'단속현황 작성':'단속현황 수정'}"></h5> <h5 class="modal-title text-white" id="csEditModalLabel" th:text="|선원 세부 현황 ${illegalShipSailor.sailorKey eq null?'작성':'수정'}|"></h5>
<button type="button" class="btn-close f-invert" data-bs-dismiss="modal" aria-label="Close"></button> <button type="button" class="btn-close f-invert" data-bs-dismiss="modal" aria-label="Close"></button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<form action="#" method="post" id="csEditForm"> <form action="#" method="post" id="csEditForm">
<input type="hidden" name="cdsKey" id="cdsKey" th:value="${crackdownInfo.cdsKey}"> <input type="hidden" name="cdsKey" id="cdsKey" th:value="${illegalShipSailor.sailorKey}">
<input type="hidden" class="status" name="status" id="infoStatus" th:value="${crackdownInfo.status}"> <input type="hidden" class="status" name="status" id="infoStatus" th:value="${illegalShipSailor.status}">
<input type="hidden" name="wrtOrgan" th:value="${crackdownInfo.wrtOrgan}"> <input type="hidden" name="wrtOrgan" th:value="${illegalShipSailor.wrtOrgan}">
<input type="hidden" name="wrtPart" th:value="${crackdownInfo.wrtPart}"> <input type="hidden" name="wrtPart" th:value="${illegalShipSailor.wrtPart}">
<input type="hidden" name="wrtUserSeq" th:value="${crackdownInfo.wrtUserSeq}"> <input type="hidden" name="wrtUserSeq" th:value="${illegalShipSailor.wrtUserSeq}">
<input type="hidden" name="wrtUserGrd" th:value="${crackdownInfo.wrtUserGrd}"> <input type="hidden" name="wrtUserGrd" th:value="${illegalShipSailor.wrtUserGrd}">
<input type="hidden" name="wrtUserNm" th:value="${crackdownInfo.wrtUserNm}"> <input type="hidden" name="wrtUserNm" th:value="${illegalShipSailor.wrtUserNm}">
<input type="hidden" name="wrtDt" th:value="${#temporals.format(crackdownInfo.wrtDt, 'yyyy-MM-dd HH:mm:ss')}"> <input type="hidden" name="wrtDt" th:value="${#temporals.format(illegalShipSailor.wrtDt, 'yyyy-MM-dd HH:mm:ss')}">
<div class="row mb-1"> <div class="row mb-1">
<label for="caseNum" class="col-sm-1 col-form-label col-form-label-sm text-center">사건번호</label> <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="col-sm-2">
<div class="input-group"> <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 " id="caseNum" name="caseNum">
<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"> <input type="button" class="btn btn-sm btn-outline-primary w-auto" id="selectIllegalShipInfoBtn" value="불러오기">
</div> </div>
</div> </div>
<label for="napoSeaPointLon" class="col-sm-1 col-form-label col-form-label-sm text-center">나포장소</label> </div>
<div class="row mb-1">
<label class="col-sm-1 col-form-label col-form-label-sm text-center">선원명(한글)</label>
<div class="col-sm-2">
<input class="form-control form-control-sm" name="sailorNameKr" id="sailorNameKr" th:value="${illegalShipSailor.sailorNameKr}">
</div>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">선원명(중문)</label>
<div class="col-sm-2">
<input class="form-control form-control-sm" name="sailorNameCn" id="sailorNameCn" th:value="${illegalShipSailor.sailorNameCn}">
</div>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">생년월일</label>
<div class="col-sm-2">
<input class="form-control form-control-sm" name="birthdate" id="birthdate" th:value="${#temporals.format(illegalShipSailor.birthdate, 'yyyy-MM-dd')}">
</div>
</div>
<div class="row mb-1">
<label 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="residence">
<option value="">선택</option>
<th:block th:each="code:${session.commonCode.get('RSC')}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
th:selected="${code.itemCd eq illegalShipSailor.residence}"></option>
</th:block>
</select>
</div>
<label 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="education">
<option value="">선택</option>
<th:block th:each="code:${session.commonCode.get('SED')}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
th:selected="${code.itemCd eq illegalShipSailor.education}"></option>
</th:block>
</select>
</div>
<label 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="position">
<option value="">선택</option>
<th:block th:each="code:${session.commonCode.get('POS')}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
th:selected="${code.itemCd eq illegalShipSailor.position}"></option>
</th:block>
</select>
</div>
</div>
<div class="row mb-1">
<label 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="career">
<option value="">선택</option>
<th:block th:each="code:${session.commonCode.get('BE')}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
th:selected="${code.itemCd eq illegalShipSailor.career}"></option>
</th:block>
</select>
</div>
<label 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="similarCriminalHistory">
<option value="">선택</option>
<option value="1" th:selected="${illegalShipSailor.similarCriminalHistory == 1}">1건</option>
<option value="2" th:selected="${illegalShipSailor.similarCriminalHistory == 2}">2건</option>
<option value="3" th:selected="${illegalShipSailor.similarCriminalHistory == 3}">3건</option>
<option value="4" th:selected="${illegalShipSailor.similarCriminalHistory == 4}">4이상</option>
<option value="0" th:selected="${illegalShipSailor.similarCriminalHistory == 0}">없음</option>
</select>
</div>
<label 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="heterogeneousCriminalHistory">
<option value="">선택</option>
<option value="1" th:selected="${illegalShipSailor.heterogeneousCriminalHistory == 1}">1건</option>
<option value="2" th:selected="${illegalShipSailor.heterogeneousCriminalHistory == 2}">2건</option>
<option value="3" th:selected="${illegalShipSailor.heterogeneousCriminalHistory == 3}">3건</option>
<option value="4" th:selected="${illegalShipSailor.heterogeneousCriminalHistory == 4}">4이상</option>
<option value="0" th:selected="${illegalShipSailor.heterogeneousCriminalHistory == 0}">없음</option>
</select>
</div>
</div>
<div class="row mb-1">
<label class="col-sm-2 col-form-label col-form-label-sm text-center">검거이력(나포이력, 선원 포함)</label>
<div class="col-sm-2">
<select class="form-select form-select-sm" name="arrestHistory">
<option value="">선택</option>
<option value="1" th:selected="${illegalShipSailor.arrestHistory == 1}">1건</option>
<option value="2" th:selected="${illegalShipSailor.arrestHistory == 2}">2건</option>
<option value="3" th:selected="${illegalShipSailor.arrestHistory == 3}">3건</option>
<option value="4" th:selected="${illegalShipSailor.arrestHistory == 4}">4이상</option>
<option value="0" th:selected="${illegalShipSailor.arrestHistory == 0}">없음</option>
</select>
</div>
<label class="col-sm-2 col-form-label col-form-label-sm text-center">범죄경력 세부내용</label>
<div class="col-sm-3">
<input class="form-control form-control-sm" name="criminalHistoryDetail" th:value="${illegalShipSailor.criminalHistoryDetail}">
</div>
</div>
<div class="row mb-1">
<label class="col-sm-1 col-form-label col-form-label-sm text-center">임금</label>
<div class="col-sm-3">
<input class="form-control form-control-sm" name="monthlyWages" placeholder="(0.000위안/월)" th:value="${illegalShipSailor.monthlyWages}">
</div>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">비고</label>
<div class="col-sm-5"> <div class="col-sm-5">
<div class="input-group w-auto"> <input class="form-control form-control-sm" name="note" th:value="${illegalShipSailor.note}">
<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>
</div> </div>
</form> </form>

View File

@ -3,7 +3,8 @@
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
layout:decorate="~{layout/layout}"> layout:decorate="~{layout/layout}">
<th:block layout:fragment="script"> <th:block layout:fragment="script">
<script type="text/javascript" th:src="@{/js/faStatistics/unlawfulFishing/crackdownInfo.js}"></script> <script type="text/javascript" th:src="@{/js/faStatistics/unlawfulFishing/shipProcessInfo.js}"></script>
<script type="text/javascript" th:src="@{/js/faStatistics/unlawfulFishing/illegalShipSelectModal.js}"></script>
</th:block> </th:block>
<th:block layout:fragment="css"> <th:block layout:fragment="css">
<style> <style>
@ -18,14 +19,14 @@
<div class="row justify-content-between"> <div class="row justify-content-between">
<div class="col-auto"> <div class="col-auto">
<div class="d-inline align-middle"><i class="bi bi-square-fill"></i></div> <div class="d-inline align-middle"><i class="bi bi-square-fill"></i></div>
<h5 class="d-inline align-middle"> 불법조업 외국어선 단속현황</h5> <h5 class="d-inline align-middle"> 불법조업 외국어선 처리현황</h5>
</div> </div>
<div class="col-auto"><p class="mb-0 mt-2">외사통계 > 불법조업외국어선 > 불법조업 외국어선 단속현황</p></div> <div class="col-auto"><p class="mb-0 mt-2">외사통계 > 불법조업외국어선 > 불법조업 외국어선 처리현황</p></div>
</div> </div>
<div class="row mx-0"> <div class="row mx-0">
<div class="col-12 card bg-light text-center"> <div class="col-12 card bg-light text-center">
<div class="card-body"> <div class="card-body">
<form method="get" th:action="@{/faStatistics/crackdownInfo}" id="cdsSearchForm"> <form method="get" th:action="@{/faStatistics/shipProcessInfo}" id="cdsSearchForm">
<input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}"> <input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">
<div class="row justify-content-between py-1"> <div class="row justify-content-between py-1">
<div class="col-auto"> <div class="col-auto">
@ -156,7 +157,7 @@
<button class="btn btn-success" id="cdsDownExcel">엑셀 다운로드</button> <button class="btn btn-success" id="cdsDownExcel">엑셀 다운로드</button>
</div> </div>
<div class="col-auto"> <div class="col-auto">
<button class="btn btn-primary" id="addCrackdownStatusBtn">등록</button> <button class="btn btn-primary" id="addShipProcessInfoBtn">등록</button>
</div> </div>
</div> </div>
</div> </div>
@ -164,9 +165,9 @@
</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 fade" id="spiEditModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="spiEditModalLabel" aria-hidden="true">
<div class="modal-dialog modal-xxl modal-dialog-scrollable"> <div class="modal-dialog modal-xxl modal-dialog-scrollable">
<div class="modal-content" id="csEditModalContent"> <div class="modal-content" id="spiEditModalContent">
</div> </div>
</div> </div>
@ -175,6 +176,13 @@
<div class="modal-dialog modal-xxl modal-dialog-scrollable"> <div class="modal-dialog modal-xxl modal-dialog-scrollable">
<div class="modal-content" id="csViewModalContent"> <div class="modal-content" id="csViewModalContent">
</div>
</div>
</div>
<div class="modal fade" id="isiSelectModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="isiSelectModalLabel" aria-hidden="true">
<div class="modal-dialog modal-xxl modal-dialog-scrollable">
<div class="modal-content" id="isiSelectModalContent">
</div> </div>
</div> </div>
</div> </div>

View File

@ -1,106 +1,207 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="ko" xmlns:th="http://www.thymeleaf.org"> <html lang="ko" xmlns:th="http://www.thymeleaf.org">
<div class="modal-header bg-dark"> <div class="modal-header bg-dark">
<h5 class="modal-title text-white" id="csEditModalLabel" th:text="${crackdownInfo.cdsKey eq null?'단속현황 작성':'단속현황 수정'}"></h5> <h5 class="modal-title text-white" id="spiEditModalLabel" th:text="|불법조업 외국어선 처리 현황 ${shipProcessInfo.prKey eq null?'작성':'수정'}|"></h5>
<button type="button" class="btn-close f-invert" data-bs-dismiss="modal" aria-label="Close"></button> <button type="button" class="btn-close f-invert" data-bs-dismiss="modal" aria-label="Close"></button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<form action="#" method="post" id="csEditForm"> <form action="#" method="post" id="spiEditForm">
<input type="hidden" name="cdsKey" id="cdsKey" th:value="${crackdownInfo.cdsKey}"> <input type="hidden" name="prKey" id="prKey" th:value="${shipProcessInfo.prKey}">
<input type="hidden" class="status" name="status" id="infoStatus" th:value="${crackdownInfo.status}"> <input type="hidden" class="status" name="status" id="infoStatus" th:value="${shipProcessInfo.status}">
<input type="hidden" name="wrtOrgan" th:value="${crackdownInfo.wrtOrgan}"> <input type="hidden" name="wrtOrgan" th:value="${shipProcessInfo.wrtOrgan}">
<input type="hidden" name="wrtPart" th:value="${crackdownInfo.wrtPart}"> <input type="hidden" name="wrtPart" th:value="${shipProcessInfo.wrtPart}">
<input type="hidden" name="wrtUserSeq" th:value="${crackdownInfo.wrtUserSeq}"> <input type="hidden" name="wrtUserSeq" th:value="${shipProcessInfo.wrtUserSeq}">
<input type="hidden" name="wrtUserGrd" th:value="${crackdownInfo.wrtUserGrd}"> <input type="hidden" name="wrtUserGrd" th:value="${shipProcessInfo.wrtUserGrd}">
<input type="hidden" name="wrtUserNm" th:value="${crackdownInfo.wrtUserNm}"> <input type="hidden" name="wrtUserNm" th:value="${shipProcessInfo.wrtUserNm}">
<input type="hidden" name="wrtDt" th:value="${#temporals.format(crackdownInfo.wrtDt, 'yyyy-MM-dd HH:mm:ss')}"> <input type="hidden" name="wrtDt" th:value="${#temporals.format(shipProcessInfo.wrtDt, 'yyyy-MM-dd HH:mm:ss')}">
<div class="row mb-1"> <div class="row mb-1">
<label for="caseNum" class="col-sm-1 col-form-label col-form-label-sm text-center">사건번호</label> <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="col-sm-2">
<div class="input-group"> <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 " id="caseNum" name="caseNum">
<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"> <input type="button" class="btn btn-sm btn-outline-primary w-auto" id="selectIllegalShipInfoBtn" value="불러오기">
</div> </div>
</div> </div>
<label for="napoSeaPointLon" class="col-sm-1 col-form-label col-form-label-sm text-center">나포장소</label> </div>
<div class="col-sm-5"> <div class="row mb-1">
<div class="input-group w-auto"> <label for="processStatus" class="col-sm-1 col-form-label col-form-label-sm text-center">처리현황</label>
<input type="text" class="form-control form-control-sm w-25 " id="napoSeaPointLon" name="napoSeaPointLon" placeholder="00 . 00 . 00N" th:value="${crackdownInfo.napoSeaPointLon}"> <div class="col-sm-2">
<input type="text" class="form-control form-control-sm w-25 " id="napoSeaPointLat" name="napoSeaPointLat" placeholder="000-00.00E" th:value="${crackdownInfo.napoSeaPointLat}"> <select class="form-select form-select-sm " id="processStatus" name="processStatus">
<input type="text" class="form-control form-control-sm w-50 " id="napoSeaPointDetail" name="napoSeaPointDetail" placeholder="00도 00방 00해리, 어업협정선 내측 00해리" th:value="${crackdownInfo.napoSeaPointDetail}"> <option value="">선택</option>
<th:block th:each="code:${session.commonCode.get('PR')}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq shipProcessInfo.processStatus}"></option>
</th:block>
</select>
</div>
<th:block th:if="${shipProcessInfo.cdsKey ne null}">
<label for="isIvsgtStop" 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="isIvsgtStop" name="isIvsgtStop">
<option value="">선택</option>
<option value="Y" th:selected="${shipProcessInfo.isIvsgtStop eq 'Y'}">O</option>
<option value="N" th:selected="${shipProcessInfo.isIvsgtStop eq 'N'}">X</option>
</select>
</div>
</th:block>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">선고법원</label>
<div class="col-sm-2">
<input class="form-control form-control-sm" name="sentencingCourt" id="sentencingCourt" th:value="${shipProcessInfo.sentencingCourt}">
</div>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">선고내용</label>
<div class="col-sm-2">
<input class="form-control form-control-sm" name="sentencingDetail" id="sentencingDetail" th:value="${shipProcessInfo.sentencingDetail}">
</div>
</div>
<div class="row mb-1">
<label for="pressurizedTimeTakenDate" class="col-sm-1 col-form-label col-form-label-sm text-center">압송소요시간</label>
<div class="col-sm-2">
<th:block th:with="ptt=${shipProcessInfo.pressurizedTimeTaken}">
<div class="input-group w-auto">
<input type="number" class="form-control form-control-sm pressurizedTimeTaken " id="pressurizedTimeTakenDate" placeholder="일" th:value="${#strings.substringBefore(ptt, '일')}">
<input type="text" class="form-control form-control-sm pressurizedTimeTaken timeInputer" id="pressurizedTimeTakenTime" placeholder="hh:mm" autocomplete="off" th:value="${#strings.substringAfter(ptt, '일')}">
</div>
<input type="hidden" class="" name="pressurizedTimeTaken" id="pressurizedTimeTaken" th:value="${ptt}">
</th:block>
</div>
<label for="distance" 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="distance" name="distance" placeholder="해리">
</div>
<label for="warrantReqTakeDate" class="col-sm-1 col-form-label col-form-label-sm text-center fs-11">영장청구 소요시간</label>
<div class="col-sm-2">
<th:block th:with="wrtt=${shipProcessInfo.warrantReqTakeTime}">
<div class="input-group w-auto">
<input type="number" class="form-control form-control-sm warrantReqTake " id="warrantReqTakeDate" placeholder="일" th:value="${#strings.substringBefore(wrtt, '일')}">
<input type="text" class="form-control form-control-sm warrantReqTake timeInputer" id="warrantReqTakeTime" placeholder="hh:mm" autocomplete="off" th:value="${#strings.substringAfter(wrtt, '일')}">
</div>
<input type="hidden" class="" name="warrantReqTakeTime" id="warrantReqTake" th:value="${wrtt}">
</th:block>
</div>
</div>
<div class="row mb-1">
<label for="napoDt" 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="napoDt" name="napoDt" placeholder="단속정보에서 입력" readonly><!--th:value="${#temporals.format(shipProcessInfo.napoDt, 'yyyy-MM-dd hh:mm')}"-->
</div>
<label for="napoDt" 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="hidden" id="releaseDt" name="releaseDt" th:value="${#temporals.format(shipProcessInfo.releaseDt, 'yyyy-MM-dd hh:mm')}">
<input type="text" class="form-control form-control-sm dateSelector" id="releaseDate" th:value="${#temporals.format(shipProcessInfo.releaseDt, 'yyyy-MM-dd')}" placeholder="yyyy-mm-dd" readonly>
<input type="text" class="form-control form-control-sm timeInputer" id="releaseTime" th:value="${#temporals.format(shipProcessInfo.releaseDt, 'HH:mm')}" placeholder="hh:mm">
</div>
</div>
<label for="napoDt" 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="releaseToNapo" placeholder="석방일시-나포일시" readonly>
</div>
</div>
<div class="row mb-1">
<label for="consignmentStartDt" class="col-sm-1 col-form-label col-form-label-sm text-center">위탁여부</label>
<div class="col-sm-2">
<div class="input-group"
th:with="consignmentFlag=${!#strings.isEmpty(shipProcessInfo.consignmentStartDt) ||
!#strings.isEmpty(shipProcessInfo.consignmentEndDt)}">
<select class="form-select form-select-sm w-30 oxSelector">
<option value="1" th:selected="${!consignmentFlag}">X</option>
<option value="2" th:selected="${consignmentFlag}">O</option>
</select>
<input type="text" class="form-control form-control-sm w-35 dateSelector" id="consignmentStartDt" name="consignmentStartDt" placeholder="위탁시작일" th:value="${shipProcessInfo.consignmentStartDt}" autocomplete="off" th:disabled="${!consignmentFlag}">
<input type="text" class="form-control form-control-sm w-35 dateSelector" id="consignmentEndDt" name="consignmentEndDt" placeholder="위탁종료일" th:value="${shipProcessInfo.consignmentEndDt}" autocomplete="off" th:disabled="${!consignmentFlag}">
</div>
</div>
<label for="evictionDt" class="col-sm-1 col-form-label col-form-label-sm text-center">퇴거여부</label>
<div class="col-sm-2">
<div class="input-group" th:with="evictionFlag=${!#strings.isEmpty(shipProcessInfo.evictionDt)}">
<select class="form-select form-select-sm w-30 oxSelector">
<option value="1" th:selected="${!evictionFlag}">X</option>
<option value="2" th:selected="${evictionFlag}">O</option>
</select>
<input type="text" class="form-control form-control-sm w-70 dateSelector" id="evictionDt" name="evictionDt" placeholder="퇴거일" th:value="${shipProcessInfo.evictionDt}" th:disabled="${!evictionFlag}" autocomplete="off">
</div>
</div>
</div>
<th:block th:with="directHandoverFlag=${shipProcessInfo.directHandoverDt ne null ||
shipProcessInfo.handoverSeaPointLon ne null ||
shipProcessInfo.handoverSeaPointLat ne null ||
shipProcessInfo.handoverBoat ne null ||
shipProcessInfo.middleTakeoverBoat ne null}">
<div class="row mb-1">
<label for="directHandoverSelector" 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="directHandoverSelector">
<option value="1" th:selected="${!directHandoverFlag}">X</option>
<option value="2" th:selected="${directHandoverFlag}">O</option>
</select>
</div>
</div>
<div class="row mb-1" id="directHandoverDiv">
<label for="directHandoverDt" 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 dateSelector" id="directHandoverDt" name="directHandoverDt" placeholder="yyyy-mm-dd" th:value="${shipProcessInfo.directHandoverDt}" autocomplete="off" th:disabled="${!directHandoverFlag}">
</div>
<label for="handoverSeaPointLon" class="col-sm-1 col-form-label col-form-label-sm text-center">인계 해점</label>
<div class="col-sm-2">
<div class="input-group w-auto">
<input type="text" class="form-control form-control-sm " id="handoverSeaPointLon" name="handoverSeaPointLon" placeholder="00-00.00N" th:value="${shipProcessInfo.handoverSeaPointLon}" th:disabled="${!directHandoverFlag}">
<input type="text" class="form-control form-control-sm " id="handoverSeaPointLat" name="handoverSeaPointLat" placeholder="000-00.00E" th:value="${shipProcessInfo.handoverSeaPointLat}" th:disabled="${!directHandoverFlag}">
</div>
</div>
<label for="handoverBoat" 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="handoverBoat" name="handoverBoat" th:value="${shipProcessInfo.handoverBoat}" th:disabled="${!directHandoverFlag}">
</div>
<label for="middleTakeoverBoat" 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="middleTakeoverBoat" name="middleTakeoverBoat" th:value="${shipProcessInfo.middleTakeoverBoat}" th:disabled="${!directHandoverFlag}">
</div>
</div>
</th:block>
<div class="row mb-1">
<label for="confiscationDt" class="col-sm-1 col-form-label col-form-label-sm text-center">몰수여부</label>
<div class="col-sm-2">
<div class="input-group" th:with="confiscationFlag=${!#strings.isEmpty(shipProcessInfo.confiscationDt)}">
<select class="form-select form-select-sm w-30 oxSelector">
<option value="1" th:selected="${!confiscationFlag}">X</option>
<option value="2" th:selected="${confiscationFlag}">O</option>
</select>
<input type="text" class="form-control form-control-sm w-70 dateSelector" id="confiscationDt" name="confiscationDt" placeholder="몰수확정일" th:value="${shipProcessInfo.confiscationDt}" autocomplete="off" th:disabled="${!confiscationFlag}">
</div>
</div>
<label for="boatDisposalDt" class="col-sm-1 col-form-label col-form-label-sm text-center">폐선여부</label>
<div class="col-sm-2">
<div class="input-group" th:with="disposalFlag=${shipProcessInfo.boatDisposalDt ne null}">
<select class="form-select form-select-sm w-30 oxSelector">
<option value="1" th:selected="${!disposalFlag}">X</option>
<option value="2" th:selected="${disposalFlag}">O</option>
</select>
<input type="text" class="form-control form-control-sm w-35 dateSelector" id="boatDisposalDt" name="boatDisposalDt" placeholder="폐선일" th:value="${shipProcessInfo.boatDisposalDt}" autocomplete="off" th:disabled="${!disposalFlag}">
<select class="form-select form-select-sm w-35 " id="boatDisposalType" name="boatDisposalType" th:disabled="${!disposalFlag}">
<option value="">종류 선택</option>
<th:block th:each="code:${session.commonCode.get('BDT')}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq shipProcessInfo.boatDisposalType}"></option>
</th:block>
</select>
</div>
</div>
<label for="exileDt" class="col-sm-1 col-form-label col-form-label-sm text-center">침몰여부</label>
<div class="col-sm-2">
<div class="input-group" th:with="exileFlag=${!#strings.isEmpty(shipProcessInfo.exileDt)}">
<select class="form-select form-select-sm w-30 oxSelector">
<option value="1" th:selected="${!exileFlag}">X</option>
<option value="2" th:selected="${exileFlag}">O</option>
</select>
<input type="text" class="form-control form-control-sm w-70 dateSelector" id="exileDt" name="exileDt" placeholder="침몰일" th:value="${shipProcessInfo.exileDt}" autocomplete="off" th:disabled="${!exileFlag}">
</div>
</div>
<label for="returnDt" class="col-sm-1 col-form-label col-form-label-sm text-center">환부여부</label>
<div class="col-sm-2">
<div class="input-group" th:with="returnFlag=${!#strings.isEmpty(shipProcessInfo.returnDt)}">
<select class="form-select form-select-sm w-30 oxSelector">
<option value="1" th:selected="${!returnFlag}">X</option>
<option value="2" th:selected="${returnFlag}">O</option>
</select>
<input type="text" class="form-control form-control-sm w-70 dateSelector" id="returnDt" name="returnDt" placeholder="환부일" th:value="${shipProcessInfo.returnDt}" autocomplete="off" th:disabled="${!returnFlag}">
</div> </div>
</div> </div>
</div> </div>