외사통계 > 불법조업 외국어선 > 처리현황 재작업 완료.

master
강석 최 2023-07-10 16:37:58 +09:00
parent b73de9c067
commit 47f9629fbb
14 changed files with 617 additions and 481 deletions

View File

@ -7,6 +7,7 @@ import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.crackdownStatus.*;
import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.fishingBoat.IllegalShipInfo; import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.fishingBoat.IllegalShipInfo;
import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.fishingBoat.IllegalShipInfoHistory; import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.fishingBoat.IllegalShipInfoHistory;
import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.processResult.ShipProcessInfo; import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.processResult.ShipProcessInfo;
import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.processResult.ShipProcessInfoHistory;
import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.sailor.IllegalShipSailor; import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.sailor.IllegalShipSailor;
import com.dbnt.faisp.main.faStatistics.unlawfulFishing.service.UnlawfulFishingService; import com.dbnt.faisp.main.faStatistics.unlawfulFishing.service.UnlawfulFishingService;
import com.dbnt.faisp.main.userInfo.model.UserInfo; import com.dbnt.faisp.main.userInfo.model.UserInfo;
@ -200,6 +201,7 @@ public class UnlawfulFishingController {
ModelAndView mav = new ModelAndView("faStatistics/unlawfulFishing/shipProcessInfo/spiEditModal"); ModelAndView mav = new ModelAndView("faStatistics/unlawfulFishing/shipProcessInfo/spiEditModal");
if(shipProcessInfo.getPrKey()!=null){ if(shipProcessInfo.getPrKey()!=null){
shipProcessInfo = unlawfulFishingService.selectShipProcessInfo(shipProcessInfo.getPrKey()); shipProcessInfo = unlawfulFishingService.selectShipProcessInfo(shipProcessInfo.getPrKey());
shipProcessInfo.setBoatNameKr(unlawfulFishingService.selectIllegalShipInfo(shipProcessInfo.getFbKey()).getBoatNameKr());
}else{ }else{
shipProcessInfo.setWrtOrgan(loginUser.getOgCd()); shipProcessInfo.setWrtOrgan(loginUser.getOgCd());
shipProcessInfo.setWrtPart(loginUser.getOfcCd()); shipProcessInfo.setWrtPart(loginUser.getOfcCd());
@ -214,9 +216,9 @@ public class UnlawfulFishingController {
@GetMapping("/spiViewModal") @GetMapping("/spiViewModal")
public ModelAndView shipProcessInfoViewModal(@AuthenticationPrincipal UserInfo loginUser, ShipProcessInfo spi){ public ModelAndView shipProcessInfoViewModal(@AuthenticationPrincipal UserInfo loginUser, ShipProcessInfo spi){
ModelAndView mav = new ModelAndView("faStatistics/unlawfulFishing/illegalShipInfo/spiViewModal"); ModelAndView mav = new ModelAndView("faStatistics/unlawfulFishing/shipProcessInfo/spiViewModal");
spi = unlawfulFishingService.selectShipProcessInfo(spi.getPrKey()); spi = unlawfulFishingService.selectShipProcessInfo(spi.getPrKey());
spi.setHistoryList(unlawfulFishingService.selectShipProcessInfoHistory(spi.getPrKey())); spi.setHistoryList(unlawfulFishingService.selectShipProcessInfoHistoryList(spi.getPrKey()));
mav.addObject("processInfo", spi); mav.addObject("processInfo", spi);
IllegalShipInfo shipInfo = unlawfulFishingService.selectIllegalShipInfo(spi.getFbKey()); IllegalShipInfo shipInfo = unlawfulFishingService.selectIllegalShipInfo(spi.getFbKey());
mav.addObject("shipInfo", shipInfo); mav.addObject("shipInfo", shipInfo);
@ -229,6 +231,19 @@ public class UnlawfulFishingController {
return mav; return mav;
} }
@GetMapping("/spiHistoryDiv")
public ModelAndView spiHistoryDiv(ShipProcessInfoHistory spih){
ModelAndView mav = new ModelAndView("faStatistics/unlawfulFishing/shipProcessInfo/spiHistoryDiv");
spih = unlawfulFishingService.selectShipProcessInfoHistory(spih.getPrKey(), spih.getVersionNo());
mav.addObject("processInfo", spih);
return mav;
}
@PostMapping("/deleteShipProcessInfo")
public void deleteShipProcessInfo(ShipProcessInfo shipProcessInfo){
unlawfulFishingService.deleteShipProcessInfo(shipProcessInfo.getPrKey());
}
@PostMapping("/saveShipProcessInfo") @PostMapping("/saveShipProcessInfo")
public Integer saveShipProcessInfo(@AuthenticationPrincipal UserInfo loginUser, ShipProcessInfo processInfo){ public Integer saveShipProcessInfo(@AuthenticationPrincipal UserInfo loginUser, ShipProcessInfo processInfo){
processInfo.setWrtDt(LocalDateTime.now()); processInfo.setWrtDt(LocalDateTime.now());

View File

@ -124,4 +124,7 @@ public class ProcessResultBaseEntity extends BaseModel {
@Column(name = "release_dt") @Column(name = "release_dt")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
private LocalDateTime releaseDt; private LocalDateTime releaseDt;
@Column(name = "distance")
private String distance;
} }

View File

@ -34,6 +34,14 @@ public class ShipProcessInfo extends ProcessResultBaseEntity {
@Column(name="status") @Column(name="status")
private String status; private String status;
@Transient
private String caseNum;
@Transient
private String boatNameKr;
@Transient
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
private LocalDateTime napoDt;
@Transient @Transient
private List<ShipProcessInfoHistory> historyList; private List<ShipProcessInfoHistory> historyList;
} }

View File

@ -2,10 +2,16 @@ package com.dbnt.faisp.main.faStatistics.unlawfulFishing.repository;
import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.processResult.ShipProcessInfo; import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.processResult.ShipProcessInfo;
import org.springframework.data.jpa.repository.JpaRepository; 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; import java.util.Optional;
public interface ShipProcessInfoRepository extends JpaRepository<ShipProcessInfo, Integer> { public interface ShipProcessInfoRepository extends JpaRepository<ShipProcessInfo, Integer> {
Optional<ShipProcessInfo> findByFbKey(Integer fbKey); Optional<ShipProcessInfo> findByFbKey(Integer fbKey);
Optional<ShipProcessInfo> findByPrKey(Integer prKey); Optional<ShipProcessInfo> findByPrKey(Integer prKey);
@Modifying(clearAutomatically = true)
@Query("update ShipProcessInfo set status = :status where prKey = :prKey")
void bulkModifyingByPrKeyToStatus(Integer prKey, String status);
} }

View File

@ -168,10 +168,19 @@ public class UnlawfulFishingService {
return spiRepository.findByPrKey(prKey).orElse(new ShipProcessInfo()); return spiRepository.findByPrKey(prKey).orElse(new ShipProcessInfo());
} }
public List<ShipProcessInfoHistory> selectShipProcessInfoHistory(Integer prKey) { public List<ShipProcessInfoHistory> selectShipProcessInfoHistoryList(Integer prKey) {
return spihRepository.findByPrKeyOrderByVersionNoDesc(prKey); return spihRepository.findByPrKeyOrderByVersionNoDesc(prKey);
} }
public ShipProcessInfoHistory selectShipProcessInfoHistory(Integer prKey, Integer versionNo) {
return spihRepository.findById(new ShipProcessInfoHistory.ShipProcessInfoHistoryId(prKey, versionNo)).orElse(null);
}
@Transactional
public void deleteShipProcessInfo(Integer prKey){
spiRepository.bulkModifyingByPrKeyToStatus(prKey, "DST008");
}
public IllegalShipSailor selectIllegalShipSailor(Integer sailorKey) { public IllegalShipSailor selectIllegalShipSailor(Integer sailorKey) {
return issRepository.findBySailorKey(sailorKey).orElse(new IllegalShipSailor()); return issRepository.findBySailorKey(sailorKey).orElse(new IllegalShipSailor());
} }

View File

@ -171,9 +171,32 @@
</sql> </sql>
<select id="selectShipProcessInfoList" resultType="ShipProcessInfo" parameterType="UnlawfulFishingParam"> <select id="selectShipProcessInfoList" resultType="ShipProcessInfo" parameterType="UnlawfulFishingParam">
select a.pr_key,
c.case_num ,
b.boat_name_kr ,
c.napo_dt ,
a.process_status ,
a.is_ivsgt_stop ,
a.sentencing_court ,
a.sentencing_detail ,
a.wrt_organ ,
a.wrt_part ,
a.wrt_user_grd ,
a.wrt_user_nm ,
a.wrt_dt
from ship_process_info a
inner join illegal_ship_info b on a.fb_key = b.fb_key
inner join crackdown_info c on b.cds_key = c.cds_key
<include refid="selectShipProcessInfoListWhere"></include>
</select> </select>
<select id="selectShipProcessInfoListCnt" resultType="int" parameterType="UnlawfulFishingParam"> <select id="selectShipProcessInfoListCnt" resultType="int" parameterType="UnlawfulFishingParam">
select count(*)
from ship_process_info a
inner join illegal_ship_info b on a.fb_key = b.fb_key
inner join crackdown_info c on b.cds_key = c.cds_key
<include refid="selectShipProcessInfoListWhere"></include>
</select> </select>
<sql id="selectShipProcessInfoListWhere">
where a.status &lt;> 'DST008'
</sql>
</mapper> </mapper>

View File

@ -48,7 +48,10 @@ $(document).on('click', '#deleteShipInfoBtn', function (){
deleteShipInfo($("#fishingBoatViewTabPanel").find(".fbKey").val()); deleteShipInfo($("#fishingBoatViewTabPanel").find(".fbKey").val());
}) })
$(document).on('click', '.versionInfoTr', function (){ $(document).on('click', '.versionInfoTr', function (){
getIsiHistory($(this).find(".fbKey").val(), $(this).find(".versionNo").val()); const versionInfoTr = $(this)
$(".versionInfoChkbox").prop("checked", false);
versionInfoTr.find(".versionInfoChkbox").prop("checked", true);
getIsiHistory(versionInfoTr.find(".fbKey").val(), versionInfoTr.find(".versionNo").val());
}) })
function getIsiEditModal(fbKey){ function getIsiEditModal(fbKey){

View File

@ -11,6 +11,16 @@ $(document).on('click', '#addShipProcessInfoBtn', function (){
getSpiEditModal(null); getSpiEditModal(null);
}) })
$(document).on('change', '.pressurizedTimeTaken', function (){
$("#pressurizedTimeTaken").val($("#pressurizedTimeTakenDate").val()+"일 "+$("#pressurizedTimeTakenTime").val());
})
$(document).on('change', '.warrantReqTake', function (){
$("#warrantReqTake").val($("#warrantReqTakeDate").val()+"일 "+$("#warrantReqTakeTime").val());
})
$(document).on('change', '#releaseDate,#releaseTime', function (){
$("#releaseDt").val($("#releaseDate").val()+" "+$("#releaseTime").val());
})
$(document).on('change', '.oxSelector', function (){ $(document).on('change', '.oxSelector', function (){
childInputStateChange(Number(this.value), $(this).parent().find("input,select").slice(1)); childInputStateChange(Number(this.value), $(this).parent().find("input,select").slice(1));
}) })
@ -29,6 +39,81 @@ $(document).on('click', '.saveEditInfoBtn', function (){
saveShipProcessInfo($(this).attr("data-status")) saveShipProcessInfo($(this).attr("data-status"))
}) })
$(document).on('click', '.spiTr', function (){
getSpiViewModal($(this).attr('data-prkey'))
})
$(document).on('click', '#editProcessInfoBtn', function (){
$("#spiViewModal").modal('hide');
getSpiEditModal($("#processInfoViewTabPanel").find('.prKey').val())
})
$(document).on('click', '#deleteProcessInfoBtn', function (){
deleteProcessInfo($("#processInfoViewTabPanel").find('.prKey').val());
})
$(document).on('click', '.versionInfoTr', function (){
const versionInfoTr = $(this)
$(".versionInfoChkbox").prop("checked", false);
versionInfoTr.find(".versionInfoChkbox").prop("checked", true);
getSpiHistory(versionInfoTr.find(".prKey").val(), versionInfoTr.find(".versionNo").val());
})
function getSpiHistory(prKey, versionNo){
$.ajax({
url: '/unlawfulFishing/spiHistoryDiv',
data: {prKey: prKey, versionNo: versionNo},
type: 'GET',
dataType:"html",
success: function(html){
$("#versionInfoDiv").empty().append(html)
},
error:function(e){
ajaxErrorAction(e);
}
});
}
function deleteProcessInfo(prKey){
if(confirm("삭제하시겠습니까?\n되돌릴 수 없습니다.")){
contentFade("in");
$.ajax({
type : 'POST',
data : JSON.stringify({prKey: prKey}),
url : "/unlawfulFishing/deleteShipProcessInfo",
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 getSpiViewModal(prKey){
$.ajax({
url: '/unlawfulFishing/spiViewModal',
data: {prKey: prKey},
type: 'GET',
dataType:"html",
success: function(html){
const contentDiv = $("#spiViewModalContent");
contentDiv.empty().append(html)
$("#spiViewModal").modal('show');
},
error:function(e){
ajaxErrorAction(e);
}
});
}
function getSpiEditModal(prKey){ function getSpiEditModal(prKey){
$.ajax({ $.ajax({
url: '/unlawfulFishing/spiEditModal', url: '/unlawfulFishing/spiEditModal',

View File

@ -104,6 +104,7 @@
<th>선종</th> <th>선종</th>
<th>선질</th> <th>선질</th>
<th>선적지</th> <th>선적지</th>
<th>작성자</th>
<th>작성일시</th> <th>작성일시</th>
</tr> </tr>
</thead> </thead>
@ -128,6 +129,18 @@
</th:block> </th:block>
</td> </td>
<td th:text="|${shipInfo.boatNnySung} ${shipInfo.boatNnySi}|"></td> <td th:text="|${shipInfo.boatNnySung} ${shipInfo.boatNnySi}|"></td>
<td>
<th:block th:each="code:${session.commonCode.get('OG')}">
<th:block th:if="${code.itemCd eq shipInfo.wrtOrgan}" th:text="${code.itemValue}"></th:block>
</th:block>
<th:block th:each="code:${session.commonCode.get(shipInfo.wrtOrgan)}">
<th:block th:if="${code.itemCd eq shipInfo.wrtPart}" th:text="${code.itemValue}"></th:block>
</th:block>
<th:block th:each="code:${session.commonCode.get('JT')}">
<th:block th:if="${code.itemCd eq shipInfo.wrtUserGrd}" th:text="${code.itemValue}"></th:block>
</th:block>
<th:block th:text="${shipInfo.wrtUserNm}"></th:block>
</td>
<td th:text="${#temporals.format(shipInfo.wrtDt, 'yyyy-MM-dd HH:mm')}"></td> <td th:text="${#temporals.format(shipInfo.wrtDt, 'yyyy-MM-dd HH:mm')}"></td>
</tr> </tr>
</th:block> </th:block>

View File

@ -97,8 +97,8 @@
<label class="col-sm-2 col-form-label col-form-label py-2 border-end border-secondary text-start"> <label class="col-sm-2 col-form-label col-form-label py-2 border-end border-secondary text-start">
<th:block th:if="${shipInfo.offenseQuantity>0}" th:text="|${shipInfo.offenseQuantity}kg|"></th:block> <th:block th:if="${shipInfo.offenseQuantity>0}" th:text="|${shipInfo.offenseQuantity}kg|"></th:block>
</label> </label>
<label class="col-sm-1 col-form-label col-form-label fw-bold bg-label py-2 border-end border-secondary text-center fs-11">범칙물 위판금액</label> <label class="col-sm-1 col-form-label col-form-label fw-bold bg-label py-2 border-secondary border-end text-center fs-11">범칙물 위판금액</label>
<label class="col-sm-2 col-form-label col-form-label py-2 border-end border-secondary text-start"> <label class="col-sm-2 col-form-label col-form-label py-2 border-secondary text-start">
<th:block th:if="${shipInfo.offenseAmount>0}" th:text="|${shipInfo.offenseAmount}만원|"></th:block> <th:block th:if="${shipInfo.offenseAmount>0}" th:text="|${shipInfo.offenseAmount}만원|"></th:block>
</label> </label>
</div> </div>

View File

@ -8,7 +8,9 @@
</th:block> </th:block>
<th:block layout:fragment="css"> <th:block layout:fragment="css">
<style> <style>
.col-form-label.text-center {
background-color: #aabfe178;
}
</style> </style>
</th:block> </th:block>
<div layout:fragment="content"> <div layout:fragment="content">
@ -121,6 +123,27 @@
<td th:text="${cnt.count}"></td> <td th:text="${cnt.count}"></td>
<td th:text="${spi.caseNum}"></td> <td th:text="${spi.caseNum}"></td>
<td th:text="${spi.boatNameKr}"></td> <td th:text="${spi.boatNameKr}"></td>
<td th:text="${#temporals.format(spi.napoDt, 'yyyy-MM-dd HH:mm')}"></td>
<td>
<th:block th:each="code:${session.commonCode.get('PR')}">
<th:block th:if="${code.itemCd eq spi.processStatus}" th:text="${code.itemValue}"></th:block>
</th:block>
</td>
<td th:text="${spi.isIvsgtStop eq 'Y'?'중지':'수사중'}"></td>
<td th:text="${spi.sentencingCourt}"></td>
<td th:text="${spi.sentencingDetail}"></td>
<td>
<th:block th:each="code:${session.commonCode.get('OG')}">
<th:block th:if="${code.itemCd eq spi.wrtOrgan}" th:text="${code.itemValue}"></th:block>
</th:block>
<th:block th:each="code:${session.commonCode.get(spi.wrtOrgan)}">
<th:block th:if="${code.itemCd eq spi.wrtPart}" th:text="${code.itemValue}"></th:block>
</th:block>
<th:block th:each="code:${session.commonCode.get('JT')}">
<th:block th:if="${code.itemCd eq spi.wrtUserGrd}" th:text="${code.itemValue}"></th:block>
</th:block>
<th:block th:text="${spi.wrtUserNm}"></th:block>
</td>
<td th:text="${#temporals.format(spi.wrtDt, 'yyyy-MM-dd HH:mm')}"></td> <td th:text="${#temporals.format(spi.wrtDt, 'yyyy-MM-dd HH:mm')}"></td>
</tr> </tr>
</th:block> </th:block>
@ -132,6 +155,31 @@
<div class="col-auto"> <div class="col-auto">
<button class="btn btn-success" id="cdsDownExcel">엑셀 다운로드</button> <button class="btn btn-success" id="cdsDownExcel">엑셀 다운로드</button>
</div> </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">&laquo;</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">&raquo;</span>
</a>
</li>
</th:block>
</ul>
</nav>
</div>
<div class="col-auto"> <div class="col-auto">
<button class="btn btn-primary" id="addShipProcessInfoBtn">등록</button> <button class="btn btn-primary" id="addShipProcessInfoBtn">등록</button>
</div> </div>
@ -148,9 +196,9 @@
</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="spiViewModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="spiViewModalLabel" 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="spiViewModalContent">
</div> </div>
</div> </div>

View File

@ -18,8 +18,8 @@
<label for="fbKey" class="col-sm-1 col-form-label col-form-label-sm text-center">선명</label> <label for="fbKey" 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="hidden" id="fbKey" name="fbKey"> <input type="hidden" id="fbKey" name="fbKey" th:value="${shipProcessInfo.fbKey}">
<input type="text" class="form-control form-control-sm " id="boatNameKr" name="boatNameKr"> <input type="text" class="form-control form-control-sm " id="boatNameKr" name="boatNameKr" th:value="${shipProcessInfo.boatNameKr}">
<input type="button" class="btn btn-sm btn-outline-primary w-auto" id="selectIllegalShipInfoBtn" value="불러오기"> <input type="button" class="btn btn-sm btn-outline-primary w-auto" id="selectIllegalShipInfoBtn" value="불러오기">
</div> </div>
</div> </div>
@ -64,7 +64,7 @@
</div> </div>
<label for="distance" class="col-sm-1 col-form-label col-form-label-sm text-center">압송거리</label> <label for="distance" 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="distance" name="distance" placeholder="해리"> <input type="text" class="form-control form-control-sm" id="distance" name="distance" placeholder="해리" th:value="${processInfo.distance}">
</div> </div>
<label for="warrantReqTakeDate" class="col-sm-1 col-form-label col-form-label-sm text-center fs-11">영장청구 소요시간</label> <label for="warrantReqTakeDate" class="col-sm-1 col-form-label col-form-label-sm text-center fs-11">영장청구 소요시간</label>
<div class="col-sm-2"> <div class="col-sm-2">

View File

@ -0,0 +1,100 @@
<!DOCTYPE html>
<html lang="ko" xmlns:th="http://www.thymeleaf.org">
<div class="row justify-content-start">
<div class="col-auto">■ 처리현황</div>
</div>
<div class="row border border-secondary">
<label class="col-sm-1 col-form-label col-form-label 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('PR')}">
<div class="pt-2" th:if="${code.itemCd eq processInfo.processStatus}" th:text="${code.itemValue}"></div>
</th:block>
</div>
<label class="col-sm-1 col-form-label col-form-label fw-bold bg-label py-2 border-end border-secondary text-center fs-11">수사중지<br>여부</label>
<div class="col-sm-2 border-end border-secondary">
<input type="text" class="form-control form-control border-0" readonly th:value="${processInfo.isIvsgtStop eq 'Y'?'중지':(processInfo.isIvsgtStop eq 'N'?'수사중':processInfo.isIvsgtStop)}">
</div>
<label class="col-sm-1 col-form-label col-form-label 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 py-2 border-end border-secondary text-start" th:text="${processInfo.sentencingCourt}"></label>
<label class="col-sm-1 col-form-label col-form-label 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 py-2 text-start" th:text="${processInfo.sentencingDetail}"></label>
</div>
<div class="row border border-secondary border-top-0">
<label class="col-sm-1 col-form-label col-form-label 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 border-0" readonly th:value="${processInfo.pressurizedTimeTaken}">
</div>
<label class="col-sm-1 col-form-label col-form-label 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 py-2 border-end border-secondary text-start">
<th:block th:if="${!#strings.isEmpty(processInfo.distance)}" th:text="|${processInfo.distance}해리|"></th:block>
</label>
<label class="col-sm-1 col-form-label col-form-label fw-bold bg-label py-2 border-end border-secondary text-center fs-11">영장청구<br>소요시간</label>
<div class="col-sm-2 border-end border-secondary">
<input type="text" class="form-control form-control border-0" readonly th:value="${processInfo.warrantReqTakeTime}">
</div>
<label class="col-sm-1 col-form-label col-form-label fw-bold bg-label py-2 border-end border-secondary text-center fs-11">석방일시</label>
<div class="col-sm-2 border-secondary">
<input type="text" class="form-control form-control border-0" id="releaseDt" readonly th:value="${#temporals.format(processInfo.releaseDt, 'yyyy-MM-dd HH:mm')}">
</div>
</div>
<div class="row border border-secondary border-top-0">
<label class="col-sm-1 col-form-label col-form-label 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 border-0" readonly th:value="${processInfo.consignmentStartDt}">
</div>
<label class="col-sm-1 col-form-label col-form-label 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 border-0" readonly th:value="${processInfo.consignmentEndDt}">
</div>
<label class="col-sm-1 col-form-label col-form-label 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 border-0" readonly th:value="${processInfo.evictionDt}">
</div>
</div>
<div class="row border border-secondary border-top-0">
<label class="col-sm-1 col-form-label col-form-label 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 border-0" readonly th:value="${processInfo.directHandoverDt}">
</div>
<label class="col-sm-1 col-form-label col-form-label fw-bold bg-label py-2 border-end border-secondary text-center fs-11">인계 해점</label>
<div class="col-sm-2 border-end border-secondary">
<div class="input-group w-auto">
<input type="text" class="form-control form-control border-0" readonly th:value="${processInfo.handoverSeaPointLon}">
<input type="text" class="form-control form-control border-0" readonly th:value="${processInfo.handoverSeaPointLat}">
</div>
</div>
<label class="col-sm-1 col-form-label col-form-label 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 border-0" readonly th:value="${processInfo.handoverBoat}">
</div>
<label class="col-sm-1 col-form-label col-form-label fw-bold bg-label py-2 border-end border-secondary text-center fs-13">중측<br>인수함정</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control border-0" readonly th:value="${processInfo.middleTakeoverBoat}">
</div>
</div>
<div class="row border border-secondary border-top-0">
<label class="col-sm-1 col-form-label col-form-label 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 border-0" readonly th:value="${processInfo.confiscationDt}">
</div>
<label class="col-sm-1 col-form-label col-form-label 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 border-0" readonly th:value="${processInfo.boatDisposalDt}">
</div>
<label class="col-sm-1 col-form-label col-form-label 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('BDT')}">
<input type="text" class="form-control form-control border-0" readonly th:if="${code.itemCd eq processInfo.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 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 border-0" readonly th:value="${processInfo.exileDt}">
</div>
<label class="col-sm-1 col-form-label col-form-label 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 border-0" readonly th:value="${processInfo.returnDt}">
</div>
</div>

View File

@ -1,558 +1,384 @@
<!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="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> <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">
<ul class="nav nav-tabs" id="fishingBoatTab" role="tablist"> <ul class="nav nav-tabs" id="fishingBoatTab" role="tablist">
<li class="nav-item" role="presentation"> <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> <button class="nav-link active" id="processInfoViewTab" data-bs-toggle="tab" data-bs-target="#processInfoViewTabPanel" type="button" role="tab" aria-controls="processInfoViewTabPanel" aria-selected="true">최신버전</button>
</li> </li>
<li class="nav-item" role="presentation" th:unless="${#lists.size(crackdownStatus.crackdownStatusVersionList) <= 1}"> <li class="nav-item" role="presentation" th:unless="${#lists.size(processInfo.historyList) <= 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> <button class="nav-link" id="processInfoVersionTab" data-bs-toggle="tab" data-bs-target="#processInfoVersionTabPanel" type="button" role="tab" aria-controls="processInfoHistoryTabPanel" aria-selected="false">수정이력</button>
</li> </li>
</ul> </ul>
<div class="tab-content bg-white border border-top-0"> <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"> <div class="tab-pane fade p-2 mx-2 show active" id="processInfoViewTabPanel" role="tabpanel" aria-labelledby="processInfoViewTab" tabindex="0">
<input type="hidden" class="cdsKey" th:value="${crackdownStatus.cdsKey}"> <input type="hidden" class="prKey" th:value="${processInfo.prKey}">
<input type="hidden" class="fbKey" th:value="${crackdownStatus.fishingBoat.fbKey}"> <div class="row py-2 justify-content-end">
<div class="row py-2">
<div class="col-12">
<div class="row justify-content-end">
<div class="col-auto"> <div class="col-auto">
<th:block th:text="|최종수정일: ${#temporals.format(crackdownStatus.fishingBoat.wrtDt, 'yyyy-MM-dd HH:mm')}|"></th:block> <th:block th:text="|최종수정일: ${#temporals.format(processInfo.wrtDt, 'yyyy-MM-dd HH:mm')}|"></th:block>
</div> </div>
</div> </div>
<div class="row justify-content-between"> <div class="row justify-content-between">
<div class="col-auto">단속정보</div> <div class="col-auto">처리현황</div>
<div class="col-auto"> <div class="col-auto">
<th:block th:each="code:${session.commonCode.get('DST')}"> <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:if="${processInfo.status eq code.itemCd}" th:text="|상태: ${code.itemValue}|"></th:block>
</th:block> </th:block>
<th:block th:if="${#lists.size(crackdownStatus.crackdownStatusVersionList) <= 1}"> <th:block th:if="${#lists.size(processInfo.historyList) <= 1}">
(수정 이력 없음) (수정 이력 없음)
</th:block> </th:block>
<th:block th:unless="${#lists.size(crackdownStatus.crackdownStatusVersionList) <= 1}"> <th:block th:unless="${#lists.size(processInfo.historyList) <= 1}">
<th:block th:text="${#strings.concat('(', #lists.size(crackdownStatus.crackdownStatusVersionList), '차 수정본)') }"></th:block> <th:block th:text="${#strings.concat('(', #lists.size(processInfo.historyList), '차 수정본)') }"></th:block>
</th:block> </th:block>
</div> </div>
</div> </div>
</div>
</div>
<div class="row border border-secondary"> <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> <label class="col-sm-1 col-form-label col-form-label fw-bold bg-label py-2 border-end border-secondary text-center">처리현황</label>
<div class="col-sm-2 border-end border-secondary"> <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}"> <th:block th:each="code:${session.commonCode.get('PR')}">
</div> <div class="pt-2" th:if="${code.itemCd eq processInfo.processStatus}" th:text="${code.itemValue}"></div>
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">선명</label>
<div class="col-sm-2 border-end border-secondary">
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.fishingBoat.boatNameKr}">
</div>
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">위반사항</label>
<div class="col-sm-5">
<div class="row">
<th:block th:each="code:${vtList}">
<th:block th:each="violation:${crackdownStatus.violationList}">
<div class="col-6" th:if="${code.itemCd eq violation.violation}">
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${code.itemValue}"/>
</div>
</th:block>
</th:block> </th:block>
</div> </div>
<label class="col-sm-1 col-form-label col-form-label 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 border-0" readonly th:value="${processInfo.isIvsgtStop eq 'Y'?'중지':(processInfo.isIvsgtStop eq 'N'?'수사중':processInfo.isIvsgtStop)}">
</div>
<label class="col-sm-1 col-form-label col-form-label fw-bold bg-label py-2 border-end border-secondary text-center">선고법원</label>
<label class="col-sm-2 col-form-label col-form-label py-2 border-end border-secondary text-start" th:text="${processInfo.sentencingCourt}"></label>
<label class="col-sm-1 col-form-label col-form-label fw-bold bg-label py-2 border-end border-secondary text-center">선고내용</label>
<label class="col-sm-2 col-form-label col-form-label py-2 text-start" th:text="${processInfo.sentencingDetail}"></label>
</div>
<div class="row border border-secondary border-top-0">
<label class="col-sm-1 col-form-label col-form-label 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 border-0" readonly th:value="${processInfo.pressurizedTimeTaken}">
</div>
<label class="col-sm-1 col-form-label col-form-label fw-bold bg-label py-2 border-end border-secondary text-center">압송거리</label>
<label class="col-sm-2 col-form-label col-form-label py-2 border-end border-secondary text-start">
<th:block th:if="${!#strings.isEmpty(processInfo.distance)}" th:text="|${processInfo.distance}해리|"></th:block>
</label>
<label class="col-sm-1 col-form-label col-form-label 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 border-0" readonly th:value="${processInfo.warrantReqTakeTime}">
</div>
<label class="col-sm-1 col-form-label col-form-label fw-bold bg-label py-2 border-end border-secondary text-center">석방일시</label>
<div class="col-sm-2 border-secondary">
<input type="text" class="form-control form-control border-0" id="releaseDt" readonly th:value="${#temporals.format(processInfo.releaseDt, 'yyyy-MM-dd HH:mm')}">
</div> </div>
</div> </div>
<div class="row border border-secondary border-top-0"> <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 fw-bold bg-label py-2 border-end border-secondary text-center">위탁시작일</label>
<div class="col-sm-2 border-end border-secondary"> <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 border-0" readonly th:value="${processInfo.consignmentStartDt}">
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownStatus.caseAgency}" th:value="${code.itemValue}">
</th:block>
</div> </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> <label class="col-sm-1 col-form-label col-form-label fw-bold bg-label py-2 border-end border-secondary text-center">위탁종료일</label>
<div class="col-sm-2 border-end border-secondary"> <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 border-0" readonly th:value="${processInfo.consignmentEndDt}">
</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> <label class="col-sm-1 col-form-label col-form-label fw-bold bg-label py-2 border-end border-secondary text-center">퇴거일</label>
<div class="col-sm-2 border-end border-secondary"> <div class="col-sm-2 border-end border-secondary">
<th:block th:each="code:${cpoList}"> <input type="text" class="form-control form-control border-0" readonly th:value="${processInfo.evictionDt}">
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownStatus.crackdownPolice}" th:value="${code.itemValue}">
</th:block>
</div>
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">단속함정</label>
<div class="col-sm-2">
<th:block th:each="code:${boatList}">
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownStatus.crackdownBoat}" th:value="${code.itemValue}">
</th:block>
</div> </div>
</div> </div>
<div class="row border border-secondary border-top-0"> <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> <label class="col-sm-1 col-form-label col-form-label fw-bold bg-label py-2 border-end border-secondary text-center">직접인계일</label>
<div class="col-sm-2 border-end border-secondary"> <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 border-0" readonly th:value="${processInfo.directHandoverDt}">
</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> <label class="col-sm-1 col-form-label col-form-label fw-bold bg-label py-2 border-end border-secondary text-center">인계 해점</label>
<div class="col-sm-2 border-end border-secondary"> <div class="col-sm-2 border-end border-secondary">
<th:block th:each="code:${session.commonCode.get('IST')}">
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownStatus.invasionType}" th:value="${code.itemValue}">
</th:block>
</div>
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">NLL</label>
<div class="col-sm-2 border-end border-secondary">
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.nll eq 'Y'?'O':(crackdownStatus.nll eq 'N'?'X':crackdownStatus.nll)}">
</div>
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">압송/현장조사</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.fieldIvsgt eq 'C'?'압송':(crackdownStatus.fieldIvsgt eq 'F'?'현장조사':crackdownStatus.fieldIvsgt)}">
</div>
</div>
<div class="row border border-secondary border-top-0">
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">나포일시</label>
<div class="col-sm-2 border-end border-secondary">
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${#temporals.format(crackdownStatus.napoDt, 'yyyy-MM-dd hh:mm')}">
</div>
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">나포장소</label>
<div class="col-sm-8">
<input type="text" class="form-control form-control-sm border-0" readonly th:value="|${crackdownStatus.napoSeaPointLon} ${crackdownStatus.napoSeaPointLat} ${crackdownStatus.napoSeaPointDetail}|">
</div>
</div>
<th:block th:with="damageFlag=${crackdownStatus.obstrExspdCnt ne 0 ||
crackdownStatus.personDamageCnt ne 0 ||
crackdownStatus.personDamageAmount ne 0 ||
crackdownStatus.personDamageDetail ne null ||
crackdownStatus.materialDamageCnt ne 0 ||
crackdownStatus.materialDamageAmount ne 0 ||
crackdownStatus.materialDamageDetail ne null}">
<th:block th:if="${damageFlag}">
<div class="row border border-secondary border-top-0">
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center bg-lightB2">특수공무집행방해</label>
<div class="col-sm-11">
<div class="row border-bottom border-secondary">
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center bg-lightB1">인적피해</label>
<div class="col-sm-11">
<div class="row border-bottom border-secondary">
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">발생건수</label>
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
<th:block th:if="${crackdownStatus.obstrExspdCnt>0}" th:text="|${crackdownStatus.obstrExspdCnt}건|"></th:block>
</label>
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">피해인원</label>
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
<th:block th:if="${crackdownStatus.personDamageCnt>0}" th:text="|${crackdownStatus.personDamageCnt}인|"></th:block>
</label>
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">피해액</label>
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
<th:block th:if="${crackdownStatus.personDamageAmount>0}" th:text="|${crackdownStatus.personDamageAmount}만원|"></th:block>
</label>
</div>
<div class="row">
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">상세내용</label>
<div class="col-sm-11" th:utext="${crackdownStatus.personDamageDetail}">
</div>
</div>
</div>
</div>
<div class="row">
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center bg-lightB1">물적피해</label>
<div class="col-sm-11">
<div class="row border-bottom border-secondary">
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">발생건수</label>
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
<th:block th:if="${crackdownStatus.materialDamageCnt>0}" th:text="|${crackdownStatus.materialDamageCnt}건|"></th:block>
</label>
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">피해액</label>
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
<th:block th:if="${crackdownStatus.materialDamageAmount>0}" th:text="|${crackdownStatus.materialDamageAmount}만원|"></th:block>
</label>
</div>
<div class="row">
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">상세내용</label>
<div class="col-sm-11" th:utext="${crackdownStatus.materialDamageDetail}">
</div>
</div>
</div>
</div>
</div>
</div>
</th:block>
</th:block>
<th:block th:with="catchFlag=${crackdownStatus.fishingBoat.catchFishSpecies ne null ||
crackdownStatus.fishingBoat.catchCnt ne 0}">
<th:block th:if="${catchFlag}">
<div class="row border border-secondary border-top-0">
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center bg-lightB1">어획물축소기재</label>
<div class="col-sm-11">
<div class="row">
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">어종</label>
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start"
th:text="${crackdownStatus.fishingBoat.catchFishSpecies}"></label>
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">수량</label>
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
<th:block th:if="${crackdownStatus.fishingBoat.catchCnt>0}" th:text="|${crackdownStatus.fishingBoat.catchCnt}kg|"></th:block>
</label>
</div>
</div>
</div>
</th:block>
</th:block>
<th:block th:if="${!#lists.isEmpty(crackdownStatus.sailorList)}">
<div class="row py-2">
<div class="col-auto">■ 선장·선주 정보</div>
</div>
<div class="row">
<th:block th:each="sailor:${crackdownStatus.sailorList}">
<th:block th:if="${sailor.position eq 'POS001'}">
<div class="col-6" id="captainDiv">
<div class="row border border-secondary">
<label class="col-sm-2 fw-bold bg-label border-end border-secondary col-form-label col-form-label-sm py-2 border-end border-secondary text-center">선장명</label>
<div class="col-sm-8">
<div class="input-group w-auto"> <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 border-0" readonly th:value="${processInfo.handoverSeaPointLon}">
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.sailorNameCn}"> <input type="text" class="form-control form-control border-0" readonly th:value="${processInfo.handoverSeaPointLat}">
<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> </div>
<label class="col-sm-1 col-form-label col-form-label 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 border-0" readonly th:value="${processInfo.handoverBoat}">
</div> </div>
</th:block> <label class="col-sm-1 col-form-label col-form-label fw-bold bg-label py-2 border-end border-secondary text-center">중측 인수함정</label>
</div>
<div class="col-sm-2"> <div class="col-sm-2">
<th:block th:if="${#lists.isEmpty(sailor.fileList)}"> <input type="text" class="form-control form-control border-0" readonly th:value="${processInfo.middleTakeoverBoat}">
<div>사진 없음</div> </div>
</th:block> </div>
<th:block th:unless="${#lists.isEmpty(sailor.fileList)}"> <div class="row border border-secondary border-top-0">
<img id="captainPhoto" class="w-100" alt="선장 사진" th:src="|/file/fileDisplay?board=sailor&parentKey=${sailor.sailorKey}&fileSeq=1|"> <label class="col-sm-1 col-form-label col-form-label 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 border-0" readonly th:value="${processInfo.confiscationDt}">
</div>
<label class="col-sm-1 col-form-label col-form-label 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 border-0" readonly th:value="${processInfo.boatDisposalDt}">
</div>
<label class="col-sm-1 col-form-label col-form-label 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('BDT')}">
<input type="text" class="form-control form-control border-0" readonly th:if="${code.itemCd eq processInfo.boatDisposalType}" th:value="${code.itemValue}">
</th:block> </th:block>
</div> </div>
</div> </div>
<div class="row border border-secondary border-top-0"> <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> <label class="col-sm-1 col-form-label col-form-label fw-bold bg-label py-2 border-end border-secondary text-center">침몰일</label>
<div class="col-sm-4 border-end border-secondary"> <div class="col-sm-2 border-end border-secondary">
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.birthdate}"> <input type="text" class="form-control form-control border-0" readonly th:value="${processInfo.exileDt}">
</div> </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> <label class="col-sm-1 col-form-label col-form-label fw-bold bg-label py-2 border-end border-secondary text-center">환부일</label>
<div class="col-sm-4"> <div class="col-sm-2 border-end border-secondary">
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${sailor.sailorContact}"> <input type="text" class="form-control form-control border-0" readonly th:value="${processInfo.returnDt}">
</div> </div>
</div> </div>
<div class="row border border-secondary border-top-0"> <div class="row justify-content-start pt-3">
<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 class="col-auto">■ 어선정보</div>
</div> </div>
<div class="row border border-secondary"> <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> <label class="col-sm-1 col-form-label col-form-label fw-bold bg-label py-2 border-end border-secondary text-center">선명</label>
<div class="col-sm-5 border-end border-secondary"> <div class="col-sm-5 border-end border-secondary">
<div class="input-group w-auto"> <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 border-0" readonly th:value="${shipInfo.boatNameKr}">
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.fishingBoat.boatNameCn}"> <input type="text" class="form-control form-control border-0" readonly th:value="${shipInfo.boatNameCn}">
</div> </div>
</div> </div>
</div> </div>
<div class="row border border-secondary border-top-0"> <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 fw-bold bg-label py-2 border-end border-secondary text-center">허가번호</label>
<div class="col-sm-2 border-end border-secondary"> <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}"> <input type="text" class="form-control form-control border-0" readonly th:value="${shipInfo.permitNum}">
</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> <label class="col-sm-1 col-form-label col-form-label fw-bold bg-label py-2 border-end border-secondary text-center">국적</label>
<div class="col-sm-2 border-end border-secondary"> <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}"> <input type="text" class="form-control form-control border-0" readonly th:value="${shipInfo.nationality}">
</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> <label class="col-sm-1 col-form-label col-form-label 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}"> <div class="col-sm-2 border-end border-secondary" th:if="${shipInfo.sailorCnt>0}">
<input type="text" class="form-control form-control-sm border-0" readonly th:value="|${crackdownStatus.fishingBoat.sailorCnt}인|"> <input type="text" class="form-control form-control border-0" readonly th:value="|${shipInfo.sailorCnt}인|">
</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> <label class="col-sm-1 col-form-label col-form-label fw-bold bg-label py-2 border-end border-secondary text-center">톤수</label>
<div class="col-sm-2" th:if="${crackdownStatus.fishingBoat.tonCnt>0}"> <div class="col-sm-2" th:if="${shipInfo.tonCnt>0}">
<input type="text" class="form-control form-control-sm border-0" readonly th:value="|${crackdownStatus.fishingBoat.tonCnt}t|"> <input type="text" class="form-control form-control border-0" readonly th:value="|${shipInfo.tonCnt}t|">
</div> </div>
</div> </div>
<div class="row border border-secondary border-top-0"> <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 fw-bold bg-label py-2 border-end border-secondary text-center">선종</label>
<div class="col-sm-2 border-end border-secondary"> <div class="col-sm-2 border-end border-secondary">
<th:block th:each="code:${ftList}"> <th:block th:each="code:${session.commonCode.get('FT')}">
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownStatus.fishingBoat.fisheryType}" th:value="${code.itemValue}"> <input type="text" class="form-control form-control border-0" readonly th:if="${code.itemCd eq shipInfo.fisheryType}" th:value="${code.itemValue}">
</th:block> </th:block>
</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> <label class="col-sm-1 col-form-label col-form-label fw-bold bg-label py-2 border-end border-secondary text-center">선질</label>
<div class="col-sm-2 border-end border-secondary"> <div class="col-sm-2 border-end border-secondary">
<th:block th:each="code:${bmList}"> <th:block th:each="code:${session.commonCode.get('BM')}">
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownStatus.fishingBoat.boatMaterial}" th:value="${code.itemValue}"> <input type="text" class="form-control form-control border-0" readonly th:if="${code.itemCd eq shipInfo.boatMaterial}" th:value="${code.itemValue}">
</th:block> </th:block>
</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> <label class="col-sm-1 col-form-label col-form-label fw-bold bg-label py-2 border-end border-secondary text-center">선적지</label>
<div class="col-sm-2 border-end border-secondary"> <div class="col-sm-2 border-end border-secondary">
<div class="input-group w-auto"> <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 border-0" readonly th:value="${shipInfo.boatNnySung}">
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.fishingBoat.boatNnySi}"> <input type="text" class="form-control form-control border-0" readonly th:value="${shipInfo.boatNnySi}">
</div> </div>
</div> </div>
</div> </div>
<div class="row border border-secondary border-top-0"> <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 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"> <label class="col-sm-2 col-form-label col-form-label 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="${shipInfo.offenseType ne null}" th:text="${shipInfo.offenseType}"></th:block>
<th:block th:if="${crackdownStatus.fishingBoat.offenseWeight>0}" th:text="|${crackdownStatus.fishingBoat.offenseWeight}kg|"></th:block> <th:block th:if="${shipInfo.offenseWeight>0}" th:text="|${shipInfo.offenseWeight}kg|"></th:block>
</label> </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-1 col-form-label col-form-label 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"> <label class="col-sm-2 col-form-label col-form-label py-2 border-end border-secondary text-start">
<th:block th:if="${crackdownStatus.fishingBoat.offenseIllegalWasteQuantity>0}" th:text="|${crackdownStatus.fishingBoat.offenseIllegalWasteQuantity}kg|"></th:block> <th:block th:if="${shipInfo.offenseIllegalWasteQuantity>0}" th:text="|${shipInfo.offenseIllegalWasteQuantity}kg|"></th:block>
</label> </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-1 col-form-label col-form-label 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"> <label class="col-sm-2 col-form-label col-form-label py-2 border-end border-secondary text-start">
<th:block th:if="${crackdownStatus.fishingBoat.offenseQuantity>0}" th:text="|${crackdownStatus.fishingBoat.offenseQuantity}kg|"></th:block> <th:block th:if="${shipInfo.offenseQuantity>0}" th:text="|${shipInfo.offenseQuantity}kg|"></th:block>
</label> </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-1 col-form-label col-form-label fw-bold bg-label py-2 border-secondary border-end 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"> <label class="col-sm-2 col-form-label col-form-label py-2 border-secondary text-start">
<th:block th:if="${crackdownStatus.fishingBoat.offenseAmount>0}" th:text="|${crackdownStatus.fishingBoat.offenseAmount}만원|"></th:block> <th:block th:if="${shipInfo.offenseAmount>0}" th:text="|${shipInfo.offenseAmount}만원|"></th:block>
</label> </label>
</div> </div>
<div class="row border border-secondary border-top-0"> <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 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"> <label class="col-sm-2 col-form-label col-form-label py-2 border-end border-secondary text-start">
<th:block th:if="${crackdownStatus.fishingBoat.damboUnpaidAmount>0}" th:text="|${crackdownStatus.fishingBoat.damboUnpaidAmount}만원|"></th:block> <th:block th:if="${shipInfo.damboUnpaidAmount>0}" th:text="|${shipInfo.damboUnpaidAmount}만원|"></th:block>
</label> </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-1 col-form-label col-form-label 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"> <label class="col-sm-2 col-form-label col-form-label py-2 border-end border-secondary text-start">
<th:block th:if="${crackdownStatus.fishingBoat.damboPayment>0}" th:text="|${crackdownStatus.fishingBoat.damboPayment}만원|"></th:block> <th:block th:if="${shipInfo.damboPayment>0}" th:text="|${shipInfo.damboPayment}만원|"></th:block>
</label> </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-1 col-form-label col-form-label fw-bold bg-label py-2 border-end border-secondary text-center fs-11">담보금 납부일시</label>
<div class="col-sm-2"> <div class="col-sm-2">
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.fishingBoat.paymentPaymentDt}"> <input type="text" class="form-control form-control border-0" readonly th:value="${#temporals.format(shipInfo.paymentPaymentDt, 'yyyy-MM-dd HH:mm')}">
</div> </div>
</div> </div>
<div class="row border border-secondary border-top-0"> <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 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"> <label class="col-sm-11 col-form-label col-form-label 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(shipInfo.confiscationFrame)}" th:text="|틀: ${shipInfo.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(shipInfo.confiscationWidth)}" th:text="|폭: ${shipInfo.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(shipInfo.confiscationJo)}" th:text="|조: ${shipInfo.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(shipInfo.confiscationGae)}" th:text="|개: ${shipInfo.confiscationGae}|"></th:block>
<th:block th:if="${!#strings.isEmpty(crackdownStatus.fishingBoat.confiscationEtc)}" th:text="|기타: ${crackdownStatus.fishingBoat.confiscationEtc}|"></th:block> <th:block th:if="${!#strings.isEmpty(shipInfo.confiscationEtc)}" th:text="|기타: ${shipInfo.confiscationEtc}|"></th:block>
</label> </label>
</div> </div>
<div class="row py-2"> <div class="row justify-content-between pt-3">
<div class="col-auto">처리 결과</div> <div class="col-auto">단속정보</div>
</div> </div>
<div class="row border border-secondary"> <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> <label class="col-sm-1 col-form-label col-form-label fw-bold bg-label py-2 border-end border-secondary text-center">사건번호</label>
<div class="col-sm-2 border-end border-secondary"> <div class="col-sm-2 border-end border-secondary">
<th:block th:each="code:${prList}"> <input type="text" class="form-control form-control border-0" readonly th:value="${crackdownInfo.caseNum}">
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownStatus.processResult.processStatus}" th:value="${code.itemValue}"> </div>
<label class="col-sm-1 col-form-label col-form-label fw-bold bg-label py-2 border-end border-secondary text-center">위반사항</label>
<div class="col-sm-8">
<div class="row">
<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 border-0" readonly th:value="${code.itemValue}"/>
</div>
</th:block>
</th:block> </th:block>
</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.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> </div>
<div class="row border border-secondary border-top-0"> <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 fw-bold bg-label py-2 border-end border-secondary text-center fs-11">사건담당경찰서</label>
<div class="col-sm-2 border-end border-secondary"> <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')}"> <th:block th:each="code:${session.commonCode.get('OG')}">
<input type="text" class="form-control form-control border-0" readonly th:if="${code.itemCd eq crackdownInfo.caseAgency}" th:value="${code.itemValue}">
</th:block>
</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> <label class="col-sm-1 col-form-label col-form-label fw-bold bg-label py-2 border-end border-secondary text-center fs-11">사건담당경찰관</label>
<div class="col-sm-2 border-end border-secondary"> <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')}"> <input type="text" class="form-control form-control border-0" readonly th:value="${crackdownInfo.casePoliceOfficer}">
</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> <label class="col-sm-1 col-form-label col-form-label fw-bold bg-label py-2 border-end border-secondary text-center">단속경찰서</label>
<div class="col-sm-2 border-end border-secondary"> <div class="col-sm-2 border-end border-secondary">
<input type="text" class="form-control form-control-sm border-0" id="releaseToNapo" readonly> <th:block th:each="code:${session.commonCode.get('CPO')}">
<input type="text" class="form-control form-control border-0" readonly th:if="${code.itemCd eq crackdownInfo.crackdownPolice}" th:value="${code.itemValue}">
</th:block>
</div> </div>
</div> <label class="col-sm-1 col-form-label col-form-label fw-bold bg-label py-2 border-end border-secondary text-center">단속함정</label>
<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"> <div class="col-sm-2">
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.middleTakeoverBoat}"> <th:block th:each="code:${session.commonCode.get(crackdownInfo.crackdownPolice)}">
</div> <input type="text" class="form-control form-control border-0" readonly th:if="${code.itemCd eq crackdownInfo.crackdownBoat}" th:value="${code.itemValue}">
</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> </th:block>
</div> </div>
</div> </div>
<div class="row border border-secondary border-top-0"> <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 fw-bold bg-label py-2 border-end border-secondary text-center">MMSI.NO</label>
<div class="col-sm-2 border-end border-secondary"> <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}"> <input type="text" class="form-control form-control border-0" readonly th:value="${crackdownInfo.mmsi}">
</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> <label class="col-sm-1 col-form-label col-form-label fw-bold bg-label py-2 border-end border-secondary text-center">침범유형</label>
<div class="col-sm-2 border-end border-secondary"> <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}"> <th:block th:each="code:${session.commonCode.get('IST')}">
<input type="text" class="form-control form-control 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 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 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 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 border-0" readonly th:value="${crackdownInfo.fieldIvsgt eq 'C'?'압송':(crackdownInfo.fieldIvsgt eq 'F'?'현장조사':crackdownInfo.fieldIvsgt)}">
</div> </div>
</div> </div>
<div class="row border border-secondary border-top-0"> <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 fw-bold bg-label py-2 border-end border-secondary text-center">나포일시</label>
<div class="col-sm-2 border-end border-secondary"> <div class="col-sm-2 border-end border-secondary">
<th:block th:each="sailor:${crackdownStatus.sailorList}"> <input type="text" class="form-control form-control border-0" readonly th:value="${#temporals.format(crackdownInfo.napoDt, 'yyyy-MM-dd HH:mm')}">
<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> </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 fw-bold bg-label py-2 border-end border-secondary text-center">나포장소</label>
<div class="col-sm-2 border-end border-secondary"> <div class="col-sm-8">
<th:block th:each="sailor:${crackdownStatus.sailorList}"> <input type="text" class="form-control form-control border-0" readonly th:value="|${crackdownInfo.napoSeaPointLon} ${crackdownInfo.napoSeaPointLat} ${crackdownInfo.napoSeaPointDetail}|">
<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> </div>
<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"> <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 fw-bold bg-label py-2 border-end border-secondary text-center bg-lightB2">특수공무집행방해</label>
<div class="col-sm-11">
<div class="row border-bottom border-secondary">
<label class="col-sm-1 col-form-label col-form-label fw-bold bg-label py-2 border-end border-secondary text-center bg-lightB1">인적피해</label>
<div class="col-sm-11">
<div class="row border-bottom border-secondary">
<label class="col-sm-1 col-form-label col-form-label fw-bold bg-label py-2 border-end border-secondary text-center">발생건수</label>
<label class="col-sm-2 col-form-label col-form-label py-2 border-end border-secondary text-start">
<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 fw-bold bg-label py-2 border-end border-secondary text-center">피해인원</label>
<label class="col-sm-2 col-form-label col-form-label py-2 border-end border-secondary text-start">
<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 fw-bold bg-label py-2 border-end border-secondary text-center">피해액</label>
<label class="col-sm-2 col-form-label col-form-label py-2 border-end border-secondary text-start">
<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 fw-bold bg-label py-2 border-end border-secondary text-center">상세내용</label>
<div class="col-sm-11" th:utext="${crackdownInfo.personDamageDetail}">
</div>
</div>
</div>
</div>
<div class="row">
<label class="col-sm-1 col-form-label col-form-label fw-bold bg-label py-2 border-end border-secondary text-center bg-lightB1">물적피해</label>
<div class="col-sm-11">
<div class="row border-bottom border-secondary">
<label class="col-sm-1 col-form-label col-form-label fw-bold bg-label py-2 border-end border-secondary text-center">발생건수</label>
<label class="col-sm-2 col-form-label col-form-label py-2 border-end border-secondary text-start">
<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 fw-bold bg-label py-2 border-end border-secondary text-center">피해액</label>
<label class="col-sm-2 col-form-label col-form-label py-2 border-end border-secondary text-start">
<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 fw-bold bg-label py-2 border-end border-secondary text-center">상세내용</label>
<div class="col-sm-11" th:utext="${crackdownInfo.materialDamageDetail}">
</div>
</div>
</div>
</div>
</div>
</div>
</th:block>
</th:block>
<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 fw-bold bg-label py-2 border-end border-secondary text-center bg-lightB1">어획물축소기재</label>
<div class="col-sm-11"> <div class="col-sm-11">
<div class="row"> <div class="row">
<th:block th:each="sailor:${crackdownStatus.sailorList}"> <label class="col-sm-1 col-form-label col-form-label fw-bold bg-label py-2 border-end border-secondary text-center">어종</label>
<th:block th:if="${sailor.position eq 'POS005' or sailor.position eq 'POS006'}"> <label class="col-sm-2 col-form-label col-form-label py-2 border-end border-secondary text-start"
<div class="col-4"> th:text="${crackdownInfo.catchFishSpecies}"></label>
<div class="row mt-2"> <label class="col-sm-1 col-form-label col-form-label fw-bold bg-label py-2 border-end border-secondary text-center">수량</label>
<label class="col-sm-auto col-form-label col-form-label-sm fw-bold text-end">직책: </label> <label class="col-sm-2 col-form-label col-form-label py-2 border-end border-secondary text-start">
<label class="col-sm-auto col-form-label col-form-label-sm text-start" th:text="${sailor.position eq 'POS005'?'기타 간부선원':'일반선원 또는 확인불가'}"></label> <th:block th:if="${crackdownInfo.catchCnt>0}" th:text="|${crackdownInfo.catchCnt}kg|"></th:block>
<label class="col-sm-auto col-form-label col-form-label-sm fw-bold text-end">구속여부: </label> </label>
<label class="col-sm-auto col-form-label col-form-label-sm text-start" th:text="${sailor.isRestriction eq 'Y'?'구속':'불구속'}"></label> </div>
<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>
</div> </div>
</th:block> </th:block>
</th:block> </th:block>
</div> </div>
</div> <div class="tab-pane fade p-2 mx-2" id="processInfoVersionTabPanel" role="tabpanel" aria-labelledby="processInfoVersionTab" tabindex="0">
</div>
</div>
<div class="tab-pane fade p-2 mx-2" id="fishingBoatVersionTabPanel" role="tabpanel" aria-labelledby="fishingBoatVersionTab" tabindex="0">
<div class="row"> <div class="row">
<div class="col-4"> <div class="col-4">
<table class="table table-hover"> <table class="table table-hover">
@ -564,8 +390,8 @@
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<tr class="versionInfoTr" th:each="versionInfo:${crackdownStatus.crackdownStatusVersionList}"> <tr class="versionInfoTr" th:each="versionInfo:${processInfo.historyList}">
<input type="hidden" class="cdsKey" th:value="${versionInfo.cdsKey}"> <input type="hidden" class="prKey" th:value="${versionInfo.prKey}">
<input type="hidden" class="versionNo" th:value="${versionInfo.versionNo}"> <input type="hidden" class="versionNo" th:value="${versionInfo.versionNo}">
<td><input type="checkbox" class="versionInfoChkbox"></td> <td><input type="checkbox" class="versionInfoChkbox"></td>
<td> <td>
@ -590,17 +416,14 @@
</div> </div>
</div> </div>
</div> </div>
<th:block th:if="${modalType ne 'viewOnly'}"> <th:block th:if="${userSeq eq processInfo.wrtUserSeq or (accessAuth eq 'ACC003' and #lists.contains(mgtOrganList, processInfo.wrtOrgan))}">
<th:block th:if="${userSeq eq crackdownStatus.fishingBoat.wrtUserSeq
or (accessAuth eq 'ACC003' and #lists.contains(mgtOrganList, crackdownStatus.fishingBoat.wrtOrgan))}">
<!--작성자, 관리자일 경우 수정, 삭제 허용--> <!--작성자, 관리자일 경우 수정, 삭제 허용-->
<div class="modal-footer justify-content-between bg-light"> <div class="modal-footer justify-content-between bg-light">
<div class="col-auto"> <div class="col-auto">
<button type="button" class="btn btn-danger" id="deleteFishingBoatBtn">삭제</button> <button type="button" class="btn btn-danger" id="deleteProcessInfoBtn">삭제</button>
</div> </div>
<div class="col-auto"> <div class="col-auto">
<button type="button" class="btn btn-warning" id="editFishingBoatBtn">수정</button> <button type="button" class="btn btn-warning" id="editProcessInfoBtn">수정</button>
</div> </div>
</div> </div>
</th:block> </th:block>
</th:block>