강석 최 2023-01-12 18:38:23 +09:00
commit 8bb6c123fd
12 changed files with 420 additions and 508 deletions

View File

@ -10,13 +10,15 @@ import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.processResult.Pro
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.service.AsfCovService;
import com.dbnt.faisp.main.userInfo.model.UserInfo;
import lombok.RequiredArgsConstructor;
import oracle.jdbc.proxy.annotation.Post;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import java.time.LocalDateTime;
import java.util.List;
@RestController
@ -51,7 +53,7 @@ public class AsfCovController {
asfCov.setWrtUserSeq(loginUser.getUserSeq());
asfCov.setWrtUserGrd(loginUser.getTitleCd());
asfCov.setWrtUserNm(loginUser.getUserNm());
asfCov.setWrtDt(loginUser.getWrtDt());
asfCov.setWrtDt(LocalDateTime.now());
}
mav.addObject("asfCov", asfCov);
mav.addObject("userSeq", loginUser.getUserSeq());
@ -69,6 +71,18 @@ public class AsfCovController {
return mav;
}
@PostMapping("/saveContent")
public Integer saveContent (AsfCov asfCov){
return asfCovService.saveContent(asfCov);
}
@PostMapping("/deleteContent")
@ResponseBody
public void deleteContent(@RequestBody AsfCov asfCov){
asfCovService.deleteContent(asfCov);
}
}

View File

@ -1,7 +1,8 @@
package com.dbnt.faisp.main.faStatistics.crackdownsStatus.mapper;
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.asfCov.AsfCov;
import com.dbnt.faisp.main.ivsgtMgt.majorStatus.model.MajorStatus;
import com.dbnt.faisp.main.ivsgtMgt.boardInvestigation.model.ArrestType;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@ -10,7 +11,7 @@ import java.util.List;
public interface AsfCovMapper {
List<AsfCov> selectAsfCovList(AsfCov asfCov);
Integer selectAsfCovListCnt(AsfCov asfCov);
// ArrestType selectArrestType(AsfCov asfCov);
List<AsfCov> selectAsfCovListWhere(AsfCov asfCov);
}

View File

@ -4,15 +4,15 @@ import com.dbnt.faisp.config.BaseModel;
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus;
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatusBaseEntity;
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.FishingBoat;
import com.dbnt.faisp.main.ivsgtMgt.majorStatus.model.MajorFile;
import io.micrometer.core.annotation.Counted;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.*;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import org.springframework.format.annotation.DateTimeFormat;
import javax.persistence.*;
import java.io.Serializable;
import java.time.LocalDateTime;
@Getter
@ -22,12 +22,13 @@ import java.time.LocalDateTime;
@DynamicInsert
@DynamicUpdate
@Table(name="asfcov_status")
@IdClass(AsfCov.AsfCovId.class)
public class AsfCov extends BaseModel {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "asfcov_key")
private Integer asfCovKey;
@Id
@Column(name="version_no")
private Integer versionNo;
@ -71,106 +72,36 @@ public class AsfCov extends BaseModel {
@Column(name = "wrt_part")
private String wrtPart;
@Column(name = "content_status")
private String contentStatus;
////////////////////////////////////////////////////////////////////////
@Transient
private CrackdownStatus crackdownStatus;
@Column(name = "case_num")
private String caseNum;
@Column(name = "case_police_officer")
@Transient
private String casePoliceOfficer;
@Column(name = "crackdown_boat")
@Transient
private String crackdownPolice;
@Transient
private String crackdownBoat;
@Column(name = "napo_dt")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
private LocalDateTime napoDt;
@Column(name = "napo_sea_point_lon")
private String napoSeaPointLon;
@Column(name = "napo_sea_point_lat")
private String napoSeaPointLat;
@Column(name = "napo_sea_point_detail")
private String napoSeaPointDetail;
@Column(name = "invasion_type")
private String invasionType;
@Column(name = "nll")
private String nll;
@Column(name = "case_agency")
@Transient
private String napoDt;
@Transient
private String boatNameKr;
@Transient
private String caseAgency;
@Column(name = "crackdown_police")
private String crackdownPolice;
@Column(name = "mmsi")
private String mmsi;
@Column(name = "field_ivsgt")
private String fieldIvsgt;
@Column(name = "obstr_exspd_cnt")
private Integer obstrExspdCnt;
@Column(name = "person_damage_cnt")
private Integer personDamageCnt;
@Column(name = "person_damage_amount")
private Integer personDamageAmount;
@Column(name = "person_damage_detail")
private String personDamageDetail;
@Column(name = "material_damage_cnt")
private Integer materialDamageCnt;
@Column(name = "material_damage_amount")
private Integer materialDamageAmount;
@Column(name = "material_damage_detail")
private String materialDamageDetail;
@Column(name = "field_ivsgt_napo_dt")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
private LocalDateTime fieldIvsgtNapoDt;
@Column(name = "field_ivsgt_release_dt")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
private LocalDateTime fieldIvsgtReleaseDt;
@Column(name = "field_ivsgt_time_taken")
private String fieldIvsgtTimeTaken;
@Column(name = "pressurized_start_dt")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
private LocalDateTime pressurizedStartDt;
@Column(name = "pressurized_end_dt")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
private LocalDateTime pressurizedEndDt;
@Column(name = "distance")
private String distance;
////////////////////////////////////////////////////////////
@Transient
private FishingBoat fishingBoat;
@Column(name = "boat_name_kr")
private String boatNameKr;
@Column(name = "boat_name_cn")
private String boatNameCn;
@Embeddable
@Data
@NoArgsConstructor
@AllArgsConstructor
public static class AsfCovId implements Serializable {
private Integer asfCovKey;
private Integer versionNo;
}
}

View File

@ -2,13 +2,17 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository;
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.asfCov.AsfCov;
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
import java.util.Optional;
public interface AsfCovRepository extends JpaRepository<AsfCov, Integer> {
// void deleteByAsfCov(Integer asfcovKey);
Optional<AsfCov> findByCdsKey(Integer cdsKey);
Optional<AsfCov> findByAsfCovKey(Integer asfCovKey);
// void deleteByAsfCov(Integer asfCovKey);
Optional<AsfCov> findTop1ByAsfCovKeyOrderByVersionNoDesc(Integer asfCovKey);
Optional<AsfCov> findTop1ByOrderByAsfCovKeyDesc();
}

View File

@ -3,11 +3,17 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus.service;
import com.dbnt.faisp.config.BaseService;
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.mapper.AsfCovMapper;
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.asfCov.AsfCov;
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus;
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.FishingBoat;
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.AsfCovRepository;
import com.dbnt.faisp.main.ivsgtMgt.majorStatus.model.MajorStatus;
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.CrackdownStatusRepository;
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.FishingBoatRepository;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.format.DateTimeFormatter;
import java.util.List;
@Service
@ -16,6 +22,8 @@ public class AsfCovService extends BaseService {
private final AsfCovMapper asfCovMapper;
private final AsfCovRepository asfCovRepository;
private final CrackdownStatusRepository crackdownStatusRepository;
private final FishingBoatRepository fishingBoatRepository;
public List<AsfCov> selectAsfCovList(AsfCov asfCov){
return asfCovMapper.selectAsfCovList(asfCov);
@ -25,9 +33,44 @@ public class AsfCovService extends BaseService {
return asfCovMapper.selectAsfCovListCnt(asfCov);
}
public AsfCov selectAsfCov(Integer asfcovKey) {
AsfCov asfCov= asfCovRepository.findById(asfcovKey).orElse(null);
public AsfCov selectAsfCov(Integer asfCovKey) {
AsfCov asfCov= asfCovRepository.findTop1ByAsfCovKeyOrderByVersionNoDesc(asfCovKey).orElse(null);
CrackdownStatus cs = crackdownStatusRepository.findByCdsKey(asfCov.getCdsKey()).orElse(null);
FishingBoat fb = fishingBoatRepository.findByCdsKey(asfCov.getCdsKey()).orElse(null);
if(fb!=null){
asfCov.setBoatNameKr(fb.getBoatNameKr());
}
if(cs!=null){
asfCov.setCaseNum(cs.getCaseNum());
asfCov.setCaseAgency(cs.getCaseAgency());
asfCov.setCasePoliceOfficer(cs.getCasePoliceOfficer());
asfCov.setCrackdownPolice(cs.getCrackdownPolice());
asfCov.setCrackdownBoat(cs.getCrackdownBoat());
if(cs.getNapoDt()!=null){
asfCov.setNapoDt(cs.getNapoDt().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
}
}
return asfCov;
}
@Transactional
public Integer saveContent(AsfCov asfCov) {
if(asfCov.getAsfCovKey()==null){
AsfCov lastData = asfCovRepository.findTop1ByOrderByAsfCovKeyDesc().orElse(null);
asfCov.setAsfCovKey(lastData==null?1:(lastData.getAsfCovKey()+1));
asfCov.setVersionNo(1);
}else{
asfCov.setVersionNo(asfCov.getVersionNo()+1);
}
asfCovRepository.save(asfCov);
return asfCov.getAsfCovKey();
}
@Transactional
public void deleteContent(AsfCov asfCov){
asfCov=asfCovRepository.findById(asfCov.getAsfCovKey()).orElse(null);
asfCov.setContentStatus("DST008");
}
}

View File

@ -45,11 +45,6 @@ public class MajorStatusService extends BaseService {
public MajorStatus selectMajor(Integer majorKey) {
MajorStatus majorStatus= majorStatusRepository.findById(majorKey).orElse(null);
majorStatus.setFileList(majorFileRepository.findByMajorKey(majorKey));
// List<PublicComment> commentList = publicCommentRepository.findByPublicKeyAndParentCommentOrderByCommentKeyAsc(publicKey, null);
// for(PublicComment comment: commentList){
// comment.setChildCommentList(publicCommentRepository.findByPublicKeyAndParentCommentOrderByCommentKeyAsc(publicKey, comment.getCommentKey()));
// }
// publicBoard.setCommentList(commentList);
return majorStatus;
}

View File

@ -8,29 +8,30 @@
<sql id="selectAsfCovListWhere">
<where>
a.content_status &lt;> 'DST008'
<if test='majorType != null and majorType != ""'>
and a.major_type = #{majorType}
<if test='caseNum != null and caseNum != ""'>
AND case_num = #{caseNum}
</if>
<if test='napoDt != null and napoDt !=""'>
AND napo_dt::DATE = #{napoDt}::DATE
</if>
<if test='caseAgency != null and caseAgency != ""'>
AND case_agency = #{caseAgency}
</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='boatNameKr != null and boatNameKr != ""'>
AND boat_name_kr LIKE CONCAT('%', #{boatNameKr}, '%')
</if>
<if test='wrtOrgan != null and wrtOrgan != ""'>
and a.wrt_organ = #{wrtOrgan}
</if>
<if test="contentTitle != null and contentTitle != ''">
AND a.content_title LIKE CONCAT('%', #{contentTitle}, '%')
and wrt_organ = #{wrtOrgan}
</if>
<if test="wrtUserNm != null and wrtUserNm != ''">
AND a.wrt_user_nm LIKE CONCAT('%', #{wrtUserNm}, '%')
AND wrt_user_nm LIKE CONCAT('%', #{wrtUserNm}, '%')
</if>
<if test='startDate != null and startDate != ""'>
and a.wrt_dt >= #{startDate}::date
</if>
<if test='endDate != null and endDate != ""'>
and a.wrt_dt &lt;= #{endDate}::date+1
</if>
and a.wrt_organ in
<foreach collection="downOrganCdList" item="organCd" separator="," open="(" close=")">
#{organCd}
</foreach>
</where>
</sql>
@ -52,6 +53,7 @@
a.wrt_dt,
a.wrt_organ,
a.wrt_part,
a.content_status,
cs.cds_key
, cs.case_num
, cs.napo_dt
@ -111,14 +113,16 @@
INNER JOIN fishing_boat fb
ON a.cds_key = fb.cds_key
<!-- <include refid="selectAsfCovListWhere"></include>-->
<include refid="selectAsfCovListWhere"></include>
order by a.asfcov_key desc
limit #{rowCnt} offset #{firstIndex}
</select>
<select id="selectAsfCovListCnt" resultType="int" parameterType="AsfCov">
select count(*)
from asfcov_status
from asfcov_status a
INNER JOIN fishing_boat fb
ON a.cds_key = fb.cds_key
<include refid="selectAsfCovListWhere"></include>
</select>

View File

@ -9,32 +9,32 @@ $("#jqueryBtn").click(function(){
$(document).on('click', '#saveBtn', function (){
if(confirm("저장하시겠습니까?")){
if($('#contentTitle').val() == ''){
alert("제목을 입력해주세요.");
$('#contentTitle').focus();
return false;
}
if($('#majorType').val() == ''){
alert("종류를 선택해주세요.");
$('#majorType').focus();
return false;
}
// if($('#contentTitle').val() == ''){
// alert("제목을 입력해주세요.");
// $('#contentTitle').focus();
// return false;
// }
// if($('#majorType').val() == ''){
// alert("종류를 선택해주세요.");
// $('#majorType').focus();
// return false;
// }
saveContent('DST007');
}
})
$(document).on('click', '#saveTempBtn', function (){
if(confirm("임시저장 하시겠습니까?")){
if($('#contentTitle').val() == ''){
alert("제목을 입력해주세요.");
$('#contentTitle').focus();
return false;
}
if($('#majorType').val() == ''){
alert("종류를 선택해주세요.");
$('#majorType').focus();
return false;
}
// if($('#contentTitle').val() == ''){
// alert("제목을 입력해주세요.");
// $('#contentTitle').focus();
// return false;
// }
// if($('#majorType').val() == ''){
// alert("종류를 선택해주세요.");
// $('#majorType').focus();
// return false;
// }
saveContent('DST001');
}
})
@ -48,7 +48,7 @@ $(document).on('click', '#addAsfCovBtn', function (){
$(document).on('click', '.tr', function (){
$(".trChkBox").prop("checked", false);
$(this).find(".trChkBox").prop("checked", true);
getViewModal(Number($(this).find(".asfCovKey").val()));
getViewModal($(this).attr("data-key"));
})
@ -102,10 +102,10 @@ $(document).on('click', '#deleteMajorBtn', function (){
function getEditModal(cdsKey){
function getEditModal(asfCovKey){
$.ajax({
url: '/faStatistics/asfCovEditModal',
data: {cdsKey: cdsKey},
data: {asfCovKey: asfCovKey},
type: 'GET',
dataType:"html",
success: function(html){
@ -141,19 +141,11 @@ function getViewModal(asfCovKey){
function saveContent(contentStatus){
const formData = new FormData($("#asfCovEditForm")[0]);
for(const file of files) {
if(!file.isDelete)
formData.append('uploadFiles', file, file.name);
}
$(".text-decoration-line-through").each(function (idx, el){
formData.append('fileSeq', $(el).attr("data-fileseq"));
})
formData.append('contentStatus', contentStatus);
formData.append('contentInfo', CrossEditor.GetBodyValue());
$.ajax({
type : 'POST',
data : formData,
url : "/ivsgt/saveContent",
url : "/faStatistics/saveContent",
processData: false,
contentType: false,
success : function(result) {
@ -171,10 +163,10 @@ function saveContent(contentStatus){
function contentCheck(formId){
let flag = true;
if(!$("#contentTitle").val()){
alert("제목을 입력해주세요.")
flag = false;
}
// if(!$("#contentTitle").val()){
// alert("제목을 입력해주세요.")
// flag = false;
// }
flag = fileCheck(flag, files);
return flag;
@ -199,9 +191,20 @@ $(document).on('click', '#caseNumBtn', function (){
$(document).on('click', '#getCrackdownBtn', function (){
getEditModal($(".crackdownChkbox:checked").parents(".crackdownTr").attr("data-key"));
const tr= $(".crackdownChkbox:checked").parents(".crackdownTr")
$(".cdsInfo").removeAttr("disable")
$("#cdsKey").val(tr.attr("data-key"))
$("#boatNameKr").val(tr.find(".boatNameKr").val())
$("#caseNum").val(tr.find(".caseNum").val())
$("#caseAgency").val(tr.find(".caseAgency").val())
$("#casePoliceOfficer").val(tr.find(".casePoliceOfficer").val())
$("#crackdownPolice").val(tr.find(".crackdownPolice").val())
$("#crackdownBoat").val(tr.find(".crackdownBoat").val())
$("#asfCovSubModal").modal('hide');
$(".cdsInfo").attr("disable", "disable")
})
$(function(){
const searchFormBoat = $("#searchFormBoat")
if(searchFormBoat.val()!==""){
@ -215,4 +218,18 @@ $(function(){
});
});
$(document).on('change', '#searchFormPolice', function (){
const searchFormBoat = $("#searchFormBoat")
searchFormBoat.find("option").hide()
if(this.value !== ""){
searchFormBoat.removeAttr("disabled")
searchFormBoat.find("."+this.value).show();
}else{
searchFormBoat.attr("disabled", "disabled")
}
})

View File

@ -193,12 +193,12 @@
<tbody class="table-group-divider">
<th:block th:each="crackdownStatus:${crackdownList}">
<tr class="crackdownTr" th:data-key="${crackdownStatus.cdsKey}">
<!-- <input type="hidden" name="boatNameKr" th:value="${crackdownStatus.fishingBoat.boatNameKr}">-->
<!-- <input type="hidden" name="caseNum" th:value=" ${crackdownStatus.caseNum}">-->
<!-- <input type="hidden" name="caseAgency" th:value="${crackdownStatus.caseAgency}">-->
<!-- <input type="hidden" name="casePoliceOfficer" th:value="${crackdownStatus.casePoliceOfficer}">-->
<!-- <input type="hidden" name="crackdownPolice" th:value="${crackdownStatus.crackdownPolicer}">-->
<!-- <input type="hidden" name="crackdownBoat" th:value="${crackdownStatus.crackdownBoat}">-->
<input type="hidden" class="boatNameKr" th:value="${crackdownStatus.fishingBoat.boatNameKr}">
<input type="hidden" class="caseNum" th:value=" ${crackdownStatus.caseNum}">
<input type="hidden" class="caseAgency" th:value="${crackdownStatus.caseAgency}">
<input type="hidden" class="casePoliceOfficer" th:value="${crackdownStatus.casePoliceOfficer}">
<input type="hidden" class="crackdownPolice" th:value="${crackdownStatus.crackdownPolice}">
<input type="hidden" class="crackdownBoat" th:value="${crackdownStatus.crackdownBoat}">
<td><input type="checkbox" class="crackdownChkbox"></td>
<!--<td th:text="${crackdownStatus.cdsKey}"></td>-->
<td th:text="${crackdownStatus.caseNum}"></td>
@ -246,7 +246,7 @@
<td th:if="${crackdownStatus.crackdownBoat eq commonCode.itemCd}" th:text="${commonCode.itemValue}"></td>
</th:block>
</th:block>
<th:block th:if="${!#strings.contains(crackdownStatus.crackdownBoat, 'CPO')}">
<th:block th:if="${crackdownStatus.crackdownBoat eq null or !#strings.contains(crackdownStatus.crackdownBoat, 'CPO')}">
<td></td>
</th:block>
<td th:text="${crackdownStatus.mmsi}"></td>

View File

@ -17,313 +17,67 @@
<div class="row mx-0">
<div class="col-12 card bg-light text-center">
<div class="card-body">
<!-- <form method="get" th:action="@{/faStatistics/crackdownStatus}" id="cdsSearchForm">-->
<!-- <input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">-->
<!-- <div class="row justify-content-between py-1">-->
<!-- <div class="col-auto">-->
<!-- <div>-->
<form method="get" th:action="@{/faStatistics/asfCov}">
<input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">
<div class="row justify-content-between py-1">
<div class="col-auto">
<div>
<!-- <select class="form-select form-select-sm" name="year">-->
<!-- <option value="">연도</option>-->
<!-- <th:block th:each="year : ${#numbers.sequence(2020, 2030)}">-->
<!-- <option th:value="${year}" th:text="${year}" th:selected="${searchParams.year eq #strings.toString(year)}"></option>-->
<!-- </th:block>-->
<!-- </select>-->
<!-- </div>-->
<!-- <div>-->
<!-- <select class="form-select form-select-sm" name="month">-->
<!-- <option value="">월</option>-->
<!-- <th:block th:each="month : ${#numbers.sequence(1, 12)}">-->
<!-- <option th:value="${month}" th:text="${month}" th:selected="${searchParams.month eq month}"></option>-->
<!-- </th:block>-->
<!-- </select>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="col-8">-->
<!-- <div class="row">-->
<!-- <div class="col-11">-->
<!-- <div class="row justify-content-end pb-1">-->
<!-- <div class="col-2">-->
<!-- <select class="form-select form-select-sm violation" name="violation">-->
<!-- <option value="">위반내용</option>-->
<!-- <th:block th:each="commonCode:${session.commonCode.get('VT')}">-->
<!-- <option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"-->
<!-- th:selected="${commonCode.itemCd eq searchParams.violation}"></option>></option>-->
<!-- </th:block>-->
<!-- </select>-->
<!-- </div>-->
<!-- <div class="col-2">-->
<!-- <input class="form-control form-control-sm" name="napoSeaPointDetail" id="napoSeaPointDetail" placeholder="위반장소" th:value="${searchParams.napoSeaPointDetail}">-->
<!-- </div>-->
<!-- <div class="col-2">-->
<!-- <select class="form-select form-select-sm" name="invasionType">-->
<!-- <option value="">침범유형</option>-->
<!-- <th:block th:each="commonCode:${session.commonCode.get('IST')}">-->
<!-- <option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"-->
<!-- th:selected="${commonCode.itemCd eq searchParams.invasionType}"></option>-->
<!-- </th:block>-->
<!-- </select>-->
<!-- </div>-->
<!-- <div class="col-2">-->
<!-- <select class="form-select form-select-sm" name="nll">-->
<!-- <option value="">NLL</option>-->
<!-- <option value="Y" th:selected="${searchParams.nll == 'Y'}">O</option>-->
<!-- <option value="N" th:selected="${searchParams.nll == 'N'}">X</option>-->
<!-- </select>-->
<!-- </div>-->
<!-- <div class="col-2">-->
<!-- <input class="form-control form-control-sm" name="mmsi" id="mmsi" placeholder="MMSI.NO" th:value="${searchParams.mmsi}">-->
<!-- </div>-->
<!-- <div class="col-2">-->
<!-- <select class="form-select form-select-sm" name="caseAgency">-->
<!-- <option value="">사건담당기관</option>-->
<!-- <th:block th:each="commonCode:${session.commonCode.get('ATA')}">-->
<!-- <option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"-->
<!-- th:selected="${commonCode.itemCd eq searchParams.caseAgency}"></option>-->
<!-- </th:block>-->
<!-- </select>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="row justify-content-end pb-1">-->
<!-- <div class="col-2">-->
<!-- <select class="form-select form-select-sm" name="crackdownPolice" id="searchFormPolice">-->
<!-- <option value="">단속경찰서</option>-->
<!-- <th:block th:each="commonCode:${session.commonCode.get('CPO')}">-->
<!-- <option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"-->
<!-- th:selected="${commonCode.itemCd eq searchParams.crackdownPolice}"></option>-->
<!-- </th:block>-->
<!-- </select>-->
<!-- </div>-->
<!-- <div class="col-2">-->
<!-- <select class="form-select form-select-sm" name="crackdownBoat" id="searchFormBoat" disabled>-->
<!-- <option value="">단속함정</option>-->
<!-- <th:block th:each="cpoNum:${#numbers.sequence(1, #lists.size(session.commonCode.get('CPO')))}">-->
<!-- <th:block th:each="code:${session.commonCode.get('CPO'+cpoNum)}">-->
<!-- <option th:class="${code.categoryCd}" th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq searchParams.crackdownBoat}" style="display: none;"></option>-->
<!-- </th:block>-->
<!-- </th:block>-->
<!-- </select>-->
<!-- </div>-->
<!-- <div class="col-2">-->
<!-- <input class="form-control form-control-sm" name="distance" id="distance" placeholder="거리" th:value="${searchParams.distance}">-->
<!-- </div>-->
<!-- <div class="col-2">-->
<!-- <select class="form-select form-select-sm" name="processStatus" id="processStatus">-->
<!-- <option value="">처리현황</option>-->
<!-- <th:block th:each="commonCode:${session.commonCode.get('PR')}">-->
<!-- <option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"-->
<!-- th:selected="${commonCode.itemCd eq searchParams.processStatus}"></option>-->
<!-- </th:block>-->
<!-- </select>-->
<!-- </div>-->
<!-- <div class="col-4">-->
<!-- <div class="input-group w-auto input-daterange" id="dateSelectorDiv">-->
<!-- <select class="form-select form-select-sm w-30" name="dateSelector">-->
<!-- <option value="">조건선택</option>-->
<!-- <option value="napoDt" th:selected="${searchParams.dateSelector eq 'napoDt'}">나포일시</option>-->
<!-- <option value="evictionDt" th:selected="${searchParams.dateSelector eq 'evictionDt'}">퇴거일</option>-->
<!-- <option value="directHandoverDt" th:selected="${searchParams.dateSelector eq 'directHandoverDt'}">직접인계일</option>-->
<!-- <option value="consignmentDt" th:selected="${searchParams.dateSelector eq 'consignmentDt'}">위탁일</option>-->
<!-- <option value="confiscationDt" th:selected="${searchParams.dateSelector eq 'confiscationDt'}">몰수확정일</option>-->
<!-- <option value="boatDisposalDt" th:selected="${searchParams.dateSelector eq 'boatDisposalDt'}">폐선일</option>-->
<!-- <option value="returnDt" th:selected="${searchParams.dateSelector eq 'returnDt'}">환부일</option>-->
<!-- <option value="wrtDt" th:selected="${searchParams.dateSelector eq 'wrtDt'}">최종수정일</option>-->
<!-- </select>-->
<!-- <input type="text" class="form-control form-control-sm w-35" id="startDate" name="startDate" placeholder="시작일" autocomplete="off" readonly th:value="${searchParams.startDate}">-->
<!-- <input type="text" class="form-control form-control-sm w-35" id="endDate" name="endDate" placeholder="종료일" autocomplete="off" readonly th:value="${searchParams.endDate}">-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="row justify-content-start pb-1 subSearchParam" style="display: none">-->
<!-- <hr class="mb-1">-->
<!-- <label class="col-2 col-form-label col-form-label-sm">처리현황</label>-->
<!-- <div class="col-2">-->
<!-- <select class="form-select form-select-sm" name="isDamboUnpaidAmount" th:value="${searchParams.isDamboUnpaidAmount}">-->
<!-- <option value="">담보금 미납 여부</option>-->
<!-- <option value="Y" th:selected="${searchParams.isDamboUnpaidAmount eq 'Y'}">O</option>-->
<!-- <option value="N" th:selected="${searchParams.isDamboUnpaidAmount eq 'N'}">X</option>-->
<!-- </select>-->
<!-- </div>-->
<!-- <div class="col-2">-->
<!-- <select class="form-select form-select-sm" name="isEvictionDt" th:value="${searchParams.isEvictionDt}">-->
<!-- <option value="">퇴거여부</option>-->
<!-- <option value="Y" th:selected="${searchParams.isEvictionDt eq 'Y'}">O</option>-->
<!-- <option value="N" th:selected="${searchParams.isEvictionDt eq 'N'}">X</option>-->
<!-- </select>-->
<!-- </div>-->
<!-- <div class="col-2">-->
<!-- <select class="form-select form-select-sm" name="isReturnDt" th:value="${searchParams.isReturnDt}">-->
<!-- <option value="">환부여부</option>-->
<!-- <option value="Y" th:selected="${searchParams.isReturnDt eq 'Y'}">O</option>-->
<!-- <option value="N" th:selected="${searchParams.isReturnDt eq 'N'}">X</option>-->
<!-- </select>-->
<!-- </div>-->
<!-- <div class="col-2">-->
<!-- <select class="form-select form-select-sm" name="isConsignmentStartDt" th:value="${searchParams.isConsignmentStartDt}">-->
<!-- <option value="">위탁관리 여부</option>-->
<!-- <option value="Y" th:selected="${searchParams.isConsignmentStartDt eq 'Y'}">O</option>-->
<!-- <option value="N" th:selected="${searchParams.isConsignmentStartDt eq 'N'}">X</option>-->
<!-- </select>-->
<!-- </div>-->
<!-- <div class="col-2">-->
<!-- <select class="form-select form-select-sm" name="isConfiscationDt" th:value="${searchParams.isConfiscationDt}">-->
<!-- <option value="">침몰여부</option>-->
<!-- <option value="Y" th:selected="${searchParams.isConfiscationDt eq 'Y'}">O</option>-->
<!-- <option value="N" th:selected="${searchParams.isConfiscationDt eq 'N'}">X</option>-->
<!-- </select>-->
<!-- </div>-->
<!-- <div class="col-2"></div>-->
<!-- <div class="col-2">-->
<!-- <select class="form-select form-select-sm" name="boatDisposalType" th:value="${searchParams.boatDisposalType}">-->
<!-- <option value="">폐선종류</option>-->
<!-- <th:block th:each="commonCode:${session.commonCode.get('BDT')}">-->
<!-- <option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"-->
<!-- th:selected="${commonCode.itemCd eq searchParams.boatDisposalType}"></option>-->
<!-- </th:block>-->
<!-- </select>-->
<!-- </div>-->
<!-- <div class="col-2">-->
<!-- <select class="form-select form-select-sm" name="isDirectHandoverDt" th:value="${searchParams.isDirectHandoverDt}">-->
<!-- <option value="">직접인계 여부</option>-->
<!-- <option value="Y" th:selected="${searchParams.isDirectHandoverDt eq 'Y'}">O</option>-->
<!-- <option value="N" th:selected="${searchParams.isDirectHandoverDt eq 'N'}">X</option>-->
<!-- </select>-->
<!-- </div>-->
<!-- <div class="col-2">-->
<!-- <input class="form-control form-control-sm" name="handoverSeaPointDetail" id="handoverSeaPointDetail" placeholder="직접인계 해점" th:value="${searchParams.handoverSeaPointDetail}">-->
<!-- </div>-->
<!-- <div class="col-2">-->
<!-- <input class="form-control form-control-sm" name="handoverBoat" id="handoverBoat" placeholder="인계함정" th:value="${searchParams.handoverBoat}">-->
<!-- </div>-->
<!-- <div class="col-2">-->
<!-- <input class="form-control form-control-sm" name="middleTakeoverBoat" id="middleTakeoverBoat" placeholder="중측 인수함정" th:value="${searchParams.middleTakeoverBoat}">-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="row justify-content-start pb-1 subSearchParam" style="display: none">-->
<!-- <hr class="mb-1">-->
<!-- <label class="col-2 col-form-label col-form-label-sm">어선정보</label>-->
<!-- <div class="col-2">-->
<!-- <input class="form-control form-control-sm" name="boatNameKr" id="boatNameKr" placeholder="선명" th:value="${searchParams.boatNameKr}">-->
<!-- </div>-->
<!-- <div class="col-2">-->
<!-- <div class="input-group">-->
<!-- <input type="number" min="0" class="form-control form-control-sm" name="tonStartCnt" id="tonStartCnt" placeholder="톤수" th:value="${searchParams.tonStartCnt}">-->
<!-- ~<input type="number" min="0" class="form-control form-control-sm" name="tonEndCnt" id="tonEndCnt" placeholder="톤수" th:value="${searchParams.tonEndCnt}">-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="col-2">-->
<!-- <select class="form-select form-select-sm" name="boatMaterial" id="boatMaterial">-->
<!-- <option value="">선질</option>-->
<!-- <th:block th:each="commonCode:${session.commonCode.get('BM')}">-->
<!-- <option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"-->
<!-- th:selected="${commonCode.itemCd eq searchParams.boatMaterial}"></option>-->
<!-- </th:block>-->
<!-- </select>-->
<!-- </div>-->
<!-- <div class="col-2">-->
<!-- <input class="form-control form-control-sm" name="boatNnySung" id="boatNnySung" placeholder="선적 성" th:value="${searchParams.boatNnySung}">-->
<!-- </div>-->
<!-- <div class="col-2">-->
<!-- <input class="form-control form-control-sm" name="boatNnySi" id="boatNnySi" placeholder="선적 시" th:value="${searchParams.boatNnySi}">-->
<!-- </div>-->
<!-- <div class="col-2"></div>-->
<!-- <div class="col-2">-->
<!-- <input class="form-control form-control-sm" name="sailorNameKr" id="sailorNameKr" placeholder="선장명" th:value="${searchParams.sailorNameKr}">-->
<!-- </div>-->
<!-- <div class="col-2">-->
<!-- <select class="form-select form-select-sm" name="fisheryType" id="fisheryType">-->
<!-- <option value="">선종</option>-->
<!-- <th:block th:each="commonCode:${session.commonCode.get('FT')}">-->
<!-- <option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"-->
<!-- th:selected="${commonCode.itemCd eq searchParams.fisheryType}"></option>-->
<!-- </th:block>-->
<!-- </select>-->
<!-- </div>-->
<!-- <div class="col-2">-->
<!-- <input class="form-control form-control-sm" name="catchFishSpecies" id="catchFishSpecies" placeholder="어획물 축소기재 어종" th:value="${searchParams.catchFishSpecies}">-->
<!-- </div>-->
<!-- <div class="col-2">-->
<!-- <input class="form-control form-control-sm" name="offenseFishSpecies" id="offenseFishSpecies" placeholder="범칙물 어종" th:value="${searchParams.offenseFishSpecies}">-->
<!-- </div>-->
<!-- <div class="col-2"></div>-->
<!-- <label class="col-2 col-form-label col-form-label-sm">압수어구</label>-->
<!-- <div class="col-2">-->
<!-- <input class="form-control form-control-sm" name="confiscationFrame" id="confiscationFrame" placeholder="틀" th:value="${searchParams.confiscationFrame}">-->
<!-- </div>-->
<!-- <div class="col-2">-->
<!-- <input class="form-control form-control-sm" name="confiscationWidth" id="confiscationWidth" placeholder="폭" th:value="${searchParams.confiscationWidth}">-->
<!-- </div>-->
<!-- <div class="col-2">-->
<!-- <input class="form-control form-control-sm" name="confiscationJo" id="confiscationJo" placeholder="조" th:value="${searchParams.confiscationJo}">-->
<!-- </div>-->
<!-- <div class="col-2">-->
<!-- <input class="form-control form-control-sm" name="confiscationGae" id="confiscationGae" placeholder="개" th:value="${searchParams.confiscationGae}">-->
<!-- </div>-->
<!-- <div class="col-2">-->
<!-- <input class="form-control form-control-sm" name="confiscationEtc" id="confiscationEtc" placeholder="기타" th:value="${searchParams.confiscationEtc}">-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="row justify-content-start pb-1 subSearchParam" style="display: none">-->
<!-- <hr class="mb-1">-->
<!-- <label class="col-2 col-form-label col-form-label-sm">피해내용</label>-->
<!-- <div class="col-2">-->
<!-- <input type="number" min="0" class="form-control form-control-sm" name="obstrExspdCnt" id="obstrExspdCnt" placeholder="인적피해 발생건수" th:value="${searchParams.obstrExspdCnt}">-->
<!-- </div>-->
<!-- <div class="col-2">-->
<!-- <input type="number" min="0" class="form-control form-control-sm" name="personDamageCnt" id="personDamageCnt" placeholder="인적피해 피해인원" th:value="${searchParams.personDamageCnt}">-->
<!-- </div>-->
<!-- <div class="col-2">-->
<!-- <input type="number" min="0" class="form-control form-control-sm" name="personDamageAmount" id="personDamageAmount" placeholder="인적피해 피해액" th:value="${searchParams.personDamageAmount}">-->
<!-- </div>-->
<!-- <div class="col-2">-->
<!-- <input class="form-control form-control-sm" name="personDamageDetail" id="personDamageDetail" placeholder="인적피해 상세내용" th:value="${searchParams.personDamageDetail}">-->
<!-- </div>-->
<!-- <div class="col-2"></div>-->
<!-- <div class="col-2"></div>-->
<!-- <div class="col-2">-->
<!-- <input type="number" min="0" class="form-control form-control-sm" name="materialDamageCnt" id="materialDamageCnt" placeholder="물적피해 발생건수" th:value="${searchParams.materialDamageCnt}">-->
<!-- </div>-->
<!-- <div class="col-2"></div>-->
<!-- <div class="col-2">-->
<!-- <input type="number" min="0" class="form-control form-control-sm" name="materialDamageAmount" id="materialDamageAmount" placeholder="물적피해 피해액" th:value="${searchParams.materialDamageAmount}">-->
<!-- </div>-->
<!-- <div class="col-2">-->
<!-- <input class="form-control form-control-sm" name="materialDamageDetail" id="materialDamageDetail" placeholder="물적피해 상세내용" th:value="${searchParams.materialDamageDetail}">-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="row justify-content-start subSearchParam" style="display: none">-->
<!-- <hr class="mb-1">-->
<!-- <label class="col-2 col-form-label col-form-label-sm">구속여부</label>-->
<!-- <div class="col-2">-->
<!-- <select class="form-select form-select-sm" name="captin">-->
<!-- <option value="">선장</option>-->
<!-- <option value="Y" th:selected="${searchParams.captin eq 'Y'}">구속</option>-->
<!-- <option value="N" th:selected="${searchParams.captin eq 'N'}">불구속</option>-->
<!-- </select>-->
<!-- </div>-->
<!-- <div class="col-2">-->
<!-- <select class="form-select form-select-sm" name="mate">-->
<!-- <option value="">향해장</option>-->
<!-- <option value="Y" th:selected="${searchParams.mate eq 'Y'}">구속</option>-->
<!-- <option value="N" th:selected="${searchParams.mate eq 'N'}">불구속</option>-->
<!-- </select>-->
<!-- </div>-->
<!-- <div class="col-2">-->
<!-- <select class="form-select form-select-sm" name="warden">-->
<!-- <option value="">기관장</option>-->
<!-- <option value="Y" th:selected="${searchParams.warden eq 'Y'}">구속</option>-->
<!-- <option value="N" th:selected="${searchParams.warden eq 'N'}">불구속</option>-->
<!-- </select>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="col-1 d-grid gap-2">-->
<!-- <input type="submit" class="btn btn-primary" id="searchBtn" value="검색">-->
<!-- <button type="button" class="btn btn-info" id="searchFormBtn" data-state="hide">조건<br>펼치기</button>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- </form>-->
</div>
</div>
<div class="col-8">
<div class="row">
<div class="col-11">
<div class="row justify-content-end pb-1">
<div class="col-2">
<select class="form-select form-select-sm" name="caseAgency">
<option value="">사건담당기관</option>
<th:block th:each="commonCode:${session.commonCode.get('ATA')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
th:selected="${commonCode.itemCd eq searchParams.caseAgency}"></option>
</th:block>
</select>
</div>
<div class="col-2">
<select class="form-select form-select-sm" name="crackdownPolice" id="searchFormPolice">
<option value="">단속경찰서</option>
<th:block th:each="commonCode:${session.commonCode.get('CPO')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
th:selected="${commonCode.itemCd eq searchParams.crackdownPolice}"></option>
</th:block>
</select>
</div>
<div class="col-2">
<select class="form-select form-select-sm" name="crackdownBoat" id="searchFormBoat" disabled>
<option value="">단속함정</option>
<th:block th:each="cpoNum:${#numbers.sequence(1, #lists.size(session.commonCode.get('CPO')))}">
<th:block th:each="code:${session.commonCode.get('CPO'+cpoNum)}">
<option th:class="${code.categoryCd}" th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq searchParams.crackdownBoat}" style="display: none;"></option>
</th:block>
</th:block>
</select>
</div>
<div class="col-4">
<div class="input-group w-auto input-daterange" id="dateSelectorDiv">
<option value="napoDt" th:selected="${searchParams.dateSelector eq 'napoDt'}">나포일시</option>
<input type="text" class="form-control form-control-sm w-35" id="startDate" name="startDate" placeholder="시작일" autocomplete="off" readonly th:value="${searchParams.startDate}">
<input type="text" class="form-control form-control-sm w-35" id="endDate" name="endDate" placeholder="종료일" autocomplete="off" readonly th:value="${searchParams.endDate}">
</div>
</div>
</div>
</div>
<div class="col-1 d-grid gap-0">
<input type="submit" class="btn btn-sm btn-primary" id="searchBtn" value="검색">
</div>
</div>
</div>
</div>
</form>
<div class="card">
<div class="card-body">
<div class="row">
@ -365,7 +119,7 @@
</thead>
<tbody class="table-group-divider align-middle">
<tr class="tr" th:each="asfcov:${asfCovList}">
<tr class="tr" th:each="asfcov:${asfCovList}" th:data-key="${asfcov.asfCovKey}">
<td th:text="${asfcov.caseNum}"></td>
<td th:text="${asfcov.napoDt}"></td>
<td th:text="${asfcov.boatNameKr}"></td>

View File

@ -1,38 +1,59 @@
<!DOCTYPE html>
<html lang="ko" xmlns:th="http://www.thymeleaf.org">
<div class="modal-header bg-dark">
<h5 class="modal-title text-white" id="asfCovEditModalLabel" th:text="${asfCov.cdsKey eq null?'ASF 및 코로나19 관련 조치현황 작성':'ASF 및 코로나19 관련 조치현황 수정'}"></h5>
<h5 class="modal-title text-white" id="asfCovEditModalLabel" th:text="${asfCov.asfCovKey eq null?'ASF 및 코로나19 관련 조치현황 작성':'ASF 및 코로나19 관련 조치현황 수정'}"></h5>
<button type="button" class="btn-close f-invert" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body" id="asfCovEditModalContent">
<form action="#" method="post" id="asfCovEditForm">
<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="asfCovKey" th:value="${asfCov.asfCovKey }">
<input type="hidden" name="asfCovKey" th:value="${asfCov.asfCovKey}">
<input type="hidden" name="versionNo" th:value="${asfCov.versionNo}">
<input type="hidden" name="cdsKey" id="cdsKey" th:value="${asfCov.cdsKey}">
<input type="hidden" name="wrtOrgan" th:value="${asfCov.wrtOrgan}">
<input type="hidden" name="wrtPart" th:value="${asfCov.wrtPart}">
<input type="hidden" name="wrtUserSeq" th:value="${asfCov.wrtUserSeq}">
<input type="hidden" name="wrtUserGrd" th:value="${asfCov.wrtUserGrd}">
<input type="hidden" name="wrtUserNm" th:value="${asfCov.wrtUserNm}">
<input type="hidden" name="cdsKey" th:value="${asfCov.cdsKey}">
<div class="row mb-1">
<label for="wrtUserNm" class="col-sm-1 col-form-label col-form-label-sm text-center">작성자</label>
<div class="col-sm-2">
<th:block th:if="${asfCov.wrtUserGrd eq null}">
<input type="text" class="form-control form-control-sm" id="wrtUserNm" th:value="${asfCov.wrtUserNm}" readonly>
</th:block>
<th:block th:unless="${asfCov.wrtUserGrd eq null}">
<th:block th:each="code:${session.commonCode.get('JT')}">
<th:block th:if="${code.itemCd eq asfCov.wrtUserGrd}">
<input type="text" class="form-control form-control-sm" id="wrtUserNm" th:value="|${code.itemValue} ${asfCov.wrtUserNm}|" readonly>
</th:block>
</th:block>
</th:block>
</div>
<label for="wrtDt" 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="wrtDt" name="wrtDt" th:value="${#temporals.format(asfCov.wrtDt, 'yyyy-MM-dd HH:mm')}" readonly>
</div>
</div>
<div class="row mb-1">
<label for="boatNameKr" 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 fishingBoatInfo boatNameKr" id="boatNameKr" name="boatNameKr" placeholder="한글" th:value="${asfCov.boatNameKr}">
<input type="text" class="form-control form-control-sm cdsInfo" id="boatNameKr" name="boatNameKr" th:value="${asfCov.boatNameKr}" disabled>
</div>
<label for="caseNum" class="col-sm-1 col-form-label col-form-label-sm text-center">사건번호</label>
<div class="col-sm-2">
<div class="input-group">
<input type="text" class="form-control form-control-sm crackdownStatusInfo" id="caseNum" name="caseNum" th:value="${asfCov.caseNum}">
<input type="text" class="form-control form-control-sm cdsInfo" id="caseNum" name="caseNum" th:value="${asfCov.caseNum}" disabled>
<input type="button" class="btn btn-sm btn-outline-primary crackdownStatusInfo w-auto" id="caseNumBtn" value="불러오기">
</div>
</div>
<label for="caseNum" class="col-sm-2 col-form-label col-form-label-sm text-center">*사건번호로 불러와주세요</label>
</div>
<div class="row mb-1">
<label for="caseAgency" 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" id="caseAgency" name="caseAgency">
<option value="">선택</option>
<select class="form-select form-select-sm cdsInfo" id="caseAgency" name="caseAgency" disabled>
<option value=""></option>
<th:block th:each="commonCode:${session.commonCode.get('ATA')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq asfCov.caseAgency}"></option>
</th:block>
@ -40,12 +61,12 @@
</div>
<label for="casePoliceOfficer" class="col-sm-1 col-form-label col-form-label-sm text-center fs-13">사건담당경찰관</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm crackdownStatusInfo" id="casePoliceOfficer" name="casePoliceOfficer" th:value="${asfCov.casePoliceOfficer}">
<input type="text" class="form-control form-control-sm cdsInfo" id="casePoliceOfficer" name="casePoliceOfficer" th:value="${asfCov.casePoliceOfficer}" disabled>
</div>
<label for="crackdownPolice" 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 crackdownPolice" name="crackdownPolice" id="crackdownPolice">
<option value="">선택</option>
<select class="form-select form-select-sm cdsInfo" name="crackdownPolice" id="crackdownPolice" disabled>
<option value=""></option>
<th:block th:each="commonCode:${session.commonCode.get('CPO')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq asfCov.crackdownPolice}"></option>
</th:block>
@ -53,8 +74,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="${asfCov.crackdownBoat}" disabled>
<option value="">단속경찰서를 선택해주세요.</option>
<select class="form-select form-select-sm cdsInfo" name="crackdownBoat" id="crackdownBoat" disabled>
<option value=""></option>
<th:block th:each="cpoCode:${session.commonCode.get('CPO')}">
<th:block th:each="boatCode:${session.commonCode.get(cpoCode.itemCd)}">
<option th:value="${boatCode.itemCd}" th:text="${boatCode.itemValue}"></option>
</th:block>
</th:block>
</select>
</div>
</div>
@ -94,7 +120,7 @@
<div class="row mb-1">
<label for="asfcovActionDetail" class="col-sm-1 col-form-label col-form-label-sm text-center">검/방역조치내용</label>
<div class="col-sm-11">
<textarea class="form-control form-control-sm" rows="5" cols="30" name="asfcovActionDetail" th:value="${asfCov.asfcovActionDetail}"></textarea>
<textarea class="form-control form-control-sm" rows="5" cols="30" id="asfcovActionDetail" name="asfcovActionDetail" th:value="${asfCov.asfcovActionDetail}"></textarea>
</div>
</div>
</form>

View File

@ -1,10 +1,11 @@
<!DOCTYPE html>
<html lang="ko" xmlns:th="http://www.thymeleaf.org">
<div class="modal-header bg-dark">
<h5 class="modal-title text-white" id="processResultEditModalLabel" th:text="${asfCov.asfCovKey eq null ? '불법조업 외국어선 처리현황' : '불법조업 외국어선 처리현황'}">></h5>
<h5 class="modal-title text-white" id="processResultEditModalLabel">ASF 및 코로나19 관련 조치현황</h5>
<button type="button" class="btn-close f-invert" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<!-- 탭 메뉴 -->
<div class="modal-body">
<ul class="nav nav-tabs" role="tablist">
<li class="nav-item" role="presentation">
<button class="nav-link processResultTab active" id="processResult-tab" data-bs-toggle="tab"
@ -26,44 +27,166 @@
<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" th:value="${asfCov.cdsKey}">
<input type="hidden" name="fbKey" th:value="${asfCov.fbKey}">
<input type="hidden" name="wrtOrgan" th:value="${asfCov.wrtOrgan}">
<input type="hidden" name="wrtUserNm" th:value="${asfCov.wrtUserNm}">
<input type="hidden" name="wrtDt" th:value="${#temporals.format(asfCov.wrtDt, 'yyyy-MM-dd HH:mm')}">
<input type="hidden" id="saveYn" name="saveYn">
<div class="row mb-1">
<label class="col-sm-1 col-form-label col-form-label-sm text-center">사건번호</label>
<label for="wrtUserNm" class="col-sm-1 col-form-label col-form-label-sm text-center">작성자</label>
<div class="col-sm-2">
<input class="form-control form-control-sm" name="caseNum" id="caseNum" th:value="${asfCov.caseNum}" readonly>
</div>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">사건담당<br>경찰서</label>
<div class="col-sm-2">
<select class="form-select form-select-sm" name="crackdownPolice" id="crackdownPolice" disabled>
<option value="">선택</option>
<th:block th:each="commonCode:${session.commonCode.get('CPO')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
th:selected="${pasfCov.crackdownPolice eq commonCode.itemCd}"></option>
<th:block th:if="${asfCov.wrtUserGrd eq null}">
<input type="text" class="form-control form-control-sm" id="wrtUserNm" th:value="${asfCov.wrtUserNm}" readonly>
</th:block>
<th:block th:unless="${asfCov.wrtUserGrd eq null}">
<th:block th:each="code:${session.commonCode.get('JT')}">
<th:block th:if="${code.itemCd eq asfCov.wrtUserGrd}">
<input type="text" class="form-control form-control-sm" id="wrtUserNm" th:value="|${code.itemValue} ${asfCov.wrtUserNm}|" readonly>
</th:block>
</th:block>
</th:block>
</div>
<label for="wrtDt" 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="wrtDt" name="wrtDt" th:value="${#temporals.format(asfCov.wrtDt, 'yyyy-MM-dd HH:mm')}" readonly>
</div>
</div>
<div class="row mb-1">
<label for="boatNameKr" 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 cdsInfo" id="boatNameKr" name="boatNameKr" th:value="${asfCov.boatNameKr}" disabled>
</div>
<label for="caseNum" class="col-sm-1 col-form-label col-form-label-sm text-center">사건번호</label>
<div class="col-sm-2">
<div class="input-group">
<input type="text" class="form-control form-control-sm cdsInfo" id="caseNum" name="caseNum" th:value="${asfCov.caseNum}" disabled>
<input type="button" class="btn btn-sm btn-outline-primary crackdownStatusInfo w-auto" id="caseNumBtn" value="불러오기">
</div>
</div>
<label for="caseNum" class="col-sm-2 col-form-label col-form-label-sm text-center">*사건번호로 불러와주세요</label>
</div>
<div class="row mb-1">
<label for="caseAgency" 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 cdsInfo" id="caseAgency" name="caseAgency" disabled>
<option value=""></option>
<th:block th:each="commonCode:${session.commonCode.get('ATA')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq asfCov.caseAgency}"></option>
</th:block>
</select>
</div>
<label for="casePoliceOfficer" class="col-sm-1 col-form-label col-form-label-sm text-center fs-13">사건담당경찰관</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm cdsInfo" id="casePoliceOfficer" name="casePoliceOfficer" th:value="${asfCov.casePoliceOfficer}" disabled>
</div>
<label for="crackdownPolice" 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 cdsInfo" name="crackdownPolice" id="crackdownPolice" disabled>
<option value=""></option>
<th:block th:each="commonCode:${session.commonCode.get('CPO')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq asfCov.crackdownPolice}"></option>
</th:block>
</select>
</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 cdsInfo" name="crackdownBoat" id="crackdownBoat" disabled>
<option value=""></option>
<th:block th:each="cpoCode:${session.commonCode.get('CPO')}">
<th:block th:each="boatCode:${session.commonCode.get(cpoCode.itemCd)}">
<option th:value="${boatCode.itemCd}" th:text="${boatCode.itemValue}"></option>
</th:block>
</th:block>
<option value="etc" th:selected="${asfCov.crackdownPolice ne null && asfCov.crackdownPolice ne '' && !#strings.contains(asfCov.crackdownPolice, 'CPO')}">직접입력</option>
</select>
</div>
</div>
<div class="row mb-1">
<label class="col-sm-1 col-form-label col-form-label-sm text-center">선명</label>
<label for="pressurizedYn" class="col-sm-1 col-form-label col-form-label-sm text-center">전용부두 압송여부</label>
<div class="col-sm-2">
<input class="form-control form-control-sm" name="boatNameKr" id="boatNameKr" th:value="${asfCov.boatNameKr}" readonly>
<select class="form-select form-select-sm crackdownStatusInfo" name="pressurizedYn" id="pressurizedYn">
<option value="">선택</option>
<option value="Y" th:selected="${asfCov.pressurizedYn eq 'Y'}">압송</option>
<option value="N" th:selected="${asfCov.pressurizedYn eq 'N'}">미압송</option>
</select>
</div>
<label for="pressurizedN" 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" name="pressurizedN" id="pressurizedN">
<option value="">선택</option>
<option value="Y" th:selected="${asfCov.pressurizedN eq 'A'}">현장조사</option>
<option value="N" th:selected="${asfCov.pressurizedN eq 'O'}">기타</option>
</select>
</div>
</div>
<div class="row mb-1">
<label for="personCnt" 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 crackdownStatusInfo" id="personCnt" name="personCnt" th:value="${asfCov.personCnt}">
</div>
<label for="pressurizedN" class="col-sm-1 col-form-label col-form-label-sm text-center">코로나19 검사결과</label>
<label for="personPositiveCnt" class="col-sm-1 col-form-label col-form-label-sm text-center">양성</label>
<div class="col-sm-1">
<input type="text" class="form-control form-control-sm crackdownStatusInfo" id="personPositiveCnt" name="personPositiveCnt" th:value="${asfCov.personPositiveCnt}">
</div>
<label for="personNegativeCnt" class="col-sm-1 col-form-label col-form-label-sm text-center">음성</label>
<div class="col-sm-1">
<input type="text" class="form-control form-control-sm crackdownStatusInfo" id="personNegativeCnt" name="personNegativeCnt" th:value="${asfCov.personNegativeCnt}">
</div>
</div>
<div class="row mb-1">
<label for="asfcovActionDetail" class="col-sm-1 col-form-label col-form-label-sm text-center">검/방역조치내용</label>
<div class="col-sm-11">
<textarea class="form-control form-control-sm" rows="5" cols="30" id="asfcovActionDetail" name="asfcovActionDetail" th:value="${asfCov.asfcovActionDetail}"></textarea>
</div>
</div>
</form>
</div>
</div>
<div class="tab-pane fade p-2 mx-2" id="history" role="tabpanel" aria-labelledby="history-tab" tabindex="0">
<div class="row">
<div class="col-4">
<table class="table table-hover">
<thead>
<tr>
<td></td>
<td>수정자</td>
<td>수정일</td>
</tr>
</thead>
<tbody>
<tr class="versionInfoTr" th:each="asfcov:${asfCovList}">
<input type="hidden" class="asfCovKey" th:value="${asfcov.asfCovKey}">
<input type="hidden" class="versionNo" th:value="${asfcov.versionNo}">
<td><input type="checkbox" class="versionInfoChkbox"></td>
<td>
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
<th:block th:if="${asfcov.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="${asfcov.wrtUserGrd eq commonCode.itemCd}" th:text="${commonCode.itemValue}"></th:block>
</th:block>
<th:block th:text="${asfcov.wrtUserNm}"></th:block>
</td>
<td th:text="${#temporals.format(asfcov.wrtDt, 'yyyy-MM-dd HH:mm')}"></td>
</tr>
</tbody>
</table>
</div>
<div class="col-8" id="fishingBoardVersionInfoDiv">
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer bg-light">
<th:block th:if="${userSeq eq asfCov.wrtUserSeq or accessAuth eq 'ACC003'}"><!--작성자일 경우 수정 허용--><!--관리자일 경우 수정 허용-->
<button type="button" class="btn btn-warning" id="processResultEditBtn">수정</button>
<th:block th:if="${userSeq eq asfCov.wrtUserSeq}"><!--작성자일 경우 수정 허용-->
<button type="button" class="btn btn-warning" id="editBtn" th:data-asfCovkey="${asfCov.asfCovKey}">수정</button>
</th:block>
<!-- <th:block th:if="${userSeq eq asfCov.wrtUserSeq or accessAuth eq 'ACC003'}">&lt;!&ndash;작성자일 경우 수정 허용&ndash;&gt;&lt;!&ndash;관리자일 경우 수정 허용&ndash;&gt;-->
<!-- <button type="button" class="btn btn-warning" id="processResultEditBtn">수정</button>-->
<!-- </th:block>-->
<button type="button" class="btn btn-danger" id="deleteMajorBtn">삭제</button>
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">닫기</button>
</div>
</html>