parent
f9c3b203ce
commit
292f639b3d
|
|
@ -72,7 +72,12 @@ public class UnlawfulFishingController {
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/saveCrackdownInfo")
|
@PostMapping("/saveCrackdownInfo")
|
||||||
public Integer saveCrackdownInfo(CrackdownInfo crackdownInfo){
|
public Integer saveCrackdownInfo(@AuthenticationPrincipal UserInfo loginUser, CrackdownInfo crackdownInfo){
|
||||||
|
crackdownInfo.setWrtOrgan(loginUser.getOgCd());
|
||||||
|
crackdownInfo.setWrtPart(loginUser.getOfcCd());
|
||||||
|
crackdownInfo.setWrtUserGrd(loginUser.getTitleCd());
|
||||||
|
crackdownInfo.setWrtUserNm(loginUser.getUserNm());
|
||||||
|
crackdownInfo.setWrtDt(LocalDateTime.now());
|
||||||
return unlawfulFishingService.saveCrackdownInfo(crackdownInfo);
|
return unlawfulFishingService.saveCrackdownInfo(crackdownInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -81,6 +86,13 @@ public class UnlawfulFishingController {
|
||||||
unlawfulFishingService.deleteCrackdownInfo(crackdownInfo.getCdsKey());
|
unlawfulFishingService.deleteCrackdownInfo(crackdownInfo.getCdsKey());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("/cdiHistoryDiv")
|
||||||
|
public ModelAndView cdiHistoryDiv(CrackdownInfoHistory cdih){
|
||||||
|
ModelAndView mav = new ModelAndView("faStatistics/unlawfulFishing/crackdownInfo/cdiHistoryDiv");
|
||||||
|
mav.addObject("crackdownInfo", unlawfulFishingService.selectCrackdownInfoHistory(cdih));
|
||||||
|
return mav;
|
||||||
|
}
|
||||||
|
|
||||||
@GetMapping("/cdiSelectModal")
|
@GetMapping("/cdiSelectModal")
|
||||||
public ModelAndView crackdownInfoSelectModal(@AuthenticationPrincipal UserInfo loginUser, UnlawfulFishingParam params){
|
public ModelAndView crackdownInfoSelectModal(@AuthenticationPrincipal UserInfo loginUser, UnlawfulFishingParam params){
|
||||||
ModelAndView mav = new ModelAndView("faStatistics/unlawfulFishing/crackdownInfo/cdiSelectModal");
|
ModelAndView mav = new ModelAndView("faStatistics/unlawfulFishing/crackdownInfo/cdiSelectModal");
|
||||||
|
|
|
||||||
|
|
@ -16,8 +16,10 @@ public class UnlawfulFishingParam extends BaseModel {
|
||||||
private Integer year;
|
private Integer year;
|
||||||
private Integer month;
|
private Integer month;
|
||||||
private String caseAgency;
|
private String caseAgency;
|
||||||
|
private String casePoliceOfficer;
|
||||||
private String crackdownPolice;
|
private String crackdownPolice;
|
||||||
private String crackdownBoat;
|
private String crackdownBoat;
|
||||||
|
private String napoPoint;
|
||||||
private String boatNameKr;
|
private String boatNameKr;
|
||||||
private String boatNnySung;
|
private String boatNnySung;
|
||||||
private String boatNnySi;
|
private String boatNnySi;
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ import org.hibernate.annotations.DynamicUpdate;
|
||||||
|
|
||||||
import javax.persistence.*;
|
import javax.persistence.*;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
|
|
@ -25,6 +26,9 @@ public class CrackdownInfoHistory extends CrackdownInfoBaseEntity {
|
||||||
@Column(name = "version_no")
|
@Column(name = "version_no")
|
||||||
private Integer versionNo;
|
private Integer versionNo;
|
||||||
|
|
||||||
|
@Transient
|
||||||
|
List<ViolationInfoHistory> violationList;
|
||||||
|
|
||||||
@Embeddable
|
@Embeddable
|
||||||
@Data
|
@Data
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
|
|
|
||||||
|
|
@ -8,5 +8,5 @@ import java.util.Optional;
|
||||||
|
|
||||||
public interface CrackdownInfoHistoryRepository extends JpaRepository<CrackdownInfoHistory, CrackdownInfoHistory.CrackdownInfoHistoryId> {
|
public interface CrackdownInfoHistoryRepository extends JpaRepository<CrackdownInfoHistory, CrackdownInfoHistory.CrackdownInfoHistoryId> {
|
||||||
Optional<CrackdownInfoHistory> findTopByCdsKeyOrderByVersionNoDesc(Integer cdsKey);
|
Optional<CrackdownInfoHistory> findTopByCdsKeyOrderByVersionNoDesc(Integer cdsKey);
|
||||||
List<CrackdownInfoHistory> findByCdsKey(Integer cdsKey);
|
List<CrackdownInfoHistory> findByCdsKeyOrderByVersionNoDesc(Integer cdsKey);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -140,7 +140,7 @@ public class UnlawfulFishingService {
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<CrackdownInfoHistory> selectCrackdownInfoHistoryList(Integer cdsKey) {
|
public List<CrackdownInfoHistory> selectCrackdownInfoHistoryList(Integer cdsKey) {
|
||||||
return cdihRepository.findByCdsKey(cdsKey);
|
return cdihRepository.findByCdsKeyOrderByVersionNoDesc(cdsKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
|
|
@ -148,6 +148,12 @@ public class UnlawfulFishingService {
|
||||||
cdiRepository.bulkModifyingByCdsKeyToStatus(cdsKey, "DST008");
|
cdiRepository.bulkModifyingByCdsKeyToStatus(cdsKey, "DST008");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public CrackdownInfoHistory selectCrackdownInfoHistory(CrackdownInfoHistory cdih) {
|
||||||
|
cdih = cdihRepository.findById(new CrackdownInfoHistory.CrackdownInfoHistoryId(cdih.getCdsKey(), cdih.getVersionNo())).orElse(null);
|
||||||
|
cdih.setViolationList(vihRepository.findByCdsKeyAndVersionNoOrderByViolationKeyAsc(cdih.getCdsKey(), cdih.getVersionNo()));
|
||||||
|
return cdih;
|
||||||
|
}
|
||||||
|
|
||||||
public IllegalShipInfo selectIllegalShipInfo(Integer fbKey) {
|
public IllegalShipInfo selectIllegalShipInfo(Integer fbKey) {
|
||||||
return isiRepository.findByFbKey(fbKey).orElse(new IllegalShipInfo());
|
return isiRepository.findByFbKey(fbKey).orElse(new IllegalShipInfo());
|
||||||
}
|
}
|
||||||
|
|
@ -166,5 +172,4 @@ public class UnlawfulFishingService {
|
||||||
public Integer selectCrackdownInfoListCnt(UnlawfulFishingParam params) {
|
public Integer selectCrackdownInfoListCnt(UnlawfulFishingParam params) {
|
||||||
return unlawfulFishingMapper.selectCrackdownInfoListCnt(params);
|
return unlawfulFishingMapper.selectCrackdownInfoListCnt(params);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -61,5 +61,44 @@
|
||||||
</select>
|
</select>
|
||||||
<sql id="selectCrackdownInfoListWhere">
|
<sql id="selectCrackdownInfoListWhere">
|
||||||
where status <> 'DST008'
|
where status <> 'DST008'
|
||||||
|
<if test='caseAgency != null and caseAgency != ""'>
|
||||||
|
and case_agency = #{caseAgency}
|
||||||
|
</if>
|
||||||
|
<if test='casePoliceOfficer != null and casePoliceOfficer != ""'>
|
||||||
|
and case_police_officer like '%'||#{casePoliceOfficer}||'%'
|
||||||
|
</if>
|
||||||
|
<if test='crackdownPolice != null and crackdownPolice != ""'>
|
||||||
|
and crackdown_police = #{crackdownPolice}
|
||||||
|
</if>
|
||||||
|
<if test='crackdownBoat != null and crackdownBoat != ""'>
|
||||||
|
and crackdown_boat = #{crackdownBoat}
|
||||||
|
</if>
|
||||||
|
<if test='caseNum != null and caseNum != ""'>
|
||||||
|
and case_num like '%'||#{caseNum}||'%'
|
||||||
|
</if>
|
||||||
|
<if test='mmsi != null and mmsi != ""'>
|
||||||
|
and mmsi like '%'||#{mmsi}||'%'
|
||||||
|
</if>
|
||||||
|
<if test='napoPoint != null and napoPoint != ""'>
|
||||||
|
and (napo_sea_point_lon like '%'||#{napoPoint}||'%'
|
||||||
|
or napo_sea_point_lat like '%'||#{napoPoint}||'%'
|
||||||
|
or napo_sea_point_detail like '%'||#{napoPoint}||'%')
|
||||||
|
</if>
|
||||||
|
<if test='dateSelector == "napoDt"'>
|
||||||
|
<if test='startDate != null and startDate != ""'>
|
||||||
|
and napo_dt >= #{startDate}::date
|
||||||
|
</if>
|
||||||
|
<if test='endDate != null and endDate != ""'>
|
||||||
|
and napo_dt <= #{endDate}::date
|
||||||
|
</if>
|
||||||
|
</if>
|
||||||
|
<if test='dateSelector == "wrtDt"'>
|
||||||
|
<if test='startDate != null and startDate != ""'>
|
||||||
|
and wrt_dt >= #{startDate}::date
|
||||||
|
</if>
|
||||||
|
<if test='endDate != null and endDate != ""'>
|
||||||
|
and wrt_dt <= #{endDate}::date
|
||||||
|
</if>
|
||||||
|
</if>
|
||||||
</sql>
|
</sql>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
@ -251,18 +251,24 @@ function fileCheck(flag, files){
|
||||||
}
|
}
|
||||||
|
|
||||||
function getChildOption(parentCd, selectedCd, target){
|
function getChildOption(parentCd, selectedCd, target){
|
||||||
$.ajax({
|
const targetEl = $(target);
|
||||||
url: '/selectBoxOptions',
|
if(parentCd === ""){
|
||||||
data: {categoryCd: parentCd, selectedCd: selectedCd},
|
targetEl.attr("disabled", "disabled");
|
||||||
type: 'GET',
|
}else{
|
||||||
dataType:"html",
|
$.ajax({
|
||||||
success: function(html){
|
url: '/selectBoxOptions',
|
||||||
$(target).empty().append(html);
|
data: {categoryCd: parentCd, selectedCd: selectedCd},
|
||||||
},
|
type: 'GET',
|
||||||
error:function(e){
|
dataType:"html",
|
||||||
ajaxErrorAction(e);
|
success: function(html){
|
||||||
}
|
targetEl.empty().append(html);
|
||||||
});
|
targetEl.removeAttr("disabled");
|
||||||
|
},
|
||||||
|
error:function(e){
|
||||||
|
ajaxErrorAction(e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function dynamicOption(targetTagName, code, defaultOptionName='') {
|
function dynamicOption(targetTagName, code, defaultOptionName='') {
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,16 @@
|
||||||
|
|
||||||
|
$(function(){
|
||||||
|
$("#dateSelectorDiv").datepicker({
|
||||||
|
format: "yyyy-mm-dd",
|
||||||
|
language: "ko",
|
||||||
|
autoclose: true
|
||||||
|
});
|
||||||
|
})
|
||||||
|
|
||||||
|
$(document).on('change', '#searchFormPolice', function (){
|
||||||
|
getChildOption(this.value, null, "#searchFormBoat");
|
||||||
|
})
|
||||||
|
|
||||||
$(document).on('click', '#addCrackdownStatusBtn', function (){
|
$(document).on('click', '#addCrackdownStatusBtn', function (){
|
||||||
getCdiEditModal(null);
|
getCdiEditModal(null);
|
||||||
})
|
})
|
||||||
|
|
@ -44,6 +56,10 @@ $(document).on('change', '#crackdownPolice', function (){
|
||||||
getChildOption(this.value, null, "#crackdownBoat");
|
getChildOption(this.value, null, "#crackdownBoat");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$(document).on('change', '#napoDate, #napoTime', function (){
|
||||||
|
$("#napoDt").val($("#napoDate").val()+" "+$("#napoTime").val());
|
||||||
|
})
|
||||||
|
|
||||||
$(document).on('click', '.saveEditInfoBtn', function (){
|
$(document).on('click', '.saveEditInfoBtn', function (){
|
||||||
saveCrackdownInfo($(this).attr("data-status"));
|
saveCrackdownInfo($(this).attr("data-status"));
|
||||||
})
|
})
|
||||||
|
|
@ -52,6 +68,13 @@ $(document).on('click', '.cdiTr', function (){
|
||||||
getCdiViewModal($(this).attr('data-cdskey'));
|
getCdiViewModal($(this).attr('data-cdskey'));
|
||||||
})
|
})
|
||||||
|
|
||||||
|
$(document).on('click', '#fishingBoatViewTab', function (){
|
||||||
|
$(this).parents(".modal-dialog")[0].className = "modal-dialog modal-xl modal-dialog-scrollable";
|
||||||
|
})
|
||||||
|
$(document).on('click', '#fishingBoatVersionTab', function (){
|
||||||
|
$(this).parents(".modal-dialog")[0].className = "modal-dialog modal-xxl modal-dialog-scrollable";
|
||||||
|
})
|
||||||
|
|
||||||
$(document).on('click', '#cdiEditBtn', function (){
|
$(document).on('click', '#cdiEditBtn', function (){
|
||||||
$("#cdiViewModal").modal('hide');
|
$("#cdiViewModal").modal('hide');
|
||||||
getCdiEditModal($("#fishingBoatViewTabPanel").find('.cdsKey').val());
|
getCdiEditModal($("#fishingBoatViewTabPanel").find('.cdsKey').val());
|
||||||
|
|
@ -80,6 +103,25 @@ $(document).on('click', '#cdiDeleteBtn', function (){
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
$(document).on('click', '.historyTr', function (){
|
||||||
|
const historyTr = $(this)
|
||||||
|
$.ajax({
|
||||||
|
url: '/unlawfulFishing/cdiHistoryDiv',
|
||||||
|
data: {
|
||||||
|
cdsKey: historyTr.find('.cdsKey').val(),
|
||||||
|
versionNo: historyTr.find('.versionNo').val()
|
||||||
|
},
|
||||||
|
type: 'GET',
|
||||||
|
dataType:"html",
|
||||||
|
success: function(html){
|
||||||
|
$("#historyInfoDiv").empty().append(html)
|
||||||
|
},
|
||||||
|
error:function(e){
|
||||||
|
ajaxErrorAction(e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
})
|
||||||
|
|
||||||
function getCdiEditModal(cdsKey){
|
function getCdiEditModal(cdsKey){
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '/unlawfulFishing/cdiEditModal',
|
url: '/unlawfulFishing/cdiEditModal',
|
||||||
|
|
|
||||||
|
|
@ -127,6 +127,7 @@
|
||||||
<label for="napoDate" class="col-sm-1 col-form-label col-form-label-sm text-center">나포일시</label>
|
<label for="napoDate" class="col-sm-1 col-form-label col-form-label-sm text-center">나포일시</label>
|
||||||
<div class="col-sm-2">
|
<div class="col-sm-2">
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
|
<input type="hidden" name="napoDt" id="napoDt" th:value="${#temporals.format(crackdownInfo.napoDt, 'yyyy-MM-dd HH:mm')}">
|
||||||
<input type="text" class="form-control form-control-sm dateSelector" id="napoDate" placeholder="yyyy-mm-dd" th:value="${#temporals.format(crackdownInfo.napoDt, 'yyyy-MM-dd')}" autocomplete="off">
|
<input type="text" class="form-control form-control-sm dateSelector" id="napoDate" placeholder="yyyy-mm-dd" th:value="${#temporals.format(crackdownInfo.napoDt, 'yyyy-MM-dd')}" autocomplete="off">
|
||||||
<input type="text" class="form-control form-control-sm timeInputer" id="napoTime" placeholder="hh:mm" th:value="${#temporals.format(crackdownInfo.napoDt, 'HH:mm')}" autocomplete="off">
|
<input type="text" class="form-control form-control-sm timeInputer" id="napoTime" placeholder="hh:mm" th:value="${#temporals.format(crackdownInfo.napoDt, 'HH:mm')}" autocomplete="off">
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,153 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ko" xmlns:th="http://www.thymeleaf.org">
|
||||||
|
<div class="row border border-secondary">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">사건번호</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownInfo.caseNum}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">위반사항</label>
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<div class="row">
|
||||||
|
<th:block th:each="violation:${crackdownInfo.violationList}">
|
||||||
|
<th:block th:each="code:${session.commonCode.get('VT')}">
|
||||||
|
<div class="col-4" th:if="${code.itemCd eq violation.violation}">
|
||||||
|
<input type="text" class="form-control form-control-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-label py-2 border-end border-secondary text-center fs-11">사건담당경찰서</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<th:block th:each="code:${session.commonCode.get('OG')}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownInfo.caseAgency}" th:value="${code.itemValue}">
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center fs-11">사건담당경찰관</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownInfo.casePoliceOfficer}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">단속경찰서</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<th:block th:each="code:${session.commonCode.get('CPO')}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownInfo.crackdownPolice}" th:value="${code.itemValue}">
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">단속함정</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<th:block th:each="code:${session.commonCode.get(crackdownInfo.crackdownPolice)}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownInfo.crackdownBoat}" th:value="${code.itemValue}">
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">MMSI.NO</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownInfo.mmsi}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">침범유형</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<th:block th:each="code:${session.commonCode.get('IST')}">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownInfo.invasionType}" th:value="${code.itemValue}">
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">NLL</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownInfo.nll eq 'Y'?'O':(crackdownInfo.nll eq 'N'?'X':crackdownInfo.nll)}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center fs-11">압송/현장조사</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${crackdownInfo.fieldIvsgt eq 'C'?'압송':(crackdownInfo.fieldIvsgt eq 'F'?'현장조사':crackdownInfo.fieldIvsgt)}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">나포일시</label>
|
||||||
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="${#temporals.format(crackdownInfo.napoDt, 'yyyy-MM-dd hh:mm')}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">나포장소</label>
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<input type="text" class="form-control form-control-sm border-0" readonly th:value="|${crackdownInfo.napoSeaPointLon} ${crackdownInfo.napoSeaPointLat} ${crackdownInfo.napoSeaPointDetail}|">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<th:block th:with="damageFlag=${(crackdownInfo.obstrExspdCnt ne null and crackdownInfo.obstrExspdCnt ne 0) ||
|
||||||
|
(crackdownInfo.personDamageCnt ne null and crackdownInfo.personDamageCnt ne 0 )||
|
||||||
|
(crackdownInfo.personDamageAmount ne null and crackdownInfo.personDamageAmount ne 0) ||
|
||||||
|
!#strings.isEmpty(crackdownInfo.personDamageDetail) ||
|
||||||
|
(crackdownInfo.materialDamageCnt ne null and crackdownInfo.materialDamageCnt ne 0) ||
|
||||||
|
(crackdownInfo.materialDamageAmount ne null and crackdownInfo.materialDamageAmount ne 0) ||
|
||||||
|
!#strings.isEmpty(crackdownInfo.materialDamageDetail)}">
|
||||||
|
<th:block th:if="${damageFlag}">
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center bg-lightB2">특수공무집행방해</label>
|
||||||
|
<div class="col-sm-11">
|
||||||
|
<div class="row border-bottom border-secondary">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center bg-lightB1">인적피해</label>
|
||||||
|
<div class="col-sm-11">
|
||||||
|
<div class="row border-bottom border-secondary">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">발생건수</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||||
|
<th:block th:if="${crackdownInfo.obstrExspdCnt>0}" th:text="|${crackdownInfo.obstrExspdCnt}건|"></th:block>
|
||||||
|
</label>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">피해인원</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||||
|
<th:block th:if="${crackdownInfo.personDamageCnt>0}" th:text="|${crackdownInfo.personDamageCnt}인|"></th:block>
|
||||||
|
</label>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">피해액</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||||
|
<th:block th:if="${crackdownInfo.personDamageAmount>0}" th:text="|${crackdownInfo.personDamageAmount}만원|"></th:block>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">상세내용</label>
|
||||||
|
<div class="col-sm-11" th:utext="${crackdownInfo.personDamageDetail}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center bg-lightB1">물적피해</label>
|
||||||
|
<div class="col-sm-11">
|
||||||
|
<div class="row border-bottom border-secondary">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">발생건수</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||||
|
<th:block th:if="${crackdownInfo.materialDamageCnt>0}" th:text="|${crackdownInfo.materialDamageCnt}건|"></th:block>
|
||||||
|
</label>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">피해액</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||||
|
<th:block th:if="${crackdownInfo.materialDamageAmount>0}" th:text="|${crackdownInfo.materialDamageAmount}만원|"></th:block>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">상세내용</label>
|
||||||
|
<div class="col-sm-11" th:utext="${crackdownInfo.materialDamageDetail}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
<th:block th:with="catchFlag=${crackdownInfo.catchFishSpecies ne null ||
|
||||||
|
crackdownInfo.catchCnt ne 0}">
|
||||||
|
<th:block th:if="${catchFlag}">
|
||||||
|
<div class="row border border-secondary border-top-0">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center bg-lightB1">어획물축소기재</label>
|
||||||
|
<div class="col-sm-11">
|
||||||
|
<div class="row">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">어종</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start"
|
||||||
|
th:text="${crackdownInfo.catchFishSpecies}"></label>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">수량</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm py-2 border-end border-secondary text-start">
|
||||||
|
<th:block th:if="${crackdownInfo.catchCnt>0}" th:text="|${crackdownInfo.catchCnt}kg|"></th:block>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
</html>
|
||||||
|
|
@ -66,13 +66,13 @@
|
||||||
</div>
|
</div>
|
||||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">단속경찰서</label>
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">단속경찰서</label>
|
||||||
<div class="col-sm-2 border-end border-secondary">
|
<div class="col-sm-2 border-end border-secondary">
|
||||||
<th:block th:each="code:${cpoList}">
|
<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 crackdownInfo.crackdownPolice}" th:value="${code.itemValue}">
|
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownInfo.crackdownPolice}" th:value="${code.itemValue}">
|
||||||
</th:block>
|
</th:block>
|
||||||
</div>
|
</div>
|
||||||
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">단속함정</label>
|
<label class="col-sm-1 col-form-label col-form-label-sm fw-bold bg-label py-2 border-end border-secondary text-center">단속함정</label>
|
||||||
<div class="col-sm-2">
|
<div class="col-sm-2">
|
||||||
<th:block th:each="code:${boatList}">
|
<th:block th:each="code:${session.commonCode.get(crackdownInfo.crackdownPolice)}">
|
||||||
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownInfo.crackdownBoat}" th:value="${code.itemValue}">
|
<input type="text" class="form-control form-control-sm border-0" readonly th:if="${code.itemCd eq crackdownInfo.crackdownBoat}" th:value="${code.itemValue}">
|
||||||
</th:block>
|
</th:block>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -198,7 +198,7 @@
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr class="versionInfoTr" th:each="versionInfo:${crackdownInfo.crackdownInfoHistoryList}">
|
<tr class="historyTr" th:each="versionInfo:${crackdownInfo.crackdownInfoHistoryList}">
|
||||||
<input type="hidden" class="cdsKey" th:value="${versionInfo.cdsKey}">
|
<input type="hidden" class="cdsKey" th:value="${versionInfo.cdsKey}">
|
||||||
<input type="hidden" class="versionNo" th:value="${versionInfo.versionNo}">
|
<input type="hidden" class="versionNo" th:value="${versionInfo.versionNo}">
|
||||||
<td><input type="checkbox" class="versionInfoChkbox"></td>
|
<td><input type="checkbox" class="versionInfoChkbox"></td>
|
||||||
|
|
@ -217,7 +217,7 @@
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-8" id="versionInfoDiv">
|
<div class="col-8" id="historyInfoDiv">
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@
|
||||||
<div class="row mx-0">
|
<div class="row mx-0">
|
||||||
<div class="col-12 card bg-light text-center">
|
<div class="col-12 card bg-light text-center">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<form method="get" th:action="@{/faStatistics/crackdownInfo}" id="cdsSearchForm">
|
<form method="get" th:action="@{/unlawfulFishing/crackdownInfo}" id="cdsSearchForm">
|
||||||
<input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">
|
<input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">
|
||||||
<div class="row justify-content-end py-1">
|
<div class="row justify-content-end py-1">
|
||||||
<div class="col-8">
|
<div class="col-8">
|
||||||
|
|
@ -42,7 +42,7 @@
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-2">
|
<div class="col-2">
|
||||||
<input type="text" class="form-control form-control-sm" placeholder="사건담당경찰관">
|
<input type="text" class="form-control form-control-sm" name="casePoliceOfficer" placeholder="사건담당경찰관">
|
||||||
</div>
|
</div>
|
||||||
<div class="col-2">
|
<div class="col-2">
|
||||||
<select class="form-select form-select-sm" name="crackdownPolice" id="searchFormPolice">
|
<select class="form-select form-select-sm" name="crackdownPolice" id="searchFormPolice">
|
||||||
|
|
@ -54,25 +54,23 @@
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-2">
|
<div class="col-2">
|
||||||
<select class="form-select form-select-sm" name="crackdownBoat" id="searchFormBoat" disabled>
|
<select class="form-select form-select-sm" name="crackdownBoat" id="searchFormBoat" th:disabled="${#strings.isEmpty(searchParams.crackdownPolice)}">
|
||||||
<option value="">단속함정</option>
|
<option value="">단속함정</option>
|
||||||
<th:block th:each="cpoNum:${#numbers.sequence(1, #lists.size(session.commonCode.get('CPO')))}">
|
<th:block th:each="code:${session.commonCode.get(searchParams.crackdownPolice)}">
|
||||||
<th:block th:each="code:${session.commonCode.get('CPO'+cpoNum)}">
|
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq searchParams.crackdownBoat}"></option>
|
||||||
<option th:class="${code.categoryCd}" th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq searchParams.crackdownBoat}" style="display: none;"></option>
|
|
||||||
</th:block>
|
|
||||||
</th:block>
|
</th:block>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row justify-content-end pb-1">
|
<div class="row justify-content-end pb-1">
|
||||||
<div class="col-2">
|
<div class="col-2">
|
||||||
<input type="text" class="form-control form-control-sm" placeholder="사건번호">
|
<input type="text" class="form-control form-control-sm" name="caseNum" placeholder="사건번호">
|
||||||
</div>
|
</div>
|
||||||
<div class="col-2">
|
<div class="col-2">
|
||||||
<input type="text" class="form-control form-control-sm" placeholder="MMSI.NO">
|
<input type="text" class="form-control form-control-sm" name="mmsi" placeholder="MMSI.NO">
|
||||||
</div>
|
</div>
|
||||||
<div class="col-2">
|
<div class="col-2">
|
||||||
<input type="text" class="form-control form-control-sm" placeholder="나포장소">
|
<input type="text" class="form-control form-control-sm" name="napoPoint" placeholder="나포장소">
|
||||||
</div>
|
</div>
|
||||||
<div class="col-4">
|
<div class="col-4">
|
||||||
<div class="input-group w-auto input-daterange" id="dateSelectorDiv">
|
<div class="input-group w-auto input-daterange" id="dateSelectorDiv">
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue