asf 및 코로나19 관련조치사항 4차

master
DESKTOP-QGC5RJO\DBNT 2023-01-12 18:01:11 +09:00
parent d8d50f7a7d
commit 57df3f077c
10 changed files with 248 additions and 144 deletions

View File

@ -17,6 +17,7 @@ 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;
@ -52,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());

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;
@ -79,101 +80,28 @@ public class AsfCov extends BaseModel {
@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> {
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,12 +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.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
@ -17,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);
@ -27,15 +34,36 @@ public class AsfCovService extends BaseService {
}
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;
}
@Transactional
public Integer saveContent(AsfCov asfCov) {
Integer asfCovKey = asfCovRepository.save(asfCov).getAsfCovKey();
return asfCovKey;
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

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

@ -32,10 +32,6 @@
<if test="wrtUserNm != null and wrtUserNm != ''">
AND wrt_user_nm LIKE CONCAT('%', #{wrtUserNm}, '%')
</if>
<!-- and wrt_organ in-->
<!-- <foreach collection="downOrganCdList" item="organCd" separator="," open="(" close=")">-->
<!-- #{organCd}-->
<!-- </foreach>-->
</where>
</sql>

View File

@ -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,10 +141,7 @@ function getViewModal(asfCovKey){
function saveContent(contentStatus){
const formData = new FormData($("#asfCovEditForm")[0]);
formData.append('contentStatus', contentStatus);
$.ajax({
type : 'POST',
data : formData,
@ -166,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;
@ -196,7 +193,7 @@ $(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"))
$("#cdsKey").val(tr.attr("data-key"))
$("#boatNameKr").val(tr.find(".boatNameKr").val())
$("#caseNum").val(tr.find(".caseNum").val())
$("#caseAgency").val(tr.find(".caseAgency").val())
@ -208,8 +205,6 @@ $(document).on('click', '#getCrackdownBtn', function (){
})
$(function(){
const searchFormBoat = $("#searchFormBoat")
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")
}
})

View File

@ -119,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

@ -9,12 +9,32 @@
<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="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" 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">
<label for="boatNameKr" class="col-sm-1 col-form-label col-form-label-sm text-center">선명</label>
<div class="col-sm-2">
@ -100,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>