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 a740494e..05c502cf 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 @@ -1,12 +1,13 @@ package com.dbnt.faisp.main.fpiMgt.intelligenceNetwork; import com.dbnt.faisp.main.authMgt.service.AuthMgtService; +import com.dbnt.faisp.main.fpiMgt.affair.model.AffairBoard; 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.model.FireExtensionReport; import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.service.IntelligenceNetworkService; -import com.dbnt.faisp.main.translator.model.TranslatorCrr; import com.dbnt.faisp.main.userInfo.model.UserInfo; import lombok.RequiredArgsConstructor; import org.springframework.security.core.annotation.AuthenticationPrincipal; @@ -20,7 +21,7 @@ import java.util.List; @RestController @RequiredArgsConstructor @RequestMapping("/intelligenceNetwork") -public class IntelligenceNetworkController { // 첩보수집활동 > 해양외사모니터링 +public class IntelligenceNetworkController { private final IntelligenceNetworkService intelligenceNetworkService; private final AuthMgtService authMgtService; @@ -299,6 +300,142 @@ public class IntelligenceNetworkController { // 첩보수집활동 > 해양외 apprv.setSaveDt(LocalDateTime.now()); return intelligenceNetworkService.intelligenceAnalyzeChange(apprv); } + + @GetMapping("/fireExtensionReportList/{type}") + public ModelAndView fireExtensionReportList(@AuthenticationPrincipal UserInfo loginUser,@PathVariable("type") String type, FireExtensionReport fer){ + ModelAndView mav = new ModelAndView("igActivities/fpiMgt/intelligenceNetwork/fireExtensionReportList"); + + //메뉴권한 확인 + String accessAuth = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/intelligenceNetwork/fireExtensionReportList/all").get(0).getAccessAuth(); + if(type.equals("all")) { + switch (accessAuth){ + case "ACC001": // 조회 + case "ACC002": // 작성 // 자신이 작성한 문서만 열람가능 + fer.setWrtUserSeq(loginUser.getUserSeq()); + break; + case "ACC003": // 관리 // 자신 외 하위 기관에서 작성한 문서 열람가능 + fer.setDownOrganCdList(loginUser.getDownOrganCdList()); + mav.addObject("mgtOrganList", loginUser.getDownOrganCdList()); + break; + } + }else if(type.equals("stay") || type.equals("commit")) { + switch (accessAuth){ + case "ACC001": // 조회 + case "ACC002": // 작성 // 자신의 관서 내에서 작성한 문서만 열람가능 + fer.setWrtOrgan(loginUser.getOgCd()); + break; + case "ACC003": // 관리 // 자신 외 하위 기관에서 작성한 문서 열람가능 + fer.setDownOrganCdList(loginUser.getDownOrganCdList()); + mav.addObject("mgtOrganList", loginUser.getDownOrganCdList()); + break; + } + } + //결재권한 확인 + String apprvAuth = authMgtService.selectApprovalConfigList(loginUser.getUserSeq(), "/intelligenceNetwork/fireExtensionReportList/all").get(0).getApprovalAuth(); + if(type.equals("stay")) { + if(apprvAuth==null) { + if(!accessAuth.equals("ACC003")){ + fer.setWrtUserSeq(loginUser.getUserSeq()); + fer.setUserType("normalStayList"); + }else{ + fer.setUserType("managerStayList"); + } + }else{ + mav.addObject("userNm", loginUser.getUserNm()); + switch (apprvAuth){ + case "APC004": // 계장대행 + case "APC003": // 계장 // 결재대기 문서 조회 + case "APC002": // 부장대행 + case "APC001": // 부장 // 결재대기 문서 조회 + fer.setFerState("DST002"); + break; + } + } + }else if(type.equals("commit")){ + if(apprvAuth==null) { + if(!accessAuth.equals("ACC003")){ + fer.setWrtUserSeq(loginUser.getUserSeq()); + fer.setUserType("normalCommitList"); + }else{ + fer.setUserType("managerCommitList"); + } + }else{ + switch (apprvAuth) { + case "APC004": // 계장대행 + case "APC003": // 계장 // + case "APC002": // 부장대행 + case "APC001": // 부장 // + fer.setUserType("sectionCommitList"); + break; + } + } + } + mav.addObject("accessAuth", accessAuth); + mav.addObject("apprvAuth", apprvAuth); + + fer.setQueryInfo(); + mav.addObject("ferList", intelligenceNetworkService.selectIFireExtensionReportList(fer)); + fer.setContentCnt(intelligenceNetworkService.selectIFireExtensionReportListCnt(fer)); + fer.setPaginationInfo(); + mav.addObject("type", type); + + mav.addObject("searchUrl", "/intelligenceNetwork/fireExtensionReportList/"+type); + mav.addObject("searchParams", fer); + return mav; + } + + @GetMapping("/fireExtensionReportEditModal") + public ModelAndView fireExtensionReportEditModal(@AuthenticationPrincipal UserInfo loginUser, FireExtensionReport fer){ + ModelAndView mav = new ModelAndView("igActivities/fpiMgt/intelligenceNetwork/fireExtensionReportEditModal"); + if(fer.getFerKey()!=null){ + fer = intelligenceNetworkService.selectFireExtensionReportInfo(fer); + } + + mav.addObject("fer", fer); + return mav; + } + + @GetMapping("/operationPlanListModal") + public ModelAndView operationPlanListModal(@AuthenticationPrincipal UserInfo loginUser, OperationPlan op){ + ModelAndView mav = new ModelAndView("igActivities/fpiMgt/intelligenceNetwork/operationPlanListModal"); + op.setFirstIndex(0); + op.setRowCnt(9999); + mav.addObject("operationPlanList", intelligenceNetworkService.selectOperationPlanList(op)); + return mav; + } + + @PostMapping("/getOperationPlanInfo") + @ResponseBody + public OperationPlan getOperationPlanInfo(@RequestBody OperationPlan op){ + op = intelligenceNetworkService.selectOperationPlan(op.getOpKey()); + return op; + } + + @PostMapping("/saveFireExtensionReport") + public Integer saveFireExtensionReport(@AuthenticationPrincipal UserInfo loginUser,FireExtensionReport fer){ + if(fer.getFerKey() == null) { + fer.setWrtOrgan(loginUser.getOgCd()); + fer.setWrtPart(loginUser.getOfcCd()); + fer.setWrtUserGrd(loginUser.getTitleCd()); + fer.setWrtUserSeq(loginUser.getUserSeq()); + fer.setWrtUserNm(loginUser.getUserNm()); + fer.setWrtDt(LocalDateTime.now()); + } + return intelligenceNetworkService.saveFireExtensionReport(fer); + } + + @GetMapping("/fireExtensionReportViewModal") + public ModelAndView fireExtensionReportViewModal(@AuthenticationPrincipal UserInfo loginUser, FireExtensionReport fer){ + ModelAndView mav = new ModelAndView("igActivities/fpiMgt/intelligenceNetwork/fireExtensionReportViewModal"); + fer = intelligenceNetworkService.selectFireExtensionReportInfo(fer); + mav.addObject("fer", fer); + mav.addObject("userSeq",loginUser.getUserSeq()); + //메뉴권한 확인 + mav.addObject("accessAuth", authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/intelligenceNetwork/fireExtensionReportList/all").get(0).getAccessAuth()); + mav.addObject("apprvAuth", authMgtService.selectApprovalConfigList(loginUser.getUserSeq(), "/intelligenceNetwork/fireExtensionReportList/all").get(0).getApprovalAuth()); + mav.addObject("lineSeparator", '\n'); + return mav; + } } diff --git a/src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/mapper/IntelligenceNetworkMapper.java b/src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/mapper/IntelligenceNetworkMapper.java index cab34a89..9fc3700b 100644 --- a/src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/mapper/IntelligenceNetworkMapper.java +++ b/src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/mapper/IntelligenceNetworkMapper.java @@ -2,6 +2,7 @@ package com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.mapper; import org.apache.ibatis.annotations.Mapper; +import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.FireExtensionReport; import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.IntelligenceAnalyze; import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.OperationPlan; @@ -24,6 +25,10 @@ public interface IntelligenceNetworkMapper { List selectIntelligenceAnalyzeAffairKey(IntelligenceAnalyze ia); + List selectIFireExtensionReportList(FireExtensionReport fer); + + Integer selectIFireExtensionReportListCnt(FireExtensionReport fer); + } 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 new file mode 100644 index 00000000..5d1a46e6 --- /dev/null +++ b/src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/model/FireExtensionReport.java @@ -0,0 +1,86 @@ +package com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model; + +import com.dbnt.faisp.config.BaseModel; + +import lombok.AllArgsConstructor; +import lombok.Data; +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 org.springframework.web.multipart.MultipartFile; + +import javax.persistence.*; + +import java.io.Serializable; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.List; + +@Getter +@Setter +@Entity +@NoArgsConstructor +@DynamicInsert +@DynamicUpdate +@Table(name = "fire_extension_report") +public class FireExtensionReport extends BaseModel { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "fer_key") + private Integer ferKey; + @Column(name = "op_key") + private Integer opKey; + @Column(name = "op_edate") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate opEdate; + @Column(name = "allocation_amount") + private Integer allocationAmount; + @Column(name = "execution_amount") + private Integer executionAmount; + @Column(name = "note") + private String note; + @Column(name = "fire_extension_reason") + private String fireExtensionReason; + @Column(name = "performance_evaluation") + private String performanceEvaluation; + @Column(name = "action_opinion") + private String actionOpinion; + @Column(name = "fer_state") + private String ferState; + @Column(name = "wrt_organ") + private String wrtOrgan; + @Column(name = "wrt_part") + private String wrtPart; + @Column(name = "wrt_user_seq") + private Integer wrtUserSeq; + @Column(name = "wrt_user_grd") + private String wrtUserGrd; + @Column(name = "wrt_user_nm") + private String wrtUserNm; + @Column(name = "wrt_dt") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") + private LocalDateTime wrtDt; + + + @Transient + private String userType; + @Transient + private Integer balance; + @Transient + private String opName; + @Transient + private String opAge; + @Transient + private String opPosition; + @Transient + private String opJob; + @Transient + private String opSdate; + @Transient + private OperationPlan operationPlan; + + +} diff --git a/src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/repository/FireExtensionReportRepository.java b/src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/repository/FireExtensionReportRepository.java new file mode 100644 index 00000000..5aeef80a --- /dev/null +++ b/src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/repository/FireExtensionReportRepository.java @@ -0,0 +1,16 @@ +package com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.repository; + +import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.FireExtensionReport; + +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.List; +import java.util.Optional; + + +public interface FireExtensionReportRepository extends JpaRepository { + + Optional findByFerKey(Integer ferKey); + + +} diff --git a/src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/repository/OperationPlanRepository.java b/src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/repository/OperationPlanRepository.java index 984d57b0..3b1a3814 100644 --- a/src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/repository/OperationPlanRepository.java +++ b/src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/repository/OperationPlanRepository.java @@ -7,5 +7,6 @@ import org.springframework.data.jpa.repository.JpaRepository; public interface OperationPlanRepository extends JpaRepository { + } 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 6833975b..2bfa2156 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 @@ -11,6 +11,8 @@ 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.model.FireExtensionReport; +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; import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.repository.IntelligenceAnalyzeToAffairRepository; @@ -37,6 +39,7 @@ public class IntelligenceNetworkService extends BaseService { private final IntelligenceAnalyzeRepository intelligenceAnalyzeRepository; private final IntelligenceAnalyzeToAffairRepository intelligenceAnalyzeToAffairRepository; private final IntelligenceAnalyzeApprvRepository intelligenceAnalyzeApprvRepository; + private final FireExtensionReportRepository fireExtensionReportRepository; private final IntelligenceNetworkMapper intelligenceNetworkMapper; @Transactional @@ -49,11 +52,9 @@ public class IntelligenceNetworkService extends BaseService { saveOperationPlanUploadFiles(opKey, op.getMultipartFileList()); } if(op.getOpState().equals("DST002")){ - //작성완료일 때 계장 결재 사용자에게 알림 발송. + //작성완료일 때 부장 결재 사용자에게 알림 발송. userAlarmService.sendAlarmToApprvUser(opKey, op.getWrtOrgan(), "APC001", 32, "외사첩보망 견문관리 운영계획에 결재대기 문서가 있습니다."); userAlarmService.sendAlarmToApprvUser(opKey, op.getWrtOrgan(), "APC002", 32, "외사첩보망 견문관리 운영계획에 결재대기 문서가 있습니다."); - userAlarmService.sendAlarmToApprvUser(opKey, op.getWrtOrgan(), "APC003", 32, "외사첩보망 견문관리 운영계획에 결재대기 문서가 있습니다."); - userAlarmService.sendAlarmToApprvUser(opKey, op.getWrtOrgan(), "APC004", 32, "외사첩보망 견문관리 운영계획에 결재대기 문서가 있습니다."); } return opKey; } @@ -116,12 +117,10 @@ public class IntelligenceNetworkService extends BaseService { operationPlanApprvRepository.save(apprv); switch (apprv.getState()){ - case "DST003": case "DST005": // 반려시 작성자에게 반려 알림 발송 userAlarmService.sendAlarmToWrtUser(saveOperationPlan.getOpKey(), saveOperationPlan.getWrtUserSeq(), 32,"외사첩보망 견문관리 운영계획에 문서가 반려되었습니다."); break; - case "DST004": case "DST006": // 부장승인시 작성자에게 승인 알림 발송 userAlarmService.sendAlarmToWrtUser(saveOperationPlan.getOpKey(), saveOperationPlan.getWrtUserSeq(), 32,"외사첩보망 견문관리 운영계획에 문서가 승인되었습니다."); @@ -148,11 +147,9 @@ public class IntelligenceNetworkService extends BaseService { intelligenceAnalyzeToAffairRepository.save(iata); } if(ia.getIaState().equals("DST002")){ - //작성완료일 때 계장 결재 사용자에게 알림 발송. + //작성완료일 때 부장 결재 사용자에게 알림 발송. userAlarmService.sendAlarmToApprvUser(iaKey, ia.getWrtOrgan(), "APC001", 34, "외사첩보망 견문관리 운영실적에 결재대기 문서가 있습니다."); userAlarmService.sendAlarmToApprvUser(iaKey, ia.getWrtOrgan(), "APC002", 34, "외사첩보망 견문관리 운영실적에 결재대기 문서가 있습니다."); - userAlarmService.sendAlarmToApprvUser(iaKey, ia.getWrtOrgan(), "APC003", 34, "외사첩보망 견문관리 운영실적에 결재대기 문서가 있습니다."); - userAlarmService.sendAlarmToApprvUser(iaKey, ia.getWrtOrgan(), "APC004", 34, "외사첩보망 견문관리 운영실적에 결재대기 문서가 있습니다."); } return iaKey; } @@ -186,12 +183,10 @@ public class IntelligenceNetworkService extends BaseService { 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,"외사첩보망 견문관리 운영실적에 문서가 승인되었습니다."); @@ -199,6 +194,33 @@ public class IntelligenceNetworkService extends BaseService { } return apprv.getIaKey(); } + + @Transactional + public Integer saveFireExtensionReport(FireExtensionReport fer) { + Integer ferKey = fireExtensionReportRepository.save(fer).getFerKey(); + if(fer.getFerState().equals("DST002")){ + //작성완료일 때 부장 결재 사용자에게 알림 발송. + userAlarmService.sendAlarmToApprvUser(ferKey, fer.getWrtOrgan(), "APC001", 35, "외사첩보망 견문관리 외사첩보망 해고(연장)보고에 결재대기 문서가 있습니다."); + userAlarmService.sendAlarmToApprvUser(ferKey, fer.getWrtOrgan(), "APC002", 35, "외사첩보망 견문관리 외사첩보망 해고(연장)보고에 결재대기 문서가 있습니다."); + } + return ferKey; + } + + public List selectIFireExtensionReportList(FireExtensionReport fer) { + return intelligenceNetworkMapper.selectIFireExtensionReportList(fer); + } + + public Integer selectIFireExtensionReportListCnt(FireExtensionReport fer) { + return intelligenceNetworkMapper.selectIFireExtensionReportListCnt(fer); + } + + public FireExtensionReport selectFireExtensionReportInfo(FireExtensionReport fer) { + FireExtensionReport savedFireExtensionReport = fireExtensionReportRepository.findByFerKey(fer.getFerKey()).orElse(null); + if (savedFireExtensionReport != null) { + savedFireExtensionReport.setOperationPlan(operationPlanRepository.findById(savedFireExtensionReport.getOpKey()).orElse(null)); + } + return savedFireExtensionReport; + } diff --git a/src/main/resources/mybatisMapper/IntelligenceNetworkMapper.xml b/src/main/resources/mybatisMapper/IntelligenceNetworkMapper.xml index c771d9f1..3b93e67a 100644 --- a/src/main/resources/mybatisMapper/IntelligenceNetworkMapper.xml +++ b/src/main/resources/mybatisMapper/IntelligenceNetworkMapper.xml @@ -54,8 +54,11 @@ op_name, op_birth, op_position, + op_job, + op_career, op_phone, op_rank, + op_sdate, op_state as status, (select item_value from code_mgt where item_cd = op_state) as op_state, wrt_user_seq, @@ -75,6 +78,7 @@ order by op.op_key desc limit #{rowCnt} offset #{firstIndex} + + + + and fer.wrt_user_seq = #{wrtUserSeq} + + + and fer.wrt_organ = #{wrtOrgan} + + + and fer_state = #{ferState} + + + + and op_sdate >= #{startDate}::date + + + and op_edate <= #{endDate}::date + + + + + and fer.wrt_dt >= #{startDate}::date + + + and fer.wrt_dt <= #{endDate}::date+1 + + + + and fer.wrt_organ in + + #{organCd} + + + + + and fer_state in ('DST002') + + + and fer_state in ('DST003', 'DST004', 'DST005', 'DST006') + + + and fer_state in ('DST003', 'DST004', 'DST005', 'DST006') + + + and fer_state in ('DST002') + + + and fer_state in ('DST003', 'DST004', 'DST005', 'DST006') + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/static/js/igActivities/fpiMgt/intelligenceNetwork/fireExtensionReport.js b/src/main/resources/static/js/igActivities/fpiMgt/intelligenceNetwork/fireExtensionReport.js new file mode 100644 index 00000000..ff767a18 --- /dev/null +++ b/src/main/resources/static/js/igActivities/fpiMgt/intelligenceNetwork/fireExtensionReport.js @@ -0,0 +1,205 @@ +$(function(){ + $("#dateSelectorDiv").datepicker({ + format: "yyyy-mm-dd", + language: "ko", + autoclose: true + }); +}) + +$(document).on('click', '#allTab', function (){ + location.href = "/intelligenceNetwork/fireExtensionReportList/all"; +}) +$(document).on('click', '#stayTab', function (){ + location.href = "/intelligenceNetwork/fireExtensionReportList/stay"; +}) +$(document).on('click', '#commitTab', function (){ + location.href = "/intelligenceNetwork/fireExtensionReportList/commit"; +}) + +$(document).on('click', '#addBtn', function (){ + getFireExtensionReportEditModal(null); +}) + +function getFireExtensionReportEditModal(ferKey){ + $.ajax({ + url: '/intelligenceNetwork/fireExtensionReportEditModal', + data: {ferKey: ferKey}, + type: 'GET', + dataType:"html", + success: function(html){ + $("#fireExtensionReportEditModalContent").empty().append(html) + $("#opEdate").datepicker({ + format: "yyyy-mm-dd", + language: "ko", + autoclose: true + }); + setUploadDiv(); + $("#fireExtensionReportEditModal").modal('show'); + }, + error:function(){ + + } + }); +} + +$(document).on('click', '#operationPlanModalBtn', function (){ + const opKey = $("input[name=opKey]").val(); + $.ajax({ + url: '/intelligenceNetwork/operationPlanListModal', + data: { + + }, + type: 'GET', + dataType:"html", + success: function(html){ + $("#operationPlanListModalContent").empty().append(html); + if(opKey != ""){ + $(".rowChkBox[value="+opKey+"]").prop("checked", true); + } + $("#operationPlanListModal").modal('show'); + }, + error:function(e){ + ajaxErrorAction(e); + } + }); +}) + +$(document).on('click', '#getOperationPlanBtn', function (){ + if($(".rowChkBox:checked").length < 1){ + alert("견문을 선택해주세요"); + return false; + } + const opKey = $(".rowChkBox:checked").val(); + $.ajax({ + type : 'POST', + data : JSON.stringify({opKey:opKey}), + url : "/intelligenceNetwork/getOperationPlanInfo", + contentType: 'application/json', + beforeSend: function (xhr){ + xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val()); + }, + success : function(data) { + $("#opName").val(data.opName); + $("#opBirth").val(data.opBirth); + $("#opPosition").val(data.opPosition); + $("#opJob").val(data.opJob); + $("#opCareer").val(data.opCareer); + $("#opPhone").val(data.opPhone); + $("#opSdate").val(data.opSdate); + $("#opRank").val(data.opRank); + $("input[name=opKey]").val(data.opKey); + contentFade("out"); + }, + error : function(xhr, status) { + contentFade("out"); + } + }) + $("#operationPlanListModal").modal("hide"); +}) + +$(document).on('click', '#editBtn', function (){ + $("#fireExtensionReportViewModal").modal('hide'); + getFireExtensionReportEditModal($(this).attr("data-ferkey")); +}) + +$(document).on('click', '#saveBtn', function (){ + if(!$("input[name=opKey]").val()){ + alert("정보협력자를 선택해주세요."); + return false; + } + if(!$("#opEdate").val()){ + alert("운용기간을 입력해주세요."); + $('#opEdate').focus(); + return false; + } + if(!$("#allocationAmount").val()){ + alert("배정액을 입력해주세요."); + $('#allocationAmount').focus(); + return false; + } + if(!$("#executionAmount").val()){ + alert("집행액을 입력해주세요."); + $('#executionAmount').focus(); + return false; + } + if(confirm("저장하시겠습니까?")){ + saveFireExtensionReport('DST002'); + } +}) + +$(document).on('click', '#saveTempBtn', function (){ + if(confirm("임시저장 하시겠습니까?")){ + saveFireExtensionReport('DST001'); + } +}) + +function saveFireExtensionReport(ferState){ + contentFade("in"); + const formData = new FormData($("#fireExtensionReportEditForm")[0]); + formData.append('ferState', ferState); + $.ajax({ + type : 'POST', + data : formData, + url : "/intelligenceNetwork/saveFireExtensionReport", + processData: false, + contentType: false, + success : function(result) { + alert("저장되었습니다."); + contentFade("out"); + location.reload(); + }, + error : function(xhr, status) { + alert("저장에 실패하였습니다.") + contentFade("out"); + } + }) +} + +$(document).on('click', '.fireExtensionReportTr', function (){ + fireExtensionReportViewModal(Number($(this).find(".ferKey").val())); +}) + +function fireExtensionReportViewModal(ferKey){ + $.ajax({ + url: '/intelligenceNetwork/fireExtensionReportViewModal', + data: {ferKey: ferKey}, + type: 'GET', + dataType:"html", + success: function(html){ + $("#fireExtensionReportViewModalBody").empty().append(html) + $("#fireExtensionReportViewModal").modal('show'); + }, + error:function(){ + + } + }); +} + +$(document).on('click', '.apprvBtn', function (){ + $("#viewModalApprvValue").val($(this).attr("data-planstate")); + const approval = $(this).val(); + if(confirm(approval+"하시겠습니까?")){ + const formData = new FormData($("#apprvForm")[0]); + contentFade("in") + $.ajax({ + type : 'POST', + data : formData, + url : "/intelligenceNetwork/operationPlanStateChange", + processData: false, + contentType: false, + beforeSend: function (xhr){ + xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val()); + }, + success : function(result) { + alert(approval+"되었습니다"); + getOperationPlanViewModal(result); + contentFade("out"); + }, + error : function(xhr, status) { + alert(approval+"처리를 실패하였습니다."); + contentFade("out"); + } + }) + } +}) + diff --git a/src/main/resources/templates/igActivities/fpiMgt/intelligenceNetwork/fireExtensionReportEditModal.html b/src/main/resources/templates/igActivities/fpiMgt/intelligenceNetwork/fireExtensionReportEditModal.html new file mode 100644 index 00000000..e2dcbbe6 --- /dev/null +++ b/src/main/resources/templates/igActivities/fpiMgt/intelligenceNetwork/fireExtensionReportEditModal.html @@ -0,0 +1,210 @@ + + + + + \ No newline at end of file diff --git a/src/main/resources/templates/igActivities/fpiMgt/intelligenceNetwork/fireExtensionReportList.html b/src/main/resources/templates/igActivities/fpiMgt/intelligenceNetwork/fireExtensionReportList.html new file mode 100644 index 00000000..85eb7dd2 --- /dev/null +++ b/src/main/resources/templates/igActivities/fpiMgt/intelligenceNetwork/fireExtensionReportList.html @@ -0,0 +1,181 @@ + + + + + +
+
+ + +
+

외사첩보망 해고(연장) 보고

+

첩보수집활동 > 외사첩보망 견문관리 > 외사첩보망 해고(연장) 보고

+
+
+
+
+ +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
문서번호목표 인적사항운영기간소요예산조치등록일
성명나이근무처(소속)직업(직위)
+
+
+
+
+
+ +
+
+ +
+
+
+
+
+
+
+ + + + + + +
+ \ No newline at end of file diff --git a/src/main/resources/templates/igActivities/fpiMgt/intelligenceNetwork/fireExtensionReportViewModal.html b/src/main/resources/templates/igActivities/fpiMgt/intelligenceNetwork/fireExtensionReportViewModal.html new file mode 100644 index 00000000..7b963287 --- /dev/null +++ b/src/main/resources/templates/igActivities/fpiMgt/intelligenceNetwork/fireExtensionReportViewModal.html @@ -0,0 +1,143 @@ + + + + + \ No newline at end of file diff --git a/src/main/resources/templates/igActivities/fpiMgt/intelligenceNetwork/operationPlanListModal.html b/src/main/resources/templates/igActivities/fpiMgt/intelligenceNetwork/operationPlanListModal.html new file mode 100644 index 00000000..a6517c5d --- /dev/null +++ b/src/main/resources/templates/igActivities/fpiMgt/intelligenceNetwork/operationPlanListModal.html @@ -0,0 +1,44 @@ + + + + + \ No newline at end of file