불법조업 외국어선 요청사항 작업중.

master
강석 최 2023-01-16 18:33:23 +09:00
parent 068774c5ea
commit 13696ece48
10 changed files with 237 additions and 199 deletions

View File

@ -43,6 +43,7 @@ public class FileController extends BaseService{
private final ResultService resultService;
private final BoardInvestigationService boardInvestigationService;
private final FishingBoatService fishingBoatService;
private final SailorService sailorService;
private final SriService sriService;
private final CounterIntelligenceService ciService;
private final MajorStatusService majorStatusService;
@ -75,7 +76,7 @@ public class FileController extends BaseService{
Integer parentKey,
Integer fileSeq) {
FileInfo fileInfo = getFileInfo(board, parentKey, fileSeq);
String pathStr = fileInfo.getSavePath()+fileInfo.getConvNm();
String pathStr = fileInfo.getSavePath()+File.separator+fileInfo.getConvNm();
Resource resource = new FileSystemResource(pathStr);
if(!resource.exists()){
return new ResponseEntity<>(HttpStatus.NOT_FOUND);
@ -137,7 +138,7 @@ public class FileController extends BaseService{
downloadFile = boardInvestigationService.selectIvsgtFile(parentKey, fileSeq);
break;
case "sailor":
downloadFile = fishingBoatService.selectSailorFile(parentKey, fileSeq);
downloadFile = sailorService.selectSailorFile(parentKey, fileSeq);
break;
case "sri":
downloadFile = sriService.selectFaSriFile(parentKey, fileSeq);

View File

@ -13,6 +13,7 @@ import java.util.Optional;
public interface ViolationRepository extends JpaRepository<Violation, Violation.ViolationId> {
List<Violation> findByFbKey(Integer fbKey);
Optional<Violation> findTopByFbKeyOrderByViolationKeyDesc(int fbKey);
void deleteByFbKey(Integer fbKey);
@Transactional
@Modifying

View File

@ -36,17 +36,13 @@ public class FishingBoatService extends BaseService {
private final CrackdownStatusMapper crackdownStatusMapper;
private final CrackdownStatusRepository crackdownStatusRepository;
private final CrackdownStatusVersionRepository crackdownStatusVersionRepository;
private final FishingBoatRepository fishingBoatRepository;
private final FishingBoatVersionRepository fishingBoatVersionRepository;
private final ViolationRepository violationRepository;
private final ViolationVersionRepository violationVersionRepository;
private final ProcessResultRepository processResultRepository;
private final ProcessResultVersionRepository processResultVersionRepository;
private final SailorRepository sailorRepository;
private final SailorVersionRepository sailorVersionRepository;
private final SailorFileRepository sailorFileRepository;
private final SailorFileVersionRepository sailorFileVersionRepository;
public List<CrackdownStatus> selectFishingBoatList(CrackdownStatus crackdownStatus){
return crackdownStatusMapper.selectFishingBoatList(crackdownStatus);
@ -71,6 +67,7 @@ public class FishingBoatService extends BaseService {
}
return crackdownStatus;
}
/*
@Transactional
public Integer saveCrackdownStatus(CrackdownStatus crackdownStatus, List<MultipartFile> sailorFiles) {
@ -191,6 +188,7 @@ public class FishingBoatService extends BaseService {
}
return cdsKey;
}
*/
public Integer checkCaseNum(String caseNum) {
return crackdownStatusRepository.findTop1ByCaseNum(caseNum).orElse(null)==null?0:1;
@ -202,44 +200,31 @@ public class FishingBoatService extends BaseService {
return fishingBoat;
}
public FileInfo selectSailorFile(Integer sailorKey, Integer fileSeq) {
return sailorFileRepository.findById(new SailorFile.SailorFileId(sailorKey, fileSeq)).orElse(null);
}
private void saveCaptainPhoto(Integer sailorKey, Integer versionNo, List<MultipartFile> fileList){
int fileSeq = 1;
for(MultipartFile file : fileList){
String saveName = UUID.randomUUID().toString();
String path = locationPath+ File.separator+sailorPath;
saveFile(file, new File(path+File.separator+saveName));
String originalFilename = file.getOriginalFilename();
int extnIdx = originalFilename.lastIndexOf(".");
SailorFile fileInfo = new SailorFile();
fileInfo.setSailorKey(sailorKey);
fileInfo.setFileSeq(fileSeq++);
fileInfo.setOrigNm(originalFilename.substring(0, extnIdx));
fileInfo.setFileExtn(originalFilename.substring(extnIdx+1));
fileInfo.setConvNm(saveName);
fileInfo.setFileSize(calculationSize(file.getSize()));
fileInfo.setSavePath(path);
SailorFileVersion versionInfo = new SailorFileVersion();
BeanUtils.copyProperties(fileInfo, versionInfo);
versionInfo.setVersionNo(versionNo);
sailorFileRepository.save(fileInfo);
sailorFileVersionRepository.save(versionInfo);
}
}
public int saveFishingBoatOnly(int cdsKey, FishingBoat fishingBoat) {
public int saveFishingBoatOnly(int cdsKey, FishingBoat fishingBoat, List<Violation> violationList) {
fishingBoat.setCdsKey(cdsKey);
int fbKey = fishingBoatRepository.save(fishingBoat).getFbKey();
violationRepository.deleteByFbKey(fbKey);
int i=1;
for(Violation violation: violationList){
violation.setFbKey(fbKey);
violation.setViolationKey(i++);
}
violationRepository.saveAll(violationList);
if(!fishingBoat.getStatus().equals("DST001")){
FishingBoatVersion lastVersion = fishingBoatVersionRepository.findTop1ByFbKeyOrderByVersionNoDesc(fbKey).orElse(null);
FishingBoatVersion fishingBoatVersion = new FishingBoatVersion();
BeanUtils.copyProperties(fishingBoat, fishingBoatVersion);
fishingBoatVersion.setVersionNo(lastVersion==null?1:(lastVersion.getVersionNo()+1));
int versionNo = lastVersion==null?1:(lastVersion.getVersionNo()+1);
fishingBoatVersion.setVersionNo(versionNo);
fishingBoatVersionRepository.save(fishingBoatVersion);
List<ViolationVersion> violationVersionList = new ArrayList<>();
for(Violation violation: violationList){
ViolationVersion violationVersion = new ViolationVersion();
BeanUtils.copyProperties(violation, violationVersion);
violationVersion.setVersionNo(versionNo);
violationVersionList.add(violationVersion);
}
violationVersionRepository.saveAll(violationVersionList);
}
return fbKey;
}

View File

@ -2,6 +2,7 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus.service;
import com.dbnt.faisp.config.BaseService;
import com.dbnt.faisp.config.FileInfo;
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.mapper.SailorMapper;
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.SailorFile;
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.SailorFileVersion;
@ -157,4 +158,8 @@ public class SailorService extends BaseService {
}
}
}
public FileInfo selectSailorFile(Integer sailorKey, Integer fileSeq) {
return sailorFileRepository.findById(new SailorFile.SailorFileId(sailorKey, fileSeq)).orElse(null);
}
}

View File

@ -21,7 +21,7 @@ public class UnlawfulFishingService {
public Integer saveUnlawfulFishing(CrackdownStatus crackdownStatus){
crackdownStatus = setWriteInfo(crackdownStatus);
int cdsKey = crackdownStatusService.saveCrackdownStatusOnly(crackdownStatus);
int fbKey = fishingBoatService.saveFishingBoatOnly(cdsKey, crackdownStatus.getFishingBoat());
int fbKey = fishingBoatService.saveFishingBoatOnly(cdsKey, crackdownStatus.getFishingBoat(), crackdownStatus.getViolationList());
processResultService.saveProcessResultOnly(cdsKey, crackdownStatus.getProcessResult());
for(Sailor sailor: crackdownStatus.getSailorList()){
if(sailor.getPosition().equals("POS001")){

View File

@ -207,9 +207,32 @@ function getFishingBoatEditModal(cdsKey){
getCrackdownBoatOption(crackdownPolice)
}
if(cdsKey !== null){
if($("#crackdownStatus").val()!=="DST001"){
$(".crackdownStatusInfo").attr("disabled", "disabled")
$(".sailorInfo").attr("disabled", "disabled")
}
if($("#processResultStatus").val()!=="DST001"){
$(".processResultInfo").attr("disabled", "disabled")
}
$(".sailorInfo").attr("disabled", "disabled")
if($("#captainStatus").val()==="DST001"){
$("#captainDiv").find("input").removeAttr("disabled")
$("#captainRestriction").removeAttr("disabled")
}
if($("#shipOwnerStatus").val()==="DST001"){
$("#shipOwnerDiv").find("input").removeAttr("disabled")
}
if($("#navigatingOfficerStatus").val()==="DST001"){
$("#navigatingOfficerRestriction").removeAttr("disabled")
}
if($("#chiefEngineerStatus").val()==="DST001"){
$("#chiefEngineerRestriction").removeAttr("disabled")
}
$.each($(".sailorRestriction"), function (idx, div){
if($(div).find(".sailorStatus").val()==="DST001"){
$(div).find("input,select").removeAttr("disabled");
}
})
}else{
setUploadDiv();
}
@ -270,7 +293,7 @@ function childInputStateChange(selectorValue, inputs){
}
function saveFishingBoatInfo(status){
if(confirm("저장하시겠습니까?")){
$("#status").val(status)
$(".status").val(status)
contentFade("in");
const formData = new FormData($("#fishingBoatEditForm")[0]);
for(const file of files) {
@ -284,6 +307,7 @@ function saveFishingBoatInfo(status){
// 선장 정보 입력
const sailorNameKr = $("#sailorNameKr").val();
if(sailorNameKr){
formData.append('sailorList['+sailorCnt+'].sailorKey', $("#captainSailorKey").val());
formData.append('sailorList['+sailorCnt+'].sailorNameKr', sailorNameKr);
formData.append('sailorList['+sailorCnt+'].sailorNameCn', $("#sailorNameCn").val());
formData.append('sailorList['+sailorCnt+'].sailorNamePinyin', $("#sailorNamePinyin").val());
@ -300,6 +324,7 @@ function saveFishingBoatInfo(status){
// 선주 정보 입력
const sailorNameKr2 = $("#sailorNameKr2").val();
if(sailorNameKr) {
formData.append('sailorList['+sailorCnt+'].sailorKey', $("#ownerSailorKey").val());
formData.append('sailorList[' + sailorCnt + '].sailorNameKr', sailorNameKr2);
formData.append('sailorList[' + sailorCnt + '].sailorNameCn', $("#sailorNameCn2").val());
formData.append('sailorList[' + sailorCnt + '].sailorNamePinyin', $("#sailorNamePinyin2").val());
@ -312,12 +337,14 @@ function saveFishingBoatInfo(status){
}
const navigatingOfficerRestriction = $("#navigatingOfficerRestriction").val()
if(navigatingOfficerRestriction){
formData.append('sailorList['+sailorCnt+'].sailorKey', $("#navigatingOfficerKey").val());
formData.append('sailorList['+sailorCnt+'].isRestriction', navigatingOfficerRestriction);
formData.append('sailorList['+sailorCnt+'].position', "POS002");
sailorCnt++;
}
const chiefEngineerRestriction = $("#chiefEngineerRestriction").val();
if(chiefEngineerRestriction){
formData.append('sailorList['+sailorCnt+'].sailorKey', $("#chiefEngineerKey").val());
formData.append('sailorList['+sailorCnt+'].isRestriction', chiefEngineerRestriction);
formData.append('sailorList['+sailorCnt+'].position', "POS003");
sailorCnt++;
@ -328,6 +355,7 @@ function saveFishingBoatInfo(status){
alert("선원의 직책이 선택되지 않았습니다.")
return false
}
formData.append('sailorList['+(idx+sailorCnt)+'].sailorKey', $(div).find(".sailorKey").val());
formData.append('sailorList['+(idx+sailorCnt)+'].isRestriction', $(div).find(".normalSailorRestriction").val());
formData.append('sailorList['+(idx+sailorCnt)+'].sailorNameKr', $(div).find(".normalSailorNm").val());
formData.append('sailorList['+(idx+sailorCnt)+'].position', position);

View File

@ -434,7 +434,7 @@
<th>단순폐선</th>
<th>폐선조건부공매</th>
</tr>
<tr class="table-secondary">
<!--<tr class="table-secondary">
<th th:text="${#aggregates.sum(crackdownStatusList.?[invasionType == 'IST001'].![1]) ne null ? #aggregates.sum(crackdownStatusList.?[invasionType == 'IST001'].![1]) : 0}"></th>
<th th:text="${#aggregates.sum(crackdownStatusList.?[invasionType == 'IST002'].![1]) ne null ? #aggregates.sum(crackdownStatusList.?[invasionType == 'IST002'].![1]) : 0}"></th>
<th th:text="${#aggregates.sum(crackdownStatusList.?[invasionType == 'IST003'].![1]) ne null ? #aggregates.sum(crackdownStatusList.?[invasionType == 'IST003'].![1]) : 0}"></th>
@ -494,6 +494,67 @@
<th th:text="${#aggregates.sum(crackdownStatusList.?[fishingBoat.confiscationFrame != null && fishingBoat.confiscationJo != ''].![1]) ne null ? #aggregates.sum(crackdownStatusList.?[fishingBoat.confiscationJo != null && fishingBoat.confiscationJo != ''].![1]) : 0}"></th>
<th th:text="${#aggregates.sum(crackdownStatusList.?[fishingBoat.confiscationFrame != null && fishingBoat.confiscationGae != ''].![1]) ne null ? #aggregates.sum(crackdownStatusList.?[fishingBoat.confiscationGae != null && fishingBoat.confiscationGae != ''].![1]) : 0}"></th>
<th th:text="${#aggregates.sum(crackdownStatusList.?[fishingBoat.confiscationFrame != null && fishingBoat.confiscationEtc != ''].![1]) ne null ? #aggregates.sum(crackdownStatusList.?[fishingBoat.confiscationEtc != null && fishingBoat.confiscationEtc != ''].![1]) : 0}"></th>
</tr>-->
<tr class="table-secondary">
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th>단속경찰서</th>
<th>단속함정</th>
<th></th>
<th></th>
<th>이름</th>
<th>출생년도</th>
<th>어종</th>
<th>수량</th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th>나포일시</th>
<th>석방일시</th>
<th>소요시간</th>
<th>소요시간</th>
<th>거리(해리)</th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody class="table-group-divider align-middle">

View File

@ -9,8 +9,11 @@
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
<input type="hidden" name="cdsKey" id="cdsKey" th:value="${crackdownStatus.cdsKey}">
<input type="hidden" class="status" name="status" id="crackdownStatus" th:value="${crackdownStatus.status}">
<input type="hidden" name="processResult.prKey" th:value="${crackdownStatus.processResult.prKey}">
<input type="hidden" class="status" name="processResult.status" id="processResultStatus" th:value="${crackdownStatus.processResult.status}">
<input type="hidden" name="fishingBoat.fbKey" th:value="${crackdownStatus.fishingBoat.fbKey}">
<input type="hidden" name="fishingBoat.status" id="status" th:value="${crackdownStatus.fishingBoat.status}">
<input type="hidden" class="status" name="fishingBoat.status" id="fishingBoatStatus" th:value="${crackdownStatus.fishingBoat.status}">
<input type="hidden" name="fishingBoat.wrtOrgan" th:value="${crackdownStatus.fishingBoat.wrtOrgan}">
<input type="hidden" name="fishingBoat.wrtPart" th:value="${crackdownStatus.fishingBoat.wrtPart}">
<input type="hidden" name="fishingBoat.wrtUserSeq" th:value="${crackdownStatus.fishingBoat.wrtUserSeq}">
@ -70,8 +73,13 @@
</div>
<label for="crackdownBoat" class="col-sm-1 col-form-label col-form-label-sm text-center">단속함정</label>
<div class="col-sm-2">
<select class="form-select form-select-sm crackdownStatusInfo crackdownBoat" name="crackdownBoat" id="crackdownBoat" th:data-boatcode="${crackdownStatus.crackdownBoat}" disabled>
<select class="form-select form-select-sm crackdownStatusInfo crackdownBoat" name="crackdownBoat" id="crackdownBoat" th:data-boatcode="${crackdownStatus.crackdownBoat}">
<option value="">단속경찰서를 선택해주세요.</option>
<th:block th:each="code:${session.commonCode.get(crackdownStatus.crackdownPolice)}">
<th:block th:if="${code.useChk eq 'T'}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq crackdownStatus.crackdownBoat}"></option>
</th:block>
</th:block>
</select>
</div>
</div>
@ -174,7 +182,7 @@
</div>
</div>
<div class="row mb-1">
<label for="sailorNameKr2" class="col-sm-2 col-form-label col-form-label-sm text-center"></label>
<label for="sailorNameKr2" class="col-sm-2 col-form-label col-form-label-sm text-center"></label>
<div class="col-sm-10">
<div class="input-group w-auto">
<input type="text" class="form-control form-control-sm sailorInfo" id="sailorNameKr2" placeholder="한글">
@ -211,6 +219,8 @@
<th:block th:each="sailor:${crackdownStatus.sailorList}">
<th:block th:if="${sailor.position eq 'POS001'}">
<div class="col-6" id="captainDiv">
<input type="hidden" id="captainSailorKey" th:value="${sailor.sailorKey}">
<input type="hidden" class="status" name="status" id="captainStatus" th:value="${sailor.status}">
<div class="row mb-1">
<label for="captainDiv" class="col-sm-2 col-form-label col-form-label-sm text-center">&nbsp;</label>
</div>
@ -250,7 +260,6 @@
<input type="text" class="form-control form-control-sm sailorInfo" id="note" th:value="${sailor.note}">
</div>
</div>
<th:block th:if="${crackdownStatus.cdsKey eq null}">
<div class="row mb-3">
<label for="fileInputer" class="col-sm-2 col-form-label col-form-label-sm text-center">사진</label>
<div class="col-sm-10" style="min-height: 70px;">
@ -268,11 +277,12 @@
</div>
<input type="file" class="d-none sailorInfo" id="fileInputer" multiple>
</div>
</th:block>
</div>
</th:block>
<th:block th:if="${sailor.position eq 'POS004'}">
<div class="col-6 border-start" id="shipOwnerDiv">
<input type="hidden" id="ownerSailorKey" th:value="${sailor.sailorKey}">
<input type="hidden" class="status" name="status" id="shipOwnerStatus" th:value="${sailor.status}">
<div class="row mb-1">
<div class="col-sm-4 ms-3 input-group w-auto">
<input type="checkbox" class="sailorInfo" id="equalCaptain">
@ -280,7 +290,7 @@
</div>
</div>
<div class="row mb-1">
<label for="sailorNameKr2" class="col-sm-2 col-form-label col-form-label-sm text-center"></label>
<label for="sailorNameKr2" class="col-sm-2 col-form-label col-form-label-sm text-center"></label>
<div class="col-sm-10">
<div class="input-group w-auto">
<input type="text" class="form-control form-control-sm sailorInfo" id="sailorNameKr2" placeholder="한글" th:value="${sailor.sailorNameKr}">
@ -547,53 +557,6 @@
</div>
</th:block>
<hr>
<!--<div class="row mb-1">
<label for="materialDamageDiv" class="col-sm-1 col-form-label col-form-label-sm text-center">물적피해</label>
<div class="col-sm-10 border p-2" id="materialDamageDiv">
<div class="row mb-1">
<label for="materialDamageCnt" class="col-sm-1 col-form-label col-form-label-sm text-center">발생건수</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" id="materialDamageCnt" name="materialDamageCnt" placeholder="0건">
</div>
<label for="materialDamageAmount" class="col-sm-1 col-form-label col-form-label-sm text-center">피해액</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" id="materialDamageAmount" name="materialDamageAmount" placeholder="0원">
</div>
</div>
<div class="row">
<label for="materialDamageDetail" class="col-sm-1 col-form-label col-form-label-sm text-center">상세내용</label>
<div class="col-sm-11">
<input type="text" class="form-control form-control-sm" id="materialDamageDetail" name="materialDamageDetail">
</div>
</div>
</div>
</div>
<div class="row mb-1">
<label for="personDamage" class="col-sm-1 col-form-label col-form-label-sm text-center">인적피해</label>
<div class="col-sm-10 border p-2" id="personDamage">
<div class="row mb-1">
<label for="obstrExspdCnt" class="col-sm-1 col-form-label col-form-label-sm text-center">발생건수</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" id="obstrExspdCnt" name="obstrExspdCnt" placeholder="0건">
</div>
<label for="personDamageCnt" class="col-sm-1 col-form-label col-form-label-sm text-center">피해인원</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" id="personDamageCnt" name="personDamageCnt" placeholder="0인">
</div>
<label for="personDamageAmount" class="col-sm-1 col-form-label col-form-label-sm text-center">피해액</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" id="personDamageAmount" name="personDamageAmount" placeholder="0원">
</div>
</div>
<div class="row">
<label for="personDamageDetail" class="col-sm-1 col-form-label col-form-label-sm text-center">상세내용</label>
<div class="col-sm-11">
<input type="text" class="form-control form-control-sm" id="personDamageDetail" name="personDamageDetail">
</div>
</div>
</div>
</div>
<hr>-->
<div class="row mb-1">
<label for="consignmentStartDt" class="col-sm-1 col-form-label col-form-label-sm text-center">위탁시작일</label>
<div class="col-sm-2">
@ -686,6 +649,8 @@
<div class="col-sm-2">
<th:block th:each="sailor:${crackdownStatus.sailorList}">
<th:block th:if="${sailor.position eq 'POS002'}">
<input type="hidden" id="navigatingOfficerKey" th:value="${sailor.sailorKey}">
<input type="hidden" id="navigatingOfficerStatus" th:value="${sailor.status}">
<select class="form-select form-select-sm sailorInfo" id="navigatingOfficerRestriction">
<option value="Y" th:selected="${sailor.isRestriction eq 'Y'}">O</option>
<option value="N" th:selected="${sailor.isRestriction eq 'N'}">X</option>
@ -697,6 +662,8 @@
<div class="col-sm-2">
<th:block th:each="sailor:${crackdownStatus.sailorList}">
<th:block th:if="${sailor.position eq 'POS003'}">
<input type="hidden" id="chiefEngineerKey" th:value="${sailor.sailorKey}">
<input type="hidden" id="chiefEngineerStatus" th:value="${sailor.status}">
<select class="form-select form-select-sm sailorInfo" id="chiefEngineerRestriction">
<option value="Y" th:selected="${sailor.isRestriction eq 'Y'}">O</option>
<option value="N" th:selected="${sailor.isRestriction eq 'N'}">X</option>
@ -717,6 +684,8 @@
<th:block th:each="sailor:${crackdownStatus.sailorList}">
<th:block th:if="${sailor.position eq 'POS005' or sailor.position eq 'POS006'}">
<div class="col-4 sailorRestriction">
<input type="hidden" class="sailorKey" th:value="${sailor.sailorKey}">
<input type="hidden" class="sailorStatus" th:value="${sailor.status}">
<div class="input-group">
<select class="form-select form-select-sm sailorInfo isRestriction normalSailorPosition" style="width: 75px">
<option value="">직책</option>

View File

@ -189,59 +189,41 @@
<br>
<th:block th:text="${crackdownStatus.napoSeaPointLat}"></th:block>
</td>
<th:block th:if="${#strings.isEmpty(crackdownStatus.caseAgency)}">
<td></td>
<td>
<th:block th:each="code:${session.commonCode.get('OG')}">
<th:block th:if="${crackdownStatus.caseAgency eq code.itemCd}" th:text="${code.itemValue}"></th:block>
</th:block>
<th:block th:unless="${#strings.isEmpty(crackdownStatus.caseAgency)}">
<th:block th:each="code:${session.commonCode.get('ATA')}">
<td th:if="${crackdownStatus.caseAgency eq code.itemCd}" th:text="${code.itemValue}"></td>
</th:block>
</th:block>
<th:block th:if="${#strings.isEmpty(crackdownStatus.crackdownPolice)}">
<td></td>
</th:block>
<th:block th:unless="${#strings.isEmpty(crackdownStatus.crackdownPolice)}">
</td>
<td>
<th:block th:each="code:${session.commonCode.get('CPO')}">
<td th:if="${crackdownStatus.crackdownPolice eq code.itemCd}" th:text="${code.itemValue}"></td>
<th:block th:if="${crackdownStatus.crackdownPolice eq code.itemCd}" th:text="${code.itemValue}"></th:block>
</th:block>
</th:block>
<th:block th:if="${#strings.isEmpty(crackdownStatus.crackdownBoat)}">
<td></td>
</th:block>
<th:block th:unless="${#strings.isEmpty(crackdownStatus.crackdownBoat)}">
</td>
<td>
<th:block th:each="code:${session.commonCode.get(crackdownStatus.crackdownPolice)}">
<td th:if="${crackdownStatus.crackdownBoat eq code.itemCd}" th:text="${code.itemValue}"></td>
</th:block>
<th:block th:if="${crackdownStatus.crackdownBoat eq code.itemCd}" th:text="${code.itemValue}"></th:block>
</th:block>
</td>
<td th:text="${crackdownStatus.boatNameKr}"></td>
<td th:text="${crackdownStatus.sailorNameKr}"></td>
<th:block th:if="${#strings.isEmpty(crackdownStatus.fisheryType)}">
<td></td>
</th:block>
<th:block th:unless="${#strings.isEmpty(crackdownStatus.fisheryType)}">
<td>
<th:block th:each="code:${session.commonCode.get('FT')}">
<td th:if="${crackdownStatus.fisheryType eq code.itemCd}" th:text="${code.itemValue}"></td>
</th:block>
<th:block th:if="${crackdownStatus.fisheryType eq code.itemCd}" th:text="${code.itemValue}"></th:block>
</th:block>
</td>
<td th:text="|${crackdownStatus.boatNnySung} ${crackdownStatus.boatNnySi}|"></td>
<td th:text="|${crackdownStatus.tonCnt}t|"></td>
<th:block th:if="${#strings.isEmpty(crackdownStatus.boatMaterial)}">
<td></td>
</th:block>
<th:block th:unless="${#strings.isEmpty(crackdownStatus.boatMaterial)}">
<td>
<th:block th:each="code:${session.commonCode.get('BM')}">
<td th:if="${crackdownStatus.boatMaterial eq code.itemCd}" th:text="${code.itemValue}"></td>
</th:block>
<th:block th:if="${crackdownStatus.boatMaterial eq code.itemCd}" th:text="${code.itemValue}"></th:block>
</th:block>
</td>
<td class="text-wrap min-width-300" th:text="${crackdownStatus.violationStr}"></td>
<th:block th:if="${#strings.isEmpty(crackdownStatus.processStatus)}">
<td></td>
</th:block>
<th:block th:unless="${#strings.isEmpty(crackdownStatus.processStatus)}">
<td>
<th:block th:each="code:${session.commonCode.get('PR')}">
<td th:if="${crackdownStatus.processStatus eq code.itemCd}" th:text="${code.itemValue}"></td>
</th:block>
<th:block th:if="${crackdownStatus.processStatus eq code.itemCd}" th:text="${code.itemValue}"></th:block>
</th:block>
</td>
<td>
<th:block th:each="code:${session.commonCode.get('OG')}">
<th:block th:if="${crackdownStatus.wrtOrgan eq code.itemCd}" th:text="${code.itemValue}"></th:block>

View File

@ -24,33 +24,33 @@
<div class="col-auto">■ 기본정보</div>
</div>
<div class="row border border-secondary">
<label class="col-sm-1 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-sm fw-bold 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 py-2 border-end border-secondary text-center">압송/현장조사</label>
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold 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.fieldIvsgt eq 'C'?'압송':'현장조사'}">
</div>
</div>
<div class="row border border-secondary border-top-0">
<label class="col-sm-1 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-sm fw-bold py-2 border-end border-secondary text-center">사건담당기관</label>
<div class="col-sm-2 border-end border-secondary">
<th:block th:each="code:${ataList}">
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownStatus.caseAgency}" th:value="${code.itemValue}">
</th:block>
</div>
<label class="col-sm-1 col-form-label col-form-label-sm py-2 border-end border-secondary text-center fs-11">사건담당경찰관</label>
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold py-2 border-end border-secondary text-center fs-11">사건담당경찰관</label>
<div class="col-sm-2 border-end border-secondary">
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.casePoliceOfficer}">
</div>
<label class="col-sm-1 col-form-label col-form-label-sm py-2 border-end border-secondary text-center">단속경찰서</label>
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold py-2 border-end border-secondary text-center">단속경찰서</label>
<div class="col-sm-2 border-end border-secondary">
<th:block th:each="code:${cpoList}">
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownStatus.crackdownPolice}" th:value="${code.itemValue}">
</th:block>
</div>
<label class="col-sm-1 col-form-label col-form-label-sm py-2 border-end border-secondary text-center">단속함정</label>
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold 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}">
@ -58,11 +58,11 @@
</div>
</div>
<div class="row border border-secondary border-top-0">
<label class="col-sm-1 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-sm fw-bold 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 py-2 border-end border-secondary text-center">나포장소</label>
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold 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>
@ -177,14 +177,14 @@
<div class="col-auto">■ 어선 정보</div>
</div>
<div class="row border border-secondary">
<label class="col-sm-1 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-sm fw-bold 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>
<label class="col-sm-1 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-sm fw-bold py-2 border-end border-secondary text-center">위반사항</label>
<div class="col-sm-5">
<div class="row">
<th:block th:each="code:${vtList}">
@ -198,37 +198,37 @@
</div>
</div>
<div class="row border border-secondary border-top-0">
<label class="col-sm-1 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-sm fw-bold 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 py-2 border-end border-secondary text-center">국적</label>
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold 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 py-2 border-end border-secondary text-center">승선원</label>
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold 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.sailorCnt}인|">
</div>
<label class="col-sm-1 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-sm fw-bold 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.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 py-2 border-end border-secondary text-center">선종</label>
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold 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 py-2 border-end border-secondary text-center">선질</label>
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold 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 py-2 border-end border-secondary text-center">선적지</label>
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold 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}">
@ -237,41 +237,41 @@
</div>
</div>
<div class="row border border-secondary border-top-0">
<label class="col-sm-1 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-sm fw-bold py-2 border-end border-secondary text-center">범칙물</label>
<div class="col-sm-3">
<input type="text" class="form-control form-control-sm border-0" readonly
th:value="|${crackdownStatus.fishingBoat.offenseType} ${crackdownStatus.fishingBoat.offenseWeight}kg|">
</div>
<div class="col-sm-2 border-end border-secondary"></div>
<label class="col-sm-1 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-sm fw-bold 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.offenseQuantity}kg|">
</div>
<label class="col-sm-1 col-form-label col-form-label-sm py-2 border-end border-secondary text-center fs-11">범칙물 위판금액</label>
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold 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.offenseAmount}원|">
</div>
</div>
<div class="row border border-secondary border-top-0">
<label class="col-sm-1 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-sm fw-bold 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.offenseIllegalWasteQuantity}kg|">
</div>
<label class="col-sm-1 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-sm fw-bold 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.damboUnpaidAmount}원|">
</div>
<label class="col-sm-1 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-sm fw-bold 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.damboPayment}원|">
</div>
<label class="col-sm-1 col-form-label col-form-label-sm py-2 border-end border-secondary text-center fs-11">담보금 납부일시</label>
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold 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 py-2 border-end border-secondary text-center">압수어구</label>
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold py-2 border-end border-secondary text-center">압수어구</label>
<div class="col-sm-11">
<input type="text" class="form-control form-control-sm border-0" readonly
th:value="|틀: ${crackdownStatus.fishingBoat.confiscationFrame} 폭: ${crackdownStatus.fishingBoat.confiscationWidth} 조: ${crackdownStatus.fishingBoat.confiscationJo} 개: ${crackdownStatus.fishingBoat.confiscationGae} 기타: ${crackdownStatus.fishingBoat.confiscationEtc}|">
@ -281,84 +281,84 @@
<div class="col-auto">■ 처리 결과</div>
</div>
<div class="row border border-secondary">
<label class="col-sm-1 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-sm fw-bold 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 py-2 border-end border-secondary text-center">압송소요시간</label>
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold 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 py-2 border-end border-secondary text-center fs-10">영장청구 소요시간</label>
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold 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 py-2 border-end border-secondary text-center">수사중지 여부</label>
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold 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'?'중지':'수사중'}">
</div>
<label class="col-sm-1 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-sm fw-bold 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 py-2 border-end border-secondary text-center">직접인계일</label>
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold 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 py-2 border-end border-secondary text-center">인계 해점</label>
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold 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 py-2 border-end border-secondary text-center">인계 함정</label>
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold 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 py-2 border-end border-secondary text-center">중측 인수함정</label>
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold 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 py-2 border-end border-secondary text-center">위탁시작일</label>
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold 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 py-2 border-end border-secondary text-center">위탁종료일</label>
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold 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 py-2 border-end border-secondary text-center">몰수확정일</label>
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold 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>
</div>
<div class="row border border-secondary border-top-0">
<label class="col-sm-1 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-sm fw-bold 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 py-2 border-end border-secondary text-center">폐선종류</label>
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold 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>
<label class="col-sm-1 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-sm fw-bold 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 py-2 border-end border-secondary text-center">선장구속</label>
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold 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'}">
@ -366,7 +366,7 @@
</th:block>
</th:block>
</div>
<label class="col-sm-1 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-sm fw-bold 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'}">
@ -374,7 +374,7 @@
</th:block>
</th:block>
</div>
<label class="col-sm-1 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-sm fw-bold 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'}">
@ -384,41 +384,47 @@
</div>
</div>
<div class="row border border-secondary border-top-0">
<label class="col-sm-1 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-sm fw-bold 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">
<input type="text" class="form-control form-control-sm border-0" readonly
th:value="|직책: ${sailor.position eq 'POS005'?'기타 간부선원':'일반선원 또는 확인불가'} 구속여부: ${sailor.isRestriction eq 'Y'?'구속':'불구속'} 이름: ${sailor.sailorNameKr}|">
<div class="row">
<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 class="row border border-secondary border-top-0">
<label class="col-sm-1 col-form-label col-form-label-sm 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 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.exileCnt}">
</div>
<label class="col-sm-1 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-sm fw-bold 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 py-2 border-end border-secondary text-center">항공편</label>
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold 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.flight}">
</div>
</div>
<div class="row border border-secondary border-top-0">
<label class="col-sm-1 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-sm fw-bold 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="|사무소명: ${crackdownStatus.processResult.immigrationOfficeName} 담당자: ${crackdownStatus.processResult.immigrationOfficeOfficerName} 연락처: ${crackdownStatus.processResult.immigrationOfficeOfficerContact}|">
</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">