diff --git a/src/main/java/com/dbnt/faisp/main/faRpt/SriController.java b/src/main/java/com/dbnt/faisp/main/faRpt/SriController.java index 545f5f20..986df502 100644 --- a/src/main/java/com/dbnt/faisp/main/faRpt/SriController.java +++ b/src/main/java/com/dbnt/faisp/main/faRpt/SriController.java @@ -2,6 +2,7 @@ package com.dbnt.faisp.main.faRpt; import com.dbnt.faisp.main.authMgt.service.AuthMgtService; import com.dbnt.faisp.main.codeMgt.service.CodeMgtService; +import com.dbnt.faisp.main.faRpt.model.FaRptBoard; import com.dbnt.faisp.main.faRpt.model.FaRptReadUser; import com.dbnt.faisp.main.faRpt.model.Sri; import com.dbnt.faisp.main.faRpt.model.SriReadUser; @@ -128,6 +129,16 @@ public class SriController { sriService.sriDelete(sri); } + @GetMapping("/sriReadUserModal") + public ModelAndView sriReadUserModal(@AuthenticationPrincipal UserInfo loginUser, Sri sri){ + ModelAndView mav = new ModelAndView("sri/sriReadUserModal"); + sri = sriService.selectFaSriBoard(sri.getFaSriKey(), null); + mav.addObject("sri", sri); + return mav; + } - + @PostMapping("/updateReadUser") + public void updateReadUser(Sri sri){ + sriService.updateReadUser(sri.getFaSriKey(), sri.getReadUserList()); + } } diff --git a/src/main/java/com/dbnt/faisp/main/faRpt/model/SriReadUser.java b/src/main/java/com/dbnt/faisp/main/faRpt/model/SriReadUser.java index d7c9ae0d..34b0ac40 100644 --- a/src/main/java/com/dbnt/faisp/main/faRpt/model/SriReadUser.java +++ b/src/main/java/com/dbnt/faisp/main/faRpt/model/SriReadUser.java @@ -33,15 +33,8 @@ public class SriReadUser extends FileInfo { private String titleCd; @Column(name = "user_nm") private String userNm; - - @Override -public String toString() { - return "SriReadUser [faSriKey=" + faSriKey + ", userSeq=" + userSeq + ", readYn=" + readYn + ", ogCd=" + ogCd - + ", ofcCd=" + ofcCd + ", titleCd=" + titleCd + ", userNm=" + userNm + "]"; -} - -@Embeddable + @Embeddable @Data @NoArgsConstructor @AllArgsConstructor diff --git a/src/main/java/com/dbnt/faisp/main/faRpt/service/SriService.java b/src/main/java/com/dbnt/faisp/main/faRpt/service/SriService.java index 994499e3..675ca66c 100644 --- a/src/main/java/com/dbnt/faisp/main/faRpt/service/SriService.java +++ b/src/main/java/com/dbnt/faisp/main/faRpt/service/SriService.java @@ -33,35 +33,35 @@ public class SriService extends BaseService { private final SriReadUserRepository sriReadUserRepository; private final SriFileRepository sriFileRepository; private final SriMapper sriMapper; - - + + public List selectSriList(Sri sri) { - return sriMapper.selectSriList(sri); + return sriMapper.selectSriList(sri); } - + public Integer selectSriCnt(Sri sri) { - return sriMapper.selectSriCnt(sri); + return sriMapper.selectSriCnt(sri); } - + @Transactional public Integer saveSriBoard(Sri sri, List deleteFileSeq) { - Integer faSriKey = sriRepository.save(sri).getFaSriKey(); - if(deleteFileSeq!=null && deleteFileSeq.size()>0){ - deleteFaRptFile(faSriKey, deleteFileSeq); - } - if(sri.getMultipartFileList() != null){ - saveUploadFiles(faSriKey, sri.getMultipartFileList()); - } - if(sri.getReadUserList() != null){ - saveSriReadUser(faSriKey, sri.getReadUserList()); - } + Integer faSriKey = sriRepository.save(sri).getFaSriKey(); + if(deleteFileSeq!=null && deleteFileSeq.size()>0){ + deleteFaRptFile(faSriKey, deleteFileSeq); + } + if(sri.getMultipartFileList() != null){ + saveUploadFiles(faSriKey, sri.getMultipartFileList()); + } + if(sri.getReadUserList() != null){ + saveSriReadUser(faSriKey, sri.getReadUserList()); + } - return faSriKey; + return faSriKey; } @Transactional public Sri selectFaSriBoard(Integer faSriKey, Integer userSeq) { - Sri sri = sriRepository.findById(faSriKey).orElse(null); + Sri sri = sriRepository.findById(faSriKey).orElse(null); if(sri != null){ sri.setFileList(sriFileRepository.findByFaSriKey(faSriKey)); sri.setReadUserList(sriReadUserRepository.findByFaSriKey(faSriKey)); @@ -78,21 +78,34 @@ public class SriService extends BaseService { } } return sri; - } + } private void saveSriReadUser(Integer faSriKey, List readUserList) { - sriReadUserRepository.deleteByFaSriKey(faSriKey); + List saveReadUserList = sriReadUserRepository.findByFaSriKey(faSriKey); List alarmList = new ArrayList<>(); LocalDateTime dateTime = LocalDateTime.now(); + for(SriReadUser readUser: readUserList){ readUser.setFaSriKey(faSriKey); - UserAlarm alarm = userAlarmService.makeUserAlarm - (dateTime, readUser.getUserSeq(), faSriKey, 40, "SRI에 수신 문서가 있습니다."); - alarmList.add(alarm); + readUser.setReadYn("F"); + boolean savedFlag = false; + for(SriReadUser savedUser: saveReadUserList){ + if(savedUser.getUserSeq().equals(readUser.getUserSeq())){ + readUser.setReadYn(savedUser.getReadYn()); + savedFlag = true; + } + } + if(!savedFlag){ + UserAlarm alarm = userAlarmService.makeUserAlarm + (dateTime, readUser.getUserSeq(), faSriKey, 40, "SRI에 수신 문서가 있습니다."); + alarmList.add(alarm); + } } userAlarmService.saveAlarmList(alarmList); + + sriReadUserRepository.deleteByFaSriKey(faSriKey); sriReadUserRepository.saveAll(readUserList); } @@ -129,19 +142,20 @@ public class SriService extends BaseService { } public FileInfo selectFaSriFile(Integer faSriKey, Integer fileSeq) { - return sriFileRepository.findById(new SriFile.SriFileId(faSriKey, fileSeq)).orElse(null); + return sriFileRepository.findById(new SriFile.SriFileId(faSriKey, fileSeq)).orElse(null); } - + @Transactional public void sriDelete(List sri) { - for(Sri sriData : sri) { - Sri dbSri = sriRepository.findById(sriData.getFaSriKey()).orElse(null); - dbSri.setStatus("DST008"); - sriRepository.save(dbSri); - } + for(Sri sriData : sri) { + Sri dbSri = sriRepository.findById(sriData.getFaSriKey()).orElse(null); + dbSri.setStatus("DST008"); + sriRepository.save(dbSri); + } } - - - + @Transactional + public void updateReadUser(Integer faSriKey, List readUserList) { + saveSriReadUser(faSriKey, readUserList); + } } \ No newline at end of file diff --git a/src/main/resources/static/js/faRpt/sri.js b/src/main/resources/static/js/faRpt/sri.js index fc11509a..3c315add 100644 --- a/src/main/resources/static/js/faRpt/sri.js +++ b/src/main/resources/static/js/faRpt/sri.js @@ -208,6 +208,11 @@ $(document).on('click', '#sriDeleteBtn', function (){ } }) +$(document).on('click', '#addReceiveUserBtn', function (){ + $("#sriViewModal").modal('hide'); + getSriReadUserModal($(this).attr("data-fasrikey")); +}) + $(document).on('click', '#deleteSri', function (){ if(confirm("삭제시 되돌릴 수 없습니다. 대상을 삭제처리 하시겠습니까?")){ const checkArr = []; @@ -250,7 +255,32 @@ $(document).on('click', '.rowDeleteBtn', function (){ setReadUserRowNum(); }) +$(document).on('click', '#saveSriReadUserBtn', function () { + const formData = new FormData($("#sriReadUserForm")[0]); + $.each($(".readUserRow"), function (idx, row){ + formData.append('readUserList['+idx+'].userSeq', $(row).find('.userSeq').val()); + formData.append('readUserList['+idx+'].ogCd', $(row).find('.ogCd').val()); + formData.append('readUserList['+idx+'].ofcCd', $(row).find('.ofcCd').val()); + formData.append('readUserList['+idx+'].titleCd', $(row).find('.titleCd').val()); + formData.append('readUserList['+idx+'].userNm', $(row).find('.userNm').val()); + }); + contentFade("in") + $.ajax({ + type : 'POST', + url : "/sri/updateReadUser", + data : formData, + processData: false, + contentType: false, + success : function(html) { + contentFade("out") + alert("저장되었습니다.") + location.reload(); + }, + error : function(xhr, status) { + } + }) +}) function setReadUserRowNum(){ @@ -279,4 +309,21 @@ function contentCheck(){ return false; } return fileCheck(true, files); +} + +function getSriReadUserModal(faSriKey){ + $.ajax({ + url: '/sri/sriReadUserModal', + data: {faSriKey: faSriKey}, + type: 'GET', + dataType:"html", + success: function(html){ + $(".mainModalContent").empty() + $("#sriReadUserBody").append(html) + $("#sriReadUserModal").modal('show'); + }, + error:function(e){ + ajaxErrorAction(e); + } + }); } \ No newline at end of file diff --git a/src/main/resources/templates/sri/sriBoard.html b/src/main/resources/templates/sri/sriBoard.html index 8cba7afd..c656dae1 100644 --- a/src/main/resources/templates/sri/sriBoard.html +++ b/src/main/resources/templates/sri/sriBoard.html @@ -171,14 +171,21 @@