국제범죄 검거현황 작업완료.
parent
416a8536d6
commit
f41bb94ead
|
|
@ -95,31 +95,4 @@ public class InternationalCrimeArrestController {
|
||||||
internationalCrimeArrestService.deleteInternationalCrimeArrest(internationalCrimeArrest);
|
internationalCrimeArrestService.deleteInternationalCrimeArrest(internationalCrimeArrest);
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/internationalCrimeArrest/ExcelDown")
|
|
||||||
public void icaExcelDown(HttpServletResponse response, InternationalCrimeArrest internationalCrimeArrest) {
|
|
||||||
int duplicateCount = internationalCrimeArrestService.icaDuplicateCount(internationalCrimeArrest);
|
|
||||||
int rowCnt = internationalCrimeArrest.getRowCnt() + duplicateCount;
|
|
||||||
internationalCrimeArrest.setRowCnt(rowCnt);
|
|
||||||
internationalCrimeArrest.setQueryInfo();
|
|
||||||
internationalCrimeArrest.setContentCnt(internationalCrimeArrestService.selectInternationalCrimeArrestListCnt(internationalCrimeArrest));
|
|
||||||
internationalCrimeArrest.setPaginationInfo();
|
|
||||||
|
|
||||||
Excel excel = new Excel();
|
|
||||||
String[] headers = {"organ", "department", "crime_type", "violation_type", "crime_name", "occur_table", "arrest_table", "suspect_table", "personal_information", "crime_awareness_dt", "case_sent_dt", "process_result"};
|
|
||||||
String[] headerNames = {"지방청", "경찰서", "범죄테마", "위반유형", "죄명", "발생원표", "검거원표", "피의자원표","피의자 인적사항","범죄인지","사건송치","신병처리"};
|
|
||||||
String[] columnType = { "String", "String", "String", "String", "String", "String", "String", "String","String","String","String","String"};
|
|
||||||
excel.setHeaders(headers);
|
|
||||||
excel.setHeaderNames(headerNames);
|
|
||||||
excel.setColumnType(columnType);
|
|
||||||
excel.setSheetName("국제범죄검거현황");
|
|
||||||
excel.setExcelFileName("국제범죄검거현황");
|
|
||||||
List<ParamMap> icaList = internationalCrimeArrestService.selectInternationalCrimeArrestParamList(internationalCrimeArrest);
|
|
||||||
excel.setList(icaList);
|
|
||||||
|
|
||||||
try {
|
|
||||||
Utils.icaDownExcel(response, excel);
|
|
||||||
} catch (IOException e) {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,4 @@ import java.util.List;
|
||||||
public interface InternationalCrimeArrestMapper{
|
public interface InternationalCrimeArrestMapper{
|
||||||
List<InternationalCrimeArrest> selectInternationalCrimeArrestList(InternationalCrimeArrest internationalCrimeArrest);
|
List<InternationalCrimeArrest> selectInternationalCrimeArrestList(InternationalCrimeArrest internationalCrimeArrest);
|
||||||
Integer selectInternationalCrimeArrestListCnt(InternationalCrimeArrest internationalCrimeArrest);
|
Integer selectInternationalCrimeArrestListCnt(InternationalCrimeArrest internationalCrimeArrest);
|
||||||
List<ParamMap> selectInternationalCrimeArrestParamList(InternationalCrimeArrest internationalCrimeArrest);
|
|
||||||
Integer icaDuplicateCount(InternationalCrimeArrest internationalCrimeArrest);
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -45,18 +45,10 @@ public class InternationalCrimeArrestService extends BaseService {
|
||||||
return icaList;
|
return icaList;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<ParamMap> selectInternationalCrimeArrestParamList(InternationalCrimeArrest InternationalCrimeArrest) {
|
|
||||||
return internationalCrimeArrestMapper.selectInternationalCrimeArrestParamList(InternationalCrimeArrest);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Integer selectInternationalCrimeArrestListCnt(InternationalCrimeArrest internationalCrimeArrest) {
|
public Integer selectInternationalCrimeArrestListCnt(InternationalCrimeArrest internationalCrimeArrest) {
|
||||||
return internationalCrimeArrestMapper.selectInternationalCrimeArrestListCnt(internationalCrimeArrest);
|
return internationalCrimeArrestMapper.selectInternationalCrimeArrestListCnt(internationalCrimeArrest);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Integer icaDuplicateCount(InternationalCrimeArrest internationalCrimeArrest) {
|
|
||||||
return internationalCrimeArrestMapper.icaDuplicateCount(internationalCrimeArrest);
|
|
||||||
}
|
|
||||||
|
|
||||||
public InternationalCrimeArrest selectInternationalCrimeArrest(Integer icaKey) {
|
public InternationalCrimeArrest selectInternationalCrimeArrest(Integer icaKey) {
|
||||||
InternationalCrimeArrest savedICA = internationalCrimeArrestRepository.findById(icaKey).orElse(null);
|
InternationalCrimeArrest savedICA = internationalCrimeArrestRepository.findById(icaKey).orElse(null);
|
||||||
if (savedICA != null) {
|
if (savedICA != null) {
|
||||||
|
|
|
||||||
|
|
@ -83,56 +83,6 @@
|
||||||
<include refid="selectInternationalCrimeArrestListWhere"></include>
|
<include refid="selectInternationalCrimeArrestListWhere"></include>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectInternationalCrimeArrestParamList" resultType="com.dbnt.faisp.util.ParamMap" parameterType="InternationalCrimeArrest">
|
|
||||||
SELECT
|
|
||||||
i.ica_key,
|
|
||||||
i.occur_table,
|
|
||||||
i.arrest_table,
|
|
||||||
i.suspect_table,
|
|
||||||
to_char(i.crime_awareness_dt, 'YYYY-MM-DD') as crime_awareness_dt,
|
|
||||||
to_char(i.case_sent_dt, 'YYYY-MM-DD') as case_sent_dt,
|
|
||||||
i.other_crime,
|
|
||||||
i.case_num,
|
|
||||||
i.case_overview,
|
|
||||||
i.arrest_area,
|
|
||||||
i.crackdown_personel,
|
|
||||||
i.violation_amount,
|
|
||||||
i.destination,
|
|
||||||
i.content_status,
|
|
||||||
i.wrt_organ,
|
|
||||||
i.wrt_user_seq,
|
|
||||||
i.wrt_nm,
|
|
||||||
to_char(i.wrt_dt, 'YYYY-MM-DD HH24:MI') as wrt_dt,
|
|
||||||
cm1.item_value AS organ,
|
|
||||||
cm2.item_value AS department,
|
|
||||||
cm3.item_value AS crime_type,
|
|
||||||
cm4.item_value AS violation_type,
|
|
||||||
COALESCE(cm5.item_value, i.process_result) AS process_result,
|
|
||||||
COALESCE(cm6.item_value, i.means) AS means,
|
|
||||||
cm7.item_value AS crime_form,
|
|
||||||
COALESCE(cm8.item_value, i.purpose) AS purpose,
|
|
||||||
COALESCE(cm9.item_value, i.smuggled_goods) AS smuggled_goods,
|
|
||||||
concat(cm10.item_value,' ',cm11.item_value,' ',COALESCE(cm12.item_value, s.country)) as personal_information
|
|
||||||
FROM international_crime_arrest i
|
|
||||||
INNER JOIN suspect_person_info s
|
|
||||||
ON i.ica_key = s.ica_key
|
|
||||||
LEFT JOIn code_mgt cm1 ON i.organ = cm1.item_cd
|
|
||||||
LEFT JOIN code_mgt cm2 ON i.department = cm2.item_cd
|
|
||||||
LEFT JOIN code_mgt cm3 ON i.crime_type = cm3.item_cd
|
|
||||||
LEFT JOIN code_mgt cm4 ON i.violation_type = cm4.item_cd
|
|
||||||
LEFT JOIN code_mgt cm5 ON i.process_result = cm5.item_cd
|
|
||||||
LEFT JOIN code_mgt cm6 ON i.means = cm6.item_cd
|
|
||||||
LEFT JOIN code_mgt cm7 ON i.crime_form = cm7.item_cd
|
|
||||||
LEFT JOIN code_mgt cm8 ON i.purpose = cm8.item_cd
|
|
||||||
LEFT JOIN code_mgt cm9 ON i.smuggled_goods = cm9.item_cd
|
|
||||||
LEFT JOIN code_mgt cm10 ON s.sex = cm10.item_cd
|
|
||||||
LEFT JOIN code_mgt cm11 ON s.age = cm11.item_cd
|
|
||||||
LEFT JOIN code_mgt cm12 ON s.country = cm12.item_cd
|
|
||||||
<include refid="selectInternationalCrimeArrestListWhere"></include>
|
|
||||||
ORDER BY i.ica_key DESC
|
|
||||||
LIMIT #{rowCnt} OFFSET #{firstIndex}
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<select id="selectSuspectPersonInfoParamList" resultType="com.dbnt.faisp.util.ParamMap" parameterType="int">
|
<select id="selectSuspectPersonInfoParamList" resultType="com.dbnt.faisp.util.ParamMap" parameterType="int">
|
||||||
SELECT
|
SELECT
|
||||||
s.spi_key,
|
s.spi_key,
|
||||||
|
|
@ -149,20 +99,4 @@
|
||||||
WHERE s.ica_key = #{icaKey}
|
WHERE s.ica_key = #{icaKey}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="icaDuplicateCount" resultType="int" parameterType="InternationalCrimeArrest">
|
|
||||||
SELECT
|
|
||||||
COUNT(*)
|
|
||||||
FROM (
|
|
||||||
SELECT
|
|
||||||
s.ica_key
|
|
||||||
, row_number() OVER (PARTITION BY s.ica_key) AS row
|
|
||||||
FROM suspect_person_info s
|
|
||||||
INNER JOIN international_crime_arrest i
|
|
||||||
ON s.ica_key = i.ica_key
|
|
||||||
<include refid="selectInternationalCrimeArrestListWhere"></include>
|
|
||||||
ORDER BY i.ica_key DESC
|
|
||||||
LIMIT #{rowCnt} OFFSET #{firstIndex}
|
|
||||||
) a
|
|
||||||
WHERE a.row > 1
|
|
||||||
</select>
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
@ -84,6 +84,21 @@ $(document).on('click', '.spiRemoveBtn', function (){
|
||||||
spiRemoveBtnControl()
|
spiRemoveBtnControl()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
$(document).on('change', '.etcSelfInput', function (){
|
||||||
|
const selfInput = $("#"+this.id+"_self")
|
||||||
|
if(this.value === "etc"){
|
||||||
|
const temp = this.name
|
||||||
|
this.name = ""
|
||||||
|
selfInput[0].name = temp;
|
||||||
|
selfInput.show();
|
||||||
|
}else{
|
||||||
|
const temp = selfInput[0].name
|
||||||
|
selfInput[0].name = ""
|
||||||
|
this.name = temp;
|
||||||
|
selfInput.hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
function spiRemoveBtnControl(){
|
function spiRemoveBtnControl(){
|
||||||
if($(".spi-list").length>2){
|
if($(".spi-list").length>2){
|
||||||
$(".spiRemoveBtn").show();
|
$(".spiRemoveBtn").show();
|
||||||
|
|
@ -205,6 +220,6 @@ function contentCheck(status){
|
||||||
}
|
}
|
||||||
|
|
||||||
$(document).on('click', '#icaExcelDownBtn', function (){
|
$(document).on('click', '#icaExcelDownBtn', function (){
|
||||||
const formData = $("#icaSearchForm").serialize();
|
debugger
|
||||||
location.href = '/faStatistics/internationalCrimeArrest/ExcelDown?'+formData;
|
exportExcel('국제범죄검거현황', 'icaTable')
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -73,8 +73,6 @@
|
||||||
</th:block>
|
</th:block>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
<div class="row justify-content-end">
|
|
||||||
<div class="col-2">
|
<div class="col-2">
|
||||||
<select class="form-select form-select-sm" name="violationType" id="searchViolationType">
|
<select class="form-select form-select-sm" name="violationType" id="searchViolationType">
|
||||||
<option value="">위반유형 선택</option>
|
<option value="">위반유형 선택</option>
|
||||||
|
|
@ -85,6 +83,8 @@
|
||||||
</th:block>
|
</th:block>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row justify-content-end">
|
||||||
<div class="col-2">
|
<div class="col-2">
|
||||||
<input type="text" class="form-control form-control-sm" placeholder="죄명" name="crimeName" th:value="${searchParams.crimeName}">
|
<input type="text" class="form-control form-control-sm" placeholder="죄명" name="crimeName" th:value="${searchParams.crimeName}">
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -133,7 +133,7 @@
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<table class="table table-sm table-hover table-bordered ws-nowrap" id="ivsgtTable">
|
<table class="table table-sm table-hover table-bordered ws-nowrap" id="icaTable">
|
||||||
<thead class="align-middle text-center">
|
<thead class="align-middle text-center">
|
||||||
<tr class="table-secondary">
|
<tr class="table-secondary">
|
||||||
<th>순번</th>
|
<th>순번</th>
|
||||||
|
|
|
||||||
|
|
@ -85,7 +85,6 @@
|
||||||
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
|
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
|
||||||
th:selected="${code.itemCd eq ica.subInfo.seaArea}"></option>
|
th:selected="${code.itemCd eq ica.subInfo.seaArea}"></option>
|
||||||
</th:block>
|
</th:block>
|
||||||
<option value="etc">기타</option>
|
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">검거 지역</label>
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center">검거 지역</label>
|
||||||
|
|
@ -102,52 +101,86 @@
|
||||||
</div>
|
</div>
|
||||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">밀입국 수단</label>
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center">밀입국 수단</label>
|
||||||
<div class="col-sm-2">
|
<div class="col-sm-2">
|
||||||
<select class="form-select form-select-sm" name="subInfo.means">
|
<select class="form-select form-select-sm etcSelfInput" id="CTH101_means"
|
||||||
|
th:name="${ica.subInfo.means ne null and !#strings.contains(ica.subInfo.means, 'MS1')?'':'subInfo.means'}">
|
||||||
<option value="">선택</option>
|
<option value="">선택</option>
|
||||||
<th:block th:each="code:${session.commonCode.get('MS1')}">
|
<th:block th:each="code:${session.commonCode.get('MS1')}">
|
||||||
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
|
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
|
||||||
th:selected="${code.itemCd eq ica.subInfo.means}"></option>
|
th:selected="${code.itemCd eq ica.subInfo.means}"></option>
|
||||||
</th:block>
|
</th:block>
|
||||||
<option value="etc">기타</option>
|
<option value="etc" th:selected="${ica.subInfo.means ne null and !#strings.contains(ica.subInfo.means, 'MS1')}">기타(직접입력)</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">밀입국 목적</label>
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center">밀입국 목적</label>
|
||||||
<div class="col-sm-2">
|
<div class="col-sm-2">
|
||||||
<select class="form-select form-select-sm" name="subInfo.purpose">
|
<select class="form-select form-select-sm etcSelfInput" id="CTH101_purpose"
|
||||||
|
th:name="${ica.subInfo.purpose ne null and !#strings.contains(ica.subInfo.purpose, 'PPS')?'':'subInfo.purpose'}">
|
||||||
<option value="">선택</option>
|
<option value="">선택</option>
|
||||||
<th:block th:each="code:${session.commonCode.get('PPS')}">
|
<th:block th:each="code:${session.commonCode.get('PPS')}">
|
||||||
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
|
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
|
||||||
th:selected="${code.itemCd eq ica.subInfo.purpose}"></option>
|
th:selected="${code.itemCd eq ica.subInfo.purpose}"></option>
|
||||||
</th:block>
|
</th:block>
|
||||||
<option value="etc">기타</option>
|
<option value="etc" th:selected="${ica.subInfo.purpose ne null and !#strings.contains(ica.subInfo.purpose, 'PPS')}">기타(직접입력)</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-sm-3"></div>
|
||||||
|
<div class="col-sm-4"></div>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input type="text" class="form-control form-control-sm" id="CTH101_means_self"
|
||||||
|
th:name="${ica.subInfo.means ne null and !#strings.contains(ica.subInfo.means, 'MS1')?'subInfo.means':''}"
|
||||||
|
th:value="${ica.subInfo.means ne null and !#strings.contains(ica.subInfo.means, 'MS1')?ica.subInfo.means:''}"
|
||||||
|
th:style="${ica.subInfo.means ne null and !#strings.contains(ica.subInfo.means, 'MS1')?'':'display: none'}">
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-1"></div>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input type="text" class="form-control form-control-sm" id="CTH101_purpose_self"
|
||||||
|
th:name="${ica.subInfo.purpose ne null and !#strings.contains(ica.subInfo.purpose, 'PPS')?'subInfo.purpose':''}"
|
||||||
|
th:value="${ica.subInfo.purpose ne null and !#strings.contains(ica.subInfo.purpose, 'PPS')?ica.subInfo.purpose:''}"
|
||||||
|
th:style="${ica.subInfo.purpose ne null and !#strings.contains(ica.subInfo.purpose, 'PPS')?'':'display: none'}">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!--직접밀입국 끝-->
|
<!--직접밀입국 끝-->
|
||||||
<!--제주무사증 도외이탈 시작-->
|
<!--제주무사증 도외이탈 시작-->
|
||||||
<div class="row mb-1 extInputDiv CTH102Div" style="display: none">
|
<div class="row mb-1 extInputDiv CTH102Div" style="display: none">
|
||||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">도외이탈 수단</label>
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center">도외이탈 수단</label>
|
||||||
<div class="col-sm-2">
|
<div class="col-sm-2">
|
||||||
<select class="form-select form-select-sm" name="subInfo.means">
|
<select class="form-select form-select-sm etcSelfInput" id="CTH102_means"
|
||||||
|
th:name="${ica.subInfo.means ne null and !#strings.contains(ica.subInfo.means, 'MS2')?'':'subInfo.means'}">
|
||||||
<option value="">선택</option>
|
<option value="">선택</option>
|
||||||
<th:block th:each="code:${session.commonCode.get('MS2')}">
|
<th:block th:each="code:${session.commonCode.get('MS2')}">
|
||||||
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
|
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
|
||||||
th:selected="${code.itemCd eq ica.subInfo.means}"></option>
|
th:selected="${code.itemCd eq ica.subInfo.means}"></option>
|
||||||
</th:block>
|
</th:block>
|
||||||
<option value="etc">기타</option>
|
<option value="etc" th:selected="${ica.subInfo.means ne null and !#strings.contains(ica.subInfo.means, 'MS2')}">기타(직접입력)</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">도외이탈 목적</label>
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center">도외이탈 목적</label>
|
||||||
<div class="col-sm-2">
|
<div class="col-sm-2">
|
||||||
<select class="form-select form-select-sm" name="subInfo.purpose">
|
<select class="form-select form-select-sm etcSelfInput" id="CTH102_purpose"
|
||||||
|
th:name="${ica.subInfo.purpose ne null and !#strings.contains(ica.subInfo.purpose, 'PPS')?'':'subInfo.purpose'}">
|
||||||
<option value="">선택</option>
|
<option value="">선택</option>
|
||||||
<th:block th:each="code:${session.commonCode.get('PPS')}">
|
<th:block th:each="code:${session.commonCode.get('PPS')}">
|
||||||
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
|
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
|
||||||
th:selected="${code.itemCd eq ica.subInfo.purpose}"></option>
|
th:selected="${code.itemCd eq ica.subInfo.purpose}"></option>
|
||||||
</th:block>
|
</th:block>
|
||||||
<option value="etc">기타</option>
|
<option value="etc" th:selected="${ica.subInfo.purpose ne null and !#strings.contains(ica.subInfo.purpose, 'PPS')}">기타(직접입력)</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-sm-6"></div>
|
||||||
|
<div class="col-sm-1"></div>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input type="text" class="form-control form-control-sm" id="CTH102_means_self"
|
||||||
|
th:name="${ica.subInfo.means ne null and !#strings.contains(ica.subInfo.means, 'MS2')?'subInfo.means':''}"
|
||||||
|
th:value="${ica.subInfo.means ne null and !#strings.contains(ica.subInfo.means, 'MS2')?ica.subInfo.means:''}"
|
||||||
|
th:style="${ica.subInfo.means ne null and !#strings.contains(ica.subInfo.means, 'MS2')?'':'display: none'}">
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-1"></div>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input type="text" class="form-control form-control-sm" id="CTH102_purpose_self"
|
||||||
|
th:name="${ica.subInfo.purpose ne null and !#strings.contains(ica.subInfo.purpose, 'PPS')?'subInfo.purpose':''}"
|
||||||
|
th:value="${ica.subInfo.purpose ne null and !#strings.contains(ica.subInfo.purpose, 'PPS')?ica.subInfo.purpose:''}"
|
||||||
|
th:style="${ica.subInfo.purpose ne null and !#strings.contains(ica.subInfo.purpose, 'PPS')?'':'display: none'}">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!--제주무사증 도외이탈 끝-->
|
<!--제주무사증 도외이탈 끝-->
|
||||||
<!--밀출국 시작-->
|
<!--밀출국 시작-->
|
||||||
|
|
@ -158,26 +191,43 @@
|
||||||
</div>
|
</div>
|
||||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">밀출국 수단</label>
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center">밀출국 수단</label>
|
||||||
<div class="col-sm-2">
|
<div class="col-sm-2">
|
||||||
<select class="form-select form-select-sm" name="subInfo.means">
|
<select class="form-select form-select-sm etcSelfInput" id="CTH103_means"
|
||||||
|
th:name="${ica.subInfo.means ne null and !#strings.contains(ica.subInfo.means, 'MS2')?'':'subInfo.means'}">
|
||||||
<option value="">선택</option>
|
<option value="">선택</option>
|
||||||
<th:block th:each="code:${session.commonCode.get('MS2')}">
|
<th:block th:each="code:${session.commonCode.get('MS2')}">
|
||||||
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
|
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
|
||||||
th:selected="${code.itemCd eq ica.subInfo.means}"></option>
|
th:selected="${code.itemCd eq ica.subInfo.means}"></option>
|
||||||
</th:block>
|
</th:block>
|
||||||
<option value="etc">기타</option>
|
<option value="etc" th:selected="${ica.subInfo.means ne null and !#strings.contains(ica.subInfo.means, 'MS2')}">기타(직접입력)</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">밀출국 목적</label>
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center">밀출국 목적</label>
|
||||||
<div class="col-sm-2">
|
<div class="col-sm-2">
|
||||||
<select class="form-select form-select-sm" name="subInfo.purpose">
|
<select class="form-select form-select-sm etcSelfInput" id="CTH103_purpose"
|
||||||
|
th:name="${ica.subInfo.purpose ne null and !#strings.contains(ica.subInfo.purpose, 'PPS')?'':'subInfo.purpose'}">
|
||||||
<option value="">선택</option>
|
<option value="">선택</option>
|
||||||
<th:block th:each="code:${session.commonCode.get('PPS')}">
|
<th:block th:each="code:${session.commonCode.get('PPS')}">
|
||||||
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
|
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
|
||||||
th:selected="${code.itemCd eq ica.subInfo.purpose}"></option>
|
th:selected="${code.itemCd eq ica.subInfo.purpose}"></option>
|
||||||
</th:block>
|
</th:block>
|
||||||
<option value="etc">기타</option>
|
<option value="etc" th:selected="${ica.subInfo.purpose ne null and !#strings.contains(ica.subInfo.purpose, 'PPS')}">기타(직접입력)</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-sm-3"></div>
|
||||||
|
<div class="col-sm-4"></div>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input type="text" class="form-control form-control-sm" id="CTH103_means_self"
|
||||||
|
th:name="${ica.subInfo.means ne null and !#strings.contains(ica.subInfo.means, 'MS2')?'subInfo.means':''}"
|
||||||
|
th:value="${ica.subInfo.means ne null and !#strings.contains(ica.subInfo.means, 'MS2')?ica.subInfo.means:''}"
|
||||||
|
th:style="${ica.subInfo.means ne null and !#strings.contains(ica.subInfo.means, 'MS2')?'':'display: none'}">
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-1"></div>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input type="text" class="form-control form-control-sm" id="CTH103_purpose_self"
|
||||||
|
th:name="${ica.subInfo.purpose ne null and !#strings.contains(ica.subInfo.purpose, 'PPS')?'subInfo.purpose':''}"
|
||||||
|
th:value="${ica.subInfo.purpose ne null and !#strings.contains(ica.subInfo.purpose, 'PPS')?ica.subInfo.purpose:''}"
|
||||||
|
th:style="${ica.subInfo.purpose ne null and !#strings.contains(ica.subInfo.purpose, 'PPS')?'':'display: none'}">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!--밀출국 끝-->
|
<!--밀출국 끝-->
|
||||||
<!--밀항 시작-->
|
<!--밀항 시작-->
|
||||||
|
|
@ -190,7 +240,6 @@
|
||||||
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
|
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
|
||||||
th:selected="${code.itemCd eq ica.subInfo.seaArea}"></option>
|
th:selected="${code.itemCd eq ica.subInfo.seaArea}"></option>
|
||||||
</th:block>
|
</th:block>
|
||||||
<option value="etc">기타</option>
|
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">검거 지역</label>
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center">검거 지역</label>
|
||||||
|
|
@ -204,26 +253,43 @@
|
||||||
<div class="col-sm-3"></div>
|
<div class="col-sm-3"></div>
|
||||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">밀항 수단</label>
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center">밀항 수단</label>
|
||||||
<div class="col-sm-2">
|
<div class="col-sm-2">
|
||||||
<select class="form-select form-select-sm" name="subInfo.means">
|
<select class="form-select form-select-sm etcSelfInput" id="CTH104_means"
|
||||||
|
th:name="${ica.subInfo.means ne null and !#strings.contains(ica.subInfo.means, 'MS2')?'':'subInfo.means'}">
|
||||||
<option value="">선택</option>
|
<option value="">선택</option>
|
||||||
<th:block th:each="code:${session.commonCode.get('MS2')}">
|
<th:block th:each="code:${session.commonCode.get('MS2')}">
|
||||||
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
|
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
|
||||||
th:selected="${code.itemCd eq ica.subInfo.means}"></option>
|
th:selected="${code.itemCd eq ica.subInfo.means}"></option>
|
||||||
</th:block>
|
</th:block>
|
||||||
<option value="etc">기타</option>
|
<option value="etc" th:selected="${ica.subInfo.means ne null and !#strings.contains(ica.subInfo.means, 'MS2')}">기타(직접입력)</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">밀항 목적</label>
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center">밀항 목적</label>
|
||||||
<div class="col-sm-2">
|
<div class="col-sm-2">
|
||||||
<select class="form-select form-select-sm" name="subInfo.purpose">
|
<select class="form-select form-select-sm etcSelfInput" id="CTH104_purpose"
|
||||||
|
th:name="${ica.subInfo.purpose ne null and !#strings.contains(ica.subInfo.purpose, 'PPS')?'':'subInfo.purpose'}">
|
||||||
<option value="">선택</option>
|
<option value="">선택</option>
|
||||||
<th:block th:each="code:${session.commonCode.get('PPS')}">
|
<th:block th:each="code:${session.commonCode.get('PPS')}">
|
||||||
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
|
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
|
||||||
th:selected="${code.itemCd eq ica.subInfo.purpose}"></option>
|
th:selected="${code.itemCd eq ica.subInfo.purpose}"></option>
|
||||||
</th:block>
|
</th:block>
|
||||||
<option value="etc">기타</option>
|
<option value="etc" th:selected="${ica.subInfo.purpose ne null and !#strings.contains(ica.subInfo.purpose, 'PPS')}">기타(직접입력)</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-sm-6"></div>
|
||||||
|
<div class="col-sm-1"></div>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input type="text" class="form-control form-control-sm" id="CTH104_means_self"
|
||||||
|
th:name="${ica.subInfo.means ne null and !#strings.contains(ica.subInfo.means, 'MS2')?'subInfo.means':''}"
|
||||||
|
th:value="${ica.subInfo.means ne null and !#strings.contains(ica.subInfo.means, 'MS2')?ica.subInfo.means:''}"
|
||||||
|
th:style="${ica.subInfo.means ne null and !#strings.contains(ica.subInfo.means, 'MS2')?'':'display: none'}">
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-1"></div>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input type="text" class="form-control form-control-sm" id="CTH104_purpose_self"
|
||||||
|
th:name="${ica.subInfo.purpose ne null and !#strings.contains(ica.subInfo.purpose, 'PPS')?'subInfo.purpose':''}"
|
||||||
|
th:value="${ica.subInfo.purpose ne null and !#strings.contains(ica.subInfo.purpose, 'PPS')?ica.subInfo.purpose:''}"
|
||||||
|
th:style="${ica.subInfo.purpose ne null and !#strings.contains(ica.subInfo.purpose, 'PPS')?'':'display: none'}">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!--밀항 끝-->
|
<!--밀항 끝-->
|
||||||
<!--불법체류 및 취업 시작-->
|
<!--불법체류 및 취업 시작-->
|
||||||
|
|
@ -246,13 +312,14 @@
|
||||||
<div class="row mb-1 extInputDiv smugglingInputDiv" style="display: none">
|
<div class="row mb-1 extInputDiv smugglingInputDiv" style="display: none">
|
||||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">밀수입출 품목</label>
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center">밀수입출 품목</label>
|
||||||
<div class="col-sm-2">
|
<div class="col-sm-2">
|
||||||
<select class="form-select form-select-sm" name="subInfo.smuggledGoods">
|
<select class="form-select form-select-sm etcSelfInput" id="smuggling_goods"
|
||||||
|
th:name="${ica.subInfo.smuggledGoods ne null and !#strings.contains(ica.subInfo.smuggledGoods, 'SG')?'':'subInfo.smuggledGoods'}">
|
||||||
<option value="">선택</option>
|
<option value="">선택</option>
|
||||||
<th:block th:each="code:${session.commonCode.get('SG')}">
|
<th:block th:each="code:${session.commonCode.get('SG')}">
|
||||||
<option th:if="${code.useChk eq 'T'}" th:value="${code.itemCd}" th:text="${code.itemValue}"
|
<option th:if="${code.useChk eq 'T'}" th:value="${code.itemCd}" th:text="${code.itemValue}"
|
||||||
th:selected="${code.itemCd eq ica.subInfo.smuggledGoods}"></option>
|
th:selected="${code.itemCd eq ica.subInfo.smuggledGoods}"></option>
|
||||||
</th:block>
|
</th:block>
|
||||||
<option value="etc">기타</option>
|
<option value="etc" th:selected="${ica.subInfo.smuggledGoods ne null and !#strings.contains(ica.subInfo.smuggledGoods, 'SG')}">기타(직접입력)</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">검거장소</label>
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center">검거장소</label>
|
||||||
|
|
@ -261,7 +328,15 @@
|
||||||
</div>
|
</div>
|
||||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">단속인원</label>
|
<label 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 type="text" class="form-control form-control-sm" name="subInfo.policeCnt" th:value="${ica.subInfo.policeCnt}">
|
<input type="number" class="form-control form-control-sm" name="subInfo.policeCnt" th:value="${ica.subInfo.policeCnt}">
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-3"></div>
|
||||||
|
<div class="col-sm-1"></div>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input type="text" class="form-control form-control-sm" id="smuggling_goods_self"
|
||||||
|
th:name="${ica.subInfo.smuggledGoods ne null and !#strings.contains(ica.subInfo.smuggledGoods, 'SG')?'subInfo.smuggledGoods':''}"
|
||||||
|
th:value="${ica.subInfo.smuggledGoods ne null and !#strings.contains(ica.subInfo.smuggledGoods, 'SG')?ica.subInfo.smuggledGoods:''}"
|
||||||
|
th:style="${ica.subInfo.smuggledGoods ne null and !#strings.contains(ica.subInfo.smuggledGoods, 'SG')?'':'display: none'}">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!--밀수입출 끝-->
|
<!--밀수입출 끝-->
|
||||||
|
|
@ -298,7 +373,7 @@
|
||||||
th:selected="${code.itemCd eq ica.crimeForm}"></option>
|
th:selected="${code.itemCd eq ica.crimeForm}"></option>
|
||||||
</th:block>
|
</th:block>
|
||||||
</select>
|
</select>
|
||||||
<button type="button" class="btn btn-sm btn-primary w-25" id="spiAddBtn" style="display: none">
|
<button type="button" class="btn btn-sm btn-primary w-25" id="spiAddBtn" th:style="${ica.crimeForm eq null or ica.crimeForm eq 'CMF001'?'display: none':''}">
|
||||||
<i class="bi bi-plus"></i>
|
<i class="bi bi-plus"></i>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -351,47 +426,46 @@
|
||||||
</div>
|
</div>
|
||||||
</th:block>
|
</th:block>
|
||||||
<th:block th:unless="${#lists.isEmpty(ica.suspectInfoList)}">
|
<th:block th:unless="${#lists.isEmpty(ica.suspectInfoList)}">
|
||||||
<th:block th:each="suspectInfo, i : ${ica.suspectInfoList}">
|
<th:block th:each="suspectInfo:${ica.suspectInfoList}">
|
||||||
<div class="row spi-list m-0" th:classappend="${i.index > 0 ? 'dynamic' : ''}">
|
<div class="row spi-list m-0">
|
||||||
<input type="hidden" name="spiKey" th:value="${suspectInfo.spiKey}">
|
|
||||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">성별</label>
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center">성별</label>
|
||||||
<div class="col-sm-2" id="sexFormDiv">
|
<div class="col-sm-auto">
|
||||||
<select class="form-select form-select-sm" name="sex">
|
<select class="form-select form-select-sm sex">
|
||||||
<th:block th:each="code:${session.commonCode.get('SEX')}">
|
<th:block th:each="code:${session.commonCode.get('SEX')}">
|
||||||
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
|
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq suspectInfo.sex}"></option>
|
||||||
th:selected="${suspectInfo.sex ne null && code.itemCd eq suspectInfo.sex}"></option>
|
|
||||||
</th:block>
|
</th:block>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">나이</label>
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center">나이</label>
|
||||||
<div class="col-sm-2" id="ageFormDiv">
|
<div class="col-sm-auto">
|
||||||
<select class="form-select form-select-sm" name="age">
|
<select class="form-select form-select-sm age">
|
||||||
<th:block th:each="code:${session.commonCode.get('AGE')}">
|
<th:block th:each="code:${session.commonCode.get('AGE')}">
|
||||||
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
|
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq suspectInfo.age}"></option>
|
||||||
th:selected="${suspectInfo.age ne null && code.itemCd eq suspectInfo.age}"></option>
|
|
||||||
</th:block>
|
</th:block>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">국적</label>
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center">국적</label>
|
||||||
<div class="col-sm-2" id="countryFormDiv">
|
<div class="col-sm-auto">
|
||||||
<select class="form-select form-select-sm country" name="country" id="country">
|
<select class="form-select form-select-sm country">
|
||||||
<th:block th:each="code:${session.commonCode.get('NNY')}">
|
<th:block th:each="code:${session.commonCode.get('NNY')}">
|
||||||
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
|
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq suspectInfo.country}"></option>
|
||||||
th:selected="${suspectInfo.country ne null && code.itemCd eq suspectInfo.country}"></option>
|
|
||||||
</th:block>
|
</th:block>
|
||||||
<option value="etc" th:selected="${suspectInfo.country ne null && suspectInfo.country ne '' && !#strings.contains(suspectInfo.country, 'NNY')}">기타</option>
|
<option value="etc">기타</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<th:block th:if="${suspectInfo.country ne null && suspectInfo.country ne '' && !#strings.contains(suspectInfo.country, 'NNY')}">
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center">신병처리</label>
|
||||||
<div class="col-sm-2">
|
<div class="col-sm-auto">
|
||||||
<input type="text" class="form-control form-control-sm" name="countryEtc" th:value="${suspectInfo.country}">
|
<select class="form-select form-select-sm processResult">
|
||||||
</div>
|
<option value="">선택</option>
|
||||||
</th:block>
|
<th:block th:each="code:${session.commonCode.get('PCR')}">
|
||||||
<th:block th:if="${i.index > 0}">
|
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq suspectInfo.processResult}"></option>
|
||||||
<button type="button" class="col-sm-auto btn btn-sm btn-primary spiRemoveBtn" style="display: none">
|
</th:block>
|
||||||
<i class="bi bi-dash"></i>
|
<option value="etc">기타(신병인계)</option>
|
||||||
</button>
|
</select>
|
||||||
</th:block>
|
</div>
|
||||||
|
<button type="button" class="btn btn-sm col-sm-auto btn-danger mb-1 spiRemoveBtn" style="display: none">
|
||||||
|
<i class="bi bi-dash"></i>
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</th:block>
|
</th:block>
|
||||||
</th:block>
|
</th:block>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue