국제범죄 검거현황 작업중.

master
강석 최 2023-04-20 18:41:02 +09:00
parent 729e64ef66
commit 416a8536d6
10 changed files with 499 additions and 474 deletions

View File

@ -1,6 +1,7 @@
package com.dbnt.faisp.main.faStatistics.internationalCrimeArrest; package com.dbnt.faisp.main.faStatistics.internationalCrimeArrest;
import com.dbnt.faisp.main.authMgt.service.AuthMgtService; import com.dbnt.faisp.main.authMgt.service.AuthMgtService;
import com.dbnt.faisp.main.faStatistics.internationalCrimeArrest.model.IcaSubInfo;
import com.dbnt.faisp.main.faStatistics.internationalCrimeArrest.model.InternationalCrimeArrest; import com.dbnt.faisp.main.faStatistics.internationalCrimeArrest.model.InternationalCrimeArrest;
import com.dbnt.faisp.main.faStatistics.internationalCrimeArrest.repository.IcaSuspectInfoRepository; import com.dbnt.faisp.main.faStatistics.internationalCrimeArrest.repository.IcaSuspectInfoRepository;
import com.dbnt.faisp.main.faStatistics.internationalCrimeArrest.service.InternationalCrimeArrestService; import com.dbnt.faisp.main.faStatistics.internationalCrimeArrest.service.InternationalCrimeArrestService;
@ -43,15 +44,8 @@ public class InternationalCrimeArrestController {
mav.addObject("mgtOrganList", loginUser.getDownOrganCdList()); mav.addObject("mgtOrganList", loginUser.getDownOrganCdList());
internationalCrimeArrest.setQueryInfo(); internationalCrimeArrest.setQueryInfo();
/* mav.addObject("icaList", internationalCrimeArrestService.selectInternationalCrimeArrestList(internationalCrimeArrest));
List<InternationalCrimeArrest> internationalCrimeArrestList = internationalCrimeArrestService.selectInternationalCrimeArrestList(internationalCrimeArrest); internationalCrimeArrest.setContentCnt(internationalCrimeArrestService.selectInternationalCrimeArrestListCnt(internationalCrimeArrest));
for (InternationalCrimeArrest ica:internationalCrimeArrestList) {
ica.setSuspectInfoList(suspectPersonInfoRepository.findByIcaKey(ica.getIcaKey()));
}
*/
mav.addObject("internationalCrimeArrestList", new ArrayList<InternationalCrimeArrest>());
internationalCrimeArrest.setContentCnt(0);
internationalCrimeArrest.setPaginationInfo(); internationalCrimeArrest.setPaginationInfo();
mav.addObject("deadlineState", menuMgtService.selectDeadlineChk("/faStatistics/internationalCrimeArrest")); mav.addObject("deadlineState", menuMgtService.selectDeadlineChk("/faStatistics/internationalCrimeArrest"));
mav.addObject("organConfigList", organConfigService.selectOrganList()); mav.addObject("organConfigList", organConfigService.selectOrganList());
@ -65,6 +59,7 @@ public class InternationalCrimeArrestController {
if(internationalCrimeArrest.getIcaKey()!=null){ if(internationalCrimeArrest.getIcaKey()!=null){
internationalCrimeArrest = internationalCrimeArrestService.selectInternationalCrimeArrest(internationalCrimeArrest.getIcaKey()); internationalCrimeArrest = internationalCrimeArrestService.selectInternationalCrimeArrest(internationalCrimeArrest.getIcaKey());
}else{ }else{
internationalCrimeArrest.setSubInfo(new IcaSubInfo());
internationalCrimeArrest.setWrtOrgan(loginUser.getOgCd()); internationalCrimeArrest.setWrtOrgan(loginUser.getOgCd());
internationalCrimeArrest.setWrtPart(loginUser.getOfcCd()); internationalCrimeArrest.setWrtPart(loginUser.getOfcCd());
internationalCrimeArrest.setWrtUserSeq(loginUser.getUserSeq()); internationalCrimeArrest.setWrtUserSeq(loginUser.getUserSeq());
@ -80,10 +75,8 @@ public class InternationalCrimeArrestController {
@GetMapping("/internationalCrimeArrestViewModal") @GetMapping("/internationalCrimeArrestViewModal")
public ModelAndView internationalCrimeArrestViewModal(@AuthenticationPrincipal UserInfo loginUser, InternationalCrimeArrest internationalCrimeArrest){ public ModelAndView internationalCrimeArrestViewModal(@AuthenticationPrincipal UserInfo loginUser, InternationalCrimeArrest internationalCrimeArrest){
ModelAndView mav = new ModelAndView("faStatistics/internationalCrimeArrest/internationalCrimeArrestViewModal"); ModelAndView mav = new ModelAndView("faStatistics/internationalCrimeArrest/internationalCrimeArrestViewModal");
internationalCrimeArrest = internationalCrimeArrestService.selectInternationalCrimeArrest(internationalCrimeArrest.getIcaKey()); mav.addObject("ica", internationalCrimeArrestService.selectInternationalCrimeArrest(internationalCrimeArrest.getIcaKey()));
mav.addObject("internationalCrimeArrest", internationalCrimeArrest);
mav.addObject("userSeq",loginUser.getUserSeq()); mav.addObject("userSeq",loginUser.getUserSeq());
mav.addObject("organConfigList", organConfigService.selectOrganList());
//메뉴권한 확인 //메뉴권한 확인
mav.addObject("accessAuth", authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/faStatistics/internationalCrimeArrest").get(0).getAccessAuth()); mav.addObject("accessAuth", authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/faStatistics/internationalCrimeArrest").get(0).getAccessAuth());
mav.addObject("mgtOrganList", loginUser.getDownOrganCdList()); mav.addObject("mgtOrganList", loginUser.getDownOrganCdList());

View File

@ -45,7 +45,7 @@ public class IcaSubInfo extends BaseModel {
@Column(name = "crackdown_area") @Column(name = "crackdown_area")
private String crackdownArea; private String crackdownArea;
@Column(name = "police_cnt") @Column(name = "police_cnt")
private Integer poloceCnt; private Integer policeCnt;
@Column(name = "violation_amount") @Column(name = "violation_amount")
private String violationAmount; private String violationAmount;

View File

@ -71,7 +71,10 @@ public class InternationalCrimeArrest extends BaseModel {
private LocalDateTime wrtDt; private LocalDateTime wrtDt;
@Transient @Transient
private List<IcaSuspectInfo> suspectInfoList = new ArrayList<>(); private String processResult;
@Transient @Transient
private IcaSubInfo icaSubInfo = new IcaSubInfo(); private List<IcaSuspectInfo> suspectInfoList;
@Transient
private IcaSubInfo subInfo;
} }

View File

@ -11,4 +11,6 @@ public interface IcaSuspectInfoRepository extends JpaRepository<IcaSuspectInfo,
List<IcaSuspectInfo> findByIcaKey(Integer icaKey); List<IcaSuspectInfo> findByIcaKey(Integer icaKey);
void deleteByIcaKey(Integer icaKey); void deleteByIcaKey(Integer icaKey);
List<IcaSuspectInfo> findByIcaKeyInOrderBySpiKeyAsc(List<Integer> icaKeyList);
} }

View File

@ -14,7 +14,9 @@ import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Objects;
@Service @Service
@RequiredArgsConstructor @RequiredArgsConstructor
@ -24,8 +26,23 @@ public class InternationalCrimeArrestService extends BaseService {
private final IcaSuspectInfoRepository icaSuspectInfoRepository; private final IcaSuspectInfoRepository icaSuspectInfoRepository;
private final IcaSubInfoRepository icaSubInfoRepository; private final IcaSubInfoRepository icaSubInfoRepository;
public List<InternationalCrimeArrest> selectInternationalCrimeArrestList(InternationalCrimeArrest InternationalCrimeArrest) { public List<InternationalCrimeArrest> selectInternationalCrimeArrestList(InternationalCrimeArrest internationalCrimeArrest) {
return internationalCrimeArrestMapper.selectInternationalCrimeArrestList(InternationalCrimeArrest); List<InternationalCrimeArrest> icaList = internationalCrimeArrestMapper.selectInternationalCrimeArrestList(internationalCrimeArrest);
List<Integer> icaKeyList = new ArrayList<>();
for(InternationalCrimeArrest ica : icaList){
icaKeyList.add(ica.getIcaKey());
}
List<IcaSuspectInfo> suspectList = icaSuspectInfoRepository.findByIcaKeyInOrderBySpiKeyAsc(icaKeyList);
for(InternationalCrimeArrest ica : icaList){
ica.setSuspectInfoList(new ArrayList<>());
for(IcaSuspectInfo suspect: suspectList){
if (ica.getIcaKey().equals(suspect.getIcaKey())){
ica.getSuspectInfoList().add(suspect);
}
}
}
return icaList;
} }
public List<ParamMap> selectInternationalCrimeArrestParamList(InternationalCrimeArrest InternationalCrimeArrest) { public List<ParamMap> selectInternationalCrimeArrestParamList(InternationalCrimeArrest InternationalCrimeArrest) {
@ -43,7 +60,7 @@ public class InternationalCrimeArrestService extends BaseService {
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) {
savedICA.setIcaSubInfo(icaSubInfoRepository.findById(icaKey).orElse(new IcaSubInfo())); savedICA.setSubInfo(icaSubInfoRepository.findById(icaKey).orElse(new IcaSubInfo()));
savedICA.setSuspectInfoList(icaSuspectInfoRepository.findByIcaKey(icaKey)); savedICA.setSuspectInfoList(icaSuspectInfoRepository.findByIcaKey(icaKey));
} }
return savedICA; return savedICA;
@ -54,13 +71,20 @@ public class InternationalCrimeArrestService extends BaseService {
Integer icaKey = internationalCrimeArrestRepository.save(ica).getIcaKey(); Integer icaKey = internationalCrimeArrestRepository.save(ica).getIcaKey();
icaSuspectInfoRepository.deleteByIcaKey(icaKey); icaSuspectInfoRepository.deleteByIcaKey(icaKey);
Integer i=1;
for(IcaSuspectInfo suspectInfo: ica.getSuspectInfoList()){ for(IcaSuspectInfo suspectInfo: ica.getSuspectInfoList()){
suspectInfo.setIcaKey(icaKey); suspectInfo.setIcaKey(icaKey);
suspectInfo.setSpiKey(i++);
} }
icaSuspectInfoRepository.saveAll(ica.getSuspectInfoList()); icaSuspectInfoRepository.saveAll(ica.getSuspectInfoList());
icaSubInfoRepository.save(ica.getIcaSubInfo());
switch (ica.getViolationType()) {
case "CTH101": case "CTH102": case "CTH103": case "CTH104": case "CTH105":
case "CTH201": case "CTH202": case "CTH203": case "CTH204": case "CTH401":
ica.getSubInfo().setIcaKey(icaKey);
break;
}
if(ica.getSubInfo().getIcaKey()!=null){
icaSubInfoRepository.save(ica.getSubInfo());
}
return icaKey; return icaKey;
} }

View File

@ -6,7 +6,7 @@
<mapper namespace="com.dbnt.faisp.main.faStatistics.internationalCrimeArrest.mapper.InternationalCrimeArrestMapper"> <mapper namespace="com.dbnt.faisp.main.faStatistics.internationalCrimeArrest.mapper.InternationalCrimeArrestMapper">
<sql id="selectInternationalCrimeArrestListWhere"> <sql id="selectInternationalCrimeArrestListWhere">
<where> <where>
content_status &lt;> 'D' status &lt;> 'DST008'
<if test='organ != null and organ != ""'> <if test='organ != null and organ != ""'>
AND organ = #{organ} AND organ = #{organ}
</if> </if>
@ -41,7 +41,11 @@
AND case_sent_dt = #{caseSentDt}::DATE AND case_sent_dt = #{caseSentDt}::DATE
</if> </if>
<if test='processResult != null and processResult != ""'> <if test='processResult != null and processResult != ""'>
AND process_result = #{processResult} AND ica_key in (
select ica_key
from ica_suspect_info
where process_result = #{processResult}
)
</if> </if>
<if test='dateSelector == "wrtDt"'> <if test='dateSelector == "wrtDt"'>
<if test='startDate != null and startDate != ""'> <if test='startDate != null and startDate != ""'>
@ -55,45 +59,27 @@
</sql> </sql>
<select id="selectInternationalCrimeArrestList" resultType="InternationalCrimeArrest" parameterType="InternationalCrimeArrest"> <select id="selectInternationalCrimeArrestList" resultType="InternationalCrimeArrest" parameterType="InternationalCrimeArrest">
SELECT SELECT a.ica_key,
i.ica_key, a.organ,
i.organ, a.department,
i.department, a.crime_type,
i.crime_type, a.violation_type,
i.violation_type, a.crime_name,
i.crime_name, a.occur_table,
i.smuggling_amount, a.arrest_table,
i.occur_table, a.suspect_table,
i.arrest_table, a.crime_awareness_dt,
i.suspect_table, a.case_sent_dt,
i.crime_awareness_dt, a.case_num
i.case_sent_dt, FROM international_crime_arrest a
i.process_result,
i.other_crime,
i.case_num,
i.case_overview,
i.arrest_area,
i.means,
i.crime_form,
i.purpose,
i.smuggled_goods,
i.crackdown_personel,
i.violation_amount,
i.destination,
i.content_status,
i.wrt_organ,
i.wrt_user_seq,
i.wrt_nm,
i.wrt_dt
FROM international_crime_arrest i
<include refid="selectInternationalCrimeArrestListWhere"></include> <include refid="selectInternationalCrimeArrestListWhere"></include>
ORDER BY i.ica_key DESC ORDER BY a.ica_key DESC
LIMIT #{rowCnt} OFFSET #{firstIndex} LIMIT #{rowCnt} OFFSET #{firstIndex}
</select> </select>
<select id="selectInternationalCrimeArrestListCnt" resultType="int" parameterType="InternationalCrimeArrest"> <select id="selectInternationalCrimeArrestListCnt" resultType="int" parameterType="InternationalCrimeArrest">
SELECT count(*) SELECT count(*)
FROM international_crime_arrest FROM international_crime_arrest a
<include refid="selectInternationalCrimeArrestListWhere"></include> <include refid="selectInternationalCrimeArrestListWhere"></include>
</select> </select>

View File

@ -42,12 +42,8 @@ $(document).on('click', '#icaDeleteBtn', function (){
}) })
$(document).on('click', '#saveIcaBtn', function (){ $(document).on('click', '.saveBtn', function (){
saveInternationalCrimeArrest('N') saveInternationalCrimeArrest($(this).attr('data-status'))
});
$(document).on('click', '#saveTempBtn', function (){
saveInternationalCrimeArrest('Y')
}); });
$(document).on('click', '.tr', function (){ $(document).on('click', '.tr', function (){
@ -59,6 +55,7 @@ $(document).on('change', 'select[name="organ"]', function (){
}); });
$(document).on('change', '#crimeType', function (){ $(document).on('change', '#crimeType', function (){
inputControl();
dynamicOption('#violationType', $(this).val()); dynamicOption('#violationType', $(this).val());
}); });
@ -96,24 +93,24 @@ function spiRemoveBtnControl(){
} }
function inputControl(violationType){ function inputControl(violationType){
$(".extInputDiv").hide(); $(".extInputDiv").hide().find('input,select').attr("disabled", "disabled");
switch (violationType) { switch (violationType) {
case "CTH101": case "CTH101":
case "CTH102": case "CTH102":
case "CTH103": case "CTH103":
$("#extCommonInputDiv").show(); $(".extCommonInputDiv").show().find('input,select').removeAttr("disabled");
case "CTH104": case "CTH104":
case "CTH105": case "CTH105":
$("#"+violationType+"Div").show(); $("."+violationType+"Div").show().find('input,select').removeAttr("disabled");
break; break;
case "CTH201": case "CTH201":
case "CTH202": case "CTH202":
case "CTH203": case "CTH203":
case "CTH204": case "CTH204":
$(".smugglingInputDiv").show(); $(".smugglingInputDiv").show().find('input,select').removeAttr("disabled");
break; break;
case "CTH401": case "CTH401":
$("#"+violationType+"Div").show(); $("."+violationType+"Div").show().find('input,select').removeAttr("disabled");
break; break;
} }
} }
@ -126,6 +123,7 @@ function getIcaViewModal(icaKey){
dataType:"html", dataType:"html",
success: function(html){ success: function(html){
$("#icaViewBody").empty().append(html) $("#icaViewBody").empty().append(html)
inputControl($("#viewModalViolationType").val());
$("#icaViewModal").modal('show'); $("#icaViewModal").modal('show');
}, },
error:function(e){ error:function(e){
@ -146,17 +144,14 @@ function getIcaEditModal(icaKey){
$("#icaViewBody").empty(); $("#icaViewBody").empty();
$("#icaEditModalContent").empty().append(html); $("#icaEditModalContent").empty().append(html);
$("#icaEditModal").modal('show'); $("#icaEditModal").modal('show');
$("#crimeAwarenessDtDiv").datepicker({ $(".dateSelector").datepicker({
format: "yyyy-mm-dd",
language: "ko",
autoclose: true
});
$("#caseSentDtDiv").datepicker({
format: "yyyy-mm-dd", format: "yyyy-mm-dd",
language: "ko", language: "ko",
autoclose: true autoclose: true
}); });
setEditor('editor', '400'); setEditor('editor', '400');
spiRemoveBtnControl();
inputControl($("#violationType").val());
}, },
error:function(e){ error:function(e){
ajaxErrorAction(e); ajaxErrorAction(e);
@ -164,45 +159,22 @@ function getIcaEditModal(icaKey){
}); });
} }
function saveInternationalCrimeArrest(contentState){ function saveInternationalCrimeArrest(status){
if(contentCheck()){ if(contentCheck(status)){
if(confirm("저장하시겠습니까?")){ if(confirm("저장하시겠습니까?")){
$("#contentStatus").val(contentState);
contentFade("in"); contentFade("in");
const formData = new FormData($("#icaEditForm")[0]); const formData = new FormData($("#icaEditForm")[0]);
formData.append("status", status);
let spiList = []; $.each($("#spiDiv").find(".spi-list"), function (idx, spi){
spi = $(spi);
$(".spi-list").each(function (){ formData.append("suspectInfoList["+idx+"].spiKey", idx+1);
spiList.push({ formData.append("suspectInfoList["+idx+"].sex", spi.find('.sex').val());
spiKey: $(this).find('input[name="spiKey"]').val() != undefined ? Number($(this).find('input[name="spiKey"]').val()) : null, formData.append("suspectInfoList["+idx+"].age", spi.find('.age').val());
sex: $(this).find('select[name="sex"]').val(), formData.append("suspectInfoList["+idx+"].country", spi.find('.country').val());
age: $(this).find('select[name="age"]').val(), formData.append("suspectInfoList["+idx+"].processResult", spi.find('.processResult').val());
country: $(this).find('select[name="country"]').val(),
stayQualification: $(this).find('input[name="stayQualification"]').val() != undefined ? $(this).find('input[name="stayQualification"]').val() : null,
stayPeriodExpiredDt: $(this).find('input[name="stayPeriodExpiredDt"]').val() != undefined ? $(this).find('input[name="stayPeriodExpiredDt"]').val() : null,
countryEtc: $(this).find('input[name="countryEtc"]').val() != undefined ? $(this).find('input[name="countryEtc"]').val() : null
});
}); });
for (let i=0; i < spiList.length; i++) {
if (spiList[i].spiKey != null) {
formData.append(`suspectPersonInfoList[${i}].spiKey`, spiList[i].spiKey);
}
formData.append(`suspectPersonInfoList[${i}].sex`, spiList[i].sex);
formData.append(`suspectPersonInfoList[${i}].age`, spiList[i].age);
formData.append(`suspectPersonInfoList[${i}].country`, spiList[i].country);
if (spiList[i].stayQualification != null) {
formData.append(`suspectPersonInfoList[${i}].stayQualification`, spiList[i].stayQualification);
}
if (spiList[i].stayPeriodExpiredDt != null) {
formData.append(`suspectPersonInfoList[${i}].stayPeriodExpiredDt`, spiList[i].stayPeriodExpiredDt);
}
if (spiList[i].countryEtc != null) {
formData.append(`suspectPersonInfoList[${i}].countryEtc`, spiList[i].countryEtc);
}
}
formData.append("caseOverview", CrossEditor.GetBodyValue()); formData.append("caseOverview", CrossEditor.GetBodyValue());
debugger
$.ajax({ $.ajax({
type : 'POST', type : 'POST',
data : formData, data : formData,
@ -224,9 +196,11 @@ function saveInternationalCrimeArrest(contentState){
} }
} }
function contentCheck(){ function contentCheck(status){
let flag = true; let flag = true;
if(status !== "DST001"){
}
return flag; return flag;
} }

View File

@ -108,10 +108,10 @@
<div class="col-2"> <div class="col-2">
<select class="form-select form-select-sm" name="processResult" id="processResult"> <select class="form-select form-select-sm" name="processResult" id="processResult">
<option value="">신병처리 선택</option> <option value="">신병처리 선택</option>
<!--<th:block th:each="commonCode:${session.commonCode.get('PCR')}"> <th:block th:each="code:${session.commonCode.get('PCR')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" <option th:value="${code.itemCd}" th:text="${code.itemValue}"
th:selected="${commonCode.itemCd eq searchParams.processResult}"></option> th:selected="${code.itemCd eq searchParams.processResult}"></option>
</th:block>--> </th:block>
</select> </select>
</div> </div>
<div class="col-4"> <div class="col-4">
@ -157,62 +157,57 @@
<th>피의자 인적사항</th> <th>피의자 인적사항</th>
<th>범죄인지</th> <th>범죄인지</th>
<th>사건송치</th> <th>사건송치</th>
<th>신병처리</th>
</tr> </tr>
</thead> </thead>
<tbody class="table-group-divider text-center"> <tbody class="table-group-divider text-center">
<th:block th:each="internationalCrimeArrest,cnt:${internationalCrimeArrestList}"> <th:block th:each="ica,cnt:${icaList}">
<tr class="tr" th:data-key="${internationalCrimeArrest.icaKey}"> <tr class="tr" th:data-key="${ica.icaKey}">
<td th:text="${cnt.count}"></td> <td th:text="${cnt.count}"></td>
<td> <td>
<th:block th:each="commonCode:${session.commonCode.get('OG')}"> <th:block th:each="code:${session.commonCode.get('OG')}">
<th:block th:if="${internationalCrimeArrest.organ eq commonCode.itemCd}" th:text="${commonCode.itemValue}"></th:block> <th:block th:if="${ica.organ eq code.itemCd}" th:text="${code.itemValue}"></th:block>
</th:block> </th:block>
</td> </td>
<td> <td>
<th:block th:each="commonCode:${session.commonCode.get('OG')}"> <th:block th:each="code:${session.commonCode.get('OG')}">
<th:block th:if="${internationalCrimeArrest.department eq commonCode.itemCd}" th:text="${commonCode.itemValue}"></th:block> <th:block th:if="${ica.department eq code.itemCd}" th:text="${code.itemValue}"></th:block>
</th:block> </th:block>
</td> </td>
<td> <td>
<th:block th:each="commonCode:${session.commonCode.get('CTH')}"> <th:block th:each="code:${session.commonCode.get('CTH')}">
<th:block th:if="${internationalCrimeArrest.crimeType eq commonCode.itemCd}" th:text="${commonCode.itemValue}"></th:block> <th:block th:if="${ica.crimeType eq code.itemCd}" th:text="${code.itemValue}"></th:block>
</th:block> </th:block>
</td> </td>
<td> <td>
<th:block th:each="commonCode:${session.commonCode.get(internationalCrimeArrest.crimeType)}"> <th:block th:each="code:${session.commonCode.get(ica.crimeType)}">
<th:block th:if="${internationalCrimeArrest.violationType eq commonCode.itemCd}" th:text="${commonCode.itemValue}"></th:block> <th:block th:if="${ica.violationType eq code.itemCd}" th:text="${code.itemValue}"></th:block>
</th:block> </th:block>
</td> </td>
<td th:text="${internationalCrimeArrest.crimeName}"></td> <td th:text="${ica.crimeName}"></td>
<td th:text="${internationalCrimeArrest.occurTable}"></td> <td th:text="${ica.occurTable}"></td>
<td th:text="${internationalCrimeArrest.arrestTable}"></td> <td th:text="${ica.arrestTable}"></td>
<td th:text="${internationalCrimeArrest.suspectTable}"></td> <td th:text="${ica.suspectTable}"></td>
<td> <td>
<th:block th:if="${#lists.size(internationalCrimeArrest.suspectPersonInfoList) >= 1}"> <div th:each="suspect:${ica.suspectInfoList}">
<div th:each="suspectPersonInfo:${internationalCrimeArrest.suspectPersonInfoList}"> <th:block th:each="code:${session.commonCode.get('SEX')}">
<th:block th:each="commonCode:${session.commonCode.get('SEX')}"> <th:block th:if="${suspect.sex eq code.itemCd}" th:text="${code.itemValue}"></th:block>
<th:block th:if="${suspectPersonInfo.sex eq commonCode.itemCd}" th:text="${commonCode.itemValue}"></th:block> </th:block>
</th:block> <th:block th:each="code:${session.commonCode.get('AGE')}">
<th:block th:each="commonCode:${session.commonCode.get('AGE')}"> <th:block th:if="${suspect.age eq code.itemCd}" th:text="${code.itemValue}"></th:block>
<th:block th:if="${suspectPersonInfo.age eq commonCode.itemCd}" th:text="${commonCode.itemValue}"></th:block> </th:block>
</th:block> <th:block th:each="code:${session.commonCode.get('NNY')}">
<th:block th:each="commonCode:${session.commonCode.get('NNY')}"> <th:block th:if="${suspect.country eq code.itemCd}" th:text="${code.itemValue}"></th:block>
<th:block th:if="${suspectPersonInfo.country eq commonCode.itemCd}" th:text="${commonCode.itemValue}"></th:block> </th:block>
</th:block> <th:block th:if="${suspect.country ne null && !#strings.contains(suspect.country, 'NNY')}">
<th:block th:if="${suspectPersonInfo.country ne null && !#strings.contains(suspectPersonInfo.country, 'NNY')}"> <th:block th:text="${suspectPersonInfo.country}"></th:block>
<th:block th:text="${suspectPersonInfo.country}"></th:block> </th:block>
</th:block> <th:block th:each="code:${session.commonCode.get('PCR')}">
</div> <th:block th:if="${suspect.processResult eq code.itemCd}" th:text="${#strings.concat('(', code.itemValue, ')')}"></th:block>
</th:block> </th:block>
</td> </div>
<td th:text="${#temporals.format(internationalCrimeArrest.crimeAwarenessDt, 'yyyy-MM-dd')}"></td>
<td th:text="${#temporals.format(internationalCrimeArrest.caseSentDt, 'yyyy-MM-dd')}"></td>
<td>
<th:block th:each="commonCode:${session.commonCode.get('PCR')}">
<th:block th:if="${internationalCrimeArrest.processResult eq commonCode.itemCd}" th:text="${commonCode.itemValue}"></th:block>
</th:block>
</td> </td>
<td th:text="${#temporals.format(ica.crimeAwarenessDt, 'yyyy-MM-dd')}"></td>
<td th:text="${#temporals.format(ica.caseSentDt, 'yyyy-MM-dd')}"></td>
</tr> </tr>
</th:block> </th:block>
</tbody> </tbody>

View File

@ -68,131 +68,208 @@
</div> </div>
<!--위반유형별 양식 시작--> <!--위반유형별 양식 시작-->
<!--직접밀입국, 제주무사증 도외이탈, 밀출국 공통양식 시작--> <!--직접밀입국, 제주무사증 도외이탈, 밀출국 공통양식 시작-->
<div class="row mb-1 extInputDiv" id="extCommonInputDiv" style="display: none"> <div class="row mb-1 extInputDiv extCommonInputDiv" 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">
<input type="text" class="form-control form-control-sm" name="icaSubInfo.stayQualification" th:value="${ica.crimeName}"> <input type="text" class="form-control form-control-sm" name="subInfo.stayQualification" th:value="${ica.subInfo.stayQualification}">
</div> </div>
<label class="col-sm-1 col-form-label col-form-label-sm text-center fs-11">체류기간 만료일</label> <label class="col-sm-1 col-form-label col-form-label-sm text-center fs-11">체류기간 만료일</label>
<div class="col-sm-2"> <div class="col-sm-2">
<input type="text" class="form-control form-control-sm" name="crimeName" th:value="${ica.crimeName}"> <input type="text" class="form-control form-control-sm dateSelector" name="subInfo.stayPeriodExpiredDt" th:value="${ica.subInfo.stayPeriodExpiredDt}" autocomplete="off">
</div> </div>
<label class="col-sm-1 col-form-label col-form-label-sm text-center fs-10">밀입국 시도 해역</label> <label class="col-sm-1 col-form-label col-form-label-sm text-center fs-10">밀입국 시도 해역</label>
<div class="col-sm-2"> <div class="col-sm-2">
<input type="text" class="form-control form-control-sm" name="crimeName" th:value="${ica.crimeName}"> <select class="form-select form-select-sm" name="subInfo.seaArea">
<option value="">선택</option>
<th:block th:each="code:${session.commonCode.get('SAA')}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
th:selected="${code.itemCd eq ica.subInfo.seaArea}"></option>
</th:block>
<option value="etc">기타</option>
</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">
<input type="text" class="form-control form-control-sm" name="crimeName" th:value="${ica.crimeName}"> <input type="text" class="form-control form-control-sm" name="subInfo.arrestArea" th:value="${ica.subInfo.arrestArea}">
</div> </div>
</div> </div>
<!--직접밀입국, 제주무사증 도외이탈, 밀출국 공통양식 끝--> <!--직접밀입국, 제주무사증 도외이탈, 밀출국 공통양식 끝-->
<!--직접밀입국 시작--> <!--직접밀입국 시작-->
<div class="row mb-1 extInputDiv" id="CTH101Div" style="display: none"> <div class="row mb-1 extInputDiv CTH101Div" 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">
<input type="text" class="form-control form-control-sm" name="crimeName" th:value="${ica.crimeName}"> <input type="text" class="form-control form-control-sm" name="subInfo.destination" th:value="${ica.subInfo.destination}">
</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="crimeName" th:value="${ica.crimeName}"> <select class="form-select form-select-sm" name="subInfo.means">
<option value="">선택</option>
<th:block th:each="code:${session.commonCode.get('MS1')}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
th:selected="${code.itemCd eq ica.subInfo.means}"></option>
</th:block>
<option value="etc">기타</option>
</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">
<input type="text" class="form-control form-control-sm" name="crimeName" th:value="${ica.crimeName}"> <select class="form-select form-select-sm" name="subInfo.purpose">
<option value="">선택</option>
<th:block th:each="code:${session.commonCode.get('PPS')}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
th:selected="${code.itemCd eq ica.subInfo.purpose}"></option>
</th:block>
<option value="etc">기타</option>
</select>
</div> </div>
</div> </div>
<!--직접밀입국 끝--> <!--직접밀입국 끝-->
<!--제주무사증 도외이탈 시작--> <!--제주무사증 도외이탈 시작-->
<div class="row mb-1 extInputDiv" id="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">
<input type="text" class="form-control form-control-sm" name="crimeName" th:value="${ica.crimeName}"> <select class="form-select form-select-sm" name="subInfo.means">
<option value="">선택</option>
<th:block th:each="code:${session.commonCode.get('MS2')}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
th:selected="${code.itemCd eq ica.subInfo.means}"></option>
</th:block>
<option value="etc">기타</option>
</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">
<input type="text" class="form-control form-control-sm" name="crimeName" th:value="${ica.crimeName}"> <select class="form-select form-select-sm" name="subInfo.purpose">
<option value="">선택</option>
<th:block th:each="code:${session.commonCode.get('PPS')}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
th:selected="${code.itemCd eq ica.subInfo.purpose}"></option>
</th:block>
<option value="etc">기타</option>
</select>
</div> </div>
</div> </div>
<!--제주무사증 도외이탈 끝--> <!--제주무사증 도외이탈 끝-->
<!--밀출국 시작--> <!--밀출국 시작-->
<div class="row mb-1 extInputDiv" id="CTH103Div" style="display: none"> <div class="row mb-1 extInputDiv CTH103Div" 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">
<input type="text" class="form-control form-control-sm" name="crimeName" th:value="${ica.crimeName}"> <input type="text" class="form-control form-control-sm" name="subInfo.destination" th:value="${ica.subInfo.destination}">
</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="crimeName" th:value="${ica.crimeName}"> <select class="form-select form-select-sm" name="subInfo.means">
<option value="">선택</option>
<th:block th:each="code:${session.commonCode.get('MS2')}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
th:selected="${code.itemCd eq ica.subInfo.means}"></option>
</th:block>
<option value="etc">기타</option>
</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">
<input type="text" class="form-control form-control-sm" name="crimeName" th:value="${ica.crimeName}"> <select class="form-select form-select-sm" name="subInfo.purpose">
<option value="">선택</option>
<th:block th:each="code:${session.commonCode.get('PPS')}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
th:selected="${code.itemCd eq ica.subInfo.purpose}"></option>
</th:block>
<option value="etc">기타</option>
</select>
</div> </div>
</div> </div>
<!--밀출국 끝--> <!--밀출국 끝-->
<!--밀항 시작--> <!--밀항 시작-->
<div class="row mb-1 extInputDiv" id="CTH104Div" style="display: none"> <div class="row mb-1 extInputDiv CTH104Div" 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">
<input type="text" class="form-control form-control-sm" name="crimeName" th:value="${ica.crimeName}"> <select class="form-select form-select-sm" name="subInfo.seaArea">
<option value="">선택</option>
<th:block th:each="code:${session.commonCode.get('SAA')}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
th:selected="${code.itemCd eq ica.subInfo.seaArea}"></option>
</th:block>
<option value="etc">기타</option>
</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">
<input type="text" class="form-control form-control-sm" name="crimeName" th:value="${ica.crimeName}"> <input type="text" class="form-control form-control-sm" name="subInfo.arrestArea" th:value="${ica.subInfo.arrestArea}">
</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="crimeName" th:value="${ica.crimeName}"> <input type="text" class="form-control form-control-sm" name="subInfo.destination" th:value="${ica.subInfo.destination}">
</div> </div>
<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">
<input type="text" class="form-control form-control-sm" name="crimeName" th:value="${ica.crimeName}"> <select class="form-select form-select-sm" name="subInfo.means">
<option value="">선택</option>
<th:block th:each="code:${session.commonCode.get('MS2')}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
th:selected="${code.itemCd eq ica.subInfo.means}"></option>
</th:block>
<option value="etc">기타</option>
</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">
<input type="text" class="form-control form-control-sm" name="crimeName" th:value="${ica.crimeName}"> <select class="form-select form-select-sm" name="subInfo.purpose">
<option value="">선택</option>
<th:block th:each="code:${session.commonCode.get('PPS')}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}"
th:selected="${code.itemCd eq ica.subInfo.purpose}"></option>
</th:block>
<option value="etc">기타</option>
</select>
</div> </div>
</div> </div>
<!--밀항 끝--> <!--밀항 끝-->
<!--불법체류 및 취업 시작--> <!--불법체류 및 취업 시작-->
<div class="row mb-1 extInputDiv" id="CTH105Div" style="display: none"> <div class="row mb-1 extInputDiv CTH105Div" 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">
<input type="text" class="form-control form-control-sm" name="crimeName" th:value="${ica.crimeName}"> <input type="text" class="form-control form-control-sm" name="subInfo.entryVisa" th:value="${ica.subInfo.entryVisa}">
</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="crimeName" th:value="${ica.crimeName}"> <input type="text" class="form-control form-control-sm" name="subInfo.stayQualification" th:value="${ica.subInfo.stayQualification}">
</div> </div>
<label class="col-sm-1 col-form-label col-form-label-sm text-center fs-11">체류기간 만료일</label> <label class="col-sm-1 col-form-label col-form-label-sm text-center fs-11">체류기간 만료일</label>
<div class="col-sm-2"> <div class="col-sm-2">
<input type="text" class="form-control form-control-sm" name="crimeName" th:value="${ica.crimeName}"> <input type="text" class="form-control form-control-sm" name="subInfo.stayPeriodExpiredDt" th:value="${ica.subInfo.stayPeriodExpiredDt}">
</div> </div>
</div> </div>
<!--불법체류 및 취업 끝--> <!--불법체류 및 취업 끝-->
<!--밀수입출 시작--> <!--밀수입출 시작-->
<div class="row mb-1 extInputDiv" id="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">
<input type="text" class="form-control form-control-sm" name="crimeName" th:value="${ica.crimeName}"> <select class="form-select form-select-sm" name="subInfo.smuggledGoods">
<option value="">선택</option>
<th:block th:each="code:${session.commonCode.get('SG')}">
<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:block>
<option value="etc">기타</option>
</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">
<input type="text" class="form-control form-control-sm" name="crimeName" th:value="${ica.crimeName}"> <input type="text" class="form-control form-control-sm" name="subInfo.crackdownArea" th:value="${ica.subInfo.crackdownArea}">
</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="crimeName" th:value="${ica.crimeName}"> <input type="text" class="form-control form-control-sm" name="subInfo.policeCnt" th:value="${ica.subInfo.policeCnt}">
</div> </div>
</div> </div>
<!--밀수입출 끝--> <!--밀수입출 끝-->
<!--원산지 표시위반 시작--> <!--원산지 표시위반 시작-->
<div class="row mb-1 extInputDiv" id="CTH401Div" style="display: none"> <div class="row mb-1 extInputDiv CTH401Div" 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">
<input type="text" class="form-control form-control-sm" name="crimeName" th:value="${ica.crimeName}"> <input type="text" class="form-control form-control-sm" name="subInfo.violationAmount" th:value="${ica.subInfo.violationAmount}">
</div> </div>
</div> </div>
<!--원산지 표시위반 끝--> <!--원산지 표시위반 끝-->
@ -213,7 +290,7 @@
</div> </div>
<div class="row mb-1"> <div class="row mb-1">
<label class="col-sm-1 col-form-label col-form-label-sm text-center">범행형태</label> <label class="col-sm-1 col-form-label col-form-label-sm text-center">범행형태</label>
<div class="col-sm-2" id="crimeFormDiv"> <div class="col-sm-2">
<div class="input-group"> <div class="input-group">
<select class="form-select form-select-sm w-75" name="crimeForm" id="crimeForm"> <select class="form-select form-select-sm w-75" name="crimeForm" id="crimeForm">
<th:block th:each="code:${session.commonCode.get('CMF')}"> <th:block th:each="code:${session.commonCode.get('CMF')}">
@ -234,24 +311,24 @@
<th:block th:if="${#lists.isEmpty(ica.suspectInfoList)}"> <th:block th:if="${#lists.isEmpty(ica.suspectInfoList)}">
<div class="row spi-list m-0"> <div class="row spi-list m-0">
<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-auto" 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> <option th:value="${code.itemCd}" th:text="${code.itemValue}"></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-auto" 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> <option th:value="${code.itemCd}" th:text="${code.itemValue}"></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-auto" id="countryFormDiv"> <div class="col-sm-auto">
<select class="form-select form-select-sm country" name="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> <option th:value="${code.itemCd}" th:text="${code.itemValue}"></option>
</th:block> </th:block>
@ -260,7 +337,7 @@
</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-auto"> <div class="col-sm-auto">
<select class="form-select form-select-sm" name="processResult" id="processResult"> <select class="form-select form-select-sm processResult">
<option value="">선택</option> <option value="">선택</option>
<th:block th:each="code:${session.commonCode.get('PCR')}"> <th:block th:each="code:${session.commonCode.get('PCR')}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}"></option> <option th:value="${code.itemCd}" th:text="${code.itemValue}"></option>
@ -324,11 +401,11 @@
<div class="row mb-1"> <div class="row mb-1">
<label class="col-sm-1 col-form-label col-form-label-sm text-center">범죄인지</label> <label class="col-sm-1 col-form-label col-form-label-sm text-center">범죄인지</label>
<div class="col-sm-2 input-daterange" id="crimeAwarenessDtDiv"> <div class="col-sm-2 input-daterange" id="crimeAwarenessDtDiv">
<input type="text" class="form-control form-control-sm" name="crimeAwarenessDt" id="crimeAwarenessDt" th:value="${#temporals.format(ica.crimeAwarenessDt, 'yyyy-MM-dd')}"> <input type="text" class="form-control form-control-sm dateSelector" name="crimeAwarenessDt" id="crimeAwarenessDt" th:value="${#temporals.format(ica.crimeAwarenessDt, 'yyyy-MM-dd')}" autocomplete="off">
</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 input-daterange" id="caseSentDtDiv"> <div class="col-sm-2 input-daterange" id="caseSentDtDiv">
<input type="text" class="form-control form-control-sm" name="caseSentDt" id="caseSentDt" th:value="${#temporals.format(ica.caseSentDt, 'yyyy-MM-dd')}"> <input type="text" class="form-control form-control-sm dateSelector" name="caseSentDt" id="caseSentDt" th:value="${#temporals.format(ica.caseSentDt, 'yyyy-MM-dd')}" autocomplete="off">
</div> </div>
</div> </div>
<div class="row mb-1 justify-content-center"> <div class="row mb-1 justify-content-center">
@ -343,7 +420,7 @@
<div class="row spi-list m-0"> <div class="row spi-list m-0">
<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-auto"> <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> <option th:value="${code.itemCd}" th:text="${code.itemValue}"></option>
</th:block> </th:block>
@ -351,7 +428,7 @@
</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-auto"> <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> <option th:value="${code.itemCd}" th:text="${code.itemValue}"></option>
</th:block> </th:block>
@ -359,7 +436,7 @@
</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-auto"> <div class="col-sm-auto">
<select class="form-select form-select-sm country" name="country"> <select class="form-select form-select-sm country 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> <option th:value="${code.itemCd}" th:text="${code.itemValue}"></option>
</th:block> </th:block>
@ -368,7 +445,7 @@
</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-auto"> <div class="col-sm-auto">
<select class="form-select form-select-sm" name="processResult"> <select class="form-select form-select-sm processResult">
<option value="">선택</option> <option value="">선택</option>
<th:block th:each="code:${session.commonCode.get('PCR')}"> <th:block th:each="code:${session.commonCode.get('PCR')}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}"></option> <option th:value="${code.itemCd}" th:text="${code.itemValue}"></option>
@ -384,7 +461,7 @@
</div> </div>
<div class="modal-footer bg-light"> <div class="modal-footer bg-light">
<!-- <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">닫기</button>--> <!-- <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">닫기</button>-->
<button type="button" class="btn btn-warning" id="saveTempBtn">임시저장</button> <button type="button" class="btn btn-warning saveBtn" id="saveBtn" data-status="DST001">임시저장</button>
<button type="button" class="btn btn-primary" id="saveIcaBtn">저장</button> <button type="button" class="btn btn-primary saveBtn" id="saveIcaBtn" data-status="DST002">저장</button>
</div> </div>
</html> </html>

View File

@ -1,319 +1,290 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="ko" xmlns:th="http://www.thymeleaf.org"> <html lang="ko" xmlns:th="http://www.thymeleaf.org">
<div class="modal-header bg-dark"> <div class="modal-header bg-dark">
<h5 class="modal-title text-white" id="planEditModalLabel">국제범죄검거 현황</h5> <h5 class="modal-title text-white" id="icaViewModalLabel">국제범죄검거 현황</h5>
<button type="button" class="btn-close f-invert" data-bs-dismiss="modal" aria-label="Close"></button> <button type="button" class="btn-close f-invert" data-bs-dismiss="modal" aria-label="Close"></button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<input type="hidden" name="icaKey" id="viewModalKey" th:value="${internationalCrimeArrest.icaKey}"> <input type="hidden" name="icaKey" id="viewModalKey" th:value="${ica.icaKey}">
<!-- <div class="row mb-1"> <input type="hidden" name="icaKey" id="viewModalViolationType" th:value="${ica.violationType}">
<label class="col-sm-2 col-form-label col-form-label-sm text-center">사건번호</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${internationalCrimeArrest.caseNum}"></label>
</div>-->
<div class="row mb-1"> <div class="row mb-1">
<label class="col-sm-2 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>
<label class="col-sm-2 col-form-label col-form-label-sm text-start"> <label class="col-sm-2 col-form-label col-form-label-sm text-start">
<th:block th:each="organConfig:${organConfigList}"> <th:block th:each="code:${session.commonCode.get('OG')}">
<th:block th:if="${organConfig.organCd eq internationalCrimeArrest.organ}" th:text="${organConfig.organNm}"></th:block> <th:block th:if="${code.itemCd eq ica.organ}" th:text="${code.itemValue}"></th:block>
</th:block> </th:block>
</label> </label>
<label class="col-sm-2 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>
<label class="col-sm-2 col-form-label col-form-label-sm text-start"> <label class="col-sm-2 col-form-label col-form-label-sm text-start">
<th:block th:each="organConfig:${organConfigList}"> <th:block th:each="code:${session.commonCode.get('OG')}">
<th:block th:if="${organConfig.organCd eq internationalCrimeArrest.department}" th:text="${organConfig.organNm}"></th:block> <th:block th:if="${code.itemCd eq ica.department}" th:text="${code.itemValue}"></th:block>
</th:block> </th:block>
</label> </label>
</div> </div>
<hr class="my-1">
<div class="row mb-1"> <div class="row mb-1">
<label class="col-sm-2 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>
<label class="col-sm-2 col-form-label col-form-label-sm text-start"> <label class="col-sm-2 col-form-label col-form-label-sm text-start">
<th:block th:each="code:${session.commonCode.get('CTH')}"> <th:block th:each="code:${session.commonCode.get('CTH')}">
<th:block th:if="${code.itemCd eq internationalCrimeArrest.crimeType}" th:text="${code.itemValue}"></th:block> <th:block th:if="${code.itemCd eq ica.crimeType}" th:text="${code.itemValue}"></th:block>
</th:block> </th:block>
</label> </label>
<label class="col-sm-2 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>
<label class="col-sm-2 col-form-label col-form-label-sm text-start"> <label class="col-sm-2 col-form-label col-form-label-sm text-start">
<th:block th:each="code:${session.commonCode.get(internationalCrimeArrest.crimeType)}"> <th:block th:each="code:${session.commonCode.get(ica.crimeType)}">
<th:block th:if="${code.itemCd eq internationalCrimeArrest.violationType}" th:text="${code.itemValue}"></th:block> <th:block th:if="${code.itemCd eq ica.violationType}" th:text="${code.itemValue}"></th:block>
</th:block> </th:block>
</label> </label>
<th:block th:if="${internationalCrimeArrest.crimeType ne 'CTH2'}"> <label class="col-sm-1 col-form-label col-form-label-sm text-center">죄명</label>
<div class="col-sm-4" id="crimeNameDiv"> <label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${ica.crimeName}"></label>
<div class="row">
<label class="col-sm-6 col-form-label col-form-label-sm text-center">죄명</label>
<label class="col-sm-6 col-form-label col-form-label-sm text-start" th:text="${internationalCrimeArrest.crimeName}"></label>
</div>
</div>
</th:block>
</div> </div>
<div class="row mb-1" id="smugglingAmountDiv"> <!--위반유형별 양식 시작-->
<th:block th:if="${internationalCrimeArrest.crimeType eq 'CTH2'}"> <!--직접밀입국, 제주무사증 도외이탈, 밀출국 공통양식 시작-->
<label class="col-sm-2 col-form-label col-form-label-sm text-center">밀수입출 품목</label> <div class="row mb-1 extInputDiv extCommonInputDiv" style="display: none">
<label class="col-sm-2 col-form-label col-form-label-sm text-start"> <label class="col-sm-1 col-form-label col-form-label-sm text-center">체류자격</label>
<th:block th:each="commonCode:${session.commonCode.get('SG')}"> <label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${ica.subInfo.stayQualification}"></label>
<th:block th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"></th:block> <label class="col-sm-1 col-form-label col-form-label-sm text-center fs-11">체류기간 만료일</label>
</th:block> <label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${ica.subInfo.stayPeriodExpiredDt}"></label>
</label> <label class="col-sm-1 col-form-label col-form-label-sm text-center fs-10">밀입국 시도 해역</label>
<div class="col-sm-2"> <label class="col-sm-2 col-form-label col-form-label-sm text-start">
<select class="form-select form-select-sm bg-white" name="smuggledGoods" id="smugglingAmount" disabled> <th:block th:if="${ica.subInfo.seaArea ne null}">
<option>선택</option> <th:block th:if="${#strings.contains(ica.subInfo.seaArea, 'SAA')}">
<th:block th:each="commonCode:${session.commonCode.get('SG')}"> <th:block th:each="code:${session.commonCode.get('SAA')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"></option> <th:block th:if="${code.itemCd eq ica.subInfo.seaArea}" th:text="${code.itemValue}"></th:block>
</th:block> </th:block>
<option value="etc" th:selected="${internationalCrimeArrest.smuggledGoods ne null && internationalCrimeArrest.smuggledGoods ne '' && !#strings.contains(internationalCrimeArrest.smuggledGoods, 'SG')}">기타</option>
</select>
<th:block th:if="${internationalCrimeArrest.smuggledGoods ne null && internationalCrimeArrest.smuggledGoods ne '' && !#strings.contains(internationalCrimeArrest.smuggledGoods, 'SG')}">
<div class="col-auto">
<input type="text" class="form-control form-control-sm" name="smuggledGoodsEtc" th:value="${internationalCrimeArrest.smuggledGoods}" readonly>
</div>
</th:block> </th:block>
</div> <th:block th:unless="${#strings.contains(ica.subInfo.seaArea, 'SAA')}" th:text="${ica.subInfo.seaArea}"></th:block>
<label class="col-sm-2 col-form-label col-form-label-sm text-center">밀수가액(만원)</label> </th:block>
<div class="col-sm-2"> </label>
<input type="number" min="0" name="smugglingAmount" th:value="${internationalCrimeArrest.smugglingAmount}" readonly> <label class="col-sm-1 col-form-label col-form-label-sm text-center">검거 지역</label>
</div> <label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${ica.subInfo.arrestArea}"></label>
<label class="col-sm-2 col-form-label col-form-label-sm text-center">단속 인원(경찰관)</label> </div>
<div class="col-sm-2"> <!--직접밀입국, 제주무사증 도외이탈, 밀출국 공통양식 끝-->
<input type="number" min="0" name="caseNum" th:value="${internationalCrimeArrest.caseNum}" readonly> <!--직접밀입국 시작-->
</div> <div class="row mb-1 extInputDiv CTH101Div" style="display: none">
</th:block> <label class="col-sm-1 col-form-label col-form-label-sm text-center">밀입국 출발지</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${ica.subInfo.destination}"></label>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">밀입국 수단</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-start">
<th:block th:if="${ica.subInfo.means ne null}">
<th:block th:if="${#strings.contains(ica.subInfo.means, 'MS1')}">
<th:block th:each="code:${session.commonCode.get('MS1')}">
<th:block th:if="${code.itemCd eq ica.subInfo.means}" th:text="${code.itemValue}"></th:block>
</th:block>
</th:block>
<th:block th:unless="${#strings.contains(ica.subInfo.means, 'MS1')}" th:text="${ica.subInfo.means}"></th:block>
</th:block>
</label>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">밀입국 목적</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-start">
<th:block th:if="${ica.subInfo.purpose ne null}">
<th:block th:if="${#strings.contains(ica.subInfo.purpose, 'PPS')}">
<th:block th:each="code:${session.commonCode.get('PPS')}">
<th:block th:if="${code.itemCd eq ica.subInfo.purpose}" th:text="${code.itemValue}"></th:block>
</th:block>
</th:block>
<th:block th:unless="${#strings.contains(ica.subInfo.purpose, 'PPS')}" th:text="${ica.subInfo.purpose}"></th:block>
</th:block>
</label>
</div>
<!--직접밀입국 끝-->
<!--제주무사증 도외이탈 시작-->
<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-2 col-form-label col-form-label-sm text-start">
<th:block th:if="${ica.subInfo.means ne null}">
<th:block th:if="${#strings.contains(ica.subInfo.means, 'MS2')}">
<th:block th:each="code:${session.commonCode.get('MS2')}">
<th:block th:if="${code.itemCd eq ica.subInfo.means}" th:text="${code.itemValue}"></th:block>
</th:block>
</th:block>
<th:block th:unless="${#strings.contains(ica.subInfo.means, 'MS2')}" th:text="${ica.subInfo.means}"></th:block>
</th:block>
</label>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">도외이탈 목적</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-start">
<th:block th:if="${ica.subInfo.purpose ne null}">
<th:block th:if="${#strings.contains(ica.subInfo.purpose, 'PPS')}">
<th:block th:each="code:${session.commonCode.get('PPS')}">
<th:block th:if="${code.itemCd eq ica.subInfo.purpose}" th:text="${code.itemValue}"></th:block>
</th:block>
</th:block>
<th:block th:unless="${#strings.contains(ica.subInfo.purpose, 'PPS')}" th:text="${ica.subInfo.purpose}"></th:block>
</th:block>
</label>
</div>
<!--제주무사증 도외이탈 끝-->
<!--밀출국 시작-->
<div class="row mb-1 extInputDiv CTH103Div" style="display: none">
<label class="col-sm-1 col-form-label col-form-label-sm text-center">밀출국 행선지</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${ica.subInfo.destination}"></label>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">밀출국 수단</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-start">
<th:block th:if="${ica.subInfo.means ne null}">
<th:block th:if="${#strings.contains(ica.subInfo.means, 'MS2')}">
<th:block th:each="code:${session.commonCode.get('MS2')}">
<th:block th:if="${code.itemCd eq ica.subInfo.means}" th:text="${code.itemValue}"></th:block>
</th:block>
</th:block>
<th:block th:unless="${#strings.contains(ica.subInfo.means, 'MS2')}" th:text="${ica.subInfo.means}"></th:block>
</th:block>
</label>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">밀출국 목적</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-start">
<th:block th:if="${ica.subInfo.purpose ne null}">
<th:block th:if="${#strings.contains(ica.subInfo.purpose, 'PPS')}">
<th:block th:each="code:${session.commonCode.get('PPS')}">
<th:block th:if="${code.itemCd eq ica.subInfo.purpose}" th:text="${code.itemValue}"></th:block>
</th:block>
</th:block>
<th:block th:unless="${#strings.contains(ica.subInfo.purpose, 'PPS')}" th:text="${ica.subInfo.purpose}"></th:block>
</th:block>
</label>
</div>
<!--밀출국 끝-->
<!--밀항 시작-->
<div class="row mb-1 extInputDiv CTH104Div" style="display: none">
<label class="col-sm-1 col-form-label col-form-label-sm text-center">밀항 시도 해역</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-start">
<th:block th:if="${ica.subInfo.seaArea ne null}">
<th:block th:if="${#strings.contains(ica.subInfo.seaArea, 'SAA')}">
<th:block th:each="code:${session.commonCode.get('SAA')}">
<th:block th:if="${code.itemCd eq ica.subInfo.seaArea}" th:text="${code.itemValue}"></th:block>
</th:block>
</th:block>
<th:block th:unless="${#strings.contains(ica.subInfo.seaArea, 'SAA')}" th:text="${ica.subInfo.seaArea}"></th:block>
</th:block>
</label>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">검거 지역</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${ica.subInfo.arrestArea}"></label>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">밀항 행선지</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${ica.subInfo.destination}"></label>
<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-2 col-form-label col-form-label-sm text-start">
<th:block th:if="${ica.subInfo.means ne null}">
<th:block th:if="${#strings.contains(ica.subInfo.means, 'MS2')}">
<th:block th:each="code:${session.commonCode.get('MS2')}">
<th:block th:if="${code.itemCd eq ica.subInfo.means}" th:text="${code.itemValue}"></th:block>
</th:block>
</th:block>
<th:block th:unless="${#strings.contains(ica.subInfo.means, 'MS2')}" th:text="${ica.subInfo.means}"></th:block>
</th:block>
</label>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">밀항 목적</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-start">
<th:block th:if="${ica.subInfo.purpose ne null}">
<th:block th:if="${#strings.contains(ica.subInfo.purpose, 'PPS')}">
<th:block th:each="code:${session.commonCode.get('PPS')}">
<th:block th:if="${code.itemCd eq ica.subInfo.purpose}" th:text="${code.itemValue}"></th:block>
</th:block>
</th:block>
<th:block th:unless="${#strings.contains(ica.subInfo.purpose, 'PPS')}" th:text="${ica.subInfo.purpose}"></th:block>
</th:block>
</label>
</div>
<!--밀항 끝-->
<!--불법체류 및 취업 시작-->
<div class="row mb-1 extInputDiv CTH105Div" style="display: none">
<label class="col-sm-1 col-form-label col-form-label-sm text-center">입국 비자</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${ica.subInfo.entryVisa}"></label>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">체류 자격</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${ica.subInfo.stayQualification}"></label>
<label class="col-sm-1 col-form-label col-form-label-sm text-center fs-11">체류기간 만료일</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${ica.subInfo.stayPeriodExpiredDt}"></label>
</div>
<!--불법체류 및 취업 끝-->
<!--밀수입출 시작-->
<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-2 col-form-label col-form-label-sm text-start">
<th:block th:if="${ica.subInfo.smuggledGoods ne null}">
<th:block th:if="${#strings.contains(ica.subInfo.smuggledGoods, 'SG')}">
<th:block th:each="code:${session.commonCode.get('SG')}">
<th:block th:if="${code.itemCd eq ica.subInfo.smuggledGoods}" th:text="${code.itemValue}"></th:block>
</th:block>
</th:block>
<th:block th:unless="${#strings.contains(ica.subInfo.smuggledGoods, 'SG')}" th:text="${ica.subInfo.smuggledGoods}"></th:block>
</th:block>
</label>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">검거장소</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${ica.subInfo.crackdownArea}"></label>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">단속인원</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${ica.subInfo.policeCnt}"></label>
</div>
<!--밀수입출 끝-->
<!--원산지 표시위반 시작-->
<div class="row mb-1 extInputDiv CTH401Div" style="display: none">
<label class="col-sm-1 col-form-label col-form-label-sm text-center">위반금액</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${ica.subInfo.violationAmount}"></label>
</div>
<!--원산지 표시위반 끝-->
<!--위반유형별 양식 끝-->
<div class="row mb-1">
<label class="col-sm-1 col-form-label col-form-label-sm text-center">발생원표</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${ica.occurTable}"></label>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">검거원표</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${ica.arrestTable}"></label>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">피의자원표</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${ica.suspectTable}"></label>
</div> </div>
<div class="row mb-1"> <div class="row mb-1">
<label class="col-sm-2 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"> <label class="col-sm-2 col-form-label col-form-label-sm text-start">
<input type="text" class="form-control form-control-sm" name="occurTable" th:value="${internationalCrimeArrest.occurTable}" readonly> <th:block th:each="code:${session.commonCode.get('CMF')}">
</div> <th:block th:if="${code.itemCd eq ica.crimeForm}" th:text="${code.itemValue}"></th:block>
<label class="col-sm-2 col-form-label col-form-label-sm text-center">검거원표</label> </th:block>
<div class="col-sm-2"> </label>
<input type="text" class="form-control form-control-sm" name="arrestTable" th:value="${internationalCrimeArrest.arrestTable}" readonly>
</div>
<label class="col-sm-2 col-form-label col-form-label-sm text-center">피의자원표</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" name="suspectTable" th:value="${internationalCrimeArrest.suspectTable}" readonly>
</div>
</div> </div>
<div class="row mb-1"> <div class="row mb-1">
<label class="col-sm-2 col-form-label col-form-label-sm text-center">범행형태</label> <label class="col-sm-1 col-form-label col-form-label-sm text-center">피의자<br>인적사항</label>
<div class="col-auto" id="crimeFormDiv"> <div class="col-sm-11">
<select class="form-select form-select-sm bg-white" name="crimeForm" id="crimeForm" disabled> <div class="border">
<th:block th:each="commonCode:${session.commonCode.get('CMF')}"> <th:block th:each="suspect:${ica.suspectInfoList}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" <div class="row m-0">
th:selected="${commonCode.itemCd eq internationalCrimeArrest.crimeForm}"></option>
</th:block>
</select>
</div>
</div>
<div class="row mb-1" id="spiParentDiv">
<label class="col-sm-2 col-form-label col-form-label-sm text-center">피의자 인적사항</label>
<div class="col-sm-10">
<div class="border" id="spiDiv">
<th:block th:if="${#lists.isEmpty(internationalCrimeArrest.suspectPersonInfoList)}">
<div class="row spi-list m-0">
<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"> <label class="col-sm-2 col-form-label col-form-label-sm text-start">
<select class="form-select form-select-sm bg-white" name="sex" disabled> <th:block th:each="code:${session.commonCode.get('SEX')}">
<th:block th:each="commonCode:${session.commonCode.get('SEX')}"> <th:block th:if="${code.itemCd eq suspect.sex}" th:text="${code.itemValue}"></th:block>
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"></option>
</th:block>
</select>
</div>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">나이</label>
<div class="col-sm-2" id="ageFormDiv">
<select class="form-select form-select-sm bg-white" name="age" disabled>
<th:block th:each="commonCode:${session.commonCode.get('AGE')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"></option>
</th:block>
</select>
</div>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">국적</label>
<div class="col-sm-2" id="countryFormDiv">
<select class="form-select form-select-sm bg-white country" name="country" disabled>
<th:block th:each="commonCode:${session.commonCode.get('NNY')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"></option>
</th:block>
<option value="etc">기타</option>
</select>
</div>
</div>
</th:block>
<th:block th:if="${!#lists.isEmpty(internationalCrimeArrest.suspectPersonInfoList)}">
<th:block th:each="suspectPersonInfo:${internationalCrimeArrest.suspectPersonInfoList}">
<div class="row spi-list m-0">
<label class="col-sm-1 col-form-label col-form-label-sm text-center">성별</label>
<div class="col-sm-2" id="sexFormDiv">
<select class="form-select form-select-sm bg-white" name="sex" disabled>
<th:block th:each="commonCode:${session.commonCode.get('SEX')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
th:selected="${suspectPersonInfo.sex ne null && commonCode.itemCd eq suspectPersonInfo.sex}"></option>
</th:block>
</select>
</div>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">나이</label>
<div class="col-sm-2" id="ageFormDiv">
<select class="form-select form-select-sm bg-white" name="age" disabled>
<th:block th:each="commonCode:${session.commonCode.get('AGE')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
th:selected="${suspectPersonInfo.age ne null && commonCode.itemCd eq suspectPersonInfo.age}"></option>
</th:block>
</select>
</div>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">국적</label>
<div class="col-sm-2" id="countryFormDiv">
<select class="form-select form-select-sm bg-white country" name="country" id="country" disabled>
<th:block th:each="commonCode:${session.commonCode.get('NNY')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
th:selected="${suspectPersonInfo.country ne null && commonCode.itemCd eq suspectPersonInfo.country}"></option>
</th:block>
<option value="etc" th:selected="${suspectPersonInfo.country ne null && suspectPersonInfo.country ne '' && !#strings.contains(suspectPersonInfo.country, 'NNY')}">기타</option>
</select>
</div>
<th:block th:if="${suspectPersonInfo.country ne null && suspectPersonInfo.country ne '' && !#strings.contains(suspectPersonInfo.country, 'NNY')}">
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" name="countryEtc" th:value="${suspectPersonInfo.country}" readonly>
</div>
</th:block> </th:block>
</div> </label>
</th:block> <label class="col-sm-1 col-form-label col-form-label-sm text-center">나이</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-start">
<th:block th:each="code:${session.commonCode.get('AGE')}">
<th:block th:if="${code.itemCd eq suspect.age}" th:text="${code.itemValue}"></th:block>
</th:block>
</label>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">국적</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-start">
<th:block th:each="code:${session.commonCode.get('NNY')}">
<th:block th:if="${code.itemCd eq suspect.country}" th:text="${code.itemValue}"></th:block>
</th:block>
</label>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">신병처리</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-start">
<th:block th:each="code:${session.commonCode.get('PCR')}">
<th:block th:if="${code.itemCd eq suspect.processResult}" th:text="${code.itemValue}"></th:block>
</th:block>
</label>
</div>
</th:block> </th:block>
</div> </div>
</div> </div>
</div> </div>
<div class="row mb-1" id="spiInfoDiv">
<th:block th:if="${!#lists.isEmpty(internationalCrimeArrest.suspectPersonInfoList)}">
<th:block th:if="${internationalCrimeArrest.crimeType eq 'CTH2' || internationalCrimeArrest.violationType eq 'VLT005'}">
<label class="col-sm-2 col-form-label col-form-label-sm text-center" th:text="${internationalCrimeArrest.violationType eq 'VLT005' ? '불법체류 및 취업' : '피의자 정보'}">피의자 정보</label>
<div class="col-sm-10">
<div class="row" id="spiWrapper">
<th:block th:if="${internationalCrimeArrest.violationType eq 'VLT005'}">
<label class="col-sm-2 col-form-label col-form-label-sm text-center entryVisa">입국비자</label>
<div class="col-sm-2 entryVisa">
<input type="text" class="form-control form-control-sm" name="entryVisa" th:value="${internationalCrimeArrest.suspectPersonInfoList[0].entryVisa}" readonly>
</div>
</th:block>
<label class="col-sm-2 col-form-label col-form-label-sm text-center">체류 자격</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" name="stayQualification" th:value="${internationalCrimeArrest.suspectPersonInfoList[0].stayQualification}" readonly>
</div>
<label class="col-sm-2 col-form-label col-form-label-sm text-center">체류기간 만료일</label>
<div class="col-sm-2" id="stayQualificationDiv">
<input type="text" class="form-control form-control-sm" name="stayPeriodExpiredDt" id="stayPeriodExpiredDt" th:value="${#temporals.format(internationalCrimeArrest.suspectPersonInfoList[0].stayPeriodExpiredDt, 'yyyy-MM-dd HH:mm')}" readonly>
</div>
</div>
</div>
</th:block>
</th:block>
</div>
<th:block th:if="${internationalCrimeArrest.violationType eq 'VLT001' || internationalCrimeArrest.violationType eq 'VLT002' || internationalCrimeArrest.violationType eq 'VLT003'|| internationalCrimeArrest.violationType eq 'VLT004'}">
<div class="row mb-1" id="meansDiv">
<th:block th:if="${internationalCrimeArrest.violationType eq 'VLT001' || internationalCrimeArrest.violationType eq 'VLT003'|| internationalCrimeArrest.violationType eq 'VLT004'}">
<label class="col-sm-2 col-form-label col-form-label-sm text-center" th:text="${internationalCrimeArrest.violationType eq 'VLT001' ? '밀입국 출발지(국가)' : (internationalCrimeArrest.violationType eq 'VLT003' ? '밀출국 행선지(도착예정지)' : '밀항 행선지(도착예정지)')}"></label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" name="destination" readonly>
</div>
</th:block>
<label class="col-sm-2 col-form-label col-form-label-sm text-center" th:text="${internationalCrimeArrest.violationType eq 'VLT001' ? '밀입국 수단(방법)' : (internationalCrimeArrest.violationType eq 'VLT002' ? '도외이탈 수단(방법)' : (internationalCrimeArrest.violationType eq 'VLT003' ? '밀출국 수단(방법)' : '밀항 수단(방법)'))}"></label>
<div class="col-sm-2">
<select class="form-select form-select-sm bg-white" name="means" id="means" disabled>
<option>선택</option>
<th:block th:if="${internationalCrimeArrest.violationType eq 'VLT001'}" th:each="commonCode:${session.commonCode.get('MS1')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
th:selected="${commonCode.itemCd eq internationalCrimeArrest.means}"></option>
</th:block>
<th:block th:if="${internationalCrimeArrest.violationType ne 'VLT001'}" th:each="commonCode:${session.commonCode.get('MS2')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
th:selected="${commonCode.itemCd eq internationalCrimeArrest.means}"></option>
</th:block>
<option value="etc" th:selected="${internationalCrimeArrest.means ne null && internationalCrimeArrest.means ne '' && !#strings.contains(internationalCrimeArrest.means, 'MS1') && !#strings.contains(internationalCrimeArrest.means, 'MS2')}">기타</option>
</select>
<th:block th:if="${internationalCrimeArrest.means ne null && internationalCrimeArrest.means ne '' && !#strings.contains(internationalCrimeArrest.means, 'MS1') && !#strings.contains(internationalCrimeArrest.means, 'MS2')}">
<div class="col-auto">
<input type="text" class="form-control form-control-sm" name="meansEtc" th:value="${internationalCrimeArrest.means}" readonly>
</div>
</th:block>
</div>
<label class="col-sm-2 col-form-label col-form-label-sm text-center" th:text="${internationalCrimeArrest.violationType eq 'VLT001' ? '밀입국 목적(사유)' : (internationalCrimeArrest.violationType eq 'VLT002' ? '도외이탈 목적(시유)' : (internationalCrimeArrest.violationType eq 'VLT003' ? '밀출국 목적(사유)' : '밀항 목적(사유)'))}"></label>
<div class="col-sm-2">
<select class="form-select form-select-sm bg-white" name="purpose" id="purpose" disabled>
<option>선택</option>
<th:block th:each="commonCode:${session.commonCode.get('PPS')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
th:selected="${commonCode.itemCd eq internationalCrimeArrest.purpose}"></option>
</th:block>
<option value="etc" th:selected="${internationalCrimeArrest.purpose ne null && internationalCrimeArrest.purpose ne '' && !#strings.contains(internationalCrimeArrest.purpose, 'PPS')}">기타</option>
</select>
<th:block th:if="${internationalCrimeArrest.purpose ne null && internationalCrimeArrest.purpose ne '' && !#strings.contains(internationalCrimeArrest.purpose, 'PPS')}">
<div class="col-auto">
<input type="text" class="form-control form-control-sm" name="purposeEtc" th:value="${internationalCrimeArrest.purpose}" readonly>
</div>
</th:block>
</div>
</div>
<div class="row mb-1" id="arrestAreaDiv">
<label class="col-sm-2 col-form-label col-form-label-sm text-center">검거 지역 </label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" name="arrestArea" th:value="${internationalCrimeArrest.arrestArea}" readonly>
</div>
<label class="col-sm-2 col-form-label col-form-label-sm text-center" th:text="${internationalCrimeArrest.violationType eq 'VLT001' ? '밀입국 시도 해역(해안)' : (internationalCrimeArrest.violationType eq 'VLT002' ? '도외이탈 시도 해역(해안)' : (internationalCrimeArrest.violationType eq 'VLT003' ? '밀출국 시도 해역(해안)' : '밀항 시도 해역(해안)'))}"></label>
<div class="col-sm-3">
<select class="form-select form-select-sm bg-white" name="seaArea" disabled>
<option>선택</option>
<th:block th:each="commonCode:${session.commonCode.get('SAA')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
th:selected="${commonCode.itemCd eq internationalCrimeArrest.seaArea}"></option>
</th:block>
</select>
</div>
</div>
</th:block>
<th:block th:if="${internationalCrimeArrest.violationAmount ne null}">
<div class="row mb-1" id="violationAmountDiv">
<label class="col-sm-2 col-form-label col-form-label-sm text-center">표시위반 금액(만원)</label>
<div class="col-sm-2">
<input type="number" min="0" class="form-control form-control-sm" name="violationAmount" th:value="${internationalCrimeArrest.violationAmount}" readonly>
</div>
</div>
</th:block>
<hr class="my-1">
<div class="row mb-1"> <div class="row mb-1">
<label class="col-sm-2 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="crimeAwarenessDtDiv"> <label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${ica.crimeAwarenessDt}"></label>
<input type="text" class="form-control form-control-sm" name="crimeAwarenessDt" id="crimeAwarenessDt" th:value="${#temporals.format(internationalCrimeArrest.crimeAwarenessDt, 'yyyy-MM-dd')}" readonly> <label class="col-sm-1 col-form-label col-form-label-sm text-center">사건송치</label>
</div> <label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${ica.caseSentDt}"></label>
<label class="col-sm-2 col-form-label col-form-label-sm text-center">사건송치</label>
<div class="col-sm-2" id="caseSentDtDiv">
<input type="text" class="form-control form-control-sm" name="caseSentDt" id="caseSentDt" th:value="${#temporals.format(internationalCrimeArrest.caseSentDt, 'yyyy-MM-dd')}" readonly>
</div>
<label class="col-sm-2 col-form-label col-form-label-sm text-center">신병처리</label>
<div class="col-sm-2">
<select class="form-select form-select-sm bg-white" name="processResult" id="processResult" disabled>
<option>선택</option>
<th:block th:each="commonCode:${session.commonCode.get('PCR')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
th:selected="${commonCode.itemCd eq internationalCrimeArrest.processResult}"></option>
</th:block>
<option value="etc" th:selected="${internationalCrimeArrest.processResult ne null && internationalCrimeArrest.processResult ne '' && !#strings.contains(internationalCrimeArrest.processResult, 'PCR')}">기타</option>
</select>
</div>
</div> </div>
<th:block th:if="${internationalCrimeArrest.processResult ne null && internationalCrimeArrest.processResult ne '' && !#strings.contains(internationalCrimeArrest.processResult, 'PCR')}"> <div class="row mb-1">
<div class="row justify-content-end mb-1"> <label class="col-sm-1 col-form-label col-form-label-sm text-center">범죄사실<br>(사건개요)</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-center">불법체류자인계(명)</label> <div class="col-sm-11 border view-modal-content">
<div class="col-sm-2"> <div th:utext="${ica.caseOverview}"></div>
<input type="number" class="form-control form-control-sm" name="processResultEtc" th:value="${internationalCrimeArrest.processResult}" readonly>
</div>
</div>
</th:block>
<div class="row mb-1 justify-content-center">
<label for="caseOverviewDiv" class="col-sm-2 col-form-label col-form-label-sm text-center">범죄사실(사건개요)</label>
<div class="col-sm-10" id="caseOverviewDiv">
<div class="border p-1" name='caseOverview' th:utext="${internationalCrimeArrest.caseOverview}"></div>
</div> </div>
</div> </div>
</div> </div>
<div class="modal-footer bg-light"> <div class="modal-footer bg-light">
<th:block th:if="${userSeq eq internationalCrimeArrest.wrtUserSeq or (#lists.contains(mgtOrganList, internationalCrimeArrest.wrtOrgan) and accessAuth eq 'ACC003')}"><!--작성자일 경우 수정 허용--><!--관리자일 경우 수정 허용--> <th:block th:if="${userSeq eq ica.wrtUserSeq or (#lists.contains(mgtOrganList, ica.wrtOrgan) and accessAuth eq 'ACC003')}"><!--작성자일 경우 수정 허용--><!--관리자일 경우 수정 허용-->
<button type="button" class="btn btn-danger" id="icaDeleteBtn">삭제</button> <button type="button" class="btn btn-danger" id="icaDeleteBtn">삭제</button>
<button type="button" class="btn btn-warning" id="icaEditBtn">수정</button> <button type="button" class="btn btn-warning" id="icaEditBtn">수정</button>
</th:block> </th:block>