From 54c423bfa5cc5e4b8a53b4532622e564e8d6d5cf Mon Sep 17 00:00:00 2001 From: TaehunPark Date: Thu, 5 Jan 2023 18:00:37 +0900 Subject: [PATCH] =?UTF-8?q?fix=20:=20=EB=B0=A9=EC=B2=A9=ED=99=9C=EB=8F=99?= =?UTF-8?q?=20=EC=A4=91=EA=B0=84=EC=A0=80=EC=9E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CounterIntelligenceController.java | 48 ++++- .../mapper/CounterIntelligenceMapper.java | 4 + .../model/CounterIntelligenceActivity.java | 9 + .../counterIntelligence/model/EduInfo.java | 39 ++++ .../repository/EduInfoRepository.java | 13 ++ .../service/CounterIntelligenceService.java | 41 ++++ .../CounterIntelligenceMapper.xml | 48 +++++ .../static/js/counterIntelligence/ciaEdu.js | 85 ++++++++ .../js/counterIntelligence/ciaForeigner.js | 24 ++- .../counterIntelligence/ciaEduEditModal.html | 125 ++++++++++++ .../counterIntelligence/ciaEduList.html | 187 ++++++++++++++++++ .../counterIntelligence/ciaEduViewModal.html | 98 +++++++++ .../ciaForeignerEditModal.html | 63 +++++- .../counterIntelligence/ciaForeignerList.html | 21 +- .../ciaForeignerViewModal.html | 105 ++++++++++ .../ciaSaftyDemandList.html | 2 +- .../ciaSaftyDemandviewModal.html | 7 +- 17 files changed, 892 insertions(+), 27 deletions(-) create mode 100644 src/main/java/com/dbnt/faisp/main/counterIntelligence/model/EduInfo.java create mode 100644 src/main/java/com/dbnt/faisp/main/counterIntelligence/repository/EduInfoRepository.java create mode 100644 src/main/resources/static/js/counterIntelligence/ciaEdu.js create mode 100644 src/main/resources/templates/counterIntelligence/ciaEduEditModal.html create mode 100644 src/main/resources/templates/counterIntelligence/ciaEduList.html create mode 100644 src/main/resources/templates/counterIntelligence/ciaEduViewModal.html create mode 100644 src/main/resources/templates/counterIntelligence/ciaForeignerViewModal.html diff --git a/src/main/java/com/dbnt/faisp/main/counterIntelligence/CounterIntelligenceController.java b/src/main/java/com/dbnt/faisp/main/counterIntelligence/CounterIntelligenceController.java index cb385d84..2ed0be52 100644 --- a/src/main/java/com/dbnt/faisp/main/counterIntelligence/CounterIntelligenceController.java +++ b/src/main/java/com/dbnt/faisp/main/counterIntelligence/CounterIntelligenceController.java @@ -158,6 +158,9 @@ public class CounterIntelligenceController { case "FI": // 외국인커뮤니티모니터링 ciService.saveForeigner(cia); break; + case "EI": // 방첩교육실시 + ciService.saveEdu(cia); + break; } return ciKey; @@ -223,7 +226,7 @@ public class CounterIntelligenceController { public ModelAndView ciaForeignerEditModal(@AuthenticationPrincipal UserInfo loginUser, CounterIntelligenceActivity cia){ ModelAndView mav = new ModelAndView("counterIntelligence/ciaForeignerEditModal"); if(cia.getCiKey() != null) { - cia = ciService.selectManageCompanyInfo(cia); + cia = ciService.selectForeignerInfo(cia); } mav.addObject("mgtOrganList", loginUser.getDownOrganCdList()); @@ -231,4 +234,47 @@ public class CounterIntelligenceController { return mav; } + @GetMapping("/ciaForeignerViewModal") + public ModelAndView ciaForeignerViewModal(@AuthenticationPrincipal UserInfo loginUser, CounterIntelligenceActivity cia){ + ModelAndView mav = new ModelAndView("counterIntelligence/ciaForeignerViewModal"); + mav.addObject("lineSeparator", '\n'); + mav.addObject("viewUserSeq", loginUser.getUserSeq()); + mav.addObject("cia", ciService.selectForeignerInfo(cia)); + return mav; + } + + @GetMapping("/ciaEduList") + public ModelAndView ciaEduList(@AuthenticationPrincipal UserInfo loginUser, CounterIntelligenceActivity cia){ + ModelAndView mav = new ModelAndView("counterIntelligence/ciaEduList"); + + cia.setDownOrganCdList(loginUser.getDownOrganCdList()); + cia.setQueryInfo(); + mav.addObject("eiList", ciService.selectCiaEduList(cia)); + cia.setContentCnt(ciService.selectCiaEduListCnt(cia)); + cia.setPaginationInfo(); + mav.addObject("searchParams", cia); + return mav; + } + + @GetMapping("/ciaEduEditModal") + public ModelAndView ciaEduEditModal(@AuthenticationPrincipal UserInfo loginUser, CounterIntelligenceActivity cia){ + ModelAndView mav = new ModelAndView("counterIntelligence/ciaEduEditModal"); + if(cia.getCiKey() != null) { + cia = ciService.selectEduInfo(cia); + } + + mav.addObject("mgtOrganList", loginUser.getDownOrganCdList()); + mav.addObject("cia", cia); + return mav; + } + + @GetMapping("/ciaEduViewModal") + public ModelAndView ciaEduViewModal(@AuthenticationPrincipal UserInfo loginUser, CounterIntelligenceActivity cia){ + ModelAndView mav = new ModelAndView("counterIntelligence/ciaEduViewModal"); + mav.addObject("lineSeparator", '\n'); + mav.addObject("viewUserSeq", loginUser.getUserSeq()); + mav.addObject("cia", ciService.selectEduInfo(cia)); + return mav; + } + } diff --git a/src/main/java/com/dbnt/faisp/main/counterIntelligence/mapper/CounterIntelligenceMapper.java b/src/main/java/com/dbnt/faisp/main/counterIntelligence/mapper/CounterIntelligenceMapper.java index 99fa1f70..0719c56c 100644 --- a/src/main/java/com/dbnt/faisp/main/counterIntelligence/mapper/CounterIntelligenceMapper.java +++ b/src/main/java/com/dbnt/faisp/main/counterIntelligence/mapper/CounterIntelligenceMapper.java @@ -34,4 +34,8 @@ public interface CounterIntelligenceMapper { List selectCiaForeignerList(CounterIntelligenceActivity cia); Integer selectCiaForeignerListCnt(CounterIntelligenceActivity cia); + + List selectCiaEduList(CounterIntelligenceActivity cia); + + Integer selectCiaEduListCnt(CounterIntelligenceActivity cia); } diff --git a/src/main/java/com/dbnt/faisp/main/counterIntelligence/model/CounterIntelligenceActivity.java b/src/main/java/com/dbnt/faisp/main/counterIntelligence/model/CounterIntelligenceActivity.java index 53f62dac..f7cf945e 100644 --- a/src/main/java/com/dbnt/faisp/main/counterIntelligence/model/CounterIntelligenceActivity.java +++ b/src/main/java/com/dbnt/faisp/main/counterIntelligence/model/CounterIntelligenceActivity.java @@ -57,6 +57,8 @@ public class CounterIntelligenceActivity extends BaseModel { @Transient private ForeignerInfo foreignerInfo; @Transient + private EduInfo eduInfo; + @Transient private String mgtOrgan; @Transient private String companyNm; @@ -86,6 +88,13 @@ public class CounterIntelligenceActivity extends BaseModel { private String monitoringInfo; @Transient @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate eduDate; + @Transient + private String eduType; + @Transient + private Integer peopleCnt; + @Transient + @DateTimeFormat(pattern = "yyyy-MM-dd") private LocalDate fixDate; @Transient private List fileList; diff --git a/src/main/java/com/dbnt/faisp/main/counterIntelligence/model/EduInfo.java b/src/main/java/com/dbnt/faisp/main/counterIntelligence/model/EduInfo.java new file mode 100644 index 00000000..c47a84cb --- /dev/null +++ b/src/main/java/com/dbnt/faisp/main/counterIntelligence/model/EduInfo.java @@ -0,0 +1,39 @@ +package com.dbnt.faisp.main.counterIntelligence.model; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDate; + +import javax.persistence.*; + + +@Getter +@Setter +@Entity +@NoArgsConstructor +@DynamicInsert +@DynamicUpdate +@Table(name = "edu_info") +public class EduInfo { + @Id + @Column(name = "ci_key") + private Integer ciKey; + @Column(name = "mgt_organ") + private String mgtOrgan; + @Column(name = "edu_date") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate eduDate; + @Column(name = "edu_type") + private String eduType; + @Column(name = "people_cnt") + private Integer peopleCnt; + @Column(name = "description") + private String description; + + +} diff --git a/src/main/java/com/dbnt/faisp/main/counterIntelligence/repository/EduInfoRepository.java b/src/main/java/com/dbnt/faisp/main/counterIntelligence/repository/EduInfoRepository.java new file mode 100644 index 00000000..36affbbb --- /dev/null +++ b/src/main/java/com/dbnt/faisp/main/counterIntelligence/repository/EduInfoRepository.java @@ -0,0 +1,13 @@ +package com.dbnt.faisp.main.counterIntelligence.repository; + +import com.dbnt.faisp.main.counterIntelligence.model.EduInfo; + +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.List; +import java.util.Optional; + + +public interface EduInfoRepository extends JpaRepository { + +} diff --git a/src/main/java/com/dbnt/faisp/main/counterIntelligence/service/CounterIntelligenceService.java b/src/main/java/com/dbnt/faisp/main/counterIntelligence/service/CounterIntelligenceService.java index b3b1e61a..328b07ee 100644 --- a/src/main/java/com/dbnt/faisp/main/counterIntelligence/service/CounterIntelligenceService.java +++ b/src/main/java/com/dbnt/faisp/main/counterIntelligence/service/CounterIntelligenceService.java @@ -8,6 +8,7 @@ import com.dbnt.faisp.main.counterIntelligence.model.CiaFile; import com.dbnt.faisp.main.counterIntelligence.model.CiwFile; import com.dbnt.faisp.main.counterIntelligence.model.CounterIntelligenceActivity; import com.dbnt.faisp.main.counterIntelligence.model.CounterIntelligenceWork; +import com.dbnt.faisp.main.counterIntelligence.model.EduInfo; import com.dbnt.faisp.main.counterIntelligence.model.ForeignerInfo; import com.dbnt.faisp.main.counterIntelligence.model.HashTagLinkCiw; import com.dbnt.faisp.main.counterIntelligence.model.ManageCompanyInfo; @@ -16,6 +17,7 @@ import com.dbnt.faisp.main.counterIntelligence.repository.CiaFileRepository; import com.dbnt.faisp.main.counterIntelligence.repository.CiwFileRepository; import com.dbnt.faisp.main.counterIntelligence.repository.CounterIntelligenceActivityRepository; import com.dbnt.faisp.main.counterIntelligence.repository.CounterIntelligenceWorkRepository; +import com.dbnt.faisp.main.counterIntelligence.repository.EduInfoRepository; import com.dbnt.faisp.main.counterIntelligence.repository.ForeignerInfoRepository; import com.dbnt.faisp.main.counterIntelligence.repository.HashTagLinkCiwRepository; import com.dbnt.faisp.main.counterIntelligence.repository.ManageCompanyInfoRepository; @@ -42,6 +44,7 @@ public class CounterIntelligenceService extends BaseService { private final SaftyDemandInfoRepository saftyDemandInfoRepository; private final ManageCompanyInfoRepository manageCompanyInfoRepository; private final ForeignerInfoRepository foreignerInfoRepository; + private final EduInfoRepository eduInfoRepository; private final CounterIntelligenceMapper ciMapper; public List selectCounterIntelligenceWorkList(CounterIntelligenceWork ciWork){ @@ -270,4 +273,42 @@ public class CounterIntelligenceService extends BaseService { return ciMapper.selectCiaForeignerListCnt(cia); } + public CounterIntelligenceActivity selectForeignerInfo(CounterIntelligenceActivity cia) { + CounterIntelligenceActivity dbCia = counterIntelligenceActivityRepository.findById(cia.getCiKey()).orElse(null); + if(dbCia!=null){ + dbCia.setFileList(ciaFileRepository.findByCiKey(cia.getCiKey())); + dbCia.setForeignerInfo(foreignerInfoRepository.findById(cia.getCiKey()).orElse(null)); + } + return dbCia; + } + + @Transactional + public void saveEdu(CounterIntelligenceActivity cia) { + EduInfo ei = new EduInfo(); + ei.setCiKey(cia.getCiKey()); + ei.setMgtOrgan(cia.getMgtOrgan()); + ei.setEduType(cia.getEduType()); + ei.setEduDate(cia.getEduDate()); + ei.setPeopleCnt(cia.getPeopleCnt()); + ei.setDescription(cia.getDescription()); + eduInfoRepository.save(ei); + } + + public List selectCiaEduList(CounterIntelligenceActivity cia) { + return ciMapper.selectCiaEduList(cia); + } + + public Integer selectCiaEduListCnt(CounterIntelligenceActivity cia) { + return ciMapper.selectCiaEduListCnt(cia); + } + + public CounterIntelligenceActivity selectEduInfo(CounterIntelligenceActivity cia) { + CounterIntelligenceActivity dbCia = counterIntelligenceActivityRepository.findById(cia.getCiKey()).orElse(null); + if(dbCia!=null){ + dbCia.setFileList(ciaFileRepository.findByCiKey(cia.getCiKey())); + dbCia.setEduInfo(eduInfoRepository.findById(cia.getCiKey()).orElse(null)); + } + return dbCia; + } + } diff --git a/src/main/resources/mybatisMapper/CounterIntelligenceMapper.xml b/src/main/resources/mybatisMapper/CounterIntelligenceMapper.xml index 86aa5ba6..b6741387 100644 --- a/src/main/resources/mybatisMapper/CounterIntelligenceMapper.xml +++ b/src/main/resources/mybatisMapper/CounterIntelligenceMapper.xml @@ -245,6 +245,8 @@ fi.select_reason, fi.monitoring_info, fi.fix_date, + (select item_value from code_mgt where item_cd = cia.wrt_user_grd) as wrt_user_grd, + cia.wrt_user_nm, cia.wrt_dt from counter_intelligence_activity cia, foreigner_info fi @@ -269,6 +271,8 @@ fi.select_reason, fi.monitoring_info, fi.fix_date, + (select item_value from code_mgt where item_cd = cia.wrt_user_grd) as wrt_user_grd, + cia.wrt_user_nm, cia.wrt_dt from counter_intelligence_activity cia, foreigner_info fi @@ -280,5 +284,49 @@ ORDER BY cia.ci_key DESC )a + + + + \ No newline at end of file diff --git a/src/main/resources/static/js/counterIntelligence/ciaEdu.js b/src/main/resources/static/js/counterIntelligence/ciaEdu.js new file mode 100644 index 00000000..ffd649ea --- /dev/null +++ b/src/main/resources/static/js/counterIntelligence/ciaEdu.js @@ -0,0 +1,85 @@ +$(document).on('click', '#addBtn', function (){ + getCiaEduEditModal(null); +}) + +function getCiaEduEditModal(ciKey){ + $.ajax({ + url: '/counterIntelligence/ciaEduEditModal', + data: {ciKey: ciKey}, + type: 'GET', + dataType:"html", + success: function(html){ + $("#ciaEduEditModalContent").empty().append(html); + $("#eduDate").datepicker({ + format: "yyyy-mm-dd", + language: "ko", + autoclose: true + }); + setUploadDiv(); + $("#ciaEduEditModal").modal('show'); + }, + error:function(){ + + } + }); +} + +$(document).on('click', '#saveBtn', function (){ + if(confirm("저장하시겠습니까?")){ + const formData = new FormData($("#ciaEduEditForm")[0]); + for(const file of files) { + if(!file.isDelete) + formData.append('uploadFiles', file, file.name); + } + $(".text-decoration-line-through").each(function (idx, el){ + formData.append('fileSeq', $(el).attr("data-fileseq")); + }) + $.ajax({ + type : 'POST', + data : formData, + url : "/counterIntelligence/saveCiActivity", + processData: false, + contentType: false, + success : function(result) { + alert("저장되었습니다."); + contentFade("out"); + location.reload(); + }, + error : function(xhr, status) { + alert("저장에 실패하였습니다.") + contentFade("out"); + } + }) + + } +}) + +$(document).on('click', '.eiTr', function (){ + getCiaEduViewModal($(this).find(".ciKey").val()); +}) + +function getCiaEduViewModal(ciKey){ + $.ajax({ + url: '/counterIntelligence/ciaEduViewModal', + data: {ciKey: ciKey}, + type: 'GET', + dataType:"html", + success: function(html){ + $("#ciaEduViewModalBody").empty().append(html) + $("#ciaEduViewModal").modal('show'); + }, + error:function(){ + + } + }); +} + +$(document).on('click', '#editBtn', function (){ + $("#ciaEduViewModal").modal('hide'); + getCiaEduEditModal($(this).attr("data-cikey")); +}) + +$(document).on('click', '#excelDown', function (){ + exportExcel("방첩교육 실시 현황","ciaEduTb"); +}) + diff --git a/src/main/resources/static/js/counterIntelligence/ciaForeigner.js b/src/main/resources/static/js/counterIntelligence/ciaForeigner.js index 577fa271..c00bd23d 100644 --- a/src/main/resources/static/js/counterIntelligence/ciaForeigner.js +++ b/src/main/resources/static/js/counterIntelligence/ciaForeigner.js @@ -56,19 +56,19 @@ $(document).on('click', '#saveBtn', function (){ } }) -$(document).on('click', '.mciTr', function (){ - getCiaManageCompanyViewModal($(this).find(".ciKey").val()); +$(document).on('click', '.fiTr', function (){ + getCiaForeignerViewModal($(this).find(".ciKey").val()); }) -function getCiaManageCompanyViewModal(ciKey){ +function getCiaForeignerViewModal(ciKey){ $.ajax({ - url: '/counterIntelligence/ciaManageCompanyViewModal', + url: '/counterIntelligence/ciaForeignerViewModal', data: {ciKey: ciKey}, type: 'GET', dataType:"html", success: function(html){ - $("#ciaManageCompanyViewModalBody").empty().append(html) - $("#ciaManageCompanyViewModal").modal('show'); + $("#ciaForeignerViewModalBody").empty().append(html) + $("#ciaForeignerViewModal").modal('show'); }, error:function(){ @@ -77,6 +77,14 @@ function getCiaManageCompanyViewModal(ciKey){ } $(document).on('click', '#editBtn', function (){ - $("#ciaManageCompanyViewModal").modal('hide'); - getCiaManageCompanyEditModal($(this).attr("data-cikey")); + $("#ciaForeignerViewModal").modal('hide'); + getCiaForeignerEditModal($(this).attr("data-cikey")); }) + +$(document).on('click', '#excelDown', function (){ + exportExcel("외국인 커뮤니티 모니터링 현황","ciaForeignerTb"); +}) + +function OnInitCompleted(e){ + e.editorTarget.SetBodyValue(document.getElementById("monitoringInfo").value); +} diff --git a/src/main/resources/templates/counterIntelligence/ciaEduEditModal.html b/src/main/resources/templates/counterIntelligence/ciaEduEditModal.html new file mode 100644 index 00000000..9c579a9d --- /dev/null +++ b/src/main/resources/templates/counterIntelligence/ciaEduEditModal.html @@ -0,0 +1,125 @@ + + + + + + \ No newline at end of file diff --git a/src/main/resources/templates/counterIntelligence/ciaEduList.html b/src/main/resources/templates/counterIntelligence/ciaEduList.html new file mode 100644 index 00000000..70380f04 --- /dev/null +++ b/src/main/resources/templates/counterIntelligence/ciaEduList.html @@ -0,0 +1,187 @@ + + + + + +
+
+
+
+

방첩교육 실시 현황

+
+
+

외사방첩관리 > 방첩활동 > 방첩교육 실시 현황

+
+
+ + +
+
+
+
+
+ +
+
+ +
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
시행일자시행관서교육방식교육인원비고작성자
+
+
+
+
+
+ +
+
+ + +
+
+
+
+
+
+
+ + + +
+ \ No newline at end of file diff --git a/src/main/resources/templates/counterIntelligence/ciaEduViewModal.html b/src/main/resources/templates/counterIntelligence/ciaEduViewModal.html new file mode 100644 index 00000000..199e574b --- /dev/null +++ b/src/main/resources/templates/counterIntelligence/ciaEduViewModal.html @@ -0,0 +1,98 @@ + + + + + \ No newline at end of file diff --git a/src/main/resources/templates/counterIntelligence/ciaForeignerEditModal.html b/src/main/resources/templates/counterIntelligence/ciaForeignerEditModal.html index 6ef535c0..ca681986 100644 --- a/src/main/resources/templates/counterIntelligence/ciaForeignerEditModal.html +++ b/src/main/resources/templates/counterIntelligence/ciaForeignerEditModal.html @@ -9,13 +9,14 @@ - + +
@@ -23,8 +24,7 @@ - - + @@ -42,7 +42,6 @@
-
@@ -71,6 +70,60 @@
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+
+ +
+ +
+ +
+ +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+
+ +
+
+
diff --git a/src/main/resources/templates/counterIntelligence/ciaForeignerList.html b/src/main/resources/templates/counterIntelligence/ciaForeignerList.html index 6e031651..462ac8a7 100644 --- a/src/main/resources/templates/counterIntelligence/ciaForeignerList.html +++ b/src/main/resources/templates/counterIntelligence/ciaForeignerList.html @@ -104,7 +104,7 @@
- +
@@ -124,19 +124,19 @@ - - - - + - - + + + + +
관리관서
@@ -171,6 +171,7 @@
+
@@ -186,9 +187,9 @@
-