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 9cd95b02..1a5ffbfb 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 @@ -2,6 +2,7 @@ package com.dbnt.faisp.main.fpiMgt.intelligenceNetwork; import com.dbnt.faisp.main.authMgt.service.AuthMgtService; import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.IntelligenceAnalyze; +import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.IntelligenceAnalyzeApprv; 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.service.IntelligenceNetworkService; @@ -279,6 +280,7 @@ public class IntelligenceNetworkController { // 첩보수집활동 > 해양외 public ModelAndView intelligenceAnalyzeViewModal(@AuthenticationPrincipal UserInfo loginUser, IntelligenceAnalyze ia){ ModelAndView mav = new ModelAndView("igActivities/fpiMgt/intelligenceNetwork/intelligenceAnalyzeViewModal"); ia = intelligenceNetworkService.selectIntelligenceAnalyze(ia); + ia.setApprvList(intelligenceNetworkService.selectIntelligenceAnalyzeApprv(ia)); mav.addObject("ia", ia); mav.addObject("userSeq",loginUser.getUserSeq()); //메뉴권한 확인 @@ -286,6 +288,15 @@ public class IntelligenceNetworkController { // 첩보수집활동 > 해양외 mav.addObject("apprvAuth", authMgtService.selectApprovalConfigList(loginUser.getUserSeq(), "/intelligenceNetwork/intelligenceAnalyzeList/all").get(0).getApprovalAuth()); return mav; } + + @PostMapping("/intelligenceAnalyzeChange") + public Integer intelligenceAnalyzeChange(@AuthenticationPrincipal UserInfo loginUser, IntelligenceAnalyzeApprv apprv){ + apprv.setUserSeq(loginUser.getUserSeq()); + apprv.setUserGrd(loginUser.getTitleCd()); + apprv.setUserNm(loginUser.getUserNm()); + apprv.setSaveDt(LocalDateTime.now()); + return intelligenceNetworkService.intelligenceAnalyzeChange(apprv); + } } diff --git a/src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/model/IntelligenceAnalyze.java b/src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/model/IntelligenceAnalyze.java index cb1c49a2..23cfe906 100644 --- a/src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/model/IntelligenceAnalyze.java +++ b/src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/model/IntelligenceAnalyze.java @@ -34,13 +34,13 @@ public class IntelligenceAnalyze extends BaseModel { @DateTimeFormat(pattern = "yyyy-MM-dd") private LocalDate iaEdate; @Column(name = "fi_cnt") - private Integer fiCnt; + private Integer fiCnt=0; @Column(name = "fa_cnt") - private Integer faCnt; + private Integer faCnt=0; @Column(name = "work_cnt") - private Integer workCnt; + private Integer workCnt=0; @Column(name = "arrest_cnt") - private Integer arrestCnt; + private Integer arrestCnt=0; @Column(name = "foreign_affairs") private String foreignAffairs; @Column(name = "work") @@ -71,6 +71,8 @@ public class IntelligenceAnalyze extends BaseModel { @Transient private String userType; @Transient + private List apprvList; + @Transient private List affairList; @Transient private Integer totalCnt; diff --git a/src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/model/IntelligenceAnalyzeApprv.java b/src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/model/IntelligenceAnalyzeApprv.java new file mode 100644 index 00000000..d1eb630e --- /dev/null +++ b/src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/model/IntelligenceAnalyzeApprv.java @@ -0,0 +1,49 @@ +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 = "intelligence_analyze_apprv") +@IdClass(IntelligenceAnalyzeApprv.IntelligenceAnalyzeApprvId.class) +public class IntelligenceAnalyzeApprv { + @Id + @Column(name = "ia_key") + private Integer iaKey; + @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 = "opinion") + private String opinion; + @Column(name = "Instruction") + private String Instruction; + @Column(name = "save_dt") + private LocalDateTime saveDt; + + @Embeddable + @Data + @NoArgsConstructor + @AllArgsConstructor + public static class IntelligenceAnalyzeApprvId implements Serializable { + private Integer iaKey; + private Integer apprvSeq; + } +} diff --git a/src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/repository/IntelligenceAnalyzeApprvRepository.java b/src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/repository/IntelligenceAnalyzeApprvRepository.java new file mode 100644 index 00000000..f915b8b3 --- /dev/null +++ b/src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/repository/IntelligenceAnalyzeApprvRepository.java @@ -0,0 +1,18 @@ +package com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.repository; + +import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.IntelligenceAnalyzeApprv; + +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.List; +import java.util.Optional; + + +public interface IntelligenceAnalyzeApprvRepository extends JpaRepository { + + List findByIaKey(Integer iaKey); + + Optional findTopByIaKeyOrderByApprvSeqDesc(Integer iaKey); + + +} 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 f69b4351..6833975b 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 @@ -5,11 +5,13 @@ import com.dbnt.faisp.config.BaseService; import com.dbnt.faisp.config.FileInfo; import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.mapper.IntelligenceNetworkMapper; import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.IntelligenceAnalyze; +import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.IntelligenceAnalyzeApprv; import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.IntelligenceAnalyzeToAffair; 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.OperationPlanFile; import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.OperationPlanFile.OperationPlanFileId; +import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.repository.IntelligenceAnalyzeApprvRepository; import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.repository.IntelligenceAnalyzeRepository; import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.repository.IntelligenceAnalyzeToAffairRepository; import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.repository.OperationPlanApprvRepository; @@ -34,6 +36,7 @@ public class IntelligenceNetworkService extends BaseService { private final OperationPlanRepository operationPlanRepository; private final IntelligenceAnalyzeRepository intelligenceAnalyzeRepository; private final IntelligenceAnalyzeToAffairRepository intelligenceAnalyzeToAffairRepository; + private final IntelligenceAnalyzeApprvRepository intelligenceAnalyzeApprvRepository; private final IntelligenceNetworkMapper intelligenceNetworkMapper; @Transactional @@ -169,6 +172,33 @@ public class IntelligenceNetworkService extends BaseService { public List selectIntelligenceAnalyzeAffairKey(IntelligenceAnalyze ia) { return intelligenceNetworkMapper.selectIntelligenceAnalyzeAffairKey(ia); } + + public List selectIntelligenceAnalyzeApprv(IntelligenceAnalyze ia) { + return intelligenceAnalyzeApprvRepository.findByIaKey(ia.getIaKey()); + } + + @Transactional + public Integer intelligenceAnalyzeChange(IntelligenceAnalyzeApprv apprv) { + IntelligenceAnalyze saveIntelligenceAnalyze = intelligenceAnalyzeRepository.findById(apprv.getIaKey()).orElse(null); + saveIntelligenceAnalyze.setIaState(apprv.getState()); + IntelligenceAnalyzeApprv lastApprv = intelligenceAnalyzeApprvRepository.findTopByIaKeyOrderByApprvSeqDesc(apprv.getIaKey()).orElse(null); + apprv.setApprvSeq(lastApprv==null?1:lastApprv.getApprvSeq()+1); + intelligenceAnalyzeApprvRepository.save(apprv); + + switch (apprv.getState()){ + case "DST003": + case "DST005": + // 반려시 작성자에게 반려 알림 발송 + userAlarmService.sendAlarmToWrtUser(saveIntelligenceAnalyze.getIaKey(), saveIntelligenceAnalyze.getWrtUserSeq(), 34,"외사첩보망 견문관리 운영실적에 문서가 반려되었습니다."); + break; + case "DST004": + case "DST006": + // 부장승인시 작성자에게 승인 알림 발송 + userAlarmService.sendAlarmToWrtUser(saveIntelligenceAnalyze.getIaKey(), saveIntelligenceAnalyze.getWrtUserSeq(), 34,"외사첩보망 견문관리 운영실적에 문서가 승인되었습니다."); + break; + } + return apprv.getIaKey(); + } diff --git a/src/main/resources/mybatisMapper/IntelligenceNetworkMapper.xml b/src/main/resources/mybatisMapper/IntelligenceNetworkMapper.xml index 8e341c3d..cb78929f 100644 --- a/src/main/resources/mybatisMapper/IntelligenceNetworkMapper.xml +++ b/src/main/resources/mybatisMapper/IntelligenceNetworkMapper.xml @@ -334,7 +334,7 @@ analysis_evaluation, measures, wrt_dt, - (select item_value from code_mgt where item_cd = ia_state) as ia_state, + ia_state, wrt_organ, wrt_user_seq, (select item_value from code_mgt where item_cd = wrt_user_grd) as wrt_user_grd, diff --git a/src/main/resources/static/js/igActivities/fpiMgt/intelligenceNetwork/intelligenceAnalyze.js b/src/main/resources/static/js/igActivities/fpiMgt/intelligenceNetwork/intelligenceAnalyze.js index 135dbf6c..74d719b8 100644 --- a/src/main/resources/static/js/igActivities/fpiMgt/intelligenceNetwork/intelligenceAnalyze.js +++ b/src/main/resources/static/js/igActivities/fpiMgt/intelligenceNetwork/intelligenceAnalyze.js @@ -86,6 +86,10 @@ $(document).on('keyup', '.cntInput', function (){ $(document).on('click', '#getAffairBtn', function (){ const affairList=[]; + if($(".rowChkBox:checked").length < 1){ + alert("견문을 선택해주세요"); + return false; + } $.each($(".rowChkBox:checked"), function (idx, chkBox){ const affairTr = $(chkBox).parents(".affairTr"); affairList.push(affairTr.find(".rowChkBox").val()); @@ -106,12 +110,7 @@ $(document).on('click', '#getAffairBtn', function (){ $("#joCnt").val(data.joCnt); $("#muCnt").val(data.muCnt); $("input[name=affairList]").val(data.affairList); - //$.each(data.affairList, function(affair, idx){ - //$("#ddd").val($("#ddd").val()+","+affair); - //}) - contentFade("out"); - //trCarrerList.length = 0; }, error : function(xhr, status) { contentFade("out"); @@ -202,7 +201,7 @@ $(document).on('click', '.apprvBtn', function (){ $.ajax({ type : 'POST', data : formData, - url : "/intelligenceNetwork/operationPlanStateChange", + url : "/intelligenceNetwork/intelligenceAnalyzeChange", processData: false, contentType: false, beforeSend: function (xhr){ @@ -210,7 +209,7 @@ $(document).on('click', '.apprvBtn', function (){ }, success : function(result) { alert(approval+"되었습니다"); - getOperationPlanViewModal(result); + getIntelligenceAnalyzeViewModal(result); contentFade("out"); }, error : function(xhr, status) { diff --git a/src/main/resources/templates/igActivities/fpiMgt/intelligenceNetwork/intelligenceAnalyzeEditModal.html b/src/main/resources/templates/igActivities/fpiMgt/intelligenceNetwork/intelligenceAnalyzeEditModal.html index 217636ed..4c2663e5 100644 --- a/src/main/resources/templates/igActivities/fpiMgt/intelligenceNetwork/intelligenceAnalyzeEditModal.html +++ b/src/main/resources/templates/igActivities/fpiMgt/intelligenceNetwork/intelligenceAnalyzeEditModal.html @@ -64,19 +64,19 @@ 검거 - + - - - - - - - - - - - + + + + + + + + + + + diff --git a/src/main/resources/templates/igActivities/fpiMgt/intelligenceNetwork/intelligenceAnalyzeViewModal.html b/src/main/resources/templates/igActivities/fpiMgt/intelligenceNetwork/intelligenceAnalyzeViewModal.html index 251c460d..d1bc9bd4 100644 --- a/src/main/resources/templates/igActivities/fpiMgt/intelligenceNetwork/intelligenceAnalyzeViewModal.html +++ b/src/main/resources/templates/igActivities/fpiMgt/intelligenceNetwork/intelligenceAnalyzeViewModal.html @@ -103,10 +103,10 @@ - + +
+
-
+
+ +
+ +
+
+

+
+ +
+ +
+