parent
1ecc311a7c
commit
f9c3b203ce
|
|
@ -121,6 +121,7 @@ public class InternationalCrimeArrestController {
|
|||
internationalCrimeArrest.setWrtUserSeq(loginUser.getUserSeq());
|
||||
return internationalCrimeArrestService.savedInternationalCrimeArrest(internationalCrimeArrest);
|
||||
}
|
||||
|
||||
@PostMapping("/deleteInternationalCrimeArrest")
|
||||
public void deleteInternationalCrimeArrest(@RequestBody InternationalCrimeArrest internationalCrimeArrest){
|
||||
internationalCrimeArrestService.deleteInternationalCrimeArrest(internationalCrimeArrest);
|
||||
|
|
|
|||
|
|
@ -11,10 +11,7 @@ import com.dbnt.faisp.main.faStatistics.unlawfulFishing.service.UnlawfulFishingS
|
|||
import com.dbnt.faisp.main.userInfo.model.UserInfo;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.security.core.annotation.AuthenticationPrincipal;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
|
@ -61,17 +58,36 @@ public class UnlawfulFishingController {
|
|||
return mav;
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/cdiViewModal")
|
||||
public ModelAndView crackdownInfoViewModal(@AuthenticationPrincipal UserInfo loginUser, CrackdownInfo crackdownInfo){
|
||||
ModelAndView mav = new ModelAndView("faStatistics/unlawfulFishing/crackdownInfo/cdiViewModal");
|
||||
mav.addObject("userSeq",loginUser.getUserSeq());
|
||||
mav.addObject("accessAuth", authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/unlawfulFishing/crackdownInfo").get(0).getAccessAuth());
|
||||
mav.addObject("mgtOrganList", loginUser.getDownOrganCdList());
|
||||
crackdownInfo = unlawfulFishingService.selectCrackdownInfo(crackdownInfo.getCdsKey());
|
||||
crackdownInfo.setCrackdownInfoHistoryList(unlawfulFishingService.selectCrackdownInfoHistoryList(crackdownInfo.getCdsKey()));
|
||||
mav.addObject("crackdownInfo", crackdownInfo);
|
||||
return mav;
|
||||
}
|
||||
|
||||
@PostMapping("/saveCrackdownInfo")
|
||||
public Integer saveCrackdownInfo(CrackdownInfo crackdownInfo){
|
||||
return unlawfulFishingService.saveCrackdownInfo(crackdownInfo);
|
||||
}
|
||||
|
||||
@GetMapping("/cdiSelectModal")
|
||||
public ModelAndView crackdownInfoSelectModal(@AuthenticationPrincipal UserInfo loginUser, CrackdownInfo params){
|
||||
ModelAndView mav = new ModelAndView("faStatistics/unlawfulFishing/crackdownInfo/cdiSelectModal");
|
||||
List<CrackdownStatusDTO> csDTOList = new ArrayList<>();
|
||||
@PostMapping("/deleteCrackdownInfo")
|
||||
public void deleteCrackdownInfo(@RequestBody CrackdownInfo crackdownInfo){
|
||||
unlawfulFishingService.deleteCrackdownInfo(crackdownInfo.getCdsKey());
|
||||
}
|
||||
|
||||
mav.addObject("crackdownInfoList", csDTOList);
|
||||
@GetMapping("/cdiSelectModal")
|
||||
public ModelAndView crackdownInfoSelectModal(@AuthenticationPrincipal UserInfo loginUser, UnlawfulFishingParam params){
|
||||
ModelAndView mav = new ModelAndView("faStatistics/unlawfulFishing/crackdownInfo/cdiSelectModal");
|
||||
params.setQueryInfo();
|
||||
mav.addObject("crackdownInfoList", unlawfulFishingService.selectCrackdownInfoList(params));
|
||||
params.setContentCnt(unlawfulFishingService.selectCrackdownInfoListCnt(params));
|
||||
params.setPaginationInfo();
|
||||
mav.addObject("searchParams", params);
|
||||
return mav;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,10 +2,16 @@ package com.dbnt.faisp.main.faStatistics.unlawfulFishing.repository;
|
|||
|
||||
import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.crackdownStatus.CrackdownInfo;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.Modifying;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
public interface CrackdownInfoRepository extends JpaRepository<CrackdownInfo, Integer> {
|
||||
Optional<CrackdownInfo> findByCdsKey(Integer cdsKey);
|
||||
Optional<CrackdownInfo> findTop1ByCaseNum(String caseNum);
|
||||
|
||||
@Modifying(clearAutomatically = true)
|
||||
@Query("update CrackdownInfo set status = :status where cdsKey = :cdsKey")
|
||||
void bulkModifyingByCdsKeyToStatus(Integer cdsKey, String status);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,8 @@ import java.util.Optional;
|
|||
public interface ViolationInfoRepository extends JpaRepository<ViolationInfo, ViolationInfo.ViolationInfoId> {
|
||||
List<ViolationInfo> findByCdsKey(Integer cdsKey);
|
||||
Optional<ViolationInfo> findTopByCdsKeyOrderByViolationKeyDesc(int fbKey);
|
||||
void deleteByCdsKey(Integer fbKey);
|
||||
|
||||
void deleteByCdsKey(Integer cdsKey);
|
||||
|
||||
@Transactional
|
||||
@Modifying
|
||||
|
|
|
|||
|
|
@ -104,6 +104,8 @@ public class UnlawfulFishingService {
|
|||
@Transactional
|
||||
public Integer saveCrackdownInfo(CrackdownInfo crackdownInfo) {
|
||||
Integer cdsKey = cdiRepository.save(crackdownInfo).getCdsKey();
|
||||
|
||||
viRepository.deleteByCdsKey(cdsKey);
|
||||
List<ViolationInfo> violationInfoList = crackdownInfo.getViolationList();
|
||||
int i=1;
|
||||
for(ViolationInfo violationInfo : violationInfoList){
|
||||
|
|
@ -132,7 +134,18 @@ public class UnlawfulFishingService {
|
|||
}
|
||||
|
||||
public CrackdownInfo selectCrackdownInfo(Integer cdsKey) {
|
||||
return cdiRepository.findByCdsKey(cdsKey).orElse(new CrackdownInfo());
|
||||
CrackdownInfo cdi = cdiRepository.findByCdsKey(cdsKey).orElse(new CrackdownInfo());
|
||||
cdi.setViolationList(viRepository.findByCdsKey(cdsKey));
|
||||
return cdi;
|
||||
}
|
||||
|
||||
public List<CrackdownInfoHistory> selectCrackdownInfoHistoryList(Integer cdsKey) {
|
||||
return cdihRepository.findByCdsKey(cdsKey);
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public void deleteCrackdownInfo(Integer cdsKey) {
|
||||
cdiRepository.bulkModifyingByCdsKeyToStatus(cdsKey, "DST008");
|
||||
}
|
||||
|
||||
public IllegalShipInfo selectIllegalShipInfo(Integer fbKey) {
|
||||
|
|
@ -153,4 +166,5 @@ public class UnlawfulFishingService {
|
|||
public Integer selectCrackdownInfoListCnt(UnlawfulFishingParam params) {
|
||||
return unlawfulFishingMapper.selectCrackdownInfoListCnt(params);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.FireExtensionReport;
|
|||
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.FireExtensionReportApprv;
|
||||
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.service.IntelligenceNetworkService;
|
||||
import com.dbnt.faisp.main.userInfo.model.UserInfo;
|
||||
import com.dbnt.faisp.util.Utils;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.security.core.annotation.AuthenticationPrincipal;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
|
@ -416,6 +417,9 @@ public class IntelligenceNetworkController {
|
|||
ModelAndView mav = new ModelAndView("igActivities/intelligenceNetwork/operationPlanListModal");
|
||||
op.setFirstIndex(0);
|
||||
op.setRowCnt(9999);
|
||||
if(Utils.isEmpty(op.getWrtOrgan())){
|
||||
op.setWrtOrgan(loginUser.getOgCd());
|
||||
}
|
||||
mav.addObject("operationPlanList", intelligenceNetworkService.selectOperationPlanList(op));
|
||||
return mav;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
|
||||
$(document).on('click', '#addCrackdownStatusBtn', function (){
|
||||
getCsEditModal(null);
|
||||
getCdiEditModal(null);
|
||||
})
|
||||
|
||||
$(document).on('change', '#violationSelector', function (){
|
||||
|
|
@ -48,21 +48,69 @@ $(document).on('click', '.saveEditInfoBtn', function (){
|
|||
saveCrackdownInfo($(this).attr("data-status"));
|
||||
})
|
||||
|
||||
function getCsEditModal(cdsKey){
|
||||
$(document).on('click', '.cdiTr', function (){
|
||||
getCdiViewModal($(this).attr('data-cdskey'));
|
||||
})
|
||||
|
||||
$(document).on('click', '#cdiEditBtn', function (){
|
||||
$("#cdiViewModal").modal('hide');
|
||||
getCdiEditModal($("#fishingBoatViewTabPanel").find('.cdsKey').val());
|
||||
})
|
||||
|
||||
$(document).on('click', '#cdiDeleteBtn', function (){
|
||||
if(confirm("삭제하시겠습니까?\n되돌릴 수 없습니다.")) {
|
||||
contentFade("in");
|
||||
$.ajax({
|
||||
type : 'POST',
|
||||
data : JSON.stringify({cdsKey: $("#fishingBoatViewTabPanel").find('.cdsKey').val()}),
|
||||
url : "/unlawfulFishing/deleteCrackdownInfo",
|
||||
contentType: 'application/json',
|
||||
beforeSend: function (xhr){
|
||||
xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val());
|
||||
},
|
||||
success : function(result) {
|
||||
alert("삭제되었습니다.");
|
||||
location.reload();
|
||||
},
|
||||
error : function(xhr, status) {
|
||||
alert("삭제를 실패하였습니다.")
|
||||
contentFade("out");
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
function getCdiEditModal(cdsKey){
|
||||
$.ajax({
|
||||
url: '/unlawfulFishing/cdiEditModal',
|
||||
data: {cdsKey: cdsKey},
|
||||
type: 'GET',
|
||||
dataType:"html",
|
||||
success: function(html){
|
||||
const contentDiv = $("#csEditModalContent");
|
||||
const contentDiv = $("#cdiEditModalContent");
|
||||
contentDiv.empty().append(html)
|
||||
$(".dateSelector").datepicker({
|
||||
format: "yyyy-mm-dd",
|
||||
language: "ko",
|
||||
autoclose: true
|
||||
});
|
||||
$("#csEditModal").modal('show');
|
||||
$("#cdiEditModal").modal('show');
|
||||
},
|
||||
error:function(e){
|
||||
ajaxErrorAction(e);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function getCdiViewModal(cdsKey){
|
||||
$.ajax({
|
||||
url: '/unlawfulFishing/cdiViewModal',
|
||||
data: {cdsKey: cdsKey},
|
||||
type: 'GET',
|
||||
dataType:"html",
|
||||
success: function(html){
|
||||
$("#cdiViewModalContent").empty().append(html)
|
||||
$("#cdiViewModal").modal('show');
|
||||
},
|
||||
error:function(e){
|
||||
ajaxErrorAction(e);
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ $(document).on('click', '#operationPlanModalBtn', function (){
|
|||
$.ajax({
|
||||
url: '/intelligenceNetwork/operationPlanListModal',
|
||||
data: {
|
||||
|
||||
wrtOrgan: $("#fireExtensionReportEditForm").find('.wrtOrgan').val()
|
||||
},
|
||||
type: 'GET',
|
||||
dataType:"html",
|
||||
|
|
|
|||
|
|
@ -6,133 +6,172 @@
|
|||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="row mx-0">
|
||||
<div class="col-12 card bg-light text-center">
|
||||
<div class="card-body">
|
||||
<form method="get" th:action="@{/faStatistics/crackdownInfo}" id="cdsSearchForm">
|
||||
<input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">
|
||||
<div class="row justify-content-between py-1">
|
||||
<div class="col-auto">
|
||||
<div>
|
||||
<select class="form-select form-select-sm" name="year">
|
||||
<option value="">연도</option>
|
||||
<th:block th:each="year : ${yearList}">
|
||||
<option th:value="${year}" th:text="|${year}년|" th:selected="${searchParams.year eq year}"></option>
|
||||
</th:block>
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
<select class="form-select form-select-sm" name="month">
|
||||
<option value="">월 선택</option>
|
||||
<th:block th:each="month : ${#numbers.sequence(1, 12)}">
|
||||
<option th:value="${month}" th:text="|${month}월|" th:selected="${searchParams.month eq month}"></option>
|
||||
</th:block>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-8">
|
||||
<div class="row">
|
||||
<div class="col-11">
|
||||
<div class="row justify-content-end pb-1">
|
||||
<div class="col-2">
|
||||
<select class="form-select form-select-sm " id="caseAgency" name="caseAgency">
|
||||
<option value="">사건담당경찰서</option>
|
||||
<th:block th:each="code:${session.commonCode.get('OG')}">
|
||||
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
|
||||
th:selected="${code.itemCd eq searchParams.caseAgency}"></option>
|
||||
</th:block>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-2">
|
||||
<input type="text" class="form-control form-control-sm" placeholder="사건담당경찰관">
|
||||
</div>
|
||||
<div class="col-2">
|
||||
<select class="form-select form-select-sm" name="crackdownPolice" id="searchFormPolice">
|
||||
<option value="">단속경찰서</option>
|
||||
<th:block th:each="code:${session.commonCode.get('CPO')}">
|
||||
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
|
||||
th:selected="${code.itemCd eq searchParams.crackdownPolice}"></option>
|
||||
</th:block>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-2">
|
||||
<select class="form-select form-select-sm" name="crackdownBoat" id="searchFormBoat" disabled>
|
||||
<option value="">단속함정</option>
|
||||
<th:block th:each="cpoNum:${#numbers.sequence(1, #lists.size(session.commonCode.get('CPO')))}">
|
||||
<th:block th:each="code:${session.commonCode.get('CPO'+cpoNum)}">
|
||||
<option th:class="${code.categoryCd}" th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq searchParams.crackdownBoat}" style="display: none;"></option>
|
||||
</th:block>
|
||||
</th:block>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<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-end py-1">
|
||||
<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="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 class="col-2">
|
||||
<input type="text" class="form-control form-control-sm" placeholder="사건담당경찰관">
|
||||
</div>
|
||||
<div class="col-2">
|
||||
<select class="form-select form-select-sm" name="crackdownPolice" id="searchFormPolice">
|
||||
<option value="">단속경찰서</option>
|
||||
<th:block th:each="code:${session.commonCode.get('CPO')}">
|
||||
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
|
||||
th:selected="${code.itemCd eq searchParams.crackdownPolice}"></option>
|
||||
</th:block>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-2">
|
||||
<select class="form-select form-select-sm" name="crackdownBoat" id="searchFormBoat" disabled>
|
||||
<option value="">단속함정</option>
|
||||
<th:block th:each="cpoNum:${#numbers.sequence(1, #lists.size(session.commonCode.get('CPO')))}">
|
||||
<th:block th:each="code:${session.commonCode.get('CPO'+cpoNum)}">
|
||||
<option th:class="${code.categoryCd}" th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq searchParams.crackdownBoat}" style="display: none;"></option>
|
||||
</th:block>
|
||||
</th:block>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row justify-content-end pb-1">
|
||||
<div class="col-2">
|
||||
<input type="text" class="form-control form-control-sm" placeholder="사건번호">
|
||||
</div>
|
||||
<div class="col-2">
|
||||
<input type="text" class="form-control form-control-sm" placeholder="MMSI.NO">
|
||||
</div>
|
||||
<div class="col-2">
|
||||
<input type="text" class="form-control form-control-sm" placeholder="나포장소">
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<div class="input-group w-auto input-daterange" id="dateSelectorDiv">
|
||||
<select class="form-select form-select-sm w-30" name="dateSelector">
|
||||
<option value="">조건선택</option>
|
||||
<option value="napoDt" th:selected="${searchParams.dateSelector eq 'napoDt'}">나포일시</option>
|
||||
<option value="wrtDt" th:selected="${searchParams.dateSelector eq 'wrtDt'}">작성일시</option>
|
||||
</select>
|
||||
<input type="text" class="form-control form-control-sm w-35" id="startDate" name="startDate" placeholder="시작일" autocomplete="off" readonly th:value="${searchParams.startDate}">
|
||||
<input type="text" class="form-control form-control-sm w-35" id="endDate" name="endDate" placeholder="종료일" autocomplete="off" readonly th:value="${searchParams.endDate}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-1 d-grid gap-2">
|
||||
<input type="submit" class="btn btn-primary" id="searchBtn" value="검색">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-1 d-grid gap-2">
|
||||
<input type="submit" class="btn btn-primary" id="searchBtn" value="검색">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col-12 overflow-auto">
|
||||
<table class="table table-sm table-hover table-bordered text-nowrap" id="cdsTable">
|
||||
<thead class="align-middle">
|
||||
<tr class="table-secondary">
|
||||
<th>순번</th>
|
||||
<th>사건번호</th>
|
||||
<th>MMSI.NO</th>
|
||||
<th>나포일시</th>
|
||||
<th>나포장소</th>
|
||||
<th>사건담당경찰서</th>
|
||||
<th>사건담당경찰관</th>
|
||||
<th>단속경찰서</th>
|
||||
<th>단속함정</th>
|
||||
<th>침범유형</th>
|
||||
<th>NLL침범여부</th>
|
||||
<th>압송여부</th>
|
||||
<th>작성자</th>
|
||||
<th>작성일시</th>
|
||||
</div>
|
||||
</form>
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col-12 overflow-auto">
|
||||
<table class="table table-sm table-hover table-bordered text-nowrap" id="cdsTable">
|
||||
<thead class="align-middle">
|
||||
<tr class="table-secondary">
|
||||
<th>순번</th>
|
||||
<th>사건번호</th>
|
||||
<th>MMSI.NO</th>
|
||||
<th>나포일시</th>
|
||||
<th>나포장소</th>
|
||||
<th>사건담당경찰서</th>
|
||||
<th>사건담당경찰관</th>
|
||||
<th>단속경찰서</th>
|
||||
<th>단속함정</th>
|
||||
<th>침범유형</th>
|
||||
<th>NLL침범여부</th>
|
||||
<th>압송여부</th>
|
||||
<th>작성자</th>
|
||||
<th>작성일시</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="table-group-divider align-middle">
|
||||
<th:block th:each="cdi,cnt:${crackdownInfoList}">
|
||||
<tr class="cdiTr" th:data-cdskey="${cdi.cdsKey}">
|
||||
<td th:text="${searchParams.contentCnt-(20*(searchParams.pageIndex-1))-cnt.index}"></td>
|
||||
<td th:text="${cdi.caseNum}"></td>
|
||||
<td th:text="${cdi.mmsi}"></td>
|
||||
<td th:text="${#temporals.format(cdi.napoDt, 'yyyy-MM-dd HH:mm')}"></td>
|
||||
<td>
|
||||
<div th:if="${!#strings.isEmpty(cdi.napoSeaPointLon) and !#strings.isEmpty(cdi.napoSeaPointLon)}" th:text="${#strings.concat(cdi.napoSeaPointLon, ' ~ ', cdi.napoSeaPointLat)}"></div>
|
||||
<div th:if="${!#strings.isEmpty(cdi.napoSeaPointLon) or !#strings.isEmpty(cdi.napoSeaPointLon)}" th:text="${#strings.concat(cdi.napoSeaPointLon, cdi.napoSeaPointLat)}"></div>
|
||||
<div th:text="${cdi.napoSeaPointDetail}"></div>
|
||||
</td>
|
||||
<td>
|
||||
<th:block th:each="code:${session.commonCode.get('OG')}">
|
||||
<th:block th:if="${code.itemCd eq cdi.caseAgency}" th:text="${code.itemValue}"></th:block>
|
||||
</th:block>
|
||||
</td>
|
||||
<td th:text="${cdi.casePoliceOfficer}"></td>
|
||||
<td>
|
||||
<th:block th:each="code:${session.commonCode.get('CPO')}">
|
||||
<th:block th:if="${code.itemCd eq cdi.crackdownPolice}" th:text="${code.itemValue}"></th:block>
|
||||
</th:block>
|
||||
</td>
|
||||
<td>
|
||||
<th:block th:each="code:${session.commonCode.get(cdi.crackdownPolice)}">
|
||||
<th:block th:if="${code.itemCd eq cdi.crackdownBoat}" th:text="${code.itemValue}"></th:block>
|
||||
</th:block>
|
||||
</td>
|
||||
<td>
|
||||
<th:block th:each="code:${session.commonCode.get('IST')}">
|
||||
<th:block th:if="${code.itemCd eq cdi.invasionType}" th:text="${code.itemValue}"></th:block>
|
||||
</th:block>
|
||||
</td>
|
||||
<td th:text="${cdi.nll eq 'Y'?'O':'X'}"></td>
|
||||
<td th:text="${cdi.fieldIvsgt eq 'C'?'압송':'현장조사'}"></td>
|
||||
<td>
|
||||
<th:block th:each="code:${session.commonCode.get('JT')}">
|
||||
<th:block th:if="${code.itemCd eq cdi.wrtUserGrd}" th:text="${code.itemValue}"></th:block>
|
||||
</th:block>
|
||||
<th:block th:text="${cdi.wrtUserNm}"></th:block>
|
||||
</td>
|
||||
<td th:text="${#temporals.format(cdi.wrtDt, 'yyyy-MM-dd HH:mm')}"></td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="table-group-divider align-middle">
|
||||
<th:block th:each="dto,cnt:${crackdownInfoList}">
|
||||
<tr class="crackdownStatusTr" th:data-cdskey="${dto.cdsKey}" data-modaltype="viewOnly">
|
||||
<td th:text="${cnt.count}"></td>
|
||||
<td th:text="${#temporals.format(dto.napoDt, 'yyyy-MM-dd HH:mm')}"></td>
|
||||
<td>
|
||||
<div th:if="${!#strings.isEmpty(dto.napoSeaPointLon) and !#strings.isEmpty(dto.napoSeaPointLon)}" th:text="${#strings.concat(dto.napoSeaPointLon, ' ~ ', dto.napoSeaPointLat)}"></div>
|
||||
<div th:if="${!#strings.isEmpty(dto.napoSeaPointLon) or !#strings.isEmpty(dto.napoSeaPointLon)}" th:text="${#strings.concat(dto.napoSeaPointLon, dto.napoSeaPointLat)}"></div>
|
||||
<div th:text="${dto.napoSeaPointDetail}"></div>
|
||||
</td>
|
||||
</tr>
|
||||
</th:block>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-auto">
|
||||
<nav aria-label="Page navigation">
|
||||
<ul class="pagination mb-0">
|
||||
<th:block th:if="${searchParams.pageIndex>3}">
|
||||
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)-3}">
|
||||
<a class="page-link" href="#" aria-label="Previous">
|
||||
<span aria-hidden="true">«</span>
|
||||
</a>
|
||||
</li>
|
||||
</th:block>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<th:block th:each="num : ${#numbers.sequence(searchParams.startNum, searchParams.endNum)}">
|
||||
<li class="page-item" th:data-pageindex="${num}" th:classappend="${searchParams.pageIndex eq num?'active':''}">
|
||||
<a class="page-link" href="#" th:text="${num}"></a>
|
||||
</li>
|
||||
</th:block>
|
||||
<th:block th:if="${searchParams.maxNum>searchParams.endNum+2}">
|
||||
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)+3}">
|
||||
<a class="page-link" href="#" aria-label="Next">
|
||||
<span aria-hidden="true">»</span>
|
||||
</a>
|
||||
</li>
|
||||
</th:block>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="ko" xmlns:th="http://www.thymeleaf.org">
|
||||
<div class="modal-header bg-dark">
|
||||
<h5 class="modal-title text-white" id="fishingBoatEditModalLabel">불법조업 외국어선 상세정보</h5>
|
||||
<h5 class="modal-title text-white" id="fishingBoatEditModalLabel">불법조업 외국어선 단속현황</h5>
|
||||
<button type="button" class="btn-close f-invert" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
|
|
@ -9,52 +9,43 @@
|
|||
<li class="nav-item" role="presentation">
|
||||
<button class="nav-link active" id="fishingBoatViewTab" data-bs-toggle="tab" data-bs-target="#fishingBoatViewTabPanel" type="button" role="tab" aria-controls="fishingBoatViewTabPanel" aria-selected="true">최신버전</button>
|
||||
</li>
|
||||
<li class="nav-item" role="presentation" th:unless="${#lists.size(crackdownStatus.crackdownStatusVersionList) <= 1}">
|
||||
<li class="nav-item" role="presentation" th:unless="${#lists.size(crackdownInfo.crackdownInfoHistoryList) <= 1}">
|
||||
<button class="nav-link" id="fishingBoatVersionTab" data-bs-toggle="tab" data-bs-target="#fishingBoatVersionTabPanel" type="button" role="tab" aria-controls="fishingBoatHistoryTabPanel" aria-selected="false">수정이력</button>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tab-content bg-white border border-top-0">
|
||||
<div class="tab-pane fade p-2 mx-2 show active" id="fishingBoatViewTabPanel" role="tabpanel" aria-labelledby="fishingBoatViewTab" tabindex="0">
|
||||
<input type="hidden" class="cdsKey" th:value="${crackdownStatus.cdsKey}">
|
||||
<input type="hidden" class="fbKey" th:value="${crackdownStatus.fishingBoat.fbKey}">
|
||||
<div class="row py-2">
|
||||
<div class="col-12">
|
||||
<div class="row justify-content-end">
|
||||
<div class="col-auto">
|
||||
<th:block th:text="|최종수정일: ${#temporals.format(crackdownStatus.fishingBoat.wrtDt, 'yyyy-MM-dd HH:mm')}|"></th:block>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row justify-content-between">
|
||||
<div class="col-auto">■ 단속정보</div>
|
||||
<div class="col-auto">
|
||||
<th:block th:each="code:${session.commonCode.get('DST')}">
|
||||
<th:block th:if="${crackdownStatus.status eq code.itemCd}" th:text="|상태: ${code.itemValue}|"></th:block>
|
||||
</th:block>
|
||||
<th:block th:if="${#lists.size(crackdownStatus.crackdownStatusVersionList) <= 1}">
|
||||
(수정 이력 없음)
|
||||
</th:block>
|
||||
<th:block th:unless="${#lists.size(crackdownStatus.crackdownStatusVersionList) <= 1}">
|
||||
<th:block th:text="${#strings.concat('(', #lists.size(crackdownStatus.crackdownStatusVersionList), '차 수정본)') }"></th:block>
|
||||
</th:block>
|
||||
</div>
|
||||
</div>
|
||||
<input type="hidden" class="cdsKey" th:value="${crackdownInfo.cdsKey}">
|
||||
<div class="row justify-content-end">
|
||||
<div class="col-auto">
|
||||
<th:block th:text="|최종수정일: ${#temporals.format(crackdownInfo.wrtDt, 'yyyy-MM-dd HH:mm')}|"></th:block>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row justify-content-between">
|
||||
<div class="col-auto">■ 단속정보</div>
|
||||
<div class="col-auto">
|
||||
<th:block th:each="code:${session.commonCode.get('DST')}">
|
||||
<th:block th:if="${crackdownInfo.status eq code.itemCd}" th:text="|상태: ${code.itemValue}|"></th:block>
|
||||
</th:block>
|
||||
<th:block th:if="${#lists.size(crackdownInfo.crackdownInfoHistoryList) <= 1}">
|
||||
(수정 이력 없음)
|
||||
</th:block>
|
||||
<th:block th:unless="${#lists.size(crackdownInfo.crackdownInfoHistoryList) <= 1}">
|
||||
<th:block th:text="${#strings.concat('(', #lists.size(crackdownInfo.crackdownInfoHistoryList), '차 수정본)') }"></th:block>
|
||||
</th:block>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row border border-secondary">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">사건번호</label>
|
||||
<div class="col-sm-2 border-end border-secondary">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.caseNum}">
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">선명</label>
|
||||
<div class="col-sm-2 border-end border-secondary">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.fishingBoat.boatNameKr}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownInfo.caseNum}">
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">위반사항</label>
|
||||
<div class="col-sm-5">
|
||||
<div class="col-sm-8">
|
||||
<div class="row">
|
||||
<th:block th:each="code:${vtList}">
|
||||
<th:block th:each="violation:${crackdownStatus.violationList}">
|
||||
<div class="col-6" th:if="${code.itemCd eq violation.violation}">
|
||||
<th:block th:each="violation:${crackdownInfo.violationList}">
|
||||
<th:block th:each="code:${session.commonCode.get('VT')}">
|
||||
<div class="col-4" th:if="${code.itemCd eq violation.violation}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${code.itemValue}"/>
|
||||
</div>
|
||||
</th:block>
|
||||
|
|
@ -63,66 +54,66 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="row border border-secondary border-top-0">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">사건담당경찰서</label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center fs-11">사건담당경찰서</label>
|
||||
<div class="col-sm-2 border-end border-secondary">
|
||||
<th:block th:each="code:${session.commonCode.get('OG')}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownStatus.caseAgency}" th:value="${code.itemValue}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownInfo.caseAgency}" th:value="${code.itemValue}">
|
||||
</th:block>
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center fs-11">사건담당경찰관</label>
|
||||
<div class="col-sm-2 border-end border-secondary">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.casePoliceOfficer}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownInfo.casePoliceOfficer}">
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">단속경찰서</label>
|
||||
<div class="col-sm-2 border-end border-secondary">
|
||||
<th:block th:each="code:${cpoList}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownStatus.crackdownPolice}" th:value="${code.itemValue}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownInfo.crackdownPolice}" th:value="${code.itemValue}">
|
||||
</th:block>
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">단속함정</label>
|
||||
<div class="col-sm-2">
|
||||
<th:block th:each="code:${boatList}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownStatus.crackdownBoat}" th:value="${code.itemValue}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownInfo.crackdownBoat}" th:value="${code.itemValue}">
|
||||
</th:block>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row border border-secondary border-top-0">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">MMSI.NO</label>
|
||||
<div class="col-sm-2 border-end border-secondary">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.mmsi}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownInfo.mmsi}">
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">침범유형</label>
|
||||
<div class="col-sm-2 border-end border-secondary">
|
||||
<th:block th:each="code:${session.commonCode.get('IST')}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownStatus.invasionType}" th:value="${code.itemValue}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownInfo.invasionType}" th:value="${code.itemValue}">
|
||||
</th:block>
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">NLL</label>
|
||||
<div class="col-sm-2 border-end border-secondary">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.nll eq 'Y'?'O':(crackdownStatus.nll eq 'N'?'X':crackdownStatus.nll)}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownInfo.nll eq 'Y'?'O':(crackdownInfo.nll eq 'N'?'X':crackdownInfo.nll)}">
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">압송/현장조사</label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center fs-11">압송/현장조사</label>
|
||||
<div class="col-sm-2">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.fieldIvsgt eq 'C'?'압송':(crackdownStatus.fieldIvsgt eq 'F'?'현장조사':crackdownStatus.fieldIvsgt)}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownInfo.fieldIvsgt eq 'C'?'압송':(crackdownInfo.fieldIvsgt eq 'F'?'현장조사':crackdownInfo.fieldIvsgt)}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row border border-secondary border-top-0">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">나포일시</label>
|
||||
<div class="col-sm-2 border-end border-secondary">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${#temporals.format(crackdownStatus.napoDt, 'yyyy-MM-dd hh:mm')}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${#temporals.format(crackdownInfo.napoDt, 'yyyy-MM-dd hh:mm')}">
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">나포장소</label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="|${crackdownStatus.napoSeaPointLon} ${crackdownStatus.napoSeaPointLat} ${crackdownStatus.napoSeaPointDetail}|">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="|${crackdownInfo.napoSeaPointLon} ${crackdownInfo.napoSeaPointLat} ${crackdownInfo.napoSeaPointDetail}|">
|
||||
</div>
|
||||
</div>
|
||||
<th:block th:with="damageFlag=${crackdownStatus.obstrExspdCnt ne 0 ||
|
||||
crackdownStatus.personDamageCnt ne 0 ||
|
||||
crackdownStatus.personDamageAmount ne 0 ||
|
||||
crackdownStatus.personDamageDetail ne null ||
|
||||
crackdownStatus.materialDamageCnt ne 0 ||
|
||||
crackdownStatus.materialDamageAmount ne 0 ||
|
||||
crackdownStatus.materialDamageDetail ne null}">
|
||||
<th:block th:with="damageFlag=${(crackdownInfo.obstrExspdCnt ne null and crackdownInfo.obstrExspdCnt ne 0) ||
|
||||
(crackdownInfo.personDamageCnt ne null and crackdownInfo.personDamageCnt ne 0 )||
|
||||
(crackdownInfo.personDamageAmount ne null and crackdownInfo.personDamageAmount ne 0) ||
|
||||
!#strings.isEmpty(crackdownInfo.personDamageDetail) ||
|
||||
(crackdownInfo.materialDamageCnt ne null and crackdownInfo.materialDamageCnt ne 0) ||
|
||||
(crackdownInfo.materialDamageAmount ne null and crackdownInfo.materialDamageAmount ne 0) ||
|
||||
!#strings.isEmpty(crackdownInfo.materialDamageDetail)}">
|
||||
<th:block th:if="${damageFlag}">
|
||||
<div class="row border border-secondary border-top-0">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center bg-lightB2">특수공무집행방해</label>
|
||||
|
|
@ -133,20 +124,20 @@
|
|||
<div class="row border-bottom border-secondary">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">발생건수</label>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||
<th:block th:if="${crackdownStatus.obstrExspdCnt>0}" th:text="|${crackdownStatus.obstrExspdCnt}건|"></th:block>
|
||||
<th:block th:if="${crackdownInfo.obstrExspdCnt>0}" th:text="|${crackdownInfo.obstrExspdCnt}건|"></th:block>
|
||||
</label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">피해인원</label>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||
<th:block th:if="${crackdownStatus.personDamageCnt>0}" th:text="|${crackdownStatus.personDamageCnt}인|"></th:block>
|
||||
<th:block th:if="${crackdownInfo.personDamageCnt>0}" th:text="|${crackdownInfo.personDamageCnt}인|"></th:block>
|
||||
</label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">피해액</label>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||
<th:block th:if="${crackdownStatus.personDamageAmount>0}" th:text="|${crackdownStatus.personDamageAmount}만원|"></th:block>
|
||||
<th:block th:if="${crackdownInfo.personDamageAmount>0}" th:text="|${crackdownInfo.personDamageAmount}만원|"></th:block>
|
||||
</label>
|
||||
</div>
|
||||
<div class="row">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">상세내용</label>
|
||||
<div class="col-sm-11" th:utext="${crackdownStatus.personDamageDetail}">
|
||||
<div class="col-sm-11" th:utext="${crackdownInfo.personDamageDetail}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -157,16 +148,16 @@
|
|||
<div class="row border-bottom border-secondary">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">발생건수</label>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||
<th:block th:if="${crackdownStatus.materialDamageCnt>0}" th:text="|${crackdownStatus.materialDamageCnt}건|"></th:block>
|
||||
<th:block th:if="${crackdownInfo.materialDamageCnt>0}" th:text="|${crackdownInfo.materialDamageCnt}건|"></th:block>
|
||||
</label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">피해액</label>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||
<th:block th:if="${crackdownStatus.materialDamageAmount>0}" th:text="|${crackdownStatus.materialDamageAmount}만원|"></th:block>
|
||||
<th:block th:if="${crackdownInfo.materialDamageAmount>0}" th:text="|${crackdownInfo.materialDamageAmount}만원|"></th:block>
|
||||
</label>
|
||||
</div>
|
||||
<div class="row">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">상세내용</label>
|
||||
<div class="col-sm-11" th:utext="${crackdownStatus.materialDamageDetail}">
|
||||
<div class="col-sm-11" th:utext="${crackdownInfo.materialDamageDetail}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -175,8 +166,8 @@
|
|||
</div>
|
||||
</th:block>
|
||||
</th:block>
|
||||
<th:block th:with="catchFlag=${crackdownStatus.fishingBoat.catchFishSpecies ne null ||
|
||||
crackdownStatus.fishingBoat.catchCnt ne 0}">
|
||||
<th:block th:with="catchFlag=${crackdownInfo.catchFishSpecies ne null ||
|
||||
crackdownInfo.catchCnt ne 0}">
|
||||
<th:block th:if="${catchFlag}">
|
||||
<div class="row border border-secondary border-top-0">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center bg-lightB1">어획물축소기재</label>
|
||||
|
|
@ -184,373 +175,16 @@
|
|||
<div class="row">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">어종</label>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start"
|
||||
th:text="${crackdownStatus.fishingBoat.catchFishSpecies}"></label>
|
||||
th:text="${crackdownInfo.catchFishSpecies}"></label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">수량</label>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||
<th:block th:if="${crackdownStatus.fishingBoat.catchCnt>0}" th:text="|${crackdownStatus.fishingBoat.catchCnt}kg|"></th:block>
|
||||
<th:block th:if="${crackdownInfo.catchCnt>0}" th:text="|${crackdownInfo.catchCnt}kg|"></th:block>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</th:block>
|
||||
</th:block>
|
||||
<th:block th:if="${!#lists.isEmpty(crackdownStatus.sailorList)}">
|
||||
<div class="row py-2">
|
||||
<div class="col-auto">■ 선장·선주 정보</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<th:block th:each="sailor:${crackdownStatus.sailorList}">
|
||||
<th:block th:if="${sailor.position eq 'POS001'}">
|
||||
<div class="col-6" id="captainDiv">
|
||||
<div class="row border border-secondary">
|
||||
<label class="col-sm-2 fw-bold bg-label border-end border-secondary col-form-label col-form-label-sm py-2 border-end border-secondary text-center">선장명</label>
|
||||
<div class="col-sm-8">
|
||||
<div class="input-group w-auto">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.sailorNameKr}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.sailorNameCn}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.sailorNamePinyin}">
|
||||
</div>
|
||||
<th:block th:unless="${#lists.isEmpty(sailor.fileList)}">
|
||||
<div id="fileDownloadDiv" class="d-none">
|
||||
<div class="row justify-content-end">
|
||||
<div class="col-auto">
|
||||
<th:block th:each="file:${sailor.fileList}">
|
||||
<a href="#" class="fileDownLink" data-board="sailor"
|
||||
th:data-parentkey="${file.sailorKey}" th:data-fileseq="${file.fileSeq}" th:text="|${file.origNm}.${file.fileExtn}|"></a>
|
||||
<br>
|
||||
</th:block>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</th:block>
|
||||
</div>
|
||||
<div class="col-sm-2">
|
||||
<th:block th:if="${#lists.isEmpty(sailor.fileList)}">
|
||||
<div>사진 없음</div>
|
||||
</th:block>
|
||||
<th:block th:unless="${#lists.isEmpty(sailor.fileList)}">
|
||||
<img id="captainPhoto" class="w-100" alt="선장 사진" th:src="|/file/fileDisplay?board=sailor&parentKey=${sailor.sailorKey}&fileSeq=1|">
|
||||
</th:block>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row border border-secondary border-top-0">
|
||||
<label class="col-sm-2 fw-bold bg-label border-end border-secondary col-form-label col-form-label-sm py-2 border-end border-secondary text-center">생년월일</label>
|
||||
<div class="col-sm-4 border-end border-secondary">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.birthdate}">
|
||||
</div>
|
||||
<label class="col-sm-2 fw-bold bg-label border-end border-secondary col-form-label col-form-label-sm py-2 border-end border-secondary text-center">연락처</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.sailorContact}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row border border-secondary border-top-0">
|
||||
<label class="col-sm-2 fw-bold bg-label border-end border-secondary col-form-label col-form-label-sm py-2 border-end border-secondary text-center">주소</label>
|
||||
<div class="col-sm-4 border-end border-secondary">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.residence}">
|
||||
</div>
|
||||
<label class="col-sm-2 fw-bold bg-label border-end border-secondary col-form-label col-form-label-sm py-2 border-end border-secondary text-center">재범횟수</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.arrestHistory}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row border border-secondary border-top-0">
|
||||
<label class="col-sm-2 fw-bold bg-label border-end border-secondary col-form-label col-form-label-sm py-2 border-end border-secondary text-center">비고</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.note}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</th:block>
|
||||
</th:block>
|
||||
<th:block th:each="sailor:${crackdownStatus.sailorList}">
|
||||
<th:block th:if="${sailor.position eq 'POS004'}">
|
||||
<div class="col-6" id="shipOwnerDiv">
|
||||
<div class="row border border-secondary border-start-0">
|
||||
<label class="col-sm-2 fw-bold bg-label border-end border-secondary col-form-label col-form-label-sm py-2 border-end border-secondary text-center">선주명</label>
|
||||
<div class="col-sm-10">
|
||||
<div class="input-group w-auto">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.sailorNameKr}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.sailorNameCn}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.sailorNamePinyin}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row border border-secondary border-start-0 border-top-0">
|
||||
<label class="col-sm-2 fw-bold bg-label border-end border-secondary col-form-label col-form-label-sm py-2 border-end border-secondary text-center">생년월일</label>
|
||||
<div class="col-sm-4 border-end border-secondary">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.birthdate}">
|
||||
</div>
|
||||
<label class="col-sm-2 fw-bold bg-label border-end border-secondary col-form-label col-form-label-sm py-2 border-end border-secondary text-center">연락처</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.sailorContact}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row border border-secondary border-start-0 border-top-0">
|
||||
<label class="col-sm-2 fw-bold bg-label border-end border-secondary col-form-label col-form-label-sm py-2 border-end border-secondary text-center">주소</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.residence}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row border border-secondary border-start-0 border-top-0">
|
||||
<label class="col-sm-2 fw-bold bg-label border-end border-secondary col-form-label col-form-label-sm py-2 border-end border-secondary text-center">비고</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.note}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</th:block>
|
||||
</th:block>
|
||||
</div>
|
||||
</th:block>
|
||||
<div class="row py-2">
|
||||
<div class="col-auto">■ 어선 정보</div>
|
||||
</div>
|
||||
<div class="row border border-secondary">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">선명</label>
|
||||
<div class="col-sm-5 border-end border-secondary">
|
||||
<div class="input-group w-auto">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.fishingBoat.boatNameKr}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.fishingBoat.boatNameCn}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row border border-secondary border-top-0">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">허가번호</label>
|
||||
<div class="col-sm-2 border-end border-secondary">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.fishingBoat.permitNum}">
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">국적</label>
|
||||
<div class="col-sm-2 border-end border-secondary">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.fishingBoat.nationality}">
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">승선원</label>
|
||||
<div class="col-sm-2 border-end border-secondary" th:if="${crackdownStatus.fishingBoat.sailorCnt>0}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="|${crackdownStatus.fishingBoat.sailorCnt}인|">
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">톤수</label>
|
||||
<div class="col-sm-2" th:if="${crackdownStatus.fishingBoat.tonCnt>0}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="|${crackdownStatus.fishingBoat.tonCnt}t|">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row border border-secondary border-top-0">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">선종</label>
|
||||
<div class="col-sm-2 border-end border-secondary">
|
||||
<th:block th:each="code:${ftList}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownStatus.fishingBoat.fisheryType}" th:value="${code.itemValue}">
|
||||
</th:block>
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">선질</label>
|
||||
<div class="col-sm-2 border-end border-secondary">
|
||||
<th:block th:each="code:${bmList}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownStatus.fishingBoat.boatMaterial}" th:value="${code.itemValue}">
|
||||
</th:block>
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">선적지</label>
|
||||
<div class="col-sm-2 border-end border-secondary">
|
||||
<div class="input-group w-auto">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.fishingBoat.boatNnySung}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.fishingBoat.boatNnySi}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row border border-secondary border-top-0">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">범칙물</label>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||
<th:block th:if="${crackdownStatus.fishingBoat.offenseType ne null}" th:text="${crackdownStatus.fishingBoat.offenseType}"></th:block>
|
||||
<th:block th:if="${crackdownStatus.fishingBoat.offenseWeight>0}" th:text="|${crackdownStatus.fishingBoat.offenseWeight}kg|"></th:block>
|
||||
</label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">범칙물 폐기량</label>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||
<th:block th:if="${crackdownStatus.fishingBoat.offenseIllegalWasteQuantity>0}" th:text="|${crackdownStatus.fishingBoat.offenseIllegalWasteQuantity}kg|"></th:block>
|
||||
</label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">범칙물 위판량</label>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||
<th:block th:if="${crackdownStatus.fishingBoat.offenseQuantity>0}" th:text="|${crackdownStatus.fishingBoat.offenseQuantity}kg|"></th:block>
|
||||
</label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center fs-11">범칙물 위판금액</label>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||
<th:block th:if="${crackdownStatus.fishingBoat.offenseAmount>0}" th:text="|${crackdownStatus.fishingBoat.offenseAmount}만원|"></th:block>
|
||||
</label>
|
||||
</div>
|
||||
<div class="row border border-secondary border-top-0">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">담보금 미납액</label>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||
<th:block th:if="${crackdownStatus.fishingBoat.damboUnpaidAmount>0}" th:text="|${crackdownStatus.fishingBoat.damboUnpaidAmount}만원|"></th:block>
|
||||
</label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">담보금 납부액</label>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||
<th:block th:if="${crackdownStatus.fishingBoat.damboPayment>0}" th:text="|${crackdownStatus.fishingBoat.damboPayment}만원|"></th:block>
|
||||
</label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center fs-11">담보금 납부일시</label>
|
||||
<div class="col-sm-2">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.fishingBoat.paymentPaymentDt}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row border border-secondary border-top-0">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">압수어구</label>
|
||||
<label class="col-sm-11 col-form-label col-form-label-sm py-2 text-start">
|
||||
<th:block th:if="${!#strings.isEmpty(crackdownStatus.fishingBoat.confiscationFrame)}" th:text="|틀: ${crackdownStatus.fishingBoat.confiscationFrame}|"></th:block>
|
||||
<th:block th:if="${!#strings.isEmpty(crackdownStatus.fishingBoat.confiscationWidth)}" th:text="|폭: ${crackdownStatus.fishingBoat.confiscationWidth}|"></th:block>
|
||||
<th:block th:if="${!#strings.isEmpty(crackdownStatus.fishingBoat.confiscationJo)}" th:text="|조: ${crackdownStatus.fishingBoat.confiscationJo}|"></th:block>
|
||||
<th:block th:if="${!#strings.isEmpty(crackdownStatus.fishingBoat.confiscationGae)}" th:text="|개: ${crackdownStatus.fishingBoat.confiscationGae}|"></th:block>
|
||||
<th:block th:if="${!#strings.isEmpty(crackdownStatus.fishingBoat.confiscationEtc)}" th:text="|기타: ${crackdownStatus.fishingBoat.confiscationEtc}|"></th:block>
|
||||
</label>
|
||||
</div>
|
||||
<div class="row py-2">
|
||||
<div class="col-auto">■ 처리 결과</div>
|
||||
</div>
|
||||
<div class="row border border-secondary">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">처리현황</label>
|
||||
<div class="col-sm-2 border-end border-secondary">
|
||||
<th:block th:each="code:${prList}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownStatus.processResult.processStatus}" th:value="${code.itemValue}">
|
||||
</th:block>
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">수사중지 여부</label>
|
||||
<div class="col-sm-2 border-end border-secondary">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.isIvsgtStop eq 'Y'?'중지':(crackdownStatus.processResult.isIvsgtStop eq 'N'?'수사중':crackdownStatus.processResult.isIvsgtStop)}">
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">선고법원</label>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start" th:text="${crackdownStatus.processResult.sentencingCourt}"></label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">선고내용</label>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm py-2 text-start" th:text="${crackdownStatus.processResult.sentencingDetail}"></label>
|
||||
</div>
|
||||
<div class="row border border-secondary border-top-0">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">압송소요시간</label>
|
||||
<div class="col-sm-2 border-end border-secondary">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.pressurizedTimeTaken}">
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">압송거리</label>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||
<th:block th:if="${!#strings.isEmpty(crackdownStatus.distance)}" th:text="|${crackdownStatus.distance}해리|"></th:block>
|
||||
</label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center fs-10">영장청구 소요시간</label>
|
||||
<div class="col-sm-2 border-end border-secondary">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.warrantReqTakeTime}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row border border-secondary border-top-0">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">나포일시</label>
|
||||
<div class="col-sm-2 border-end border-secondary">
|
||||
<input type="text" class="form-control form-control-sm border-0" id="napoDt" readonly th:value="${#temporals.format(crackdownStatus.napoDt, 'yyyy-MM-dd hh:mm')}">
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">석방일시</label>
|
||||
<div class="col-sm-2 border-end border-secondary">
|
||||
<input type="text" class="form-control form-control-sm border-0" id="releaseDt" readonly th:value="${#temporals.format(crackdownStatus.processResult.releaseDt, 'yyyy-MM-dd hh:mm')}">
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">소요시간</label>
|
||||
<div class="col-sm-2 border-end border-secondary">
|
||||
<input type="text" class="form-control form-control-sm border-0" id="releaseToNapo" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row border border-secondary border-top-0">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">위탁시작일</label>
|
||||
<div class="col-sm-2 border-end border-secondary">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.consignmentStartDt}">
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">위탁종료일</label>
|
||||
<div class="col-sm-2 border-end border-secondary">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.consignmentEndDt}">
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">퇴거일</label>
|
||||
<div class="col-sm-2 border-end border-secondary">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.evictionDt}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row border border-secondary border-top-0">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">직접인계일</label>
|
||||
<div class="col-sm-2 border-end border-secondary">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.directHandoverDt}">
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">인계 해점</label>
|
||||
<div class="col-sm-2 border-end border-secondary">
|
||||
<div class="input-group w-auto">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.handoverSeaPointLon}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.handoverSeaPointLat}">
|
||||
</div>
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">인계 함정</label>
|
||||
<div class="col-sm-2 border-end border-secondary">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.handoverBoat}">
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">중측 인수함정</label>
|
||||
<div class="col-sm-2">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.middleTakeoverBoat}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row border border-secondary border-top-0">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">몰수확정일</label>
|
||||
<div class="col-sm-2 border-end border-secondary">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.confiscationDt}">
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">폐선일</label>
|
||||
<div class="col-sm-2 border-end border-secondary">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.boatDisposalDt}">
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">폐선종류</label>
|
||||
<div class="col-sm-2 border-end border-secondary">
|
||||
<th:block th:each="code:${bdtList}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownStatus.processResult.boatDisposalType}" th:value="${code.itemValue}">
|
||||
</th:block>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row border border-secondary border-top-0">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">침몰일</label>
|
||||
<div class="col-sm-2 border-end border-secondary">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.exileDt}">
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">환부일</label>
|
||||
<div class="col-sm-2 border-end border-secondary">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.returnDt}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row border border-secondary border-top-0">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">선장구속</label>
|
||||
<div class="col-sm-2 border-end border-secondary">
|
||||
<th:block th:each="sailor:${crackdownStatus.sailorList}">
|
||||
<th:block th:if="${sailor.position eq 'POS001'}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.isRestriction eq 'Y'?'구속':'불구속'}">
|
||||
</th:block>
|
||||
</th:block>
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">항해장구속</label>
|
||||
<div class="col-sm-2 border-end border-secondary">
|
||||
<th:block th:each="sailor:${crackdownStatus.sailorList}">
|
||||
<th:block th:if="${sailor.position eq 'POS002'}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.isRestriction eq 'Y'?'구속':'불구속'}">
|
||||
</th:block>
|
||||
</th:block>
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">기관장구속</label>
|
||||
<div class="col-sm-2 border-end border-secondary">
|
||||
<th:block th:each="sailor:${crackdownStatus.sailorList}">
|
||||
<th:block th:if="${sailor.position eq 'POS003'}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.isRestriction eq 'Y'?'구속':'불구속'}">
|
||||
</th:block>
|
||||
</th:block>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row border border-secondary border-top-0">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">선원구속</label>
|
||||
<div class="col-sm-11">
|
||||
<div class="row">
|
||||
<th:block th:each="sailor:${crackdownStatus.sailorList}">
|
||||
<th:block th:if="${sailor.position eq 'POS005' or sailor.position eq 'POS006'}">
|
||||
<div class="col-4">
|
||||
<div class="row mt-2">
|
||||
<label class="col-sm-auto col-form-label col-form-label-sm fw-bold text-end">직책: </label>
|
||||
<label class="col-sm-auto col-form-label col-form-label-sm text-start" th:text="${sailor.position eq 'POS005'?'기타 간부선원':'일반선원 또는 확인불가'}"></label>
|
||||
<label class="col-sm-auto col-form-label col-form-label-sm fw-bold text-end">구속여부: </label>
|
||||
<label class="col-sm-auto col-form-label col-form-label-sm text-start" th:text="${sailor.isRestriction eq 'Y'?'구속':'불구속'}"></label>
|
||||
<label class="col-sm-auto col-form-label col-form-label-sm fw-bold text-end">이름: </label>
|
||||
<label class="col-sm-auto col-form-label col-form-label-sm text-start" th:text="${sailor.sailorNameKr}"></label>
|
||||
</div>
|
||||
</div>
|
||||
</th:block>
|
||||
</th:block>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tab-pane fade p-2 mx-2" id="fishingBoatVersionTabPanel" role="tabpanel" aria-labelledby="fishingBoatVersionTab" tabindex="0">
|
||||
<div class="row">
|
||||
|
|
@ -564,7 +198,7 @@
|
|||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="versionInfoTr" th:each="versionInfo:${crackdownStatus.crackdownStatusVersionList}">
|
||||
<tr class="versionInfoTr" th:each="versionInfo:${crackdownInfo.crackdownInfoHistoryList}">
|
||||
<input type="hidden" class="cdsKey" th:value="${versionInfo.cdsKey}">
|
||||
<input type="hidden" class="versionNo" th:value="${versionInfo.versionNo}">
|
||||
<td><input type="checkbox" class="versionInfoChkbox"></td>
|
||||
|
|
@ -591,15 +225,15 @@
|
|||
</div>
|
||||
</div>
|
||||
<th:block th:if="${modalType ne 'viewOnly'}">
|
||||
<th:block th:if="${userSeq eq crackdownStatus.fishingBoat.wrtUserSeq
|
||||
or (accessAuth eq 'ACC003' and #lists.contains(mgtOrganList, crackdownStatus.fishingBoat.wrtOrgan))}">
|
||||
<th:block th:if="${userSeq eq crackdownInfo.wrtUserSeq
|
||||
or (accessAuth eq 'ACC003' and #lists.contains(mgtOrganList, crackdownInfo.wrtOrgan))}">
|
||||
<!--작성자, 관리자일 경우 수정, 삭제 허용-->
|
||||
<div class="modal-footer justify-content-between bg-light">
|
||||
<div class="col-auto">
|
||||
<button type="button" class="btn btn-danger" id="deleteFishingBoatBtn">삭제</button>
|
||||
<button type="button" class="btn btn-danger" id="cdiDeleteBtn">삭제</button>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<button type="button" class="btn btn-warning" id="editFishingBoatBtn">수정</button>
|
||||
<button type="button" class="btn btn-warning" id="cdiEditBtn">수정</button>
|
||||
</div>
|
||||
</div>
|
||||
</th:block>
|
||||
|
|
|
|||
|
|
@ -119,7 +119,7 @@
|
|||
</thead>
|
||||
<tbody class="table-group-divider align-middle">
|
||||
<th:block th:each="cdi,cnt:${crackdownInfoList}">
|
||||
<tr class="crackdownStatusTr" th:data-cdskey="${cdi.cdsKey}">
|
||||
<tr class="cdiTr" th:data-cdskey="${cdi.cdsKey}">
|
||||
<td th:text="${searchParams.contentCnt-(20*(searchParams.pageIndex-1))-cnt.index}"></td>
|
||||
<td th:text="${cdi.caseNum}"></td>
|
||||
<td th:text="${cdi.mmsi}"></td>
|
||||
|
|
@ -169,6 +169,31 @@
|
|||
<div class="col-auto">
|
||||
<button class="btn btn-success" id="cdsDownExcel">엑셀 다운로드</button>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<nav aria-label="Page navigation">
|
||||
<ul class="pagination mb-0">
|
||||
<th:block th:if="${searchParams.pageIndex>3}">
|
||||
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)-3}">
|
||||
<a class="page-link" href="#" aria-label="Previous">
|
||||
<span aria-hidden="true">«</span>
|
||||
</a>
|
||||
</li>
|
||||
</th:block>
|
||||
<th:block th:each="num : ${#numbers.sequence(searchParams.startNum, searchParams.endNum)}">
|
||||
<li class="page-item" th:data-pageindex="${num}" th:classappend="${searchParams.pageIndex eq num?'active':''}">
|
||||
<a class="page-link" href="#" th:text="${num}"></a>
|
||||
</li>
|
||||
</th:block>
|
||||
<th:block th:if="${searchParams.maxNum>searchParams.endNum+2}">
|
||||
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)+3}">
|
||||
<a class="page-link" href="#" aria-label="Next">
|
||||
<span aria-hidden="true">»</span>
|
||||
</a>
|
||||
</li>
|
||||
</th:block>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<button class="btn btn-primary" id="addCrackdownStatusBtn">등록</button>
|
||||
</div>
|
||||
|
|
@ -178,16 +203,16 @@
|
|||
</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="cdiEditModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="cdiEditModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-xxl modal-dialog-scrollable">
|
||||
<div class="modal-content" id="csEditModalContent">
|
||||
<div class="modal-content" id="cdiEditModalContent">
|
||||
|
||||
</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 class="modal fade" id="cdiViewModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="cdiViewModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-xl modal-dialog-scrollable">
|
||||
<div class="modal-content" id="cdiViewModalContent">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
|
||||
<input type="hidden" name="opKey" th:value="${fer.opKey}">
|
||||
<input type="hidden" name="ferKey" th:value="${fer.ferKey}">
|
||||
<input type="hidden" name="wrtOrgan" th:value="${fer.wrtOrgan}">
|
||||
<input type="hidden" class="wrtOrgan" name="wrtOrgan" th:value="${fer.wrtOrgan}">
|
||||
<input type="hidden" name="wrtPart" th:value="${fer.wrtPart}">
|
||||
<input type="hidden" name="wrtUserSeq" th:value="${fer.wrtUserSeq}">
|
||||
<input type="hidden" name="wrtUserGrd" th:value="${fer.wrtUserGrd}">
|
||||
|
|
|
|||
Loading…
Reference in New Issue