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 63ca45f8..36523343 100644 --- a/src/main/java/com/dbnt/faisp/fpiMgt/affair/AffairController.java +++ b/src/main/java/com/dbnt/faisp/fpiMgt/affair/AffairController.java @@ -10,6 +10,7 @@ import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.ModelAndView; +import java.time.LocalDate; import java.time.LocalDateTime; import java.util.HashMap; import java.util.List; @@ -159,6 +160,7 @@ public class AffairController { // 첩보수집활동 > 외사경찰 견문관 affairBoard.setWrtUserSeq(loginUser.getUserSeq()); affairBoard.setWrtUserNm(loginUser.getUserNm()); affairBoard.setWrtDt(LocalDateTime.now()); + affairBoard.setReportDt(LocalDate.now()); } mav.addObject("affair", affairBoard); return mav; diff --git a/src/main/java/com/dbnt/faisp/fpiMgt/affair/mapper/AffairMapper.java b/src/main/java/com/dbnt/faisp/fpiMgt/affair/mapper/AffairMapper.java index 3ffe92aa..b104f259 100644 --- a/src/main/java/com/dbnt/faisp/fpiMgt/affair/mapper/AffairMapper.java +++ b/src/main/java/com/dbnt/faisp/fpiMgt/affair/mapper/AffairMapper.java @@ -11,4 +11,6 @@ public interface AffairMapper { List selectAffairBoardList(AffairBoard affair); Integer selectAffairBoardCnt(AffairBoard affair); + + String selectHashTags(Integer affairKey); } diff --git a/src/main/java/com/dbnt/faisp/fpiMgt/affair/model/AffairBoard.java b/src/main/java/com/dbnt/faisp/fpiMgt/affair/model/AffairBoard.java index 1fa46bcf..f28ba8e3 100644 --- a/src/main/java/com/dbnt/faisp/fpiMgt/affair/model/AffairBoard.java +++ b/src/main/java/com/dbnt/faisp/fpiMgt/affair/model/AffairBoard.java @@ -10,6 +10,7 @@ import org.springframework.format.annotation.DateTimeFormat; import org.springframework.web.multipart.MultipartFile; import javax.persistence.*; +import java.time.LocalDate; import java.time.LocalDateTime; import java.util.List; @@ -50,8 +51,15 @@ public class AffairBoard extends BaseModel { private LocalDateTime wrtDt; @Column(name = "wrt_user_seq") private Integer wrtUserSeq; + @Column(name = "etc") + private String etc; + @Column(name = "report_dt") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate reportDt; + @Transient + private String hashTags; @Transient private Integer fileCnt; @Transient diff --git a/src/main/java/com/dbnt/faisp/fpiMgt/affair/repository/HashTagLinkRepository.java b/src/main/java/com/dbnt/faisp/fpiMgt/affair/repository/HashTagLinkRepository.java index 1cbdaaf6..5c0b3080 100644 --- a/src/main/java/com/dbnt/faisp/fpiMgt/affair/repository/HashTagLinkRepository.java +++ b/src/main/java/com/dbnt/faisp/fpiMgt/affair/repository/HashTagLinkRepository.java @@ -5,4 +5,5 @@ import org.springframework.data.jpa.repository.JpaRepository; public interface HashTagLinkRepository extends JpaRepository { + void deleteByAffairKey(Integer affairKey); } diff --git a/src/main/java/com/dbnt/faisp/fpiMgt/affair/repository/HashTagRepository.java b/src/main/java/com/dbnt/faisp/fpiMgt/affair/repository/HashTagRepository.java index 4ae757bf..bdc53154 100644 --- a/src/main/java/com/dbnt/faisp/fpiMgt/affair/repository/HashTagRepository.java +++ b/src/main/java/com/dbnt/faisp/fpiMgt/affair/repository/HashTagRepository.java @@ -3,7 +3,10 @@ package com.dbnt.faisp.fpiMgt.affair.repository; import com.dbnt.faisp.fpiMgt.affair.model.HashTag; import org.springframework.data.jpa.repository.JpaRepository; +import java.util.Optional; + public interface HashTagRepository extends JpaRepository { + Optional findByTagNm(String tagNm); } 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 88fb9f80..61c9ebaa 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 @@ -3,9 +3,7 @@ package com.dbnt.faisp.fpiMgt.affair.service; import com.dbnt.faisp.config.BaseService; import com.dbnt.faisp.fpiMgt.affair.mapper.AffairMapper; -import com.dbnt.faisp.fpiMgt.affair.model.AffairBoard; -import com.dbnt.faisp.fpiMgt.affair.model.AffairFile; -import com.dbnt.faisp.fpiMgt.affair.model.AffairRating; +import com.dbnt.faisp.fpiMgt.affair.model.*; import com.dbnt.faisp.fpiMgt.affair.repository.*; import com.dbnt.faisp.fpiMgt.affairPlan.model.PlanApprv; import com.dbnt.faisp.fpiMgt.affairPlan.model.PlanBoard; @@ -38,6 +36,7 @@ public class AffairService extends BaseService { // 견문보고 public AffairBoard selectAffairBoard(Integer affairKey){ AffairBoard affair = affairBoardRepository.findById(affairKey).orElse(null); if(affair != null){ + affair.setHashTags(affairMapper.selectHashTags(affairKey)); affair.setFileList(affairFileRepository.findByAffairKey(affairKey)); affair.setRateList(affairRatingRepository.findByAffairKey(affairKey)); } @@ -46,6 +45,10 @@ 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(deleteFileSeq != null && deleteFileSeq.size()>0){ deleteAffairFile(affairKey, deleteFileSeq); } @@ -55,6 +58,24 @@ public class AffairService extends BaseService { // 견문보고 return affairKey; } + 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); + hashTagLinkRepository.save(hashTagLink); + } + } private void deleteAffairFile(Integer affairKey, List deleteFileSeq) { List affairFileList = affairFileRepository.findByAffairKey(affairKey); for(AffairFile file: affairFileList){ diff --git a/src/main/resources/mybatisMapper/AffairMapper.xml b/src/main/resources/mybatisMapper/AffairMapper.xml index 9ae6bb60..171b4123 100644 --- a/src/main/resources/mybatisMapper/AffairMapper.xml +++ b/src/main/resources/mybatisMapper/AffairMapper.xml @@ -62,4 +62,13 @@ from affair_board a + \ No newline at end of file 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 78c5a7b1..5c376554 100644 --- a/src/main/resources/static/js/igActivities/fpiMgt/affair/affairMgt.js +++ b/src/main/resources/static/js/igActivities/fpiMgt/affair/affairMgt.js @@ -60,9 +60,13 @@ function getAffairEditModal(affairKey){ success: function(html){ $("#affairEditModalContent").empty().append(html) $("#affairEditModal").modal('show'); + $("#reportDt").datepicker({ + format: "yyyy-mm-dd", + language: "ko" + }); $("#content").summernote({ lang:'ko-KR', - height: 390, + height: 300, disableDragAndDrop: true, toolbar: [ ['style', ['style']], diff --git a/src/main/resources/templates/igActivities/fpiMgt/affair/affairEditModal.html b/src/main/resources/templates/igActivities/fpiMgt/affair/affairEditModal.html index f721e31d..f88baca6 100644 --- a/src/main/resources/templates/igActivities/fpiMgt/affair/affairEditModal.html +++ b/src/main/resources/templates/igActivities/fpiMgt/affair/affairEditModal.html @@ -22,6 +22,10 @@
+ +
+ +
@@ -67,10 +71,23 @@
+
+ +
+ +
+
- + +
+
+
+ +
+
diff --git a/src/main/resources/templates/igActivities/fpiMgt/affair/affairViewModal.html b/src/main/resources/templates/igActivities/fpiMgt/affair/affairViewModal.html index cf8af529..e4bf9667 100644 --- a/src/main/resources/templates/igActivities/fpiMgt/affair/affairViewModal.html +++ b/src/main/resources/templates/igActivities/fpiMgt/affair/affairViewModal.html @@ -19,6 +19,10 @@
+ +
+ +
@@ -63,19 +67,31 @@
-
+
-
+ +
+ +
+
+
+
+
+ +
+ +
+