From 32b0a50574ffa0640173845c3c14ed2a064d103c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EC=84=9D=20=EC=B5=9C?= Date: Mon, 13 Feb 2023 19:14:14 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B2=AC=EB=AC=B8=EB=B3=B4=EA=B3=A0=20=20-=20?= =?UTF-8?q?=EB=AC=B8=EC=84=9C=EB=B2=88=ED=98=B8=20=EB=B6=80=EC=97=AC=20?= =?UTF-8?q?=EC=98=A4=EB=A5=98=20=EC=88=98=EC=A0=95=20=20-=20=EC=9D=B8?= =?UTF-8?q?=EC=87=84=20=EC=9E=91=EC=97=85=EC=A4=91.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../codeMgt/repository/CodeMgtRepository.java | 2 + .../main/codeMgt/service/CodeMgtService.java | 4 + .../fpiMgt/affair/mapper/AffairMapper.java | 3 +- .../fpiMgt/affair/service/AffairService.java | 33 ++++- .../resources/mybatisMapper/AffairMapper.xml | 14 +-- .../fpiMgt/affair/affairViewModal.html | 114 ++++++------------ 6 files changed, 81 insertions(+), 89 deletions(-) diff --git a/src/main/java/com/dbnt/faisp/main/codeMgt/repository/CodeMgtRepository.java b/src/main/java/com/dbnt/faisp/main/codeMgt/repository/CodeMgtRepository.java index 2e3b69dc..5a330b42 100644 --- a/src/main/java/com/dbnt/faisp/main/codeMgt/repository/CodeMgtRepository.java +++ b/src/main/java/com/dbnt/faisp/main/codeMgt/repository/CodeMgtRepository.java @@ -15,4 +15,6 @@ public interface CodeMgtRepository extends JpaRepository findByUseChkOrderByItemCdAsc(String useChk); List findByOrderByOrderNumAscItemCdAsc(); Optional findTop1ByCategoryCdOrderByItemCdDesc(String categoryCd); + + CodeMgt findTop1ByItemCd(String itemCd); } diff --git a/src/main/java/com/dbnt/faisp/main/codeMgt/service/CodeMgtService.java b/src/main/java/com/dbnt/faisp/main/codeMgt/service/CodeMgtService.java index 4a7a89af..c775d9ef 100644 --- a/src/main/java/com/dbnt/faisp/main/codeMgt/service/CodeMgtService.java +++ b/src/main/java/com/dbnt/faisp/main/codeMgt/service/CodeMgtService.java @@ -130,4 +130,8 @@ public class CodeMgtService{ public List selectAllCodeList() { return codeMgtRepository.findByOrderByOrderNumAscItemCdAsc(); } + + public String searchValue(String itemCd) { + return codeMgtRepository.findTop1ByItemCd(itemCd).getItemValue(); + } } diff --git a/src/main/java/com/dbnt/faisp/main/fpiMgt/affair/mapper/AffairMapper.java b/src/main/java/com/dbnt/faisp/main/fpiMgt/affair/mapper/AffairMapper.java index 036a2bea..c1f1e1bc 100644 --- a/src/main/java/com/dbnt/faisp/main/fpiMgt/affair/mapper/AffairMapper.java +++ b/src/main/java/com/dbnt/faisp/main/fpiMgt/affair/mapper/AffairMapper.java @@ -6,6 +6,7 @@ import com.dbnt.faisp.main.fpiMgt.affair.model.TypeStatistics; import org.apache.ibatis.annotations.Mapper; import java.util.List; +import java.util.Map; @Mapper public interface AffairMapper { @@ -33,5 +34,5 @@ public interface AffairMapper { List selectArrCntList(TypeStatistics typeStatistics); - String selectDocNo(AffairBoard affair); + String selectDocNo(Map params); } diff --git a/src/main/java/com/dbnt/faisp/main/fpiMgt/affair/service/AffairService.java b/src/main/java/com/dbnt/faisp/main/fpiMgt/affair/service/AffairService.java index 0c7d07fb..7f16d85e 100644 --- a/src/main/java/com/dbnt/faisp/main/fpiMgt/affair/service/AffairService.java +++ b/src/main/java/com/dbnt/faisp/main/fpiMgt/affair/service/AffairService.java @@ -3,6 +3,7 @@ package com.dbnt.faisp.main.fpiMgt.affair.service; import com.dbnt.faisp.config.BaseService; import com.dbnt.faisp.config.FileInfo; +import com.dbnt.faisp.main.codeMgt.service.CodeMgtService; import com.dbnt.faisp.main.fpiMgt.affair.mapper.AffairMapper; import com.dbnt.faisp.main.fpiMgt.affair.model.*; import com.dbnt.faisp.main.fpiMgt.affair.repository.*; @@ -17,10 +18,9 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import java.io.File; +import java.time.LocalDate; import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; +import java.util.*; @Service @RequiredArgsConstructor @@ -29,6 +29,7 @@ public class AffairService extends BaseService { // 견문보고 private final UserAlarmService userAlarmService; private final HashTagService hashTagService; private final OrganConfigService organConfigService; + private final CodeMgtService codeMgtService; private final AffairBoardRepository affairBoardRepository; private final AffairFileRepository affairFileRepository; private final AffairRatingRepository affairRatingRepository; @@ -53,7 +54,7 @@ public class AffairService extends BaseService { // 견문보고 } @Transactional public Integer saveAffairBoard(AffairBoard affair, List deleteFileSeq){ - affair.setDocNo(affairMapper.selectDocNo(affair)); + //affair.setDocNo(affairMapper.selectDocNo(affair)); Integer affairKey = affairBoardRepository.save(affair).getAffairKey(); if(!affair.getHashTags().isEmpty()){ saveHashTagLink(affairKey, affair.getHashTags().split(" ")); @@ -122,6 +123,15 @@ public class AffairService extends BaseService { // 견문보고 } } + private String makeDocNo(String wrtOrgan){ + String docNo = ((Integer)LocalDate.now().getYear()).toString(); + Map params = new HashMap<>(); + params.put("wrtOrgan", wrtOrgan); + params.put("year", docNo); + docNo += "-"+affairMapper.selectDocNo(params); + return codeMgtService.searchValue(wrtOrgan)+"-"+docNo; + } + @Transactional public Integer affairStateChange(UserInfo loginUser, List ratingList) { for(AffairRating rating : ratingList){ @@ -153,7 +163,13 @@ public class AffairService extends BaseService { // 견문보고 savedRating.setAffairRate(rating.getAffairRate()); savedRating.setOrganUp(rating.getOrganUp()==null?"F":rating.getOrganUp()); savedRating.setAffairStatus(rating.getHeadApprv()); - + if(rating.getHeadApprv().equals("DST006")){ + AffairBoard affairBoard = affairBoardRepository.findById(savedRating.getAffairKey()).orElse(null); + if(affairBoard.getDocNo() == null + && affairBoard.getWrtOrgan().equals(savedRating.getRatingOrgan())){ + affairBoard.setDocNo(makeDocNo(affairBoard.getWrtOrgan())); + } + } if(savedRating.getOrganUp().equals("T")){ String upOrgan = organConfigService.selectParentOrgan(loginUser.getOgCd()); AffairRating upRating = new AffairRating(); @@ -241,6 +257,13 @@ public class AffairService extends BaseService { // 견문보고 } if(!Utils.isEmpty(rating.getHeadApprv())){ rating.setAffairStatus(rating.getHeadApprv()); + if(rating.getHeadApprv().equals("DST006")){ + AffairBoard affairBoard = affairBoardRepository.findById(rating.getAffairKey()).orElse(null); + if(affairBoard.getDocNo() == null + && affairBoard.getWrtOrgan().equals(rating.getRatingOrgan())){ + affairBoard.setDocNo(makeDocNo(affairBoard.getWrtOrgan())); + } + } }else if(!Utils.isEmpty(rating.getSectionApprv())) { rating.setAffairStatus(rating.getSectionApprv()); }else{ diff --git a/src/main/resources/mybatisMapper/AffairMapper.xml b/src/main/resources/mybatisMapper/AffairMapper.xml index da8ce0b8..9fa634e5 100644 --- a/src/main/resources/mybatisMapper/AffairMapper.xml +++ b/src/main/resources/mybatisMapper/AffairMapper.xml @@ -138,13 +138,13 @@ where a.affair_key = #{affairKey} - + select count(*)+1 as cnt + from affair_board a + inner join affair_rating b + on a.affair_key = b.affair_key and a.wrt_organ = b.rating_organ and b.affair_status = 'DST006' + where wrt_organ = #{wrtOrgan} + and EXTRACT(YEAR FROM report_dt) = #{year}::numeric diff --git a/src/main/resources/templates/igActivities/fpiMgt/affair/affairViewModal.html b/src/main/resources/templates/igActivities/fpiMgt/affair/affairViewModal.html index a7dfa717..8eae8509 100644 --- a/src/main/resources/templates/igActivities/fpiMgt/affair/affairViewModal.html +++ b/src/main/resources/templates/igActivities/fpiMgt/affair/affairViewModal.html @@ -21,33 +21,26 @@
- - + +
- + - - - + + + - + @@ -56,34 +49,29 @@

- +
- + - + - + - +

- +

- +
- +
@@ -153,33 +138,24 @@
- + - - - - + + + +
-
- - +
+ +
- +
-
- - +
+ +
@@ -225,22 +193,18 @@
- +
- +
- +
- +
@@ -260,12 +224,10 @@
- +
- +