diff --git a/src/main/java/com/dbnt/faisp/fpiMgt/affair/AffairController.java b/src/main/java/com/dbnt/faisp/fpiMgt/affair/AffairController.java index dd71bfab..57de34c3 100644 --- a/src/main/java/com/dbnt/faisp/fpiMgt/affair/AffairController.java +++ b/src/main/java/com/dbnt/faisp/fpiMgt/affair/AffairController.java @@ -189,15 +189,6 @@ public class AffairController { // 첩보수집활동 > 외사경찰 견문관 @PostMapping("/affairStateChange") public Integer affairStateChange(@AuthenticationPrincipal UserInfo loginUser, AffairRating rating){ - String apprvType = "section"; - if(rating.getHeadApprv() == null){ - rating.setSectionNm(loginUser.getUserNm()); - rating.setSectionApprvDt(LocalDateTime.now()); - }else{ - apprvType = "head"; - rating.setHeadNm(loginUser.getUserNm()); - rating.setHeadApprvDt(LocalDateTime.now()); - } - return affairService.affairStateChange(apprvType, rating); + return affairService.affairStateChange(loginUser, rating); } } diff --git a/src/main/java/com/dbnt/faisp/fpiMgt/affair/service/AffairService.java b/src/main/java/com/dbnt/faisp/fpiMgt/affair/service/AffairService.java index 4021b3ef..9b7d4006 100644 --- a/src/main/java/com/dbnt/faisp/fpiMgt/affair/service/AffairService.java +++ b/src/main/java/com/dbnt/faisp/fpiMgt/affair/service/AffairService.java @@ -12,6 +12,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import java.io.File; +import java.time.LocalDateTime; import java.util.List; import java.util.UUID; @@ -115,20 +116,36 @@ public class AffairService extends BaseService { // 견문보고 } } - public Integer affairStateChange(String apprvType, AffairRating rating) { + @Transactional + public Integer affairStateChange(UserInfo loginUser, AffairRating rating) { + AffairBoard savedAffair = affairBoardRepository.findById(rating.getAffairKey()).orElse(null); AffairRating savedRating = affairRatingRepository.findById(new AffairRating.AffairRatingId(rating.getAffairKey(), rating.getRatingOrgan())).orElse(null); - if(savedRating != null){ - if(apprvType.equals("section")){ - savedRating.setSectionNm(rating.getSectionNm()); - savedRating.setSectionApprvDt(rating.getSectionApprvDt()); + if(savedAffair!= null && savedRating != null){ + if(rating.getHeadApprv() == null){ + savedAffair.setAffairStatus(rating.getSectionApprv()); + savedRating.setSectionNm(loginUser.getUserNm()); + savedRating.setSectionApprvDt(LocalDateTime.now()); savedRating.setSectionApprv(rating.getSectionApprv()); savedRating.setSectionEtc(rating.getSectionEtc()); }else{ - savedRating.setHeadNm(rating.getHeadNm()); - savedRating.setHeadApprvDt(rating.getHeadApprvDt()); + savedAffair.setAffairStatus(rating.getHeadApprv()); + savedRating.setHeadNm(loginUser.getUserNm()); + savedRating.setHeadApprvDt(LocalDateTime.now()); savedRating.setHeadApprv(rating.getHeadApprv()); savedRating.setHeadEtc(rating.getHeadEtc()); + savedRating.setAffairRate(rating.getAffairRate()); + savedRating.setOrganUp(rating.getOrganUp()); + if(rating.getOrganUp().equals("T")){ + List organList = loginUser.getUpOrganCdList(); + String upOrgan = organList.get(organList.indexOf(savedRating.getRatingOrgan())-1); + AffairRating upRating = new AffairRating(); + upRating.setRatingOrgan(upOrgan); + upRating.setAffairKey(savedRating.getAffairKey()); + affairRatingRepository.save(upRating); + savedAffair.setAffairStatus("DST002"); + } } + affairBoardRepository.save(savedAffair); affairRatingRepository.save(savedRating); } return rating.getAffairKey(); diff --git a/src/main/resources/mybatisMapper/AffairMapper.xml b/src/main/resources/mybatisMapper/AffairMapper.xml index 08d9a51f..1a840660 100644 --- a/src/main/resources/mybatisMapper/AffairMapper.xml +++ b/src/main/resources/mybatisMapper/AffairMapper.xml @@ -66,11 +66,11 @@ a.wrt_dt, b.fileCnt from affair_board a - left outer join (select affair_key, + left outer join (select affair_key, count(file_seq) as fileCnt from affair_file group by affair_key) b - on a.affair_key = b.affair_key + on a.affair_key = b.affair_key order by affair_key desc limit #{rowCnt} offset #{firstIndex} diff --git a/src/main/resources/static/js/igActivities/fpiMgt/affair/affairMgt.js b/src/main/resources/static/js/igActivities/fpiMgt/affair/affairMgt.js index 9a336a96..b9a4034e 100644 --- a/src/main/resources/static/js/igActivities/fpiMgt/affair/affairMgt.js +++ b/src/main/resources/static/js/igActivities/fpiMgt/affair/affairMgt.js @@ -46,6 +46,44 @@ $(document).on('click', '#saveAffairBtn', function (){ $(document).on('click', '#saveTempBtn', function (){ saveAffair('DST001') }) +$(document).on('click', '.apprvBtn', function (){ + const apprvType = $(this).attr("data-apprvtype"); + let flag = true; + if(apprvType==="head"){ + if(!$("#affairRate").val()){ + alert("견문평가를 선택해주세요.") + flag = false; + } + } + if(flag){ + if(confirm($(this).val()+"하시겠습니까?")){ + $((apprvType === "section"?"#sectionApprv":"#headApprv")).val($(this).attr("data-affairstate")) + const ratingOrganCd = $(".ratingOrganCd") + $("#apprvFormRatingOrgan").val(ratingOrganCd[ratingOrganCd.length-1].value); + const formData = new FormData($("#apprvForm")[0]); + contentFade("in") + $.ajax({ + type : 'POST', + data : formData, + url : "/affair/affairStateChange", + processData: false, + contentType: false, + beforeSend: function (xhr){ + xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val()); + }, + success : function(result) { + alert("저장되었습니다") + getAffairViewModal(result); + contentFade("out"); + }, + error : function(xhr, status) { + alert("저장에 실패하였습니다."); + contentFade("out"); + } + }) + } + } +}) function getAffairViewModal(affairKey){ $.ajax({ diff --git a/src/main/resources/static/js/igActivities/fpiMgt/plan/planMgt.js b/src/main/resources/static/js/igActivities/fpiMgt/plan/planMgt.js index 3d4b75ed..ae2e8054 100644 --- a/src/main/resources/static/js/igActivities/fpiMgt/plan/planMgt.js +++ b/src/main/resources/static/js/igActivities/fpiMgt/plan/planMgt.js @@ -78,6 +78,7 @@ $(document).on('click', '.apprvBtn', function (){ }, success : function(result) { alert("저장되었습니다") + getPlanViewModal(result); contentFade("out"); }, error : function(xhr, status) { diff --git a/src/main/resources/templates/igActivities/fpiMgt/affair/affairViewModal.html b/src/main/resources/templates/igActivities/fpiMgt/affair/affairViewModal.html index 5f8929ce..c280648f 100644 --- a/src/main/resources/templates/igActivities/fpiMgt/affair/affairViewModal.html +++ b/src/main/resources/templates/igActivities/fpiMgt/affair/affairViewModal.html @@ -41,7 +41,7 @@
- +
@@ -51,7 +51,7 @@
- +
@@ -59,7 +59,7 @@
- +
@@ -67,7 +67,7 @@
- +
@@ -75,7 +75,7 @@
- +
@@ -170,7 +170,7 @@
- +
@@ -188,20 +188,50 @@
-
-
- - - - + + + + +
+
+ + +
+
+ +
+
+ +
-
- + + + +
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+ +
-
- -
-
+