Merge branch 'master' of https://dev.azure.com/DBNTech/ForeignAffairs/_git/ForeignAffairs
commit
dc05119c50
|
|
@ -0,0 +1,64 @@
|
||||||
|
package com.dbnt.faisp.main.faStatistics.crackdownsStatus;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
import com.dbnt.faisp.main.codeMgt.service.CodeMgtService;
|
||||||
|
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.model.processResult.ProcessResult;
|
||||||
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.service.AsfCovService;
|
||||||
|
import com.dbnt.faisp.main.userInfo.model.UserInfo;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
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.servlet.ModelAndView;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@RequestMapping("/faStatistics")
|
||||||
|
public class AsfCovController {
|
||||||
|
|
||||||
|
private final AsfCovService asfCovService;
|
||||||
|
private final CodeMgtService codeMgtService;
|
||||||
|
|
||||||
|
@GetMapping("/asfCov")
|
||||||
|
public ModelAndView asfCove(@AuthenticationPrincipal UserInfo loginUser, AsfCov asfCov) {
|
||||||
|
ModelAndView mav = new ModelAndView("faStatistics/asfCov/asfCov");
|
||||||
|
|
||||||
|
mav.addObject("mgtOrganList", loginUser.getDownOrganCdList());
|
||||||
|
mav.addObject("searchParams", asfCov);
|
||||||
|
|
||||||
|
asfCov.setQueryInfo();
|
||||||
|
mav.addObject("asfCovList", asfCovService.selectAsfCovList(asfCov));
|
||||||
|
asfCov.setPaginationInfo();
|
||||||
|
return mav;
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/asfCovEditModal")
|
||||||
|
public ModelAndView asfCovEditModal(@AuthenticationPrincipal UserInfo loginUser, AsfCov asfCov) {
|
||||||
|
ModelAndView mav = new ModelAndView("faStatistics/asfCov/asfCovEditModal");
|
||||||
|
if (asfCov.getAsfcovKey() != null) {
|
||||||
|
asfCov = asfCovService.selectAsfCov(asfCov.getAsfcovKey());
|
||||||
|
} else {
|
||||||
|
asfCov.setWrtOrgan(loginUser.getOgCd());
|
||||||
|
asfCov.setWrtPart(loginUser.getOfcCd());
|
||||||
|
asfCov.setWrtUserSeq(loginUser.getUserSeq());
|
||||||
|
asfCov.setWrtUserGrd(loginUser.getTitleCd());
|
||||||
|
asfCov.setWrtUserNm(loginUser.getUserNm());
|
||||||
|
asfCov.setWrtDt(loginUser.getWrtDt());
|
||||||
|
asfCov.setWrtDt(loginUser.getWrtDt());
|
||||||
|
}
|
||||||
|
mav.addObject("asfCov", asfCov);
|
||||||
|
mav.addObject("userSeq", loginUser.getUserSeq());
|
||||||
|
|
||||||
|
return mav;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
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 org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Mapper
|
||||||
|
public interface AsfCovMapper {
|
||||||
|
List<AsfCov> selectAsfCovList(AsfCov asfCov);
|
||||||
|
Integer selectAsfCovListCnt(AsfCov asfCov);
|
||||||
|
|
||||||
|
List<AsfCov> selectAsfCovListWhere(AsfCov asfCov);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,78 @@
|
||||||
|
package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.asfCov;
|
||||||
|
|
||||||
|
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 io.micrometer.core.annotation.Counted;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.Setter;
|
||||||
|
import org.hibernate.annotations.DynamicInsert;
|
||||||
|
import org.hibernate.annotations.DynamicUpdate;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
|
import javax.persistence.*;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@Entity
|
||||||
|
@NoArgsConstructor
|
||||||
|
@DynamicInsert
|
||||||
|
@DynamicUpdate
|
||||||
|
@Table(name="asfcov_status")
|
||||||
|
public class AsfCov extends BaseModel {
|
||||||
|
@Id
|
||||||
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
|
@Column(name = "asfcov_key")
|
||||||
|
private Integer asfcovKey;
|
||||||
|
|
||||||
|
@Column(name="version_no")
|
||||||
|
private Integer versionNo;
|
||||||
|
|
||||||
|
@Column(name = "cds_key")
|
||||||
|
private Integer cdsKey;
|
||||||
|
|
||||||
|
@Column(name ="person_cnt")
|
||||||
|
private Integer personCnt;
|
||||||
|
|
||||||
|
@Column(name ="pressurized_yn")
|
||||||
|
private String pressurizedYn;
|
||||||
|
|
||||||
|
@Column(name ="pressurized_n")
|
||||||
|
private String pressurizedN;
|
||||||
|
|
||||||
|
@Column(name ="person_negative_cnt")
|
||||||
|
private Integer personNegativeCnt;
|
||||||
|
|
||||||
|
@Column(name ="person_positive_cnt")
|
||||||
|
private Integer personPositiveCnt;
|
||||||
|
|
||||||
|
@Column(name ="asfcov_action_detail")
|
||||||
|
private String asfcovActionDetail;
|
||||||
|
|
||||||
|
@Column(name = "wrt_user_grd")
|
||||||
|
private String wrtUserGrd;
|
||||||
|
|
||||||
|
@Column(name = "wrt_user_nm")
|
||||||
|
private String wrtUserNm;
|
||||||
|
|
||||||
|
@Column(name = "wrt_dt")
|
||||||
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
|
||||||
|
private LocalDateTime wrtDt;
|
||||||
|
|
||||||
|
@Column(name="wrt_organ")
|
||||||
|
private String wrtOrgan;
|
||||||
|
|
||||||
|
@Column(name="wrt_user_seq")
|
||||||
|
private Integer wrtUserSeq;
|
||||||
|
|
||||||
|
@Column(name = "wrt_part")
|
||||||
|
private String wrtPart;
|
||||||
|
|
||||||
|
@Transient
|
||||||
|
private CrackdownStatus crackdownStatus;
|
||||||
|
|
||||||
|
@Transient
|
||||||
|
private Integer caseNum;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
package com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository;
|
||||||
|
|
||||||
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.asfCov.AsfCov;
|
||||||
|
|
||||||
|
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);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,33 @@
|
||||||
|
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.repository.AsfCovRepository;
|
||||||
|
import com.dbnt.faisp.main.ivsgtMgt.majorStatus.model.MajorStatus;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class AsfCovService extends BaseService {
|
||||||
|
|
||||||
|
private final AsfCovMapper asfCovMapper;
|
||||||
|
private final AsfCovRepository asfCovRepository;
|
||||||
|
|
||||||
|
public List<AsfCov> selectAsfCovList(AsfCov asfCov){
|
||||||
|
return asfCovMapper.selectAsfCovList(asfCov);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer selectAsfCovListCnt(AsfCov asfCov) {
|
||||||
|
return asfCovMapper.selectAsfCovListCnt(asfCov);
|
||||||
|
}
|
||||||
|
|
||||||
|
public AsfCov selectAsfCov(Integer asfcovKey) {
|
||||||
|
AsfCov asfCov= asfCovRepository.findById(asfcovKey).orElse(null);
|
||||||
|
|
||||||
|
return asfCov;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,104 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
|
||||||
|
<mapper namespace="com.dbnt.faisp.main.faStatistics.crackdownsStatus.mapper.AsfCovMapper">
|
||||||
|
|
||||||
|
<sql id="selectAsfCovListWhere">
|
||||||
|
<where>
|
||||||
|
a.content_status <> 'DST008'
|
||||||
|
<if test='majorType != null and majorType != ""'>
|
||||||
|
and a.major_type = #{majorType}
|
||||||
|
</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}, '%')
|
||||||
|
</if>
|
||||||
|
<if test="wrtUserNm != null and wrtUserNm != ''">
|
||||||
|
AND a.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 <= #{endDate}::date+1
|
||||||
|
</if>
|
||||||
|
|
||||||
|
and a.wrt_organ in
|
||||||
|
<foreach collection="downOrganCdList" item="organCd" separator="," open="(" close=")">
|
||||||
|
#{organCd}
|
||||||
|
</foreach>
|
||||||
|
|
||||||
|
</where>
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
|
||||||
|
<select id="selectAsfCovList" resultType="AsfCov" parameterType="AsfCov">
|
||||||
|
select a.asfcov_key,
|
||||||
|
a.version_no,
|
||||||
|
a.cds_key,
|
||||||
|
a.person_cnt,
|
||||||
|
a.pressurized_yn,
|
||||||
|
a.pressurized_n,
|
||||||
|
a.person_positive_cnt,
|
||||||
|
a.person_negative_cnt,
|
||||||
|
a.asfcov_action_detail,
|
||||||
|
a.wrt_user_grd,
|
||||||
|
a.wrt_user_seq,
|
||||||
|
a.wrt_user_nm,
|
||||||
|
a.wrt_dt,
|
||||||
|
a.wrt_organ,
|
||||||
|
a.wrt_part,
|
||||||
|
cs.cds_key
|
||||||
|
, cs.case_num
|
||||||
|
, cs.napo_dt
|
||||||
|
, cs.napo_sea_point_lon
|
||||||
|
, cs.napo_sea_point_lat
|
||||||
|
, cs.napo_sea_point_detail
|
||||||
|
, cs.invasion_type
|
||||||
|
, cs.nll
|
||||||
|
, cs.case_agency
|
||||||
|
, cs.case_police_officer
|
||||||
|
, cs.crackdown_boat
|
||||||
|
, cs.crackdown_police
|
||||||
|
, cs.mmsi
|
||||||
|
, cs.field_ivsgt
|
||||||
|
, cs.obstr_exspd_cnt
|
||||||
|
, cs.person_damage_cnt
|
||||||
|
, cs.person_damage_amount
|
||||||
|
, cs.person_damage_detail
|
||||||
|
, cs.material_damage_cnt
|
||||||
|
, cs.material_damage_amount
|
||||||
|
, cs.material_damage_detail
|
||||||
|
, cs.field_ivsgt_napo_dt
|
||||||
|
, cs.field_ivsgt_release_dt
|
||||||
|
, cs.field_ivsgt_time_taken
|
||||||
|
, cs.pressurized_start_dt
|
||||||
|
, cs.pressurized_end_dt
|
||||||
|
, cs.distance
|
||||||
|
, cs.wrt_organ
|
||||||
|
, cs.wrt_user_seq
|
||||||
|
, cs.wrt_user_nm
|
||||||
|
, cs.wrt_dt
|
||||||
|
|
||||||
|
FROM crackdown_status cs
|
||||||
|
INNER JOIN asfcov_status a
|
||||||
|
ON cs.cds_key = a.cds_key
|
||||||
|
|
||||||
|
<!-- <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
|
||||||
|
<include refid="selectAsfCovListWhere"></include>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</mapper>
|
||||||
|
|
@ -0,0 +1,444 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ko" xmlns:th="http://www.thymeleaf.org"
|
||||||
|
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
|
||||||
|
layout:decorate="~{layout/layout}">
|
||||||
|
<th:block layout:fragment="script">
|
||||||
|
<script type="text/javascript" th:src="@{/js/faStatistics/crackdownStatus.js}"></script>
|
||||||
|
</th:block>
|
||||||
|
<div layout:fragment="content">
|
||||||
|
<main>
|
||||||
|
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
||||||
|
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
|
||||||
|
<div class="row justify-content-between">
|
||||||
|
<div class="col-auto"><h4>ASF 및 코로나19 관련 조치현황</h4></div>
|
||||||
|
<div class="col-auto"><p class="mb-0 mt-2">외사통계 > 불법조업외국어선 > ASF및코로나19관련조치현황</p></div>
|
||||||
|
</div>
|
||||||
|
<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>-->
|
||||||
|
<!-- <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 class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-12 overflow-auto">
|
||||||
|
<table class="table table-sm table-hover table-bordered text-nowrap" id="cdsTable">
|
||||||
|
<thead class="align-middle">
|
||||||
|
<tr class="table-secondary">
|
||||||
|
<th rowspan="4">사건번호</th>
|
||||||
|
<th rowspan="4">나포일시</th>
|
||||||
|
<th rowspan="4">선명</th>
|
||||||
|
<th colspan="3">관서</th>
|
||||||
|
<th colspan="3">전용부두 압송여부</th>
|
||||||
|
<th rowspan="2" colspan="3">코로나19 검사결과</th>
|
||||||
|
<th rowspan="4">검·방역조치 내용</th>
|
||||||
|
<th rowspan="4">최종수정일</th>
|
||||||
|
</tr>
|
||||||
|
<tr class="table-secondary">
|
||||||
|
<th rowspan="3">사건담당경찰서</th>
|
||||||
|
<th rowspan="3">단속경찰서</th>
|
||||||
|
<th rowspan="3">단속함정</th>
|
||||||
|
<th rowspan="2">압송</th>
|
||||||
|
<th colspan="2">미압송</th>
|
||||||
|
</tr>
|
||||||
|
<tr class="table-secondary">
|
||||||
|
<th>현장조사</th>
|
||||||
|
<th>기타</th>
|
||||||
|
<th>검사인원</th>
|
||||||
|
<th>양성</th>
|
||||||
|
<th>음성</th>
|
||||||
|
</tr>
|
||||||
|
<tr class="table-secondary">
|
||||||
|
<th></th>
|
||||||
|
<th></th>
|
||||||
|
<th></th>
|
||||||
|
<th></th>
|
||||||
|
<th></th>
|
||||||
|
<th></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody class="table-group-divider align-middle">
|
||||||
|
|
||||||
|
<tr class="tr" th:each="asfcov:${asfCovList}">
|
||||||
|
<td th:text="${asfcov.caseNum}"></td>
|
||||||
|
<td th:text="${asfcov.crackdownStatus.personNegativeCnt}"></td>
|
||||||
|
<td th:text="${asfcov.crackdownStatus.casePoliceOfficer}"></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row justify-content-between pt-1">
|
||||||
|
<div class="col-auto">
|
||||||
|
<button class="btn btn-success" id="cdsDownExcel">엑셀 다운로드</button>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<button class="btn btn-primary" id="crackdownStatusAddBtn">등록</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="modal fade" id="asfCovEditModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="asfCovEditModalLabel" aria-hidden="true">
|
||||||
|
<div class="modal-dialog modal-xl modal-dialog-scrollable">
|
||||||
|
<div class="modal-content" id="asfCovEditModalContent">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="modal fade" id="asfCovViewModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="asfCovViewModalLabel" aria-hidden="true">
|
||||||
|
<div class="modal-dialog modal-xl modal-dialog-scrollable">
|
||||||
|
<div class="modal-content" id="asfCovViewBody">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="modal fade" id="asfCovSubModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="asfCovSubModalLabel" aria-hidden="true">
|
||||||
|
<div class="modal-dialog modal-xl modal-dialog-scrollable">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header bg-dark">
|
||||||
|
<h5 class="modal-title text-white" id="asfCovSubModalLabel">단속현황 불러오기</h5>
|
||||||
|
<input type="hidden" id="modalUrl" value="/modal/asfCovModal">
|
||||||
|
<button type="button" class="btn-close f-invert" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body text-nowrap" id="subModalBody">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-12">
|
||||||
|
<form method="get" action="#" id="modalSearchForm">
|
||||||
|
<input type="hidden" name="pageIndex" id="modalPageIndex" value="1">
|
||||||
|
<input type="hidden" name="rowCnt" value="10">
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer bg-light">
|
||||||
|
<button type="button" class="btn btn-primary" id="getCrackdownBtn">불러오기</button>
|
||||||
|
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">닫기</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
</div>
|
||||||
|
</html>
|
||||||
|
|
@ -0,0 +1,331 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ko" xmlns:th="http://www.thymeleaf.org">
|
||||||
|
<div class="modal-header bg-dark">
|
||||||
|
<h5 class="modal-title text-white" id="fishingBoatEditModalLabel" th:text="${asfCov.asfcovKey eq null?' 조치현황 작성':'조치현황 수정'}"></h5>
|
||||||
|
<button type="button" class="btn-close f-invert" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<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" id="asfcovKey" th:value="${asfCov.asfcovKey}">
|
||||||
|
<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="wrtUserNm" th:value="${asfCov.wrtUserNm}">
|
||||||
|
<input type="hidden" name="wrtUserGrd" th:value="${asfCov.wrtUserGrd}">
|
||||||
|
<ul class="nav nav-tabs" id="userTab" role="tablist">
|
||||||
|
<li class="nav-item" role="presentation">
|
||||||
|
<button class="nav-link active" id="baseInfoTab" data-bs-toggle="tab" data-bs-target="#baseInfoTabPanel" type="button" role="tab" aria-controls="baseInfoTabPanel" aria-selected="true">기본정보</button>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item" role="presentation">
|
||||||
|
<button class="nav-link" id="sailorTab" data-bs-toggle="tab" data-bs-target="#sailorTabPanel" type="button" role="tab" aria-controls="sailorTabPanel" aria-selected="false">선장/선주정보</button>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item" role="presentation">
|
||||||
|
<button class="nav-link" id="fishingBoatTab" data-bs-toggle="tab" data-bs-target="#fishingBoatTabPanel" type="button" role="tab" aria-controls="fishingBoatTabPanel" aria-selected="false">어선정보</button>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item" role="presentation">
|
||||||
|
<button class="nav-link" id="processResultTab" data-bs-toggle="tab" data-bs-target="#processResultTabPanel" type="button" role="tab" aria-controls="processResultTabPanel" aria-selected="false">처리결과</button>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<div class="tab-content bg-white border border-top-0">
|
||||||
|
<div class="tab-pane fade p-2 show active" id="baseInfoTabPanel" role="tabpanel" aria-labelledby="baseInfoTab" tabindex="0">
|
||||||
|
<div class="row 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="fishingBoat.boatNameKr" placeholder="한글" th:value="${asfCov.crackdownStatus.boatNameKr}">
|
||||||
|
</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.crackdownStatus.caseNum}">
|
||||||
|
<input type="button" class="btn btn-sm btn-outline-primary crackdownStatusInfo w-auto" id="caseNumBtn" value="불러오기">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</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>
|
||||||
|
<th:block th:each="commonCode:${session.commonCode.get('ATA')}">
|
||||||
|
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq asfCov.crackdownStatus.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 crackdownStatusInfo" id="casePoliceOfficer" name="casePoliceOfficer" th:value="${asfCov.crackdownStatus.casePoliceOfficer}">
|
||||||
|
</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>
|
||||||
|
<th:block th:each="commonCode:${session.commonCode.get('CPO')}">
|
||||||
|
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq asfCov.crackdownStatus.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 crackdownStatusInfo crackdownBoat" name="crackdownBoat" id="crackdownBoat" th:data-boatcode="${asfCov.crackdownStatus.crackdownBoat}" disabled>
|
||||||
|
<option value="">단속경찰서를 선택해주세요.</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row mb-1">
|
||||||
|
<label for="napoDt" 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 dateTimeSelector" id="napoDt" name="napoDt" placeholder="0000-00-00 00:00" th:value="${#temporals.format(asfCov.crackdownStatus.napoDt, 'yyyy-MM-dd')}" autocomplete="off">
|
||||||
|
</div>
|
||||||
|
<label for="napoSeaPointLon" class="col-sm-1 col-form-label col-form-label-sm text-center">나포장소</label>
|
||||||
|
<div class="col-sm-5">
|
||||||
|
<div class="input-group w-auto">
|
||||||
|
<input type="text" class="form-control form-control-sm w-25 crackdownStatusInfo" id="napoSeaPointLon" name="napoSeaPointLon" placeholder="00 . 00 . 00N" th:value="${asfCov.crackdownStatus.napoSeaPointLon}">
|
||||||
|
<input type="text" class="form-control form-control-sm w-25 crackdownStatusInfo" id="napoSeaPointLat" name="napoSeaPointLat" placeholder="000-00.00E" th:value="${asfCov.crackdownStatus.napoSeaPointLat}">
|
||||||
|
<input type="text" class="form-control form-control-sm w-50 crackdownStatusInfo" id="napoSeaPointDetail" name="napoSeaPointDetail" placeholder="00도 00방 00해리, 어업협정선 내측 00해리" th:value="${asfCov.crackdownStatus.napoSeaPointDetail}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<label for="fieldIvsgt" 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="fieldIvsgt" id="fieldIvsgt">
|
||||||
|
<option value="">선택</option>
|
||||||
|
<option value="C" th:selected="${asfCov.crackdownStatus.fieldIvsgt eq 'C'}">압송</option>
|
||||||
|
<option value="F" th:selected="${asfCov.crackdownStatus.fieldIvsgt eq 'F'}">현장조사</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="tab-pane fade p-2" id="fishingBoatTabPanel" role="tabpanel" aria-labelledby="fishingBoatTab" tabindex="0">
|
||||||
|
<div class="row mb-1">
|
||||||
|
<label for="boatNameCn" class="col-sm-1 col-form-label col-form-label-sm text-center">선명</label>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<div class="input-group w-auto">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<div class="row" id="violationDiv">
|
||||||
|
<th:block th:each="violation:${asfCov.crackdownStatus.violationList}">
|
||||||
|
<div class="col-6 violation">
|
||||||
|
<input type="hidden" class="form-control form-control-sm fishingBoatInfo violationCd" th:value="${violation.violation}">
|
||||||
|
<div class="input-group w-auto">
|
||||||
|
<th:block th:each="commonCode:${session.commonCode.get('VT')}">
|
||||||
|
<input type="text" class="form-control form-control-sm" th:if="${commonCode.itemCd eq violation.violation}" th:value="${commonCode.itemValue}">
|
||||||
|
</th:block>
|
||||||
|
<button type="button" class="btn btn-sm btn-outline-secondary opacity-75 violationRemoveBtn">
|
||||||
|
<i class="bi bi-dash-square text-danger"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="tab-pane fade p-2" id="processResultTabPanel" role="tabpanel" aria-labelledby="processResultTab" tabindex="0">
|
||||||
|
<div class="row mb-1">
|
||||||
|
<label for="processStatus" 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 processResultInfo" id="processStatus" name="processResult.processStatus">
|
||||||
|
<option value="">선택</option>
|
||||||
|
<th:block th:each="code:${prList}">
|
||||||
|
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq crackdownStatus.processResult.processStatus}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<label for="pressurizedTimeTakenDate" class="col-sm-1 col-form-label col-form-label-sm text-center">압송소요시간</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<th:block th:with="ptt=${crackdownStatus.processResult.pressurizedTimeTaken}">
|
||||||
|
<div class="input-group w-auto">
|
||||||
|
<input type="number" class="form-control form-control-sm pressurizedTimeTaken processResultInfo" id="pressurizedTimeTakenDate" placeholder="일" th:value="${#strings.substringBefore(ptt, '일')}">
|
||||||
|
<input type="text" class="form-control form-control-sm pressurizedTimeTaken processResultInfo timeSelector" id="pressurizedTimeTakenTime" placeholder="00:00" autocomplete="off" th:value="${#strings.substringAfter(ptt, '일')}">
|
||||||
|
</div>
|
||||||
|
<input type="hidden" class="processResultInfo" name="processResult.pressurizedTimeTaken" id="pressurizedTimeTaken" th:value="${ptt}">
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
<label for="warrantReqTakeDate" class="col-sm-1 col-form-label col-form-label-sm text-center fs-11">영장청구 소요시간</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<th:block th:with="wrtt=${crackdownStatus.processResult.warrantReqTakeTime}">
|
||||||
|
<div class="input-group w-auto">
|
||||||
|
<input type="number" class="form-control form-control-sm warrantReqTake processResultInfo" id="warrantReqTakeDate" placeholder="일" th:value="${#strings.substringBefore(wrtt, '일')}">
|
||||||
|
<input type="text" class="form-control form-control-sm warrantReqTake processResultInfo timeSelector" id="warrantReqTakeTime" placeholder="00:00" autocomplete="off" th:value="${#strings.substringAfter(wrtt, '일')}">
|
||||||
|
</div>
|
||||||
|
<input type="hidden" class="processResultInfo" name="processResult.warrantReqTakeTime" id="warrantReqTake" th:value="${wrtt}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<div class="row mb-1">
|
||||||
|
<label for="consignmentStartDt" 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 processResultInfo dateSelector" id="consignmentStartDt" name="processResult.consignmentStartDt" placeholder="0000-00-00" th:value="${crackdownStatus.processResult.consignmentStartDt}" autocomplete="off">
|
||||||
|
</div>
|
||||||
|
<label for="consignmentEndDt" 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 processResultInfo dateSelector" id="consignmentEndDt" name="processResult.consignmentEndDt" placeholder="0000-00-00" th:value="${crackdownStatus.processResult.consignmentEndDt}" autocomplete="off">
|
||||||
|
</div>
|
||||||
|
<label for="confiscationDt" 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 processResultInfo dateSelector" id="confiscationDt" name="processResult.confiscationDt" placeholder="0000-00-00" th:value="${crackdownStatus.processResult.confiscationDt}" autocomplete="off">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row mb-1">
|
||||||
|
<label for="boatDisposalDt" 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 processResultInfo dateSelector" id="boatDisposalDt" name="processResult.boatDisposalDt" placeholder="0000-00-00" th:value="${crackdownStatus.processResult.boatDisposalDt}" autocomplete="off">
|
||||||
|
</div>
|
||||||
|
<label for="boatDisposalType" 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 processResultInfo" id="boatDisposalType" name="processResult.boatDisposalType">
|
||||||
|
<option value="">선택</option>
|
||||||
|
<th:block th:each="code:${bdtList}">
|
||||||
|
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq crackdownStatus.processResult.boatDisposalType}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<label for="returnDt" 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 processResultInfo dateSelector" id="returnDt" name="processResult.returnDt" placeholder="0000-00-00" th:value="${crackdownStatus.processResult.returnDt}" autocomplete="off">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row mb-1">
|
||||||
|
<th:block th:if="${#lists.isEmpty(crackdownStatus.sailorList)}">
|
||||||
|
<label for="captainRestriction" 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 sailorInfo" id="captainRestriction">
|
||||||
|
<option value="">선택</option>
|
||||||
|
<option value="Y">O</option>
|
||||||
|
<option value="N">X</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<label for="navigatingOfficerRestriction" 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 sailorInfo" id="navigatingOfficerRestriction">
|
||||||
|
<option value="">선택</option>
|
||||||
|
<option value="Y">O</option>
|
||||||
|
<option value="N">X</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<label for="chiefEngineerRestriction" 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 sailorInfo" id="chiefEngineerRestriction">
|
||||||
|
<option value="">선택</option>
|
||||||
|
<option value="Y">O</option>
|
||||||
|
<option value="N">X</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</th:block>
|
||||||
|
<th:block th:unless="${#lists.isEmpty(crackdownStatus.sailorList)}">
|
||||||
|
<label for="captainRestriction" class="col-sm-1 col-form-label col-form-label-sm text-center">선장구속</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<th:block th:each="sailor:${crackdownStatus.sailorList}">
|
||||||
|
<th:block th:if="${sailor.position eq 'POS001'}">
|
||||||
|
<select class="form-select form-select-sm sailorInfo" id="captainRestriction">
|
||||||
|
<option value="">선택</option>
|
||||||
|
<option value="Y" th:selected="${sailor.isRestriction eq 'Y'}">O</option>
|
||||||
|
<option value="N" th:selected="${sailor.isRestriction eq 'N'}">X</option>
|
||||||
|
</select>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
<label for="navigatingOfficerRestriction" class="col-sm-1 col-form-label col-form-label-sm text-center">항해장구속</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<th:block th:each="sailor:${crackdownStatus.sailorList}">
|
||||||
|
<th:block th:if="${sailor.position eq 'POS002'}">
|
||||||
|
<select class="form-select form-select-sm sailorInfo" id="navigatingOfficerRestriction">
|
||||||
|
<option value="">선택</option>
|
||||||
|
<option value="Y" th:selected="${sailor.isRestriction eq 'Y'}">O</option>
|
||||||
|
<option value="N" th:selected="${sailor.isRestriction eq 'N'}">X</option>
|
||||||
|
</select>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
<label for="chiefEngineerRestriction" class="col-sm-1 col-form-label col-form-label-sm text-center">기관장구속</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<th:block th:each="sailor:${crackdownStatus.sailorList}">
|
||||||
|
<th:block th:if="${sailor.position eq 'POS003'}">
|
||||||
|
<select class="form-select form-select-sm sailorInfo" id="chiefEngineerRestriction">
|
||||||
|
<option value="">선택</option>
|
||||||
|
<option value="Y" th:selected="${sailor.isRestriction eq 'Y'}">O</option>
|
||||||
|
<option value="N" th:selected="${sailor.isRestriction eq 'N'}">X</option>
|
||||||
|
</select>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
<div class="row mb-1">
|
||||||
|
<label for="sailorAddBtn" class="col-sm-1 col-form-label col-form-label-sm text-center">
|
||||||
|
선원구속
|
||||||
|
<button type="button" class="border-0 sailorInfo" id="sailorAddBtn">
|
||||||
|
<i class="bi bi-plus-square text-primary"></i>
|
||||||
|
</button>
|
||||||
|
</label>
|
||||||
|
<div class="col-sm-10 row" id="sailorRestrictionHome">
|
||||||
|
<th:block th:each="sailor:${crackdownStatus.sailorList}">
|
||||||
|
<th:block th:if="${sailor.position eq 'POS005' or sailor.position eq 'POS006'}">
|
||||||
|
<div class="col-4 sailorRestriction">
|
||||||
|
<div class="input-group">
|
||||||
|
<select class="form-select form-select-sm sailorInfo isRestriction normalSailorPosition" style="width: 75px">
|
||||||
|
<option value="">직책</option>
|
||||||
|
<option value="POS005" th:selected="${sailor.position eq 'POS005'}">기타 간부선원</option>
|
||||||
|
<option value="POS006" th:selected="${sailor.position eq 'POS006'}">일반선원 또는 확인불가</option>
|
||||||
|
</select>
|
||||||
|
<select class="form-select form-select-sm sailorInfo isRestriction w-auto normalSailorRestriction">
|
||||||
|
<option value="">선택</option>
|
||||||
|
<option value="Y" th:selected="${sailor.isRestriction eq 'Y'}">O</option>
|
||||||
|
<option value="N" th:selected="${sailor.isRestriction eq 'N'}">X</option>
|
||||||
|
</select>
|
||||||
|
<input type="text" class="form-control form-control-sm sailorInfo normalSailorNm w-auto" placeholder="이름" th:value="${sailor.sailorNameKr}">
|
||||||
|
<button type="button" class="btn btn-sm btn-outline-secondary sailorInfo w-auto opacity-75 sailorRemoveBtn">
|
||||||
|
<i class="bi bi-dash-square text-danger"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row mb-1">
|
||||||
|
<label for="exileCnt" 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 processResultInfo" id="exileCnt" name="processResult.exileCnt" placeholder="00명" th:value="${crackdownStatus.processResult.exileCnt}">
|
||||||
|
</div>
|
||||||
|
<label for="exileDt" 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 processResultInfo dateSelector" id="exileDt" name="processResult.exileDt" placeholder="0000-00-00" th:value="${crackdownStatus.processResult.exileDt}" autocomplete="off">
|
||||||
|
</div>
|
||||||
|
<label for="flight" 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 processResultInfo" id="flight" name="processResult.flight" th:value="${crackdownStatus.processResult.flight}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row mb-3">
|
||||||
|
<label for="immigrationOfficeName" class="col-sm-1 col-form-label col-form-label-sm text-center">출입국 담당자</label>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<div class="input-group w-auto">
|
||||||
|
<input type="text" class="form-control form-control-sm processResultInfo" id="immigrationOfficeName" name="processResult.immigrationOfficeName" placeholder="사무소명" th:value="${crackdownStatus.processResult.immigrationOfficeName}">
|
||||||
|
<input type="text" class="form-control form-control-sm processResultInfo" id="immigrationOfficeOfficerName" name="processResult.immigrationOfficeOfficerName" placeholder="이름" th:value="${crackdownStatus.processResult.immigrationOfficeOfficerName}">
|
||||||
|
<input type="text" class="form-control form-control-sm processResultInfo" id="immigrationOfficeOfficerContact" name="processResult.immigrationOfficeOfficerContact" placeholder="연락처" th:value="${crackdownStatus.processResult.immigrationOfficeOfficerContact}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer bg-light">
|
||||||
|
<!--<button type="button" class="btn btn-warning" id="saveTempBtn">임시저장</button>-->
|
||||||
|
<button type="button" class="btn btn-primary" id="saveResultBtn">저장</button>
|
||||||
|
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">닫기</button>
|
||||||
|
</div>
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Title</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
Loading…
Reference in New Issue