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 dfc69928..2ee32c03 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 @@ -17,7 +17,7 @@ public interface AffairMapper { String selectHashTags(Integer affairKey); - String selectDocNo(Map params); + Integer selectDocNo(Map params); List selectDashboardAffairList(DashboardAffair affair); 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 f20146b8..59da6ad4 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 @@ -131,17 +131,18 @@ public class AffairService extends BaseService { // 견문보고 } } - private String makeDocNo(String wrtOrgan, Integer year){ + private String makeDocNo(String wrtOrgan, Integer year, int correctionCnt){ String docNo = year.toString(); Map params = new HashMap<>(); params.put("wrtOrgan", wrtOrgan); params.put("year", docNo); - docNo += "-"+affairMapper.selectDocNo(params); + docNo += "-"+(affairMapper.selectDocNo(params)+correctionCnt); return codeMgtService.searchValue(wrtOrgan)+"-"+docNo; } @Transactional public Integer affairStateChange(UserInfo loginUser, List ratingList) { + int i=0; for(AffairRating rating : ratingList){ AffairRating savedRating = affairRatingRepository.findById(new AffairRating.AffairRatingId(rating.getAffairKey(), loginUser.getOgCd())).orElse(null); if(savedRating != null){ @@ -175,10 +176,11 @@ public class AffairService extends BaseService { // 견문보고 savedRating.setAffairStatus(rating.getHeadApprv()); if(rating.getHeadApprv().equals("DST006")){ AffairBoard affairBoard = affairBoardRepository.findById(savedRating.getAffairKey()).orElse(null); - if(affairBoard.getDocNo() == null + if(Utils.isEmpty(affairBoard.getDocNo()) && affairBoard.getWrtOrgan().equals(savedRating.getRatingOrgan())){ - affairBoard.setDocNo(makeDocNo(affairBoard.getWrtOrgan(), affairBoard.getReportDt().getYear())); + affairBoard.setDocNo(makeDocNo(affairBoard.getWrtOrgan(), affairBoard.getReportDt().getYear(), i)); } + i++; } if(savedRating.getOrganUp().equals("T")){ String upOrgan = organConfigService.selectParentOrgan(loginUser.getOgCd()); @@ -271,7 +273,7 @@ public class AffairService extends BaseService { // 견문보고 AffairBoard affairBoard = affairBoardRepository.findById(rating.getAffairKey()).orElse(null); if(affairBoard.getDocNo() == null && affairBoard.getWrtOrgan().equals(rating.getRatingOrgan())){ - affairBoard.setDocNo(makeDocNo(affairBoard.getWrtOrgan(), affairBoard.getReportDt().getYear())); + affairBoard.setDocNo(makeDocNo(affairBoard.getWrtOrgan(), affairBoard.getReportDt().getYear(), 0)); } } }else if(!Utils.isEmpty(rating.getSectionApprv())) { diff --git a/src/main/resources/mybatisMapper/AffairMapper.xml b/src/main/resources/mybatisMapper/AffairMapper.xml index 50400ea7..de8e0bf7 100644 --- a/src/main/resources/mybatisMapper/AffairMapper.xml +++ b/src/main/resources/mybatisMapper/AffairMapper.xml @@ -140,7 +140,7 @@ where a.affair_key = #{affairKey} - select count(*)+1 as cnt from affair_board a inner join affair_rating b