From 3464ce0e2476ea506c0ce0eb024890b7b322d885 Mon Sep 17 00:00:00 2001 From: TaehunPark Date: Thu, 26 Jan 2023 18:30:27 +0900 Subject: [PATCH] =?UTF-8?q?fix=20:=20=EC=99=B8=EC=82=AC=EC=B2=A9=EB=B3=B4?= =?UTF-8?q?=EB=A7=9D=20=EA=B2=AC=EB=AC=B8=EA=B4=80=EB=A6=AC=20=ED=95=B4?= =?UTF-8?q?=EA=B3=A0/=EC=97=B0=EC=9E=A5=EB=B3=B4=EA=B3=A0=20=EC=99=84?= =?UTF-8?q?=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IntelligenceNetworkController.java | 12 ++++- .../model/FireExtensionReport.java | 2 + .../model/FireExtensionReportApprv.java | 45 +++++++++++++++++++ .../FireExtensionReportApprvRepository.java | 19 ++++++++ .../service/IntelligenceNetworkService.java | 25 +++++++++++ .../IntelligenceNetworkMapper.xml | 9 ++-- .../fireExtensionReport.js | 5 +-- ...genceAnalyzeList.html => analyzeList.html} | 0 .../fireExtensionReportList.html | 22 +++++---- .../fireExtensionReportViewModal.html | 18 ++++---- 10 files changed, 133 insertions(+), 24 deletions(-) create mode 100644 src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/model/FireExtensionReportApprv.java create mode 100644 src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/repository/FireExtensionReportApprvRepository.java rename src/main/resources/templates/igActivities/fpiMgt/intelligenceNetwork/{IntelligenceAnalyzeList.html => analyzeList.html} (100%) diff --git a/src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/IntelligenceNetworkController.java b/src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/IntelligenceNetworkController.java index 05c502cf..dd0af748 100644 --- a/src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/IntelligenceNetworkController.java +++ b/src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/IntelligenceNetworkController.java @@ -7,6 +7,7 @@ import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.IntelligenceAnalyzeA import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.OperationPlan; import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.OperationPlanApprv; import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.FireExtensionReport; +import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.FireExtensionReportApprv; import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.service.IntelligenceNetworkService; import com.dbnt.faisp.main.userInfo.model.UserInfo; import lombok.RequiredArgsConstructor; @@ -158,7 +159,7 @@ public class IntelligenceNetworkController { @GetMapping("/intelligenceAnalyzeList/{type}") public ModelAndView intelligenceAnalyzeList(@AuthenticationPrincipal UserInfo loginUser,@PathVariable("type") String type, IntelligenceAnalyze ia){ - ModelAndView mav = new ModelAndView("igActivities/fpiMgt/intelligenceNetwork/intelligenceAnalyzeList"); + ModelAndView mav = new ModelAndView("igActivities/fpiMgt/intelligenceNetwork/analyzeList"); //메뉴권한 확인 String accessAuth = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/intelligenceNetwork/intelligenceAnalyzeList/all").get(0).getAccessAuth(); @@ -436,6 +437,15 @@ public class IntelligenceNetworkController { mav.addObject("lineSeparator", '\n'); return mav; } + + @PostMapping("/fireExtensionReportStateChange") + public Integer fireExtensionReportStateChange(@AuthenticationPrincipal UserInfo loginUser, FireExtensionReportApprv apprv){ + apprv.setUserSeq(loginUser.getUserSeq()); + apprv.setUserGrd(loginUser.getTitleCd()); + apprv.setUserNm(loginUser.getUserNm()); + apprv.setSaveDt(LocalDateTime.now()); + return intelligenceNetworkService.fireExtensionReportStateChange(apprv); + } } diff --git a/src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/model/FireExtensionReport.java b/src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/model/FireExtensionReport.java index 5d1a46e6..63046dde 100644 --- a/src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/model/FireExtensionReport.java +++ b/src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/model/FireExtensionReport.java @@ -81,6 +81,8 @@ public class FireExtensionReport extends BaseModel { private String opSdate; @Transient private OperationPlan operationPlan; + @Transient + List apprvList; } diff --git a/src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/model/FireExtensionReportApprv.java b/src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/model/FireExtensionReportApprv.java new file mode 100644 index 00000000..1330aaac --- /dev/null +++ b/src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/model/FireExtensionReportApprv.java @@ -0,0 +1,45 @@ +package com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model; + +import lombok.*; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.*; +import java.io.Serializable; +import java.time.LocalDateTime; + +@Getter +@Setter +@Entity +@NoArgsConstructor +@DynamicInsert +@DynamicUpdate +@Table(name = "fire_extension_report_apprv") +@IdClass(FireExtensionReportApprv.FireExtensionReportApprvId.class) +public class FireExtensionReportApprv { + @Id + @Column(name = "fer_key") + private Integer ferKey; + @Id + @Column(name = "apprv_seq") + private Integer apprvSeq; + @Column(name = "state") + private String state; + @Column(name = "user_seq") + private Integer userSeq; + @Column(name = "user_grd") + private String userGrd; + @Column(name = "user_nm") + private String userNm; + @Column(name = "save_dt") + private LocalDateTime saveDt; + + @Embeddable + @Data + @NoArgsConstructor + @AllArgsConstructor + public static class FireExtensionReportApprvId implements Serializable { + private Integer ferKey; + private Integer apprvSeq; + } +} diff --git a/src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/repository/FireExtensionReportApprvRepository.java b/src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/repository/FireExtensionReportApprvRepository.java new file mode 100644 index 00000000..51fa69a5 --- /dev/null +++ b/src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/repository/FireExtensionReportApprvRepository.java @@ -0,0 +1,19 @@ +package com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.repository; + +import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.FireExtensionReportApprv; + +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.List; +import java.util.Optional; + + +public interface FireExtensionReportApprvRepository extends JpaRepository { + + Optional findTopByFerKeyOrderByApprvSeqDesc(Integer ferKey); + + List findByFerKey(Integer ferKey); + + + +} diff --git a/src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/service/IntelligenceNetworkService.java b/src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/service/IntelligenceNetworkService.java index 2bfa2156..a55167fd 100644 --- a/src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/service/IntelligenceNetworkService.java +++ b/src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/service/IntelligenceNetworkService.java @@ -12,6 +12,8 @@ import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.OperationPlanApprv; import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.OperationPlanFile; import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.OperationPlanFile.OperationPlanFileId; import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.FireExtensionReport; +import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.FireExtensionReportApprv; +import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.repository.FireExtensionReportApprvRepository; import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.repository.FireExtensionReportRepository; import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.repository.IntelligenceAnalyzeApprvRepository; import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.repository.IntelligenceAnalyzeRepository; @@ -40,6 +42,7 @@ public class IntelligenceNetworkService extends BaseService { private final IntelligenceAnalyzeToAffairRepository intelligenceAnalyzeToAffairRepository; private final IntelligenceAnalyzeApprvRepository intelligenceAnalyzeApprvRepository; private final FireExtensionReportRepository fireExtensionReportRepository; + private final FireExtensionReportApprvRepository fireExtensionReportApprvRepository; private final IntelligenceNetworkMapper intelligenceNetworkMapper; @Transactional @@ -218,10 +221,32 @@ public class IntelligenceNetworkService extends BaseService { FireExtensionReport savedFireExtensionReport = fireExtensionReportRepository.findByFerKey(fer.getFerKey()).orElse(null); if (savedFireExtensionReport != null) { savedFireExtensionReport.setOperationPlan(operationPlanRepository.findById(savedFireExtensionReport.getOpKey()).orElse(null)); + savedFireExtensionReport.setApprvList(fireExtensionReportApprvRepository.findByFerKey(fer.getFerKey())); } return savedFireExtensionReport; } + @Transactional + public Integer fireExtensionReportStateChange(FireExtensionReportApprv apprv) { + FireExtensionReport saveFireExtensionReport = fireExtensionReportRepository.findById(apprv.getFerKey()).orElse(null); + saveFireExtensionReport.setFerState(apprv.getState()); + FireExtensionReportApprv lastApprv = fireExtensionReportApprvRepository.findTopByFerKeyOrderByApprvSeqDesc(apprv.getFerKey()).orElse(null); + apprv.setApprvSeq(lastApprv==null?1:lastApprv.getApprvSeq()+1); + fireExtensionReportApprvRepository.save(apprv); + + switch (apprv.getState()){ + case "DST005": + // 반려시 작성자에게 반려 알림 발송 + userAlarmService.sendAlarmToWrtUser(saveFireExtensionReport.getFerKey(), saveFireExtensionReport.getWrtUserSeq(), 35,"외사첩보망 견문관리 외사첩보망 해고(연장)보고에 문서가 반려되었습니다."); + break; + case "DST006": + // 부장승인시 작성자에게 승인 알림 발송 + userAlarmService.sendAlarmToWrtUser(saveFireExtensionReport.getFerKey(), saveFireExtensionReport.getWrtUserSeq(), 35,"외사첩보망 견문관리 외사첩보망 해고(연장)보고에 문서가 승인되었습니다."); + break; + } + return apprv.getFerKey(); + } + diff --git a/src/main/resources/mybatisMapper/IntelligenceNetworkMapper.xml b/src/main/resources/mybatisMapper/IntelligenceNetworkMapper.xml index 3b93e67a..fcbc714c 100644 --- a/src/main/resources/mybatisMapper/IntelligenceNetworkMapper.xml +++ b/src/main/resources/mybatisMapper/IntelligenceNetworkMapper.xml @@ -421,15 +421,18 @@ and fer.wrt_organ = #{wrtOrgan} + + and op.op_name like '%'||#{opName}||'%' + and fer_state = #{ferState} - + - and op_sdate >= #{startDate}::date + and op.op_sdate >= #{startDate}::date - and op_edate <= #{endDate}::date + and fer.op_edate <= #{endDate}::date diff --git a/src/main/resources/static/js/igActivities/fpiMgt/intelligenceNetwork/fireExtensionReport.js b/src/main/resources/static/js/igActivities/fpiMgt/intelligenceNetwork/fireExtensionReport.js index ff767a18..b8d7f022 100644 --- a/src/main/resources/static/js/igActivities/fpiMgt/intelligenceNetwork/fireExtensionReport.js +++ b/src/main/resources/static/js/igActivities/fpiMgt/intelligenceNetwork/fireExtensionReport.js @@ -66,7 +66,7 @@ $(document).on('click', '#operationPlanModalBtn', function (){ $(document).on('click', '#getOperationPlanBtn', function (){ if($(".rowChkBox:checked").length < 1){ - alert("견문을 선택해주세요"); + alert("정보협력자를 선택해주세요."); return false; } const opKey = $(".rowChkBox:checked").val(); @@ -184,7 +184,7 @@ $(document).on('click', '.apprvBtn', function (){ $.ajax({ type : 'POST', data : formData, - url : "/intelligenceNetwork/operationPlanStateChange", + url : "/intelligenceNetwork/fireExtensionReportStateChange", processData: false, contentType: false, beforeSend: function (xhr){ @@ -192,7 +192,6 @@ $(document).on('click', '.apprvBtn', function (){ }, success : function(result) { alert(approval+"되었습니다"); - getOperationPlanViewModal(result); contentFade("out"); }, error : function(xhr, status) { diff --git a/src/main/resources/templates/igActivities/fpiMgt/intelligenceNetwork/IntelligenceAnalyzeList.html b/src/main/resources/templates/igActivities/fpiMgt/intelligenceNetwork/analyzeList.html similarity index 100% rename from src/main/resources/templates/igActivities/fpiMgt/intelligenceNetwork/IntelligenceAnalyzeList.html rename to src/main/resources/templates/igActivities/fpiMgt/intelligenceNetwork/analyzeList.html diff --git a/src/main/resources/templates/igActivities/fpiMgt/intelligenceNetwork/fireExtensionReportList.html b/src/main/resources/templates/igActivities/fpiMgt/intelligenceNetwork/fireExtensionReportList.html index 85eb7dd2..a699b59c 100644 --- a/src/main/resources/templates/igActivities/fpiMgt/intelligenceNetwork/fireExtensionReportList.html +++ b/src/main/resources/templates/igActivities/fpiMgt/intelligenceNetwork/fireExtensionReportList.html @@ -28,7 +28,7 @@
- +
@@ -86,7 +90,7 @@ - + @@ -107,7 +111,9 @@ - + + + diff --git a/src/main/resources/templates/igActivities/fpiMgt/intelligenceNetwork/fireExtensionReportViewModal.html b/src/main/resources/templates/igActivities/fpiMgt/intelligenceNetwork/fireExtensionReportViewModal.html index 7b963287..3b929f6d 100644 --- a/src/main/resources/templates/igActivities/fpiMgt/intelligenceNetwork/fireExtensionReportViewModal.html +++ b/src/main/resources/templates/igActivities/fpiMgt/intelligenceNetwork/fireExtensionReportViewModal.html @@ -1,7 +1,7 @@ - - +
문서번호 목표 인적사항운영기간운용기간 소요예산 조치 등록일