불법조업 외국어선 작업완료.
parent
1aa45812f4
commit
ef7d6b9c89
|
|
@ -0,0 +1,41 @@
|
|||
package com.dbnt.faisp.main.faStatistics.crackdownsStatus;
|
||||
|
||||
import com.dbnt.faisp.main.authMgt.service.AuthMgtService;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatusVersion;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.UnlawfulFishingVersion;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.FishingBoat;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.processResult.ProcessResult;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.FishingBoatRepository;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.ProcessResultRepository;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.SailorRepository;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.ViolationRepository;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.service.CrackdownStatusService;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.service.UnlawfulFishingService;
|
||||
import com.dbnt.faisp.main.userInfo.model.UserInfo;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.security.core.annotation.AuthenticationPrincipal;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
@RequestMapping("/faStatistics")
|
||||
public class UnlawfulFishingController {
|
||||
|
||||
private final UnlawfulFishingService unlawfulFishingService;
|
||||
|
||||
@GetMapping("/crackdownStatusVersionInfo")
|
||||
public ModelAndView selectUnlawfulFishingVersionInfo(Integer cdsKey, Integer versionNo){
|
||||
ModelAndView mav = new ModelAndView("/faStatistics/unlawfulFishing/versionInfo");
|
||||
mav.addObject("infos", unlawfulFishingService.selectUnlawfulFishingVersionInfo(cdsKey, versionNo));
|
||||
return mav;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,18 +1,23 @@
|
|||
package com.dbnt.faisp.main.faStatistics.crackdownsStatus.mapper;
|
||||
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatusVersion;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.FishingBoat;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.FishingBoatVersion;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.processResult.ProcessResultVersion;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper
|
||||
public interface CrackdownStatusMapper {
|
||||
List<CrackdownStatus> selectCrackdownStatusList(CrackdownStatus crackdownStatus);
|
||||
Integer selectCrackdownStatusListCnt(CrackdownStatus crackdownStatus);
|
||||
List<CrackdownStatus> selectCrackdownStatusList(CrackdownStatus crackdownStatus);
|
||||
Integer selectCrackdownStatusListCnt(CrackdownStatus crackdownStatus);
|
||||
|
||||
List<CrackdownStatus> selectFishingBoatList(CrackdownStatus crackdownStatus);
|
||||
Integer selectFishingBoatListCnt(CrackdownStatus crackdownStatus);
|
||||
List<FishingBoatVersion> selectFishingBoatVersionList(Integer fbKey);
|
||||
List<CrackdownStatus> selectFishingBoatList(CrackdownStatus crackdownStatus);
|
||||
Integer selectFishingBoatListCnt(CrackdownStatus crackdownStatus);
|
||||
|
||||
List<CrackdownStatusVersion> selectCrackdownStatusVersionList(Integer cdsKey);
|
||||
List<FishingBoatVersion> selectFishingBoatVersionList(Integer fbKey);
|
||||
List<ProcessResultVersion> selectProcessResultVersionList(Integer prKey);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,13 +35,14 @@ public class CrackdownStatus extends CrackdownStatusBaseEntity {
|
|||
@Column(name="status")
|
||||
private String status;
|
||||
|
||||
@Transient
|
||||
private List<CrackdownStatusVersion> crackdownStatusVersionList;
|
||||
|
||||
@Transient
|
||||
private List<Violation> violationList;
|
||||
@Transient
|
||||
private FishingBoat fishingBoat;
|
||||
@Transient
|
||||
private List<FishingBoatVersion> fishingBoatVersionList;
|
||||
@Transient
|
||||
private ProcessResult processResult;
|
||||
@Transient
|
||||
private List<Sailor> sailorList;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,16 @@
|
|||
package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus;
|
||||
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.FishingBoatVersion;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.processResult.ProcessResultVersion;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
public class UnlawfulFishingVersion {
|
||||
private CrackdownStatusVersion crackdownStatusVersion;
|
||||
private FishingBoatVersion fishingBoatVersion;
|
||||
private ProcessResultVersion processResultVersion;
|
||||
}
|
||||
|
|
@ -9,6 +9,4 @@ import java.util.Optional;
|
|||
public interface CrackdownStatusVersionRepository extends JpaRepository<CrackdownStatusVersion, CrackdownStatusVersion.CrackdownStatusVersionId> {
|
||||
Optional<CrackdownStatusVersion> findTopByCdsKeyOrderByVersionNoDesc(Integer cdsKey);
|
||||
List<CrackdownStatusVersion> findByCdsKey(Integer cdsKey);
|
||||
|
||||
CrackdownStatusVersion findByVersionNoAndCdsKey(Integer versionNo, Integer cdsKey);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,8 +7,7 @@ import java.util.List;
|
|||
import java.util.Optional;
|
||||
|
||||
public interface ProcessResultVersionRepository extends JpaRepository<ProcessResultVersion, ProcessResultVersion.ProcessResultVersionId> {
|
||||
Optional<ProcessResultVersion> findTopByPrKeyOrderByVersionNoDesc(Integer prKey);
|
||||
List<ProcessResultVersion> findByPrKey(Integer prKey);
|
||||
Optional<ProcessResultVersion> findTopByPrKeyOrderByVersionNoDesc(Integer prKey);
|
||||
List<ProcessResultVersion> findByPrKey(Integer prKey);
|
||||
|
||||
ProcessResultVersion findByVersionNoAndPrKey(Integer versionNo, Integer prKey);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -48,8 +48,8 @@ public class CrackdownStatusService extends BaseService {
|
|||
return crackdownStatusVersionRepository.findByCdsKey(cdsKey);
|
||||
}
|
||||
|
||||
public CrackdownStatusVersion selectCrackdownStatusVersion(Integer versionNo, Integer cdsKey) {
|
||||
return crackdownStatusVersionRepository.findByVersionNoAndCdsKey(versionNo, cdsKey);
|
||||
public CrackdownStatusVersion selectCrackdownStatusVersion(Integer cdsKey, Integer versionNo) {
|
||||
return crackdownStatusVersionRepository.findById(new CrackdownStatusVersion.CrackdownStatusVersionId(cdsKey, versionNo)).orElse(new CrackdownStatusVersion());
|
||||
}
|
||||
|
||||
@Transactional
|
||||
|
|
|
|||
|
|
@ -52,8 +52,8 @@ public class FishingBoatService extends BaseService {
|
|||
}
|
||||
public CrackdownStatus selectCrackdownStatus(Integer cdsKey) {
|
||||
CrackdownStatus crackdownStatus = crackdownStatusRepository.findById(cdsKey).orElse(null);
|
||||
crackdownStatus.setCrackdownStatusVersionList(crackdownStatusMapper.selectCrackdownStatusVersionList(crackdownStatus.getCdsKey()));
|
||||
crackdownStatus.setFishingBoat(fishingBoatRepository.findByCdsKey(cdsKey).orElse(new FishingBoat()));
|
||||
crackdownStatus.setFishingBoatVersionList(crackdownStatusMapper.selectFishingBoatVersionList(crackdownStatus.getFishingBoat().getFbKey()));
|
||||
crackdownStatus.setProcessResult(processResultRepository.findByCdsKey(cdsKey).orElse(new ProcessResult()));
|
||||
if(crackdownStatus.getFishingBoat()!=null){
|
||||
crackdownStatus.setViolationList(violationRepository.findByFbKey(crackdownStatus.getFishingBoat().getFbKey()));
|
||||
|
|
@ -194,10 +194,14 @@ public class FishingBoatService extends BaseService {
|
|||
return crackdownStatusRepository.findTop1ByCaseNum(caseNum).orElse(null)==null?0:1;
|
||||
}
|
||||
|
||||
public FishingBoatVersion selectFishingBoatVersion(Integer fbKey, Integer versionNo) {
|
||||
FishingBoatVersion fishingBoat = fishingBoatVersionRepository.findById(new FishingBoatVersion.FishingBoatVersionId(fbKey, versionNo)).orElse(null);
|
||||
fishingBoat.setViolationList(violationVersionRepository.findByFbKeyAndVersionNoOrderByViolationKeyAsc(fbKey, versionNo));
|
||||
return fishingBoat;
|
||||
public FishingBoatVersion selectFishingBoatVersion(Integer cdsKey, Integer versionNo) {
|
||||
FishingBoat fishingBoat = fishingBoatRepository.findByCdsKey(cdsKey).orElse(null);
|
||||
if(fishingBoat==null){
|
||||
return null;
|
||||
}
|
||||
FishingBoatVersion fishingBoatVersion = fishingBoatVersionRepository.findById(new FishingBoatVersion.FishingBoatVersionId(fishingBoat.getFbKey(), versionNo)).orElse(new FishingBoatVersion());
|
||||
fishingBoatVersion.setViolationList(violationVersionRepository.findByFbKeyAndVersionNoOrderByViolationKeyAsc(fishingBoat.getFbKey(), versionNo));
|
||||
return fishingBoatVersion;
|
||||
}
|
||||
|
||||
public int saveFishingBoatOnly(int cdsKey, FishingBoat fishingBoat, List<Violation> violationList) {
|
||||
|
|
|
|||
|
|
@ -23,8 +23,6 @@ import java.util.List;
|
|||
public class ProcessResultService extends BaseService {
|
||||
|
||||
private final ProcessResultMapper processResultMapper;
|
||||
private final CrackdownStatusRepository crackdownStatusRepository;
|
||||
private final FishingBoatRepository fishingBoatRepository;
|
||||
private final ViolationRepository violationRepository;
|
||||
private final ProcessResultRepository processResultRepository;
|
||||
private final ProcessResultVersionRepository processResultVersionRepository;
|
||||
|
|
@ -45,8 +43,13 @@ public class ProcessResultService extends BaseService {
|
|||
return processResultVersionRepository.findByPrKey(prKey);
|
||||
}
|
||||
|
||||
public ProcessResultVersion selectProcessResultVersion(Integer versionNo, Integer prKey) {
|
||||
return processResultVersionRepository.findByVersionNoAndPrKey(versionNo, prKey);
|
||||
public ProcessResultVersion selectProcessResultVersion(Integer cdsKey, Integer versionNo) {
|
||||
ProcessResult processResult = processResultRepository.findByCdsKey(cdsKey).orElse(null);
|
||||
if (processResult == null){
|
||||
return null;
|
||||
}else{
|
||||
return processResultVersionRepository.findById(new ProcessResultVersion.ProcessResultVersionId(processResult.getPrKey(), versionNo)).orElse(new ProcessResultVersion());
|
||||
}
|
||||
}
|
||||
|
||||
@Transactional
|
||||
|
|
@ -74,39 +77,6 @@ public class ProcessResultService extends BaseService {
|
|||
saveProcessResultVersion(processResult);
|
||||
}
|
||||
|
||||
/*if (processResult.getCrackdownStatus() != null) {
|
||||
if (processResult.getCrackdownStatus().getCrackdownPoliceEtc() != null) {
|
||||
processResult.getCrackdownStatus().setCrackdownPolice(processResult.getCrackdownStatus().getCrackdownPoliceEtc());
|
||||
}
|
||||
|
||||
CrackdownStatus existingCrackdownStatus = crackdownStatusRepository.findByCdsKey(processResult.getCdsKey()).orElse(null);
|
||||
Utils.copyNonNullProperties(processResult, existingCrackdownStatus);
|
||||
processResult.setCrackdownStatus(crackdownStatusRepository.save(existingCrackdownStatus));
|
||||
}*/
|
||||
|
||||
/*if (processResult.getFishingBoat() != null) {
|
||||
FishingBoat existingFishingBoat = fishingBoatRepository.findByCdsKey(processResult.getCdsKey()).orElse(null);
|
||||
Utils.copyNonNullProperties(processResult, existingFishingBoat);
|
||||
fishingBoatRepository.save(existingFishingBoat);
|
||||
}*/
|
||||
|
||||
/*if (processResult.getViolationList().get(0).getViolation() != null) {
|
||||
Violation lastViolation = violationRepository.findTopByFbKeyOrderByViolationKeyDesc(processResult.getCrackdownStatus().getFbKey()).orElse(null);
|
||||
int violationKey = lastViolation==null?1:(lastViolation.getViolationKey()+1);
|
||||
|
||||
for(Violation violation: processResult.getViolationList()){
|
||||
if (violation.getViolationEtc() != null) {
|
||||
violation.setViolation(violation.getViolationEtc());
|
||||
}
|
||||
violation.setFbKey(processResult.getFishingBoat().getFbKey());
|
||||
if (violation.getViolationKey() == null) {
|
||||
violation.setViolationKey(violationKey);
|
||||
violationKey++;
|
||||
}
|
||||
}
|
||||
violationRepository.saveAll(processResult.getViolationList());
|
||||
}*/
|
||||
|
||||
return prKey;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package com.dbnt.faisp.main.faStatistics.crackdownsStatus.service;
|
||||
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.UnlawfulFishingVersion;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.FishingBoat;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor.Sailor;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
|
@ -35,6 +36,14 @@ public class UnlawfulFishingService {
|
|||
return cdsKey;
|
||||
}
|
||||
|
||||
public UnlawfulFishingVersion selectUnlawfulFishingVersionInfo(Integer cdsKey, Integer versionNo) {
|
||||
UnlawfulFishingVersion ufv = new UnlawfulFishingVersion();
|
||||
ufv.setCrackdownStatusVersion(crackdownStatusService.selectCrackdownStatusVersion(cdsKey, versionNo));
|
||||
ufv.setFishingBoatVersion(fishingBoatService.selectFishingBoatVersion(cdsKey, versionNo));
|
||||
ufv.setProcessResultVersion(processResultService.selectProcessResultVersion(cdsKey, versionNo));
|
||||
return ufv;
|
||||
}
|
||||
|
||||
private CrackdownStatus setWriteInfo(CrackdownStatus crackdownStatus){
|
||||
FishingBoat fishingBoat = crackdownStatus.getFishingBoat();
|
||||
fishingBoat.setWrtDt(LocalDateTime.now());
|
||||
|
|
|
|||
|
|
@ -429,16 +429,16 @@
|
|||
on b.fb_key = d.fb_key and d.position = 'POS001'
|
||||
<include refid="selectFishingBoatListWhere"></include>
|
||||
</select>
|
||||
<select id="selectFishingBoatVersionList" resultType="FishingBoatVersion" parameterType="int">
|
||||
select fb_key,
|
||||
<select id="selectCrackdownStatusVersionList" resultType="CrackdownStatusVersion" parameterType="int">
|
||||
select cds_key,
|
||||
version_no,
|
||||
wrt_organ,
|
||||
wrt_part,
|
||||
wrt_user_grd,
|
||||
wrt_user_nm,
|
||||
wrt_dt
|
||||
from fishing_boat_version
|
||||
where fb_key = #{fb_key}
|
||||
from crackdown_status_version
|
||||
where cds_key = #{cds_key}
|
||||
order by version_no desc
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
@ -121,15 +121,15 @@ $(document).on('click', '.versionInfoTr', function (){
|
|||
$(".versionInfoChkbox").prop("checked", false);
|
||||
$(this).find(".versionInfoChkbox")[0].checked = true
|
||||
$.ajax({
|
||||
url: '/faStatistics/fishingBoatVersionInfo',
|
||||
url: '/faStatistics/crackdownStatusVersionInfo',
|
||||
data: {
|
||||
fbKey: $(this).find(".fbKey").val(),
|
||||
cdsKey: $(this).find(".cdsKey").val(),
|
||||
versionNo: $(this).find(".versionNo").val()
|
||||
},
|
||||
type: 'GET',
|
||||
dataType:"html",
|
||||
success: function(html){
|
||||
$("#fishingBoardVersionInfoDiv").empty().append(html);
|
||||
$("#versionInfoDiv").empty().append(html);
|
||||
},
|
||||
error:function(e){
|
||||
ajaxErrorAction(e);
|
||||
|
|
|
|||
|
|
@ -9,19 +9,35 @@
|
|||
<li class="nav-item" role="presentation">
|
||||
<button class="nav-link active" id="fishingBoatViewTab" data-bs-toggle="tab" data-bs-target="#fishingBoatViewTabPanel" type="button" role="tab" aria-controls="fishingBoatViewTabPanel" aria-selected="true">최신버전</button>
|
||||
</li>
|
||||
<li class="nav-item" role="presentation">
|
||||
<li class="nav-item" role="presentation" th:unless="${#lists.size(crackdownStatus.crackdownStatusVersionList) <= 1}">
|
||||
<button class="nav-link" id="fishingBoatVersionTab" data-bs-toggle="tab" data-bs-target="#fishingBoatVersionTabPanel" type="button" role="tab" aria-controls="fishingBoatHistoryTabPanel" aria-selected="false">수정이력</button>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tab-content bg-white border border-top-0">
|
||||
<div class="tab-pane fade p-2 mx-2 show active" id="fishingBoatViewTabPanel" role="tabpanel" aria-labelledby="fishingBoatViewTab" tabindex="0">
|
||||
<input type="hidden" class="cdsKey" th:value="${crackdownStatus.cdsKey}">
|
||||
<div class="row justify-content-between">
|
||||
<div class="col-auto"></div>
|
||||
<div class="col-auto" th:text="|최종수정일: ${#temporals.format(crackdownStatus.fishingBoat.wrtDt, 'yyyy-MM-dd HH:mm')}|"></div>
|
||||
</div>
|
||||
<div class="row py-2">
|
||||
<div class="col-auto">■ 단속정보</div>
|
||||
<div class="col-12">
|
||||
<div class="row justify-content-end">
|
||||
<div class="col-auto">
|
||||
<th:block th:text="|최종수정일: ${#temporals.format(crackdownStatus.fishingBoat.wrtDt, 'yyyy-MM-dd HH:mm')}|"></th:block>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row justify-content-between">
|
||||
<div class="col-auto">■ 단속정보</div>
|
||||
<div class="col-auto">
|
||||
<th:block th:each="code:${session.commonCode.get('DST')}">
|
||||
<th:block th:if="${crackdownStatus.status eq code.itemCd}" th:text="|상태: ${code.itemValue}|"></th:block>
|
||||
</th:block>
|
||||
<th:block th:if="${#lists.size(crackdownStatus.crackdownStatusVersionList) <= 1}">
|
||||
(수정 이력 없음)
|
||||
</th:block>
|
||||
<th:block th:unless="${#lists.size(crackdownStatus.crackdownStatusVersionList) <= 1}">
|
||||
<th:block th:text="${#strings.concat('(', #lists.size(crackdownStatus.crackdownStatusVersionList), '차 수정본)') }"></th:block>
|
||||
</th:block>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row border border-secondary">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro py-2 border-end border-secondary text-center">사건번호</label>
|
||||
|
|
@ -534,27 +550,6 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--<div class="row border border-secondary border-top-0">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro 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 fw-bold bg-gainsboro py-2 border-end border-secondary text-center">추방일</label>
|
||||
<div class="col-sm-2 border-end border-secondary">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.processResult.exileDt}">
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro 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 fw-bold bg-gainsboro 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 class="tab-pane fade p-2 mx-2" id="fishingBoatVersionTabPanel" role="tabpanel" aria-labelledby="fishingBoatVersionTab" tabindex="0">
|
||||
<div class="row">
|
||||
|
|
@ -568,26 +563,26 @@
|
|||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="versionInfoTr" th:each="fishingBoat:${crackdownStatus.fishingBoatVersionList}">
|
||||
<input type="hidden" class="fbKey" th:value="${fishingBoat.fbKey}">
|
||||
<input type="hidden" class="versionNo" th:value="${fishingBoat.versionNo}">
|
||||
<tr class="versionInfoTr" th:each="versionInfo:${crackdownStatus.crackdownStatusVersionList}">
|
||||
<input type="hidden" class="cdsKey" th:value="${versionInfo.cdsKey}">
|
||||
<input type="hidden" class="versionNo" th:value="${versionInfo.versionNo}">
|
||||
<td><input type="checkbox" class="versionInfoChkbox"></td>
|
||||
<td>
|
||||
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
|
||||
<th:block th:if="${fishingBoat.wrtOrgan eq commonCode.itemCd}" th:text="${commonCode.itemValue}"></th:block>
|
||||
<th:block th:if="${versionInfo.wrtOrgan eq commonCode.itemCd}" th:text="${commonCode.itemValue}"></th:block>
|
||||
</th:block>
|
||||
<br>
|
||||
<th:block th:each="commonCode:${session.commonCode.get('JT')}">
|
||||
<th:block th:if="${fishingBoat.wrtUserGrd eq commonCode.itemCd}" th:text="${commonCode.itemValue}"></th:block>
|
||||
<th:block th:if="${versionInfo.wrtUserGrd eq commonCode.itemCd}" th:text="${commonCode.itemValue}"></th:block>
|
||||
</th:block>
|
||||
<th:block th:text="${fishingBoat.wrtUserNm}"></th:block>
|
||||
<th:block th:text="${versionInfo.wrtUserNm}"></th:block>
|
||||
</td>
|
||||
<td th:text="${#temporals.format(fishingBoat.wrtDt, 'yyyy-MM-dd HH:mm')}"></td>
|
||||
<td th:text="${#temporals.format(versionInfo.wrtDt, 'yyyy-MM-dd HH:mm')}"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="col-8" id="fishingBoardVersionInfoDiv">
|
||||
<div class="col-8" id="versionInfoDiv">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,484 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="ko" xmlns:th="http://www.thymeleaf.org">
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<ul class="nav nav-tabs" id="userTab" role="tablist">
|
||||
<li class="nav-item" role="presentation">
|
||||
<button class="nav-link active" id="baseInfoTab" data-bs-toggle="tab" data-bs-target="#baseInfoTabPanel" type="button" role="tab" aria-controls="baseInfoTabPanel" aria-selected="true">단속정보</button>
|
||||
</li>
|
||||
<li class="nav-item" role="presentation">
|
||||
<button class="nav-link" id="fishingBoatTab" data-bs-toggle="tab" data-bs-target="#fishingBoatTabPanel" type="button" role="tab" aria-controls="fishingBoatTabPanel" aria-selected="false">어선정보</button>
|
||||
</li>
|
||||
<li class="nav-item" role="presentation">
|
||||
<button class="nav-link" id="processResultTab" data-bs-toggle="tab" data-bs-target="#processResultTabPanel" type="button" role="tab" aria-controls="processResultTabPanel" aria-selected="false">처리결과 정보</button>
|
||||
</li>
|
||||
</ul>
|
||||
<th:block th:with="crackdownStatus = ${infos.crackdownStatusVersion},
|
||||
fishingBoat = ${infos.fishingBoatVersion},
|
||||
processResult = ${infos.processResultVersion},
|
||||
violationList = ${infos.fishingBoatVersion.violationList}">
|
||||
<div class="tab-content bg-white border border-top-0">
|
||||
<div class="tab-pane fade p-2 show active" id="baseInfoTabPanel" role="tabpanel" aria-labelledby="baseInfoTab" tabindex="0">
|
||||
<div class="row border border-secondary">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro py-2 border-end border-secondary text-center">사건번호</label>
|
||||
<div class="col-sm-2 border-end border-secondary">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.caseNum}">
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro 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="${fishingBoat.boatNameKr}">
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro py-2 border-end border-secondary text-center">위반사항</label>
|
||||
<div class="col-sm-5">
|
||||
<div class="row">
|
||||
<th:block th:each="code:${session.commonCode.get('VT')}">
|
||||
<th:block th:each="violation:${violationList}">
|
||||
<div class="col-6" th:if="${code.itemCd eq violation.violation}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${code.itemValue}"/>
|
||||
</div>
|
||||
</th:block>
|
||||
</th:block>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row border border-secondary border-top-0">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro py-2 border-end border-secondary text-center">사건담당경찰서</label>
|
||||
<div class="col-sm-2 border-end border-secondary">
|
||||
<th:block th:each="code:${session.commonCode.get('OG')}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownStatus.caseAgency}" th:value="${code.itemValue}">
|
||||
</th:block>
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro py-2 border-end border-secondary text-center fs-11">사건담당경찰관</label>
|
||||
<div class="col-sm-2 border-end border-secondary">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.casePoliceOfficer}">
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro 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('CPO')}">
|
||||
<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-gainsboro py-2 border-end border-secondary text-center">단속함정</label>
|
||||
<div class="col-sm-2">
|
||||
<th:block th:each="cpoCode:${session.commonCode.get('CPO')}">
|
||||
<th:block th:each="boatCode:${session.commonCode.get(cpoCode.itemCd)}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${boatCode.itemCd eq crackdownStatus.crackdownBoat}" th:value="${boatCode.itemValue}">
|
||||
</th:block>
|
||||
</th:block>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row border border-secondary border-top-0">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro py-2 border-end border-secondary text-center">MMSI.NO</label>
|
||||
<div class="col-sm-2 border-end border-secondary">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownStatus.mmsi}">
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro py-2 border-end border-secondary text-center">침범유형</label>
|
||||
<div class="col-sm-2 border-end border-secondary">
|
||||
<th:block th:each="code:${session.commonCode.get('IST')}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownStatus.invasionType}" th:value="${code.itemValue}">
|
||||
</th:block>
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro 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-gainsboro 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-gainsboro 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-gainsboro 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-gainsboro py-2 border-end border-secondary text-center">특수공무집행방해</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-gainsboro py-2 border-end border-secondary text-center">인적피해</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-gainsboro 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-gainsboro 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-gainsboro 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-gainsboro 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-gainsboro py-2 border-end border-secondary text-center">물적피해</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-gainsboro 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-gainsboro 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-gainsboro 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=${fishingBoat.catchFishSpecies ne null ||
|
||||
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-gainsboro py-2 border-end border-secondary text-center">어획물축소기재</label>
|
||||
<div class="col-sm-11">
|
||||
<div class="row h-100">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro 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="${fishingBoat.catchFishSpecies}"></label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro 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="${fishingBoat.catchCnt>0}" th:text="|${fishingBoat.catchCnt}kg|"></th:block>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</th:block>
|
||||
</th:block>
|
||||
</div>
|
||||
<div class="tab-pane fade p-2" id="fishingBoatTabPanel" role="tabpanel" aria-labelledby="fishingBoatTab" tabindex="0">
|
||||
<div class="row border border-secondary">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro 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="${fishingBoat.boatNameKr}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${fishingBoat.boatNameCn}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row border border-secondary border-top-0">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro 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="${fishingBoat.permitNum}">
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro 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="${fishingBoat.nationality}">
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro py-2 border-end border-secondary text-center">승선원</label>
|
||||
<div class="col-sm-2 border-end border-secondary" th:if="${fishingBoat.sailorCnt>0}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="|${fishingBoat.sailorCnt}인|">
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro py-2 border-end border-secondary text-center">톤수</label>
|
||||
<div class="col-sm-2" th:if="${fishingBoat.tonCnt>0}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="|${fishingBoat.tonCnt}t|">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row border border-secondary border-top-0">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro 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('FT')}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq fishingBoat.fisheryType}" th:value="${code.itemValue}">
|
||||
</th:block>
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro 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('BM')}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq fishingBoat.boatMaterial}" th:value="${code.itemValue}">
|
||||
</th:block>
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro 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="${fishingBoat.boatNnySung}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${fishingBoat.boatNnySi}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row border border-secondary border-top-0">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro 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="${fishingBoat.offenseType ne null}" th:text="${fishingBoat.offenseType}"></th:block>
|
||||
<th:block th:if="${fishingBoat.offenseWeight>0}" th:text="|${fishingBoat.offenseWeight}kg|"></th:block>
|
||||
</label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro 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="${fishingBoat.offenseIllegalWasteQuantity>0}" th:text="|${fishingBoat.offenseIllegalWasteQuantity}kg|"></th:block>
|
||||
</label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro 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="${fishingBoat.offenseQuantity>0}" th:text="|${fishingBoat.offenseQuantity}kg|"></th:block>
|
||||
</label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro py-2 border-end border-secondary text-center fs-11">범칙물 위판금액</label>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||
<th:block th:if="${fishingBoat.offenseAmount>0}" th:text="|${fishingBoat.offenseAmount}만원|"></th:block>
|
||||
</label>
|
||||
</div>
|
||||
<div class="row border border-secondary border-top-0">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro 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="${fishingBoat.damboUnpaidAmount>0}" th:text="|${fishingBoat.damboUnpaidAmount}만원|"></th:block>
|
||||
</label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro 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="${fishingBoat.damboPayment>0}" th:text="|${fishingBoat.damboPayment}만원|"></th:block>
|
||||
</label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro 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="${fishingBoat.paymentPaymentDt}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row border border-secondary border-top-0">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro py-2 border-end border-secondary text-center">압수어구</label>
|
||||
<label class="col-sm-11 col-form-label col-form-label-sm py-2 text-start">
|
||||
<th:block th:if="${!#strings.isEmpty(fishingBoat.confiscationFrame)}" th:text="|틀: ${fishingBoat.confiscationFrame}|"></th:block>
|
||||
<th:block th:if="${!#strings.isEmpty(fishingBoat.confiscationWidth)}" th:text="|폭: ${fishingBoat.confiscationWidth}|"></th:block>
|
||||
<th:block th:if="${!#strings.isEmpty(fishingBoat.confiscationJo)}" th:text="|조: ${fishingBoat.confiscationJo}|"></th:block>
|
||||
<th:block th:if="${!#strings.isEmpty(fishingBoat.confiscationGae)}" th:text="|개: ${fishingBoat.confiscationGae}|"></th:block>
|
||||
<th:block th:if="${!#strings.isEmpty(fishingBoat.confiscationEtc)}" th:text="|기타: ${fishingBoat.confiscationEtc}|"></th:block>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tab-pane fade p-2" id="processResultTabPanel" role="tabpanel" aria-labelledby="processResultTab" tabindex="0">
|
||||
<div class="row border border-secondary">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro 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('PR')}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq processResult.processStatus}" th:value="${code.itemValue}">
|
||||
</th:block>
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro 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="${processResult.isIvsgtStop eq 'Y'?'중지':(processResult.isIvsgtStop eq 'N'?'수사중':processResult.isIvsgtStop)}">
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro 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="${processResult.sentencingCourt}"></label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro 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="${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-gainsboro 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="${processResult.pressurizedTimeTaken}">
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro 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-gainsboro 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="${processResult.warrantReqTakeTime}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row border border-secondary border-top-0">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro py-2 border-end border-secondary text-center">나포일시</label>
|
||||
<div class="col-sm-2 border-end border-secondary">
|
||||
<input type="text" class="form-control form-control-sm border-0" id="napoDt" readonly th:value="${#temporals.format(crackdownStatus.napoDt, 'yyyy-MM-dd hh:mm')}">
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro py-2 border-end border-secondary text-center">석방일시</label>
|
||||
<div class="col-sm-2 border-end border-secondary">
|
||||
<input type="text" class="form-control form-control-sm border-0" id="releaseDt" readonly th:value="${#temporals.format(processResult.releaseDt, 'yyyy-MM-dd hh:mm')}">
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro py-2 border-end border-secondary text-center">소요시간</label>
|
||||
<div class="col-sm-2 border-end border-secondary">
|
||||
<input type="text" class="form-control form-control-sm border-0" id="releaseToNapo" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row border border-secondary border-top-0">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro 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="${processResult.consignmentStartDt}">
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro 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="${processResult.consignmentEndDt}">
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro 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="${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-gainsboro 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="${processResult.directHandoverDt}">
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro 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="${processResult.handoverSeaPointLon}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${processResult.handoverSeaPointLat}">
|
||||
</div>
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro 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="${processResult.handoverBoat}">
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro 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="${processResult.middleTakeoverBoat}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row border border-secondary border-top-0">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro 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="${processResult.confiscationDt}">
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro 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="${processResult.boatDisposalDt}">
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro 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-sm border-0" readonly th:if="${code.itemCd eq processResult.boatDisposalType}" th:value="${code.itemValue}">
|
||||
</th:block>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row border border-secondary border-top-0">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro 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="${processResult.exileDt}">
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-gainsboro 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="${processResult.returnDt}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</th:block>
|
||||
</div>
|
||||
</div>
|
||||
<!--<div class="row border border-secondary">
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-bottom border-secondary text-center">선명</label>
|
||||
<div class="col-sm-10 border-bottom border-secondary">
|
||||
<div class="input-group w-auto">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${fishingBoat.boatNameKr}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${fishingBoat.boatNameCn}">
|
||||
</div>
|
||||
</div>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-center">위반사항</label>
|
||||
<div class="col-sm-10">
|
||||
<div class="row">
|
||||
<th:block th:each="code:${vtList}">
|
||||
<th:block th:each="violation:${fishingBoat.violationList}">
|
||||
<div class="col-6" th:if="${code.itemCd eq violation.violation}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${code.itemValue}"/>
|
||||
</div>
|
||||
</th:block>
|
||||
</th:block>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row border border-secondary border-top-0">
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-bottom border-secondary text-center">허가번호</label>
|
||||
<div class="col-sm-4 border-end border-bottom border-secondary">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${fishingBoat.permitNum}">
|
||||
</div>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-bottom border-secondary text-center">국적</label>
|
||||
<div class="col-sm-4 border-bottom border-secondary">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${fishingBoat.nationality}">
|
||||
</div>
|
||||
<label class="col-sm-2 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="|${fishingBoat.sailorCnt}인|">
|
||||
</div>
|
||||
<label class="col-sm-2 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="|${fishingBoat.tonCnt}t|">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row border border-secondary border-top-0">
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-bottom border-secondary text-center">선종</label>
|
||||
<div class="col-sm-4 border-end border-bottom 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 fishingBoat.fisheryType}" th:value="${code.itemValue}">
|
||||
</th:block>
|
||||
</div>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-bottom border-secondary text-center">선질</label>
|
||||
<div class="col-sm-4 border-bottom 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 fishingBoat.boatMaterial}" th:value="${code.itemValue}">
|
||||
</th:block>
|
||||
</div>
|
||||
<label class="col-sm-2 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">
|
||||
<div class="input-group w-auto">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${fishingBoat.boatNnySung}">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${fishingBoat.boatNnySi}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row border border-secondary border-top-0">
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-bottom border-secondary text-center">범칙물</label>
|
||||
<div class="col-sm-6 border-end border-bottom border-secondary">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly
|
||||
th:value="|${fishingBoat.offenseType} ${fishingBoat.offenseWeight}kg|">
|
||||
</div>
|
||||
<div class="col-sm-4 border-bottom border-secondary"></div>
|
||||
<label class="col-sm-2 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="|${fishingBoat.offenseQuantity}kg|">
|
||||
</div>
|
||||
<label class="col-sm-2 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="|${fishingBoat.offenseAmount}원|">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row border border-secondary border-top-0">
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-bottom border-secondary text-center">범칙물 폐기량</label>
|
||||
<div class="col-sm-4 border-end border-bottom border-secondary">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="|${fishingBoat.offenseIllegalWasteQuantity}kg|">
|
||||
</div>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-bottom border-secondary text-center">담보금 미납액</label>
|
||||
<div class="col-sm-4 border-bottom border-secondary">
|
||||
<input type="text" class="form-control form-control-sm border-0" readonly th:value="|${fishingBoat.damboUnpaidAmount}원|">
|
||||
</div>
|
||||
<label class="col-sm-2 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="|${fishingBoat.damboPayment}원|">
|
||||
</div>
|
||||
<label class="col-sm-2 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="${#temporals.format(fishingBoat.paymentPaymentDt, 'yyyy-MM-dd HH:mm')}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row border border-secondary border-top-0">
|
||||
<label class="col-sm-2 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="|틀: ${fishingBoat.confiscationFrame} 폭: ${fishingBoat.confiscationWidth} 조: ${fishingBoat.confiscationJo} 개: ${fishingBoat.confiscationGae} 기타: ${fishingBoat.confiscationEtc}|">
|
||||
</div>
|
||||
</div>-->
|
||||
</html>
|
||||
Loading…
Reference in New Issue