asf 및 코로나19 관련조치사항 4차
parent
d8d50f7a7d
commit
57df3f077c
|
|
@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
||||||
import org.springframework.web.servlet.ModelAndView;
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -52,7 +53,7 @@ public class AsfCovController {
|
||||||
asfCov.setWrtUserSeq(loginUser.getUserSeq());
|
asfCov.setWrtUserSeq(loginUser.getUserSeq());
|
||||||
asfCov.setWrtUserGrd(loginUser.getTitleCd());
|
asfCov.setWrtUserGrd(loginUser.getTitleCd());
|
||||||
asfCov.setWrtUserNm(loginUser.getUserNm());
|
asfCov.setWrtUserNm(loginUser.getUserNm());
|
||||||
asfCov.setWrtDt(loginUser.getWrtDt());
|
asfCov.setWrtDt(LocalDateTime.now());
|
||||||
}
|
}
|
||||||
mav.addObject("asfCov", asfCov);
|
mav.addObject("asfCov", asfCov);
|
||||||
mav.addObject("userSeq", loginUser.getUserSeq());
|
mav.addObject("userSeq", loginUser.getUserSeq());
|
||||||
|
|
|
||||||
|
|
@ -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.CrackdownStatus;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatusBaseEntity;
|
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.faStatistics.crackdownsStatus.model.fishingBoat.FishingBoat;
|
||||||
|
import com.dbnt.faisp.main.ivsgtMgt.majorStatus.model.MajorFile;
|
||||||
import io.micrometer.core.annotation.Counted;
|
import io.micrometer.core.annotation.Counted;
|
||||||
import lombok.Getter;
|
import lombok.*;
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
import lombok.Setter;
|
|
||||||
import org.hibernate.annotations.DynamicInsert;
|
import org.hibernate.annotations.DynamicInsert;
|
||||||
import org.hibernate.annotations.DynamicUpdate;
|
import org.hibernate.annotations.DynamicUpdate;
|
||||||
import org.springframework.format.annotation.DateTimeFormat;
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
import javax.persistence.*;
|
import javax.persistence.*;
|
||||||
|
import java.io.Serializable;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
|
|
@ -22,12 +22,13 @@ import java.time.LocalDateTime;
|
||||||
@DynamicInsert
|
@DynamicInsert
|
||||||
@DynamicUpdate
|
@DynamicUpdate
|
||||||
@Table(name="asfcov_status")
|
@Table(name="asfcov_status")
|
||||||
|
@IdClass(AsfCov.AsfCovId.class)
|
||||||
public class AsfCov extends BaseModel {
|
public class AsfCov extends BaseModel {
|
||||||
@Id
|
@Id
|
||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
|
||||||
@Column(name = "asfcov_key")
|
@Column(name = "asfcov_key")
|
||||||
private Integer asfCovKey;
|
private Integer asfCovKey;
|
||||||
|
|
||||||
|
@Id
|
||||||
@Column(name="version_no")
|
@Column(name="version_no")
|
||||||
private Integer versionNo;
|
private Integer versionNo;
|
||||||
|
|
||||||
|
|
@ -79,101 +80,28 @@ public class AsfCov extends BaseModel {
|
||||||
|
|
||||||
|
|
||||||
@Transient
|
@Transient
|
||||||
private CrackdownStatus crackdownStatus;
|
|
||||||
|
|
||||||
@Column(name = "case_num")
|
|
||||||
private String caseNum;
|
private String caseNum;
|
||||||
|
@Transient
|
||||||
@Column(name = "case_police_officer")
|
|
||||||
private String casePoliceOfficer;
|
private String casePoliceOfficer;
|
||||||
|
@Transient
|
||||||
@Column(name = "crackdown_boat")
|
private String crackdownPolice;
|
||||||
|
@Transient
|
||||||
private String crackdownBoat;
|
private String crackdownBoat;
|
||||||
|
@Transient
|
||||||
@Column(name = "napo_dt")
|
private String napoDt;
|
||||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
|
@Transient
|
||||||
private LocalDateTime napoDt;
|
private String boatNameKr;
|
||||||
|
@Transient
|
||||||
@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")
|
|
||||||
private String caseAgency;
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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.asfCov.AsfCov;
|
||||||
|
|
||||||
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
public interface AsfCovRepository extends JpaRepository<AsfCov, Integer> {
|
public interface AsfCovRepository extends JpaRepository<AsfCov, Integer> {
|
||||||
|
Optional<AsfCov> findByCdsKey(Integer cdsKey);
|
||||||
|
Optional<AsfCov> findByAsfCovKey(Integer asfCovKey);
|
||||||
// void deleteByAsfCov(Integer asfCovKey);
|
// void deleteByAsfCov(Integer asfCovKey);
|
||||||
|
Optional<AsfCov> findTop1ByAsfCovKeyOrderByVersionNoDesc(Integer asfCovKey);
|
||||||
|
Optional<AsfCov> findTop1ByOrderByAsfCovKeyDesc();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,12 +3,17 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus.service;
|
||||||
import com.dbnt.faisp.config.BaseService;
|
import com.dbnt.faisp.config.BaseService;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.mapper.AsfCovMapper;
|
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.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.faStatistics.crackdownsStatus.repository.AsfCovRepository;
|
||||||
|
|
||||||
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.CrackdownStatusRepository;
|
||||||
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.FishingBoatRepository;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
|
|
@ -17,6 +22,8 @@ public class AsfCovService extends BaseService {
|
||||||
|
|
||||||
private final AsfCovMapper asfCovMapper;
|
private final AsfCovMapper asfCovMapper;
|
||||||
private final AsfCovRepository asfCovRepository;
|
private final AsfCovRepository asfCovRepository;
|
||||||
|
private final CrackdownStatusRepository crackdownStatusRepository;
|
||||||
|
private final FishingBoatRepository fishingBoatRepository;
|
||||||
|
|
||||||
public List<AsfCov> selectAsfCovList(AsfCov asfCov){
|
public List<AsfCov> selectAsfCovList(AsfCov asfCov){
|
||||||
return asfCovMapper.selectAsfCovList(asfCov);
|
return asfCovMapper.selectAsfCovList(asfCov);
|
||||||
|
|
@ -27,15 +34,36 @@ public class AsfCovService extends BaseService {
|
||||||
}
|
}
|
||||||
|
|
||||||
public AsfCov selectAsfCov(Integer asfCovKey) {
|
public AsfCov selectAsfCov(Integer asfCovKey) {
|
||||||
AsfCov asfCov= asfCovRepository.findById(asfCovKey).orElse(null);
|
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;
|
return asfCov;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
public Integer saveContent(AsfCov asfCov) {
|
public Integer saveContent(AsfCov asfCov) {
|
||||||
Integer asfCovKey = asfCovRepository.save(asfCov).getAsfCovKey();
|
if(asfCov.getAsfCovKey()==null){
|
||||||
return asfCovKey;
|
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
|
@Transactional
|
||||||
|
|
|
||||||
|
|
@ -45,11 +45,6 @@ public class MajorStatusService extends BaseService {
|
||||||
public MajorStatus selectMajor(Integer majorKey) {
|
public MajorStatus selectMajor(Integer majorKey) {
|
||||||
MajorStatus majorStatus= majorStatusRepository.findById(majorKey).orElse(null);
|
MajorStatus majorStatus= majorStatusRepository.findById(majorKey).orElse(null);
|
||||||
majorStatus.setFileList(majorFileRepository.findByMajorKey(majorKey));
|
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;
|
return majorStatus;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -32,10 +32,6 @@
|
||||||
<if test="wrtUserNm != null and wrtUserNm != ''">
|
<if test="wrtUserNm != null and wrtUserNm != ''">
|
||||||
AND wrt_user_nm LIKE CONCAT('%', #{wrtUserNm}, '%')
|
AND wrt_user_nm LIKE CONCAT('%', #{wrtUserNm}, '%')
|
||||||
</if>
|
</if>
|
||||||
<!-- and wrt_organ in-->
|
|
||||||
<!-- <foreach collection="downOrganCdList" item="organCd" separator="," open="(" close=")">-->
|
|
||||||
<!-- #{organCd}-->
|
|
||||||
<!-- </foreach>-->
|
|
||||||
|
|
||||||
</where>
|
</where>
|
||||||
</sql>
|
</sql>
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,7 @@ $(document).on('click', '#addAsfCovBtn', function (){
|
||||||
$(document).on('click', '.tr', function (){
|
$(document).on('click', '.tr', function (){
|
||||||
$(".trChkBox").prop("checked", false);
|
$(".trChkBox").prop("checked", false);
|
||||||
$(this).find(".trChkBox").prop("checked", true);
|
$(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({
|
$.ajax({
|
||||||
url: '/faStatistics/asfCovEditModal',
|
url: '/faStatistics/asfCovEditModal',
|
||||||
data: {cdsKey: cdsKey},
|
data: {asfCovKey: asfCovKey},
|
||||||
type: 'GET',
|
type: 'GET',
|
||||||
dataType:"html",
|
dataType:"html",
|
||||||
success: function(html){
|
success: function(html){
|
||||||
|
|
@ -141,10 +141,7 @@ function getViewModal(asfCovKey){
|
||||||
|
|
||||||
function saveContent(contentStatus){
|
function saveContent(contentStatus){
|
||||||
const formData = new FormData($("#asfCovEditForm")[0]);
|
const formData = new FormData($("#asfCovEditForm")[0]);
|
||||||
|
|
||||||
|
|
||||||
formData.append('contentStatus', contentStatus);
|
formData.append('contentStatus', contentStatus);
|
||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type : 'POST',
|
type : 'POST',
|
||||||
data : formData,
|
data : formData,
|
||||||
|
|
@ -166,10 +163,10 @@ function saveContent(contentStatus){
|
||||||
|
|
||||||
function contentCheck(formId){
|
function contentCheck(formId){
|
||||||
let flag = true;
|
let flag = true;
|
||||||
if(!$("#contentTitle").val()){
|
// if(!$("#contentTitle").val()){
|
||||||
alert("제목을 입력해주세요.")
|
// alert("제목을 입력해주세요.")
|
||||||
flag = false;
|
// flag = false;
|
||||||
}
|
// }
|
||||||
|
|
||||||
flag = fileCheck(flag, files);
|
flag = fileCheck(flag, files);
|
||||||
return flag;
|
return flag;
|
||||||
|
|
@ -196,7 +193,7 @@ $(document).on('click', '#getCrackdownBtn', function (){
|
||||||
getEditModal($(".crackdownChkbox:checked").parents(".crackdownTr").attr("data-key"));
|
getEditModal($(".crackdownChkbox:checked").parents(".crackdownTr").attr("data-key"));
|
||||||
const tr= $(".crackdownChkbox:checked").parents(".crackdownTr")
|
const tr= $(".crackdownChkbox:checked").parents(".crackdownTr")
|
||||||
$(".cdsInfo").removeAttr("disable")
|
$(".cdsInfo").removeAttr("disable")
|
||||||
$("#cdsKey").val(tr.attr(".data-key"))
|
$("#cdsKey").val(tr.attr("data-key"))
|
||||||
$("#boatNameKr").val(tr.find(".boatNameKr").val())
|
$("#boatNameKr").val(tr.find(".boatNameKr").val())
|
||||||
$("#caseNum").val(tr.find(".caseNum").val())
|
$("#caseNum").val(tr.find(".caseNum").val())
|
||||||
$("#caseAgency").val(tr.find(".caseAgency").val())
|
$("#caseAgency").val(tr.find(".caseAgency").val())
|
||||||
|
|
@ -208,8 +205,6 @@ $(document).on('click', '#getCrackdownBtn', function (){
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$(function(){
|
$(function(){
|
||||||
const searchFormBoat = $("#searchFormBoat")
|
const searchFormBoat = $("#searchFormBoat")
|
||||||
if(searchFormBoat.val()!==""){
|
if(searchFormBoat.val()!==""){
|
||||||
|
|
@ -223,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")
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -119,7 +119,7 @@
|
||||||
</thead>
|
</thead>
|
||||||
<tbody class="table-group-divider align-middle">
|
<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.caseNum}"></td>
|
||||||
<td th:text="${asfcov.napoDt}"></td>
|
<td th:text="${asfcov.napoDt}"></td>
|
||||||
<td th:text="${asfcov.boatNameKr}"></td>
|
<td th:text="${asfcov.boatNameKr}"></td>
|
||||||
|
|
|
||||||
|
|
@ -9,12 +9,32 @@
|
||||||
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
||||||
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
|
<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="wrtOrgan" th:value="${asfCov.wrtOrgan}">
|
||||||
<input type="hidden" name="wrtPart" th:value="${asfCov.wrtPart}">
|
<input type="hidden" name="wrtPart" th:value="${asfCov.wrtPart}">
|
||||||
<input type="hidden" name="wrtUserSeq" th:value="${asfCov.wrtUserSeq}">
|
<input type="hidden" name="wrtUserSeq" th:value="${asfCov.wrtUserSeq}">
|
||||||
<input type="hidden" name="wrtUserGrd" th:value="${asfCov.wrtUserGrd}">
|
<input type="hidden" name="wrtUserGrd" th:value="${asfCov.wrtUserGrd}">
|
||||||
<input type="hidden" name="wrtUserNm" th:value="${asfCov.wrtUserNm}">
|
<input type="hidden" name="wrtUserNm" th:value="${asfCov.wrtUserNm}">
|
||||||
<input type="hidden" name="cdsKey" id="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">
|
<div class="row mb-1">
|
||||||
<label for="boatNameKr" class="col-sm-1 col-form-label col-form-label-sm text-center">선명</label>
|
<label for="boatNameKr" class="col-sm-1 col-form-label col-form-label-sm text-center">선명</label>
|
||||||
<div class="col-sm-2">
|
<div class="col-sm-2">
|
||||||
|
|
@ -100,7 +120,7 @@
|
||||||
<div class="row mb-1">
|
<div class="row mb-1">
|
||||||
<label for="asfcovActionDetail" class="col-sm-1 col-form-label col-form-label-sm text-center">검/방역조치내용</label>
|
<label for="asfcovActionDetail" class="col-sm-1 col-form-label col-form-label-sm text-center">검/방역조치내용</label>
|
||||||
<div class="col-sm-11">
|
<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>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,11 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="ko" xmlns:th="http://www.thymeleaf.org">
|
<html lang="ko" xmlns:th="http://www.thymeleaf.org">
|
||||||
<div class="modal-header bg-dark">
|
<div class="modal-header bg-dark">
|
||||||
<h5 class="modal-title text-white" id="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>
|
<button type="button" class="btn-close f-invert" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||||
</div>
|
</div>
|
||||||
<!-- 탭 메뉴 -->
|
<!-- 탭 메뉴 -->
|
||||||
|
<div class="modal-body">
|
||||||
<ul class="nav nav-tabs" role="tablist">
|
<ul class="nav nav-tabs" role="tablist">
|
||||||
<li class="nav-item" role="presentation">
|
<li class="nav-item" role="presentation">
|
||||||
<button class="nav-link processResultTab active" id="processResult-tab" data-bs-toggle="tab"
|
<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" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
||||||
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
|
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
|
||||||
<input type="hidden" name="cdsKey" th:value="${asfCov.cdsKey}">
|
<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="wrtOrgan" th:value="${asfCov.wrtOrgan}">
|
||||||
<input type="hidden" name="wrtUserNm" th:value="${asfCov.wrtUserNm}">
|
<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" name="wrtDt" th:value="${#temporals.format(asfCov.wrtDt, 'yyyy-MM-dd HH:mm')}">
|
||||||
<input type="hidden" id="saveYn" name="saveYn">
|
<input type="hidden" id="saveYn" name="saveYn">
|
||||||
<div class="row mb-1">
|
<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">
|
<div class="col-sm-2">
|
||||||
<input class="form-control form-control-sm" name="caseNum" id="caseNum" th:value="${asfCov.caseNum}" readonly>
|
<th:block th:if="${asfCov.wrtUserGrd eq null}">
|
||||||
</div>
|
<input type="text" class="form-control form-control-sm" id="wrtUserNm" th:value="${asfCov.wrtUserNm}" readonly>
|
||||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">사건담당<br>경찰서</label>
|
</th:block>
|
||||||
<div class="col-sm-2">
|
<th:block th:unless="${asfCov.wrtUserGrd eq null}">
|
||||||
<select class="form-select form-select-sm" name="crackdownPolice" id="crackdownPolice" disabled>
|
<th:block th:each="code:${session.commonCode.get('JT')}">
|
||||||
<option value="">선택</option>
|
<th:block th:if="${code.itemCd eq asfCov.wrtUserGrd}">
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('CPO')}">
|
<input type="text" class="form-control form-control-sm" id="wrtUserNm" th:value="|${code.itemValue} ${asfCov.wrtUserNm}|" readonly>
|
||||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
|
</th:block>
|
||||||
th:selected="${pasfCov.crackdownPolice eq commonCode.itemCd}"></option>
|
</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>
|
</th:block>
|
||||||
<option value="etc" th:selected="${asfCov.crackdownPolice ne null && asfCov.crackdownPolice ne '' && !#strings.contains(asfCov.crackdownPolice, 'CPO')}">직접입력</option>
|
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row mb-1">
|
<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">
|
<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>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</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>
|
||||||
<div class="modal-footer bg-light">
|
<div class="modal-footer bg-light">
|
||||||
<th:block th:if="${userSeq eq asfCov.wrtUserSeq or accessAuth eq 'ACC003'}"><!--작성자일 경우 수정 허용--><!--관리자일 경우 수정 허용-->
|
<th:block th:if="${userSeq eq asfCov.wrtUserSeq}"><!--작성자일 경우 수정 허용-->
|
||||||
<button type="button" class="btn btn-warning" id="processResultEditBtn">수정</button>
|
<button type="button" class="btn btn-warning" id="editBtn" th:data-asfCovkey="${asfCov.asfCovKey}">수정</button>
|
||||||
</th:block>
|
</th:block>
|
||||||
|
<!-- <th:block th:if="${userSeq eq asfCov.wrtUserSeq or accessAuth eq 'ACC003'}"><!–작성자일 경우 수정 허용–><!–관리자일 경우 수정 허용–>-->
|
||||||
|
<!-- <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>
|
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">닫기</button>
|
||||||
</div>
|
</div>
|
||||||
</html>
|
</html>
|
||||||
Loading…
Reference in New Issue