diff --git a/src/main/java/com/dbnt/faisp/config/FileController.java b/src/main/java/com/dbnt/faisp/config/FileController.java index 49b4cbc6..058cc65e 100644 --- a/src/main/java/com/dbnt/faisp/config/FileController.java +++ b/src/main/java/com/dbnt/faisp/config/FileController.java @@ -1,5 +1,6 @@ package com.dbnt.faisp.config; +import com.dbnt.faisp.faRpt.service.FaRptService; import com.dbnt.faisp.fpiMgt.affair.service.AffairService; import com.dbnt.faisp.fpiMgt.affairPlan.service.PlanService; import com.dbnt.faisp.fpiMgt.affairResult.service.ResultService; @@ -19,6 +20,7 @@ import java.net.URLEncoder; @RequiredArgsConstructor public class FileController { + private final FaRptService faRptService; private final PlanService planService; private final PublicBoardService publicBoardService; private final AffairService affairService; @@ -33,6 +35,9 @@ public class FileController { Integer fileSeq) { FileInfo downloadFile = null; switch (board){ + case "faRpt": + downloadFile = faRptService.selectFaRptFile(parentKey, fileSeq); + break; case "affairPlan": downloadFile = planService.selectPlanFile(parentKey, fileSeq); break; diff --git a/src/main/java/com/dbnt/faisp/faRpt/FaRptController.java b/src/main/java/com/dbnt/faisp/faRpt/FaRptController.java index 378d5ca5..b35d2866 100644 --- a/src/main/java/com/dbnt/faisp/faRpt/FaRptController.java +++ b/src/main/java/com/dbnt/faisp/faRpt/FaRptController.java @@ -14,6 +14,7 @@ import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.ModelAndView; import java.time.LocalDateTime; +import java.util.ArrayList; import java.util.List; @RestController @@ -44,14 +45,17 @@ public class FaRptController { if(faRptBoard.getActiveTab().equals("send")){ faRptBoard.setWrtUserSeq(loginUser.getUserSeq()); }else if(faRptBoard.getActiveTab().equals("receive")){ + faRptBoard.setStatus("DST007"); faRptBoard.setReceiveUserSeq(loginUser.getUserSeq()); }else if(faRptBoard.getActiveTab().equals("all") && accessAuth.equals("ACC003")){ faRptBoard.setDownOrganCdList(loginUser.getDownOrganCdList()); - mav.addObject("mgtOrganList", loginUser.getDownOrganCdList()); }else if(faRptBoard.getActiveTab().equals("all")){ faRptBoard.setActiveTab("send"); faRptBoard.setWrtUserSeq(loginUser.getUserSeq()); } + if(accessAuth.equals("ACC003")){ + mav.addObject("mgtOrganList", loginUser.getDownOrganCdList()); + } faRptBoard.setQueryInfo(); mav.addObject("faRptList", faRptService.selectFaRptList(faRptBoard)); @@ -65,11 +69,21 @@ public class FaRptController { public ModelAndView faRptEditModal(@AuthenticationPrincipal UserInfo loginUser, FaRptBoard faRptBoard){ ModelAndView mav = new ModelAndView("faRpt/faRptEditModal"); if(faRptBoard.getFaRptKey()!=null){ - faRptBoard = faRptService.selectFaRptBoard(faRptBoard.getFaRptKey()); + faRptBoard = faRptService.selectFaRptBoard(faRptBoard.getFaRptKey(), null); }else{ + if(faRptBoard.getRefKey()!=null){ + FaRptReadUser readUser = new FaRptReadUser(); + readUser.setUserSeq(faRptBoard.getWrtUserSeq()); + readUser.setOgCd(faRptBoard.getWrtOrgan()); + readUser.setOfcCd(faRptBoard.getWrtPart()); + readUser.setTitleCd(faRptBoard.getWrtUserGrd()); + readUser.setUserNm(faRptBoard.getWrtUserNm()); + faRptBoard.setReadUserList(new ArrayList<>()); + faRptBoard.getReadUserList().add(readUser); + } + faRptBoard.setWrtUserSeq(loginUser.getUserSeq()); faRptBoard.setWrtOrgan(loginUser.getOgCd()); faRptBoard.setWrtPart(loginUser.getOfcCd()); - faRptBoard.setWrtUserSeq(loginUser.getUserSeq()); faRptBoard.setWrtUserGrd(loginUser.getTitleCd()); faRptBoard.setWrtUserNm(loginUser.getUserNm()); faRptBoard.setWrtDt(LocalDateTime.now()); @@ -82,8 +96,7 @@ public class FaRptController { @GetMapping("/faRptViewModal") public ModelAndView faRptViewModal(@AuthenticationPrincipal UserInfo loginUser, FaRptBoard faRptBoard){ ModelAndView mav = new ModelAndView("faRpt/faRptViewModal"); - faRptBoard = faRptService.selectFaRptBoard(faRptBoard.getFaRptKey()); - mav.addObject("faRpt", faRptBoard); + mav.addObject("faRpt", faRptService.selectFaRptBoard(faRptBoard.getFaRptKey(), loginUser.getUserSeq())); mav.addObject("userSeq",loginUser.getUserSeq()); //메뉴권한 확인 mav.addObject("accessAuth", authMgtService.selectAccessConfigList diff --git a/src/main/java/com/dbnt/faisp/faRpt/mapper/FaRptMapper.java b/src/main/java/com/dbnt/faisp/faRpt/mapper/FaRptMapper.java index 5f5b300f..9e224dbc 100644 --- a/src/main/java/com/dbnt/faisp/faRpt/mapper/FaRptMapper.java +++ b/src/main/java/com/dbnt/faisp/faRpt/mapper/FaRptMapper.java @@ -12,4 +12,6 @@ public interface FaRptMapper { List selectFaRptList(FaRptBoard faRptBoard); Integer selectFaRptCnt(FaRptBoard faRptBoard); + + String selectHashTags(Integer faRptKey); } diff --git a/src/main/java/com/dbnt/faisp/faRpt/model/FaRptBoard.java b/src/main/java/com/dbnt/faisp/faRpt/model/FaRptBoard.java index 166c473a..c646bc65 100644 --- a/src/main/java/com/dbnt/faisp/faRpt/model/FaRptBoard.java +++ b/src/main/java/com/dbnt/faisp/faRpt/model/FaRptBoard.java @@ -60,6 +60,10 @@ public class FaRptBoard extends BaseModel { @Transient private Integer fileCnt; @Transient + private Integer readCnt; + @Transient + private Integer userCnt; + @Transient private List fileList; @Transient private List readUserList; diff --git a/src/main/java/com/dbnt/faisp/faRpt/model/HashTagLinkFaRpt.java b/src/main/java/com/dbnt/faisp/faRpt/model/HashTagLinkFaRpt.java new file mode 100644 index 00000000..71b11164 --- /dev/null +++ b/src/main/java/com/dbnt/faisp/faRpt/model/HashTagLinkFaRpt.java @@ -0,0 +1,37 @@ +package com.dbnt.faisp.faRpt.model; + +import com.dbnt.faisp.config.FileInfo; +import lombok.*; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.*; +import java.io.Serializable; + +@Getter +@Setter +@Entity +@NoArgsConstructor +@DynamicInsert +@DynamicUpdate +@Table(name = "hash_tag_link_fa_rpt") +@IdClass(HashTagLinkFaRpt.HashTagLinkFaRptId.class) +public class HashTagLinkFaRpt extends FileInfo { + @Id + @Column(name = "fa_rpt_key") + private Integer faRptKey; + @Id + @Column(name = "tag_key") + private Integer tagKey; + + + @Embeddable + @Data + @NoArgsConstructor + @AllArgsConstructor + public static class HashTagLinkFaRptId implements Serializable { + private Integer faRptKey; + private Integer tagKey; + } + +} diff --git a/src/main/java/com/dbnt/faisp/faRpt/repository/HashTagLinkFaRptRepository.java b/src/main/java/com/dbnt/faisp/faRpt/repository/HashTagLinkFaRptRepository.java new file mode 100644 index 00000000..be9442cf --- /dev/null +++ b/src/main/java/com/dbnt/faisp/faRpt/repository/HashTagLinkFaRptRepository.java @@ -0,0 +1,9 @@ +package com.dbnt.faisp.faRpt.repository; + +import com.dbnt.faisp.faRpt.model.HashTagLinkFaRpt; +import org.springframework.data.jpa.repository.JpaRepository; + + +public interface HashTagLinkFaRptRepository extends JpaRepository { + void deleteByFaRptKey(Integer faRptKey); +} diff --git a/src/main/java/com/dbnt/faisp/faRpt/service/FaRptService.java b/src/main/java/com/dbnt/faisp/faRpt/service/FaRptService.java index 6da4c279..74f91efb 100644 --- a/src/main/java/com/dbnt/faisp/faRpt/service/FaRptService.java +++ b/src/main/java/com/dbnt/faisp/faRpt/service/FaRptService.java @@ -6,12 +6,12 @@ import com.dbnt.faisp.faRpt.mapper.FaRptMapper; import com.dbnt.faisp.faRpt.model.FaRptBoard; import com.dbnt.faisp.faRpt.model.FaRptFile; import com.dbnt.faisp.faRpt.model.FaRptReadUser; +import com.dbnt.faisp.faRpt.model.HashTagLinkFaRpt; import com.dbnt.faisp.faRpt.repository.FaRptBoardRepository; import com.dbnt.faisp.faRpt.repository.FaRptFileRepository; import com.dbnt.faisp.faRpt.repository.FaRptReadUserRepository; -import com.dbnt.faisp.publicBoard.model.PublicBoard; -import com.dbnt.faisp.publicBoard.model.PublicComment; -import com.dbnt.faisp.publicBoard.model.PublicFile; +import com.dbnt.faisp.faRpt.repository.HashTagLinkFaRptRepository; +import com.dbnt.faisp.hashTag.service.HashTagService; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -25,9 +25,11 @@ import java.util.UUID; @Service @RequiredArgsConstructor public class FaRptService extends BaseService { + private final HashTagService hashTagService; private final FaRptBoardRepository faRptBoardRepository; private final FaRptFileRepository faRptFileRepository; private final FaRptReadUserRepository faRptReadUserRepository; + private final HashTagLinkFaRptRepository hashTagLinkFaRptRepository; private final FaRptMapper faRptMapper; @@ -51,13 +53,28 @@ public class FaRptService extends BaseService { if(faRptBoard.getReadUserList() != null){ saveFaRptReadUser(faRptKey, faRptBoard.getReadUserList()); } + if(!faRptBoard.getHashTags().isEmpty()){ + saveHashTagLink(faRptKey, faRptBoard.getHashTags().split(" ")); + } return faRptKey; } - public FaRptBoard selectFaRptBoard(Integer faRptKey) { + @Transactional + public FaRptBoard selectFaRptBoard(Integer faRptKey, Integer userSeq) { FaRptBoard faRptBoard = faRptBoardRepository.findById(faRptKey).orElse(null); - faRptBoard.setFileList(faRptFileRepository.findByFaRptKey(faRptKey)); - faRptBoard.setReadUserList(faRptReadUserRepository.findByFaRptKey(faRptKey)); + if(faRptBoard != null){ + faRptBoard.setFileList(faRptFileRepository.findByFaRptKey(faRptKey)); + faRptBoard.setHashTags(faRptMapper.selectHashTags(faRptKey)); + faRptBoard.setReadUserList(faRptReadUserRepository.findByFaRptKey(faRptKey)); + if(faRptBoard.getStatus().equals("DST007")){ + for(FaRptReadUser readUser: faRptBoard.getReadUserList()){ + if(readUser.getUserSeq().equals(userSeq)){ + readUser.setReadYn("T"); + faRptReadUserRepository.save(readUser); + } + } + } + } return faRptBoard; } @@ -102,4 +119,18 @@ public class FaRptService extends BaseService { } } } + + private void saveHashTagLink(Integer faRptKey, String[] hashTagAry){ + hashTagLinkFaRptRepository.deleteByFaRptKey(faRptKey); + for(String tagNm: hashTagAry){ + HashTagLinkFaRpt hashTagLink = new HashTagLinkFaRpt(); + hashTagLink.setFaRptKey(faRptKey); + hashTagLink.setTagKey(hashTagService.selectTagKey(tagNm)); + hashTagLinkFaRptRepository.save(hashTagLink); + } + } + + public FileInfo selectFaRptFile(Integer faRptKey, Integer fileSeq) { + return faRptFileRepository.findById(new FaRptFile.FaRptFileId(faRptKey, fileSeq)).orElse(null); + } } \ No newline at end of file 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 f9a095bf..9b41ab57 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 @@ -6,6 +6,7 @@ import com.dbnt.faisp.config.FileInfo; import com.dbnt.faisp.fpiMgt.affair.mapper.AffairMapper; import com.dbnt.faisp.fpiMgt.affair.model.*; import com.dbnt.faisp.fpiMgt.affair.repository.*; +import com.dbnt.faisp.hashTag.service.HashTagService; import com.dbnt.faisp.userInfo.model.UserInfo; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -20,10 +21,10 @@ import java.util.UUID; @Service @RequiredArgsConstructor public class AffairService extends BaseService { // 견문보고 + private final HashTagService hashTagService; private final AffairBoardRepository affairBoardRepository; private final AffairFileRepository affairFileRepository; private final AffairRatingRepository affairRatingRepository; - private final HashTagRepository hashTagRepository; private final HashTagLinkRepository hashTagLinkRepository; private final AffairMapper affairMapper; @@ -46,9 +47,8 @@ public class AffairService extends BaseService { // 견문보고 @Transactional public Integer saveAffairBoard(AffairBoard affair, List deleteFileSeq){ Integer affairKey = affairBoardRepository.save(affair).getAffairKey(); - String[] hashTagAry = affair.getHashTags().split(" "); - if(hashTagAry.length>0){ - saveHashTagLink(affairKey, hashTagAry); + if(!affair.getHashTags().isEmpty()){ + saveHashTagLink(affairKey, affair.getHashTags().split(" ")); } if(deleteFileSeq != null && deleteFileSeq.size()>0){ deleteAffairFile(affairKey, deleteFileSeq); @@ -72,18 +72,9 @@ public class AffairService extends BaseService { // 견문보고 private void saveHashTagLink(Integer affairKey, String[] hashTagAry){ hashTagLinkRepository.deleteByAffairKey(affairKey); for(String tagNm : hashTagAry){ - HashTag savedTag = hashTagRepository.findByTagNm(tagNm).orElse(null); - Integer tagKey; - if(savedTag==null){ - HashTag tag = new HashTag(); - tag.setTagNm(tagNm); - tagKey = hashTagRepository.save(tag).getTagKey(); - }else{ - tagKey = savedTag.getTagKey(); - } HashTagLink hashTagLink = new HashTagLink(); hashTagLink.setAffairKey(affairKey); - hashTagLink.setTagKey(tagKey); + hashTagLink.setTagKey(hashTagService.selectTagKey(tagNm)); hashTagLinkRepository.save(hashTagLink); } } diff --git a/src/main/java/com/dbnt/faisp/fpiMgt/affair/model/HashTag.java b/src/main/java/com/dbnt/faisp/hashTag/model/HashTag.java similarity index 91% rename from src/main/java/com/dbnt/faisp/fpiMgt/affair/model/HashTag.java rename to src/main/java/com/dbnt/faisp/hashTag/model/HashTag.java index 39673657..09784e9e 100644 --- a/src/main/java/com/dbnt/faisp/fpiMgt/affair/model/HashTag.java +++ b/src/main/java/com/dbnt/faisp/hashTag/model/HashTag.java @@ -1,4 +1,4 @@ -package com.dbnt.faisp.fpiMgt.affair.model; +package com.dbnt.faisp.hashTag.model; import lombok.Getter; import lombok.NoArgsConstructor; diff --git a/src/main/java/com/dbnt/faisp/fpiMgt/affair/repository/HashTagRepository.java b/src/main/java/com/dbnt/faisp/hashTag/repository/HashTagRepository.java similarity index 68% rename from src/main/java/com/dbnt/faisp/fpiMgt/affair/repository/HashTagRepository.java rename to src/main/java/com/dbnt/faisp/hashTag/repository/HashTagRepository.java index bdc53154..95fd7c94 100644 --- a/src/main/java/com/dbnt/faisp/fpiMgt/affair/repository/HashTagRepository.java +++ b/src/main/java/com/dbnt/faisp/hashTag/repository/HashTagRepository.java @@ -1,6 +1,6 @@ -package com.dbnt.faisp.fpiMgt.affair.repository; +package com.dbnt.faisp.hashTag.repository; -import com.dbnt.faisp.fpiMgt.affair.model.HashTag; +import com.dbnt.faisp.hashTag.model.HashTag; import org.springframework.data.jpa.repository.JpaRepository; import java.util.Optional; diff --git a/src/main/java/com/dbnt/faisp/hashTag/service/HashTagService.java b/src/main/java/com/dbnt/faisp/hashTag/service/HashTagService.java new file mode 100644 index 00000000..a284f4c5 --- /dev/null +++ b/src/main/java/com/dbnt/faisp/hashTag/service/HashTagService.java @@ -0,0 +1,25 @@ +package com.dbnt.faisp.hashTag.service; + +import com.dbnt.faisp.hashTag.model.HashTag; +import com.dbnt.faisp.hashTag.repository.HashTagRepository; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +@Service +@RequiredArgsConstructor +public class HashTagService { + private final HashTagRepository hashTagRepository; + + @Transactional + public Integer selectTagKey(String tagNm){ + HashTag savedTag = hashTagRepository.findByTagNm(tagNm).orElse(null); + if(savedTag==null){ + HashTag tag = new HashTag(); + tag.setTagNm(tagNm); + return hashTagRepository.save(tag).getTagKey(); + }else{ + return savedTag.getTagKey(); + } + } +} diff --git a/src/main/java/com/dbnt/faisp/ivsgtMgt/boardInvestigation/service/BoardInvestigationService.java b/src/main/java/com/dbnt/faisp/ivsgtMgt/boardInvestigation/service/BoardInvestigationService.java index 49baeec3..fb26cc43 100644 --- a/src/main/java/com/dbnt/faisp/ivsgtMgt/boardInvestigation/service/BoardInvestigationService.java +++ b/src/main/java/com/dbnt/faisp/ivsgtMgt/boardInvestigation/service/BoardInvestigationService.java @@ -3,8 +3,7 @@ package com.dbnt.faisp.ivsgtMgt.boardInvestigation.service; import com.dbnt.faisp.config.BaseService; import com.dbnt.faisp.config.FileInfo; -import com.dbnt.faisp.fpiMgt.affair.model.HashTag; -import com.dbnt.faisp.fpiMgt.affair.repository.HashTagRepository; +import com.dbnt.faisp.hashTag.service.HashTagService; import com.dbnt.faisp.ivsgtMgt.boardInvestigation.mapper.BoardInvestigationMapper; import com.dbnt.faisp.ivsgtMgt.boardInvestigation.model.*; import com.dbnt.faisp.ivsgtMgt.boardInvestigation.repository.*; @@ -21,11 +20,11 @@ import java.util.UUID; @Service @RequiredArgsConstructor public class BoardInvestigationService extends BaseService { + private final HashTagService hashTagService; private final BoardInvestigationRepository boardInvestigationRepository; private final IvsgtFileRepository ivsgtFileRepository; private final ArrestTypeRepository arrestTypeRepository; private final RelatedReportsRepository relatedReportsRepository; - private final HashTagRepository hashTagRepository; private final HashTagLinkIvsgtRepository hashTagLinkIvsgtRepository; private final BoardInvestigationMapper boardInvestigationMapper; @@ -120,18 +119,9 @@ public class BoardInvestigationService extends BaseService { private void saveHashTagLink(Integer ivsgtKey, String[] hashTagAry){ hashTagLinkIvsgtRepository.deleteByIvsgtKey(ivsgtKey); for(String tagNm : hashTagAry){ - HashTag savedTag = hashTagRepository.findByTagNm(tagNm).orElse(null); - Integer tagKey; - if(savedTag==null){ - HashTag tag = new HashTag(); - tag.setTagNm(tagNm); - tagKey = hashTagRepository.save(tag).getTagKey(); - }else{ - tagKey = savedTag.getTagKey(); - } HashTagLinkIvsgt hashTagLinkIvsgt = new HashTagLinkIvsgt(); hashTagLinkIvsgt.setIvsgtKey(ivsgtKey); - hashTagLinkIvsgt.setTagKey(tagKey); + hashTagLinkIvsgt.setTagKey(hashTagService.selectTagKey(tagNm)); hashTagLinkIvsgtRepository.save(hashTagLinkIvsgt); } } diff --git a/src/main/resources/mybatisMapper/AffairMapper.xml b/src/main/resources/mybatisMapper/AffairMapper.xml index d4ae9da5..97c4922a 100644 --- a/src/main/resources/mybatisMapper/AffairMapper.xml +++ b/src/main/resources/mybatisMapper/AffairMapper.xml @@ -109,13 +109,10 @@ select a.fa_rpt_key, a.title, + a.fa_rpt_type, + a.status, a.wrt_organ, a.wrt_part, a.wrt_user_nm, a.wrt_user_grd, a.wrt_user_seq, a.wrt_dt, - b.fileCnt + b.fileCnt, + c.readCnt, + c.userCnt from fa_rpt_board a left outer join (select fa_rpt_key, count(file_seq) as fileCnt from fa_rpt_file group by fa_rpt_key) b - on a.fa_rpt_key = b.fa_rpt_key + on a.fa_rpt_key = b.fa_rpt_key + left outer join (select fa_rpt_key, + count(read_yn='T') as readCnt, + count(*) as userCnt + from fa_rpt_read_user + group by fa_rpt_key) c + on a.fa_rpt_key = c.fa_rpt_key order by fa_rpt_key desc limit #{rowCnt} offset #{firstIndex} @@ -62,4 +83,11 @@ from fa_rpt_board a + + \ No newline at end of file diff --git a/src/main/resources/static/js/faRpt/faRpt.js b/src/main/resources/static/js/faRpt/faRpt.js index 91728d02..89feee05 100644 --- a/src/main/resources/static/js/faRpt/faRpt.js +++ b/src/main/resources/static/js/faRpt/faRpt.js @@ -17,20 +17,44 @@ $(document).on('click', '#allTab', function (){ }) $(document).on('click', '#addFaRptBtn', function (){ - getFaRptEditModal(null) + getFaRptEditModal({faRptKey: null}) }) $(document).on('click', '#editFaRptBtn', function (){ $("#faRptViewModal").modal('hide'); - getFaRptEditModal(Number($(this).attr("data-farptkey"))); + getFaRptEditModal({faRptKey: Number($(this).attr("data-farptkey"))}); }) $(document).on('click', '#addReadUserBtn', function (){ searchModalSubmit(1); $("#userModal").modal('show'); }) +$(document).on('click', '.rowDeleteBtn', function (){ + $(this).parents(".readUserRow").remove() + setReadUserRowNum(); +}) +$(document).on('click', '#getMenuBtn', function (){ + $.ajax({ + type : 'POST', + url : "/faRpt/selectedUserTable", + data : JSON.stringify(selectedList), + contentType: 'application/json', + dataType:"html", + beforeSend: function (xhr){ + xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val()); + }, + success : function(html) { + $("#readUserRow").empty().append(html); + setReadUserRowNum(); + $("#userModal").modal("hide"); + }, + error : function(xhr, status) { + + } + }) +}) $(document).on('click', '#saveFaRptBtn', function (){ - saveFaRpt('DST002') + saveFaRpt('DST007') }) $(document).on('click', '#saveTempBtn', function (){ @@ -45,7 +69,18 @@ $(document).on('click', '.faRptTr', function (){ } getFaRptViewModal(Number($(this).find(".faRptKey").val())); }) - +$(document).on('click', '#reSendBtn', function (){ + $("#faRptViewModal").modal('hide'); + const faRpt = { + refKey: Number($(this).attr("data-farptkey")), + wrtUserSeq: $("#wrtUserSeq").val(), + wrtOrgan: $("#wrtOrgan").val(), + wrtPart: $("#wrtPart").val(), + wrtUserGrd: $("#wrtUserGrd").val(), + wrtUserNm: $("#wrtUserNm").val() + } + getFaRptEditModal(faRpt); +}) function getFaRptViewModal(faRptKey){ $.ajax({ @@ -63,10 +98,10 @@ function getFaRptViewModal(faRptKey){ }); } -function getFaRptEditModal(faRptKey){ +function getFaRptEditModal(faRpt){ $.ajax({ url: '/faRpt/faRptEditModal', - data: {faRptKey: faRptKey}, + data: faRpt, type: 'GET', dataType:"html", success: function(html){ @@ -99,13 +134,20 @@ function getFaRptEditModal(faRptKey){ function saveFaRpt(faRptState){ if(contentCheck()){ if(confirm("저장하시겠습니까?")){ - $("#faRptState").val(faRptState); + $("#status").val(faRptState); contentFade("in"); const formData = new FormData($("#faRptEditForm")[0]); for(const file of files) { if(!file.isDelete) formData.append('uploadFiles', file, file.name); } + $.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()); + }); $(".text-decoration-line-through").each(function (idx, el){ formData.append('fileSeq', $(el).attr("data-fileseq")); }) @@ -130,6 +172,11 @@ function saveFaRpt(faRptState){ } } +function setReadUserRowNum(){ + $.each($(".readUserRow"), function (idx, row){ + $(row).find(".rowSeq")[0].innerText = idx+1; + }) +} function contentCheck(){ let flag = true; diff --git a/src/main/resources/static/js/modal/userModal.js b/src/main/resources/static/js/modal/userModal.js index 58a6360c..295b6d61 100644 --- a/src/main/resources/static/js/modal/userModal.js +++ b/src/main/resources/static/js/modal/userModal.js @@ -22,26 +22,6 @@ $(document).on('click', '.userInfoTr', function (){ } }) -$(document).on('click', '#getMenuBtn', function (){ - $.ajax({ - type : 'POST', - url : "/faRpt/selectedUserTable", - data : JSON.stringify(selectedList), - contentType: 'application/json', - dataType:"html", - beforeSend: function (xhr){ - xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val()); - }, - success : function(html) { - $("#readUserRow").empty().append(html); - $("#userModal").modal("hide"); - }, - error : function(xhr, status) { - - } - }) -}) - function setSelectedChkBox(){ $.each(selectedList, function (idx, item){ $(".userInfoCheckBox[value="+item.userSeq+"]").prop("checked", true); diff --git a/src/main/resources/templates/faRpt/faRptBoard.html b/src/main/resources/templates/faRpt/faRptBoard.html index c0de7fd4..26c2ed83 100644 --- a/src/main/resources/templates/faRpt/faRptBoard.html +++ b/src/main/resources/templates/faRpt/faRptBoard.html @@ -42,23 +42,24 @@
-
+
+
+ +
-
+
@@ -78,18 +79,31 @@ + 상태 + 분류 제목 관서 부서 작성자 작성일시 첨부파일 + 열람수 + + + + + + + + + + @@ -100,6 +114,7 @@ + diff --git a/src/main/resources/templates/faRpt/faRptEditModal.html b/src/main/resources/templates/faRpt/faRptEditModal.html index 6cb0e918..66a0c27b 100644 --- a/src/main/resources/templates/faRpt/faRptEditModal.html +++ b/src/main/resources/templates/faRpt/faRptEditModal.html @@ -14,6 +14,7 @@ +
@@ -52,7 +53,7 @@
-
@@ -89,6 +90,31 @@
+ +
+ + + + + +
+
+ + + + + + + + +
+
+ +
+
+
diff --git a/src/main/resources/templates/faRpt/faRptViewModal.html b/src/main/resources/templates/faRpt/faRptViewModal.html index 8bec9150..bb9dba80 100644 --- a/src/main/resources/templates/faRpt/faRptViewModal.html +++ b/src/main/resources/templates/faRpt/faRptViewModal.html @@ -10,76 +10,117 @@
- + + + + + +
- +
- - + +
+ +
+ + + + +
- +
-
- +
- +
- -
-
- -
파일을 업로드 해주세요. + +
+ + + + + + + + + + + + - -
- - 삭제 -
+ + +
+ + + + - + +
파일명사이즈
파일이 없습니다.
-
-
+
■ 수신자
-
no
수신자
-
삭제
+
열람

-
+
+ +
+
+
+ + + + + + + + +
+
+ +
+
+
@@ -89,5 +130,8 @@ + + +
\ No newline at end of file diff --git a/src/main/resources/templates/faRpt/readUserRow.html b/src/main/resources/templates/faRpt/readUserRow.html index 6ab32f43..bf76f099 100644 --- a/src/main/resources/templates/faRpt/readUserRow.html +++ b/src/main/resources/templates/faRpt/readUserRow.html @@ -1,13 +1,13 @@ - -
- - - - - -
+ +
+ + + + + +