diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/internationalCrimeArrest/InternationalCrimeArrestController.java b/src/main/java/com/dbnt/faisp/main/faStatistics/internationalCrimeArrest/InternationalCrimeArrestController.java index dacea351..7edcbe23 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/internationalCrimeArrest/InternationalCrimeArrestController.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/internationalCrimeArrest/InternationalCrimeArrestController.java @@ -1,6 +1,7 @@ package com.dbnt.faisp.main.faStatistics.internationalCrimeArrest; 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.repository.IcaSuspectInfoRepository; import com.dbnt.faisp.main.faStatistics.internationalCrimeArrest.service.InternationalCrimeArrestService; @@ -43,15 +44,8 @@ public class InternationalCrimeArrestController { mav.addObject("mgtOrganList", loginUser.getDownOrganCdList()); internationalCrimeArrest.setQueryInfo(); -/* - List internationalCrimeArrestList = internationalCrimeArrestService.selectInternationalCrimeArrestList(internationalCrimeArrest); - - for (InternationalCrimeArrest ica:internationalCrimeArrestList) { - ica.setSuspectInfoList(suspectPersonInfoRepository.findByIcaKey(ica.getIcaKey())); - } -*/ - mav.addObject("internationalCrimeArrestList", new ArrayList()); - internationalCrimeArrest.setContentCnt(0); + mav.addObject("icaList", internationalCrimeArrestService.selectInternationalCrimeArrestList(internationalCrimeArrest)); + internationalCrimeArrest.setContentCnt(internationalCrimeArrestService.selectInternationalCrimeArrestListCnt(internationalCrimeArrest)); internationalCrimeArrest.setPaginationInfo(); mav.addObject("deadlineState", menuMgtService.selectDeadlineChk("/faStatistics/internationalCrimeArrest")); mav.addObject("organConfigList", organConfigService.selectOrganList()); @@ -65,6 +59,7 @@ public class InternationalCrimeArrestController { if(internationalCrimeArrest.getIcaKey()!=null){ internationalCrimeArrest = internationalCrimeArrestService.selectInternationalCrimeArrest(internationalCrimeArrest.getIcaKey()); }else{ + internationalCrimeArrest.setSubInfo(new IcaSubInfo()); internationalCrimeArrest.setWrtOrgan(loginUser.getOgCd()); internationalCrimeArrest.setWrtPart(loginUser.getOfcCd()); internationalCrimeArrest.setWrtUserSeq(loginUser.getUserSeq()); @@ -80,10 +75,8 @@ public class InternationalCrimeArrestController { @GetMapping("/internationalCrimeArrestViewModal") public ModelAndView internationalCrimeArrestViewModal(@AuthenticationPrincipal UserInfo loginUser, InternationalCrimeArrest internationalCrimeArrest){ ModelAndView mav = new ModelAndView("faStatistics/internationalCrimeArrest/internationalCrimeArrestViewModal"); - internationalCrimeArrest = internationalCrimeArrestService.selectInternationalCrimeArrest(internationalCrimeArrest.getIcaKey()); - mav.addObject("internationalCrimeArrest", internationalCrimeArrest); + mav.addObject("ica", internationalCrimeArrestService.selectInternationalCrimeArrest(internationalCrimeArrest.getIcaKey())); mav.addObject("userSeq",loginUser.getUserSeq()); - mav.addObject("organConfigList", organConfigService.selectOrganList()); //메뉴권한 확인 mav.addObject("accessAuth", authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/faStatistics/internationalCrimeArrest").get(0).getAccessAuth()); mav.addObject("mgtOrganList", loginUser.getDownOrganCdList()); diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/internationalCrimeArrest/model/IcaSubInfo.java b/src/main/java/com/dbnt/faisp/main/faStatistics/internationalCrimeArrest/model/IcaSubInfo.java index bf16a1d0..5b350110 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/internationalCrimeArrest/model/IcaSubInfo.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/internationalCrimeArrest/model/IcaSubInfo.java @@ -45,7 +45,7 @@ public class IcaSubInfo extends BaseModel { @Column(name = "crackdown_area") private String crackdownArea; @Column(name = "police_cnt") - private Integer poloceCnt; + private Integer policeCnt; @Column(name = "violation_amount") private String violationAmount; diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/internationalCrimeArrest/model/InternationalCrimeArrest.java b/src/main/java/com/dbnt/faisp/main/faStatistics/internationalCrimeArrest/model/InternationalCrimeArrest.java index db291789..c5c8151d 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/internationalCrimeArrest/model/InternationalCrimeArrest.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/internationalCrimeArrest/model/InternationalCrimeArrest.java @@ -71,7 +71,10 @@ public class InternationalCrimeArrest extends BaseModel { private LocalDateTime wrtDt; @Transient - private List suspectInfoList = new ArrayList<>(); + private String processResult; + @Transient - private IcaSubInfo icaSubInfo = new IcaSubInfo(); + private List suspectInfoList; + @Transient + private IcaSubInfo subInfo; } diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/internationalCrimeArrest/repository/IcaSuspectInfoRepository.java b/src/main/java/com/dbnt/faisp/main/faStatistics/internationalCrimeArrest/repository/IcaSuspectInfoRepository.java index b9325928..872c7c10 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/internationalCrimeArrest/repository/IcaSuspectInfoRepository.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/internationalCrimeArrest/repository/IcaSuspectInfoRepository.java @@ -11,4 +11,6 @@ public interface IcaSuspectInfoRepository extends JpaRepository findByIcaKey(Integer icaKey); void deleteByIcaKey(Integer icaKey); + + List findByIcaKeyInOrderBySpiKeyAsc(List icaKeyList); } diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/internationalCrimeArrest/service/InternationalCrimeArrestService.java b/src/main/java/com/dbnt/faisp/main/faStatistics/internationalCrimeArrest/service/InternationalCrimeArrestService.java index 0130120b..f35e88a3 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/internationalCrimeArrest/service/InternationalCrimeArrestService.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/internationalCrimeArrest/service/InternationalCrimeArrestService.java @@ -14,7 +14,9 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; import java.util.List; +import java.util.Objects; @Service @RequiredArgsConstructor @@ -24,8 +26,23 @@ public class InternationalCrimeArrestService extends BaseService { private final IcaSuspectInfoRepository icaSuspectInfoRepository; private final IcaSubInfoRepository icaSubInfoRepository; - public List selectInternationalCrimeArrestList(InternationalCrimeArrest InternationalCrimeArrest) { - return internationalCrimeArrestMapper.selectInternationalCrimeArrestList(InternationalCrimeArrest); + public List selectInternationalCrimeArrestList(InternationalCrimeArrest internationalCrimeArrest) { + List icaList = internationalCrimeArrestMapper.selectInternationalCrimeArrestList(internationalCrimeArrest); + List icaKeyList = new ArrayList<>(); + for(InternationalCrimeArrest ica : icaList){ + icaKeyList.add(ica.getIcaKey()); + } + List 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 selectInternationalCrimeArrestParamList(InternationalCrimeArrest InternationalCrimeArrest) { @@ -43,7 +60,7 @@ public class InternationalCrimeArrestService extends BaseService { public InternationalCrimeArrest selectInternationalCrimeArrest(Integer icaKey) { InternationalCrimeArrest savedICA = internationalCrimeArrestRepository.findById(icaKey).orElse(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)); } return savedICA; @@ -54,13 +71,20 @@ public class InternationalCrimeArrestService extends BaseService { Integer icaKey = internationalCrimeArrestRepository.save(ica).getIcaKey(); icaSuspectInfoRepository.deleteByIcaKey(icaKey); - Integer i=1; for(IcaSuspectInfo suspectInfo: ica.getSuspectInfoList()){ suspectInfo.setIcaKey(icaKey); - suspectInfo.setSpiKey(i++); } 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; } diff --git a/src/main/resources/mybatisMapper/InternationalCrimeArrestMapper.xml b/src/main/resources/mybatisMapper/InternationalCrimeArrestMapper.xml index 2c21b82b..1fd735ba 100644 --- a/src/main/resources/mybatisMapper/InternationalCrimeArrestMapper.xml +++ b/src/main/resources/mybatisMapper/InternationalCrimeArrestMapper.xml @@ -6,7 +6,7 @@ - content_status <> 'D' + status <> 'DST008' AND organ = #{organ} @@ -41,7 +41,11 @@ AND case_sent_dt = #{caseSentDt}::DATE - AND process_result = #{processResult} + AND ica_key in ( + select ica_key + from ica_suspect_info + where process_result = #{processResult} + ) @@ -55,45 +59,27 @@ diff --git a/src/main/resources/static/js/faStatistics/internationalCrimeArrest.js b/src/main/resources/static/js/faStatistics/internationalCrimeArrest.js index b4e4dc01..ea86a06f 100644 --- a/src/main/resources/static/js/faStatistics/internationalCrimeArrest.js +++ b/src/main/resources/static/js/faStatistics/internationalCrimeArrest.js @@ -42,12 +42,8 @@ $(document).on('click', '#icaDeleteBtn', function (){ }) -$(document).on('click', '#saveIcaBtn', function (){ - saveInternationalCrimeArrest('N') -}); - -$(document).on('click', '#saveTempBtn', function (){ - saveInternationalCrimeArrest('Y') +$(document).on('click', '.saveBtn', function (){ + saveInternationalCrimeArrest($(this).attr('data-status')) }); $(document).on('click', '.tr', function (){ @@ -59,6 +55,7 @@ $(document).on('change', 'select[name="organ"]', function (){ }); $(document).on('change', '#crimeType', function (){ + inputControl(); dynamicOption('#violationType', $(this).val()); }); @@ -96,24 +93,24 @@ function spiRemoveBtnControl(){ } function inputControl(violationType){ - $(".extInputDiv").hide(); + $(".extInputDiv").hide().find('input,select').attr("disabled", "disabled"); switch (violationType) { case "CTH101": case "CTH102": case "CTH103": - $("#extCommonInputDiv").show(); + $(".extCommonInputDiv").show().find('input,select').removeAttr("disabled"); case "CTH104": case "CTH105": - $("#"+violationType+"Div").show(); + $("."+violationType+"Div").show().find('input,select').removeAttr("disabled"); break; case "CTH201": case "CTH202": case "CTH203": case "CTH204": - $(".smugglingInputDiv").show(); + $(".smugglingInputDiv").show().find('input,select').removeAttr("disabled"); break; case "CTH401": - $("#"+violationType+"Div").show(); + $("."+violationType+"Div").show().find('input,select').removeAttr("disabled"); break; } } @@ -126,6 +123,7 @@ function getIcaViewModal(icaKey){ dataType:"html", success: function(html){ $("#icaViewBody").empty().append(html) + inputControl($("#viewModalViolationType").val()); $("#icaViewModal").modal('show'); }, error:function(e){ @@ -146,17 +144,14 @@ function getIcaEditModal(icaKey){ $("#icaViewBody").empty(); $("#icaEditModalContent").empty().append(html); $("#icaEditModal").modal('show'); - $("#crimeAwarenessDtDiv").datepicker({ - format: "yyyy-mm-dd", - language: "ko", - autoclose: true - }); - $("#caseSentDtDiv").datepicker({ + $(".dateSelector").datepicker({ format: "yyyy-mm-dd", language: "ko", autoclose: true }); setEditor('editor', '400'); + spiRemoveBtnControl(); + inputControl($("#violationType").val()); }, error:function(e){ ajaxErrorAction(e); @@ -164,45 +159,22 @@ function getIcaEditModal(icaKey){ }); } -function saveInternationalCrimeArrest(contentState){ - if(contentCheck()){ +function saveInternationalCrimeArrest(status){ + if(contentCheck(status)){ if(confirm("저장하시겠습니까?")){ - $("#contentStatus").val(contentState); contentFade("in"); const formData = new FormData($("#icaEditForm")[0]); - - let spiList = []; - - $(".spi-list").each(function (){ - spiList.push({ - spiKey: $(this).find('input[name="spiKey"]').val() != undefined ? Number($(this).find('input[name="spiKey"]').val()) : null, - sex: $(this).find('select[name="sex"]').val(), - age: $(this).find('select[name="age"]').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 - }); + formData.append("status", status); + $.each($("#spiDiv").find(".spi-list"), function (idx, spi){ + spi = $(spi); + formData.append("suspectInfoList["+idx+"].spiKey", idx+1); + formData.append("suspectInfoList["+idx+"].sex", spi.find('.sex').val()); + formData.append("suspectInfoList["+idx+"].age", spi.find('.age').val()); + formData.append("suspectInfoList["+idx+"].country", spi.find('.country').val()); + formData.append("suspectInfoList["+idx+"].processResult", spi.find('.processResult').val()); }); - - 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()); + debugger $.ajax({ type : 'POST', data : formData, @@ -224,9 +196,11 @@ function saveInternationalCrimeArrest(contentState){ } } -function contentCheck(){ +function contentCheck(status){ let flag = true; + if(status !== "DST001"){ + } return flag; } diff --git a/src/main/resources/templates/faStatistics/internationalCrimeArrest/internationalCrimeArrest.html b/src/main/resources/templates/faStatistics/internationalCrimeArrest/internationalCrimeArrest.html index 0285b141..4a23686d 100644 --- a/src/main/resources/templates/faStatistics/internationalCrimeArrest/internationalCrimeArrest.html +++ b/src/main/resources/templates/faStatistics/internationalCrimeArrest/internationalCrimeArrest.html @@ -108,10 +108,10 @@
@@ -157,62 +157,57 @@ 피의자 인적사항 범죄인지 사건송치 - 신병처리 - - + + - - + + - - + + - - + + - - + + - - - - + + + + - -
- - - - - - - - - - - - -
-
- - - - - - - +
+ + + + + + + + + + + + + + + +
+ +
diff --git a/src/main/resources/templates/faStatistics/internationalCrimeArrest/internationalCrimeArrestEditModal.html b/src/main/resources/templates/faStatistics/internationalCrimeArrest/internationalCrimeArrestEditModal.html index 3bfbf84b..3a074644 100644 --- a/src/main/resources/templates/faStatistics/internationalCrimeArrest/internationalCrimeArrestEditModal.html +++ b/src/main/resources/templates/faStatistics/internationalCrimeArrest/internationalCrimeArrestEditModal.html @@ -68,131 +68,208 @@
-