diff --git a/src/main/java/com/dbnt/faisp/faRpt/FaRptController.java b/src/main/java/com/dbnt/faisp/faRpt/FaRptController.java new file mode 100644 index 00000000..4ca0c3af --- /dev/null +++ b/src/main/java/com/dbnt/faisp/faRpt/FaRptController.java @@ -0,0 +1,97 @@ +package com.dbnt.faisp.faRpt; + +import com.dbnt.faisp.authMgt.service.AuthMgtService; +import com.dbnt.faisp.faRpt.model.FaRptBoard; +import com.dbnt.faisp.faRpt.service.FaRptService; +import com.dbnt.faisp.fpiMgt.affairPlan.model.PlanBoard; +import com.dbnt.faisp.userInfo.model.UserInfo; +import lombok.RequiredArgsConstructor; +import org.springframework.security.core.annotation.AuthenticationPrincipal; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.servlet.ModelAndView; + +import java.time.LocalDateTime; +import java.util.List; + +@RestController +@RequiredArgsConstructor +@RequestMapping("/faRpt") +public class FaRptController { + private final FaRptService faRptService; + private final AuthMgtService authMgtService; + + @GetMapping("/faRptBoard") + public ModelAndView faRptBoard(@AuthenticationPrincipal UserInfo loginUser, FaRptBoard faRptBoard){ + ModelAndView mav; + if(faRptBoard.getDashboardFlag()){ + mav = new ModelAndView("/faRpt/faRptDashboard"); + faRptBoard.setRowCnt(5); + }else{ + mav = new ModelAndView("/faRpt/faRptBoard"); + } + if(faRptBoard.getActiveTab()==null){ + faRptBoard.setActiveTab("send"); + } + mav.addObject("searchUrl", "/faRpt/faRptBoard"); + String accessAuth = authMgtService.selectAccessConfigList + (loginUser.getUserSeq(), "/affairPlan/planMgt").get(0).getAccessAuth(); + mav.addObject("accessAuth", accessAuth); + + if(faRptBoard.getActiveTab().equals("send")){ + faRptBoard.setWrtUserSeq(loginUser.getUserSeq()); + }else if(faRptBoard.getActiveTab().equals("receive")){ + 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()); + } + + faRptBoard.setQueryInfo(); + mav.addObject("faRptList", faRptService.selectFaRptList(faRptBoard)); + faRptBoard.setContentCnt(faRptService.selectFaRptCnt(faRptBoard)); + faRptBoard.setPaginationInfo(); + mav.addObject("searchParams", faRptBoard); + return mav; + } + + @GetMapping("/faRptEditModal") + public ModelAndView faRptEditModal(@AuthenticationPrincipal UserInfo loginUser, FaRptBoard faRptBoard){ + ModelAndView mav = new ModelAndView("faRpt/faRptEditModal"); + if(faRptBoard.getFaRptKey()!=null){ + faRptBoard = faRptService.selectFaRptBoard(faRptBoard.getFaRptKey()); + }else{ + faRptBoard.setWrtOrgan(loginUser.getOgCd()); + faRptBoard.setWrtPart(loginUser.getOfcCd()); + faRptBoard.setWrtUserSeq(loginUser.getUserSeq()); + faRptBoard.setWrtUserGrd(loginUser.getTitleCd()); + faRptBoard.setWrtUserNm(loginUser.getUserNm()); + faRptBoard.setWrtDt(LocalDateTime.now()); + } + mav.addObject("faRpt", faRptBoard); + return mav; + } + + @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("userSeq",loginUser.getUserSeq()); + //메뉴권한 확인 + mav.addObject("accessAuth", authMgtService.selectAccessConfigList + (loginUser.getUserSeq(), "/faRpt/faRptBoard").get(0).getAccessAuth()); + return mav; + } + + @PostMapping("/savePlan") + public Integer saveFaRpt(FaRptBoard faRptBoard, + MultipartHttpServletRequest request, + @RequestParam(value = "fileSeq", required = false) List deleteFileSeq){ + faRptBoard.setMultipartFileList(request.getMultiFileMap().get("uploadFiles")); + return faRptService.saveFaRptBoard(faRptBoard, deleteFileSeq); + } +} diff --git a/src/main/java/com/dbnt/faisp/faRpt/mapper/FaRptMapper.java b/src/main/java/com/dbnt/faisp/faRpt/mapper/FaRptMapper.java new file mode 100644 index 00000000..5f5b300f --- /dev/null +++ b/src/main/java/com/dbnt/faisp/faRpt/mapper/FaRptMapper.java @@ -0,0 +1,15 @@ +package com.dbnt.faisp.faRpt.mapper; + +import com.dbnt.faisp.faRpt.model.FaRptBoard; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + + +@Mapper +public interface FaRptMapper { + + List selectFaRptList(FaRptBoard faRptBoard); + + Integer selectFaRptCnt(FaRptBoard faRptBoard); +} diff --git a/src/main/java/com/dbnt/faisp/faRpt/model/FaRptBoard.java b/src/main/java/com/dbnt/faisp/faRpt/model/FaRptBoard.java new file mode 100644 index 00000000..192d33da --- /dev/null +++ b/src/main/java/com/dbnt/faisp/faRpt/model/FaRptBoard.java @@ -0,0 +1,66 @@ +package com.dbnt.faisp.faRpt.model; + +import com.dbnt.faisp.config.BaseModel; +import com.dbnt.faisp.publicBoard.model.PublicComment; +import com.dbnt.faisp.publicBoard.model.PublicFile; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; +import org.springframework.format.annotation.DateTimeFormat; +import org.springframework.web.multipart.MultipartFile; + +import javax.persistence.*; +import java.time.LocalDateTime; +import java.util.List; + +@Getter +@Setter +@Entity +@NoArgsConstructor +@DynamicInsert +@DynamicUpdate +@Table(name = "fa_rpt_board") +public class FaRptBoard extends BaseModel { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "fa_rpt_key") + private Integer faRptKey; + @Column(name = "fa_rpt_type") + private String faRptType; + @Column(name = "title") + private String title; + @Column(name = "content") + private String content; + @Column(name = "status") + private String status; + @Column(name = "wrt_organ") + private String wrtOrgan; + @Column(name = "wrt_part") + private String wrtPart; + @Column(name = "wrt_user_seq") + private Integer wrtUserSeq; + @Column(name = "wrt_user_grd") + private String wrtUserGrd; + @Column(name = "wrt_user_nm") + private String wrtUserNm; + @Column(name = "wrt_dt") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") + private LocalDateTime wrtDt; + @Column(name = "ref_key") + private Integer refKey; + + @Transient + private Integer receiveUserSeq; + @Transient + private String activeTab; + @Transient + private Integer fileCnt; + @Transient + private List fileList; + @Transient + private List readUserList; + @Transient + private List multipartFileList; +} diff --git a/src/main/java/com/dbnt/faisp/faRpt/model/FaRptFile.java b/src/main/java/com/dbnt/faisp/faRpt/model/FaRptFile.java new file mode 100644 index 00000000..6b5138bb --- /dev/null +++ b/src/main/java/com/dbnt/faisp/faRpt/model/FaRptFile.java @@ -0,0 +1,47 @@ +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 = "fa_rpt_file") +@IdClass(FaRptFile.FaRptFileId.class) +public class FaRptFile extends FileInfo { + @Id + @Column(name = "fa_rpt_key") + private Integer faRptKey; + @Id + @Column(name = "file_seq") + private Integer fileSeq; + @Column(name = "orig_nm") + private String origNm; + @Column(name = "conv_nm") + private String convNm; + @Column(name = "file_extn") + private String fileExtn; + @Column(name = "file_size") + private String fileSize; + @Column(name = "save_path") + private String savePath; + + + @Embeddable + @Data + @NoArgsConstructor + @AllArgsConstructor + public static class FaRptFileId implements Serializable { + private Integer faRptKey; + private Integer fileSeq; + } + +} diff --git a/src/main/java/com/dbnt/faisp/faRpt/model/FaRptReadUser.java b/src/main/java/com/dbnt/faisp/faRpt/model/FaRptReadUser.java new file mode 100644 index 00000000..b87ad1dc --- /dev/null +++ b/src/main/java/com/dbnt/faisp/faRpt/model/FaRptReadUser.java @@ -0,0 +1,47 @@ +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 = "fa_rpt_read_user") +@IdClass(FaRptReadUser.FaRptReadUserId.class) +public class FaRptReadUser extends FileInfo { + @Id + @Column(name = "fa_rpt_key") + private Integer faRptKey; + @Id + @Column(name = "user_seq") + private Integer userSeq; + @Column(name = "read_yn") + private String readYn; + @Column(name = "og_cd") + private String ogCd; + @Column(name = "ofc_cd") + private String ofcCd; + @Column(name = "title_cd") + private String titleCd; + @Column(name = "user_nm") + private String userNm; + + + @Embeddable + @Data + @NoArgsConstructor + @AllArgsConstructor + public static class FaRptReadUserId implements Serializable { + private Integer faRptKey; + private Integer userSeq; + } + +} diff --git a/src/main/java/com/dbnt/faisp/faRpt/repository/FaRptBoardRepository.java b/src/main/java/com/dbnt/faisp/faRpt/repository/FaRptBoardRepository.java new file mode 100644 index 00000000..1a623398 --- /dev/null +++ b/src/main/java/com/dbnt/faisp/faRpt/repository/FaRptBoardRepository.java @@ -0,0 +1,9 @@ +package com.dbnt.faisp.faRpt.repository; + +import com.dbnt.faisp.faRpt.model.FaRptBoard; +import org.springframework.data.jpa.repository.JpaRepository; + + +public interface FaRptBoardRepository extends JpaRepository { + +} diff --git a/src/main/java/com/dbnt/faisp/faRpt/repository/FaRptFileRepository.java b/src/main/java/com/dbnt/faisp/faRpt/repository/FaRptFileRepository.java new file mode 100644 index 00000000..61505faf --- /dev/null +++ b/src/main/java/com/dbnt/faisp/faRpt/repository/FaRptFileRepository.java @@ -0,0 +1,14 @@ +package com.dbnt.faisp.faRpt.repository; + +import com.dbnt.faisp.faRpt.model.FaRptFile; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.List; +import java.util.Optional; + + +public interface FaRptFileRepository extends JpaRepository { + List findByFaRptKey(Integer faRptKey); + Optional findTopByFaRptKeyOrderByFileSeq(Integer faRptKey); + +} diff --git a/src/main/java/com/dbnt/faisp/faRpt/repository/FaRptReadUserRepository.java b/src/main/java/com/dbnt/faisp/faRpt/repository/FaRptReadUserRepository.java new file mode 100644 index 00000000..d9a1d42e --- /dev/null +++ b/src/main/java/com/dbnt/faisp/faRpt/repository/FaRptReadUserRepository.java @@ -0,0 +1,10 @@ +package com.dbnt.faisp.faRpt.repository; + +import com.dbnt.faisp.faRpt.model.FaRptReadUser; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.List; + +public interface FaRptReadUserRepository extends JpaRepository { + List findByFaRptKey(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 new file mode 100644 index 00000000..0f307cfc --- /dev/null +++ b/src/main/java/com/dbnt/faisp/faRpt/service/FaRptService.java @@ -0,0 +1,51 @@ +package com.dbnt.faisp.faRpt.service; + +import com.dbnt.faisp.config.BaseService; +import com.dbnt.faisp.config.FileInfo; +import com.dbnt.faisp.faRpt.mapper.FaRptMapper; +import com.dbnt.faisp.faRpt.model.FaRptBoard; +import com.dbnt.faisp.faRpt.model.FaRptReadUser; +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 lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; + +import java.io.File; +import java.util.List; +import java.util.UUID; + + +@Service +@RequiredArgsConstructor +public class FaRptService extends BaseService { + private final FaRptBoardRepository faRptBoardRepository; + private final FaRptFileRepository faRptFileRepository; + private final FaRptReadUserRepository faRptReadUserRepository; + private final FaRptMapper faRptMapper; + + + public List selectFaRptList(FaRptBoard faRptBoard) { + return faRptMapper.selectFaRptList(faRptBoard); + } + + public Integer selectFaRptCnt(FaRptBoard faRptBoard) { + return faRptMapper.selectFaRptCnt(faRptBoard); + } + + public Integer saveFaRptBoard(FaRptBoard faRptBoard, List deleteFileSeq) { + return 0; + } + + public FaRptBoard selectFaRptBoard(Integer faRptKey) { + FaRptBoard faRptBoard = faRptBoardRepository.findById(faRptKey).orElse(null); + faRptBoard.setFileList(faRptFileRepository.findByFaRptKey(faRptKey)); + faRptBoard.setReadUserList(faRptReadUserRepository.findByFaRptKey(faRptKey)); + return faRptBoard; + } +} \ No newline at end of file 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 ddecef47..c6833ec7 100644 --- a/src/main/java/com/dbnt/faisp/fpiMgt/affair/AffairController.java +++ b/src/main/java/com/dbnt/faisp/fpiMgt/affair/AffairController.java @@ -39,7 +39,8 @@ public class AffairController { // 첩보수집활동 > 외사경찰 견문관 mav.addObject("page", "main"); mav.addObject("searchUrl", "/affair/affairMgt"); //메뉴권한 확인 - String accessAuth = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/affair/affairMgt").get(0).getAccessAuth(); + String accessAuth = authMgtService.selectAccessConfigList + (loginUser.getUserSeq(), "/affair/affairMgt?affairCategory="+affairBoard.getAffairCategory()).get(0).getAccessAuth(); switch (accessAuth){ case "ACC001": // 조회 case "ACC002": // 작성 @@ -51,7 +52,8 @@ public class AffairController { // 첩보수집활동 > 외사경찰 견문관 break; } //결재권한 확인 - String apprvAuth = authMgtService.selectApprovalConfigList(loginUser.getUserSeq(), "/affair/affairMgt").get(0).getApprovalAuth(); + String apprvAuth = authMgtService.selectApprovalConfigList + (loginUser.getUserSeq(), "/affair/affairMgt?affairCategory="+affairBoard.getAffairCategory()).get(0).getApprovalAuth(); affairBoard.setRatingOrgan(loginUser.getOgCd()); mav.addObject("accessAuth", accessAuth); @@ -70,7 +72,8 @@ public class AffairController { // 첩보수집활동 > 외사경찰 견문관 mav.addObject("page", "stay"); mav.addObject("searchUrl", "/affair/stayPage"); //메뉴권한 확인 - String accessAuth = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/affair/affairMgt").get(0).getAccessAuth(); + String accessAuth = authMgtService.selectAccessConfigList + (loginUser.getUserSeq(), "/affair/affairMgt?affairCategory="+affairBoard.getAffairCategory()).get(0).getAccessAuth(); switch (accessAuth){ case "ACC001": // 조회 case "ACC002": // 작성 @@ -81,7 +84,8 @@ public class AffairController { // 첩보수집활동 > 외사경찰 견문관 break; } //결재권한 확인 - String apprvAuth = authMgtService.selectApprovalConfigList(loginUser.getUserSeq(), "/affair/affairMgt").get(0).getApprovalAuth(); + String apprvAuth = authMgtService.selectApprovalConfigList + (loginUser.getUserSeq(), "/affair/affairMgt?affairCategory="+affairBoard.getAffairCategory()).get(0).getApprovalAuth(); affairBoard.setRatingOrgan(loginUser.getOgCd()); if(apprvAuth==null) { if(!accessAuth.equals("ACC003")){ @@ -121,7 +125,8 @@ public class AffairController { // 첩보수집활동 > 외사경찰 견문관 mav.addObject("page", "commit"); mav.addObject("searchUrl", "/affair/commitPage"); //메뉴권한 확인 - String accessAuth = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/affair/affairMgt").get(0).getAccessAuth(); + String accessAuth = authMgtService.selectAccessConfigList + (loginUser.getUserSeq(), "/affair/affairMgt?affairCategory="+affairBoard.getAffairCategory()).get(0).getAccessAuth(); switch (accessAuth){ case "ACC001": // 조회 case "ACC002": // 작성 @@ -132,7 +137,8 @@ public class AffairController { // 첩보수집활동 > 외사경찰 견문관 break; } //결재권한 확인 - String apprvAuth = authMgtService.selectApprovalConfigList(loginUser.getUserSeq(), "/affair/affairMgt").get(0).getApprovalAuth(); + String apprvAuth = authMgtService.selectApprovalConfigList + (loginUser.getUserSeq(), "/affair/affairMgt?affairCategory="+affairBoard.getAffairCategory()).get(0).getApprovalAuth(); affairBoard.setRatingOrgan(loginUser.getOgCd()); if(apprvAuth==null) { if(!accessAuth.equals("ACC003")){ @@ -198,8 +204,10 @@ public class AffairController { // 첩보수집활동 > 외사경찰 견문관 mav.addObject("userSeq",loginUser.getUserSeq()); mav.addObject("userOrgan", loginUser.getOgCd()); //메뉴권한 확인 - mav.addObject("accessAuth", authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/affair/affairMgt").get(0).getAccessAuth()); - String apprvAuth = authMgtService.selectApprovalConfigList(loginUser.getUserSeq(), "/affair/affairMgt").get(0).getApprovalAuth(); + mav.addObject("accessAuth", authMgtService.selectAccessConfigList + (loginUser.getUserSeq(), "/affair/affairMgt?affairCategory="+affairBoard.getAffairCategory()).get(0).getAccessAuth()); + String apprvAuth = authMgtService.selectApprovalConfigList + (loginUser.getUserSeq(), "/affair/affairMgt?affairCategory="+affairBoard.getAffairCategory()).get(0).getApprovalAuth(); mav.addObject("apprvAuth", apprvAuth); if(apprvAuth!=null && (apprvAuth.equals("APC002") || apprvAuth.equals("APC001"))){ mav.addObject("ratingCodeList", codeMgtService.selectCodeMgtList("AAR")); 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 85a6d6c5..059cb69f 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 @@ -59,6 +59,8 @@ public class AffairBoard extends BaseModel { private LocalDate autoDelete; @Column(name = "view_status") private String viewStatus; + @Column(name = "affair_category") + private String affairCategory; @Transient private String organUp; diff --git a/src/main/java/com/dbnt/faisp/menuMgt/model/MenuMgt.java b/src/main/java/com/dbnt/faisp/menuMgt/model/MenuMgt.java index 27c08ae5..9c465d86 100644 --- a/src/main/java/com/dbnt/faisp/menuMgt/model/MenuMgt.java +++ b/src/main/java/com/dbnt/faisp/menuMgt/model/MenuMgt.java @@ -32,6 +32,10 @@ public class MenuMgt extends BaseModel { private String menuUrl; @Column(name = "approval_chk") private String approvalChk; + @Column(name = "deadline_chk") + private String deadlineChk; + @Column(name = "use_chk") + private String useChk; @Transient private List childList; diff --git a/src/main/resources/mybatisMapper/AffairMapper.xml b/src/main/resources/mybatisMapper/AffairMapper.xml index c0bb96d9..62e1dbac 100644 --- a/src/main/resources/mybatisMapper/AffairMapper.xml +++ b/src/main/resources/mybatisMapper/AffairMapper.xml @@ -6,6 +6,9 @@ + + and a.affair_category = #{affairCategory} + and a.wrt_user_seq = #{wrtUserSeq} diff --git a/src/main/resources/mybatisMapper/AuthMgtMapper.xml b/src/main/resources/mybatisMapper/AuthMgtMapper.xml index 16be6cde..cbd78887 100644 --- a/src/main/resources/mybatisMapper/AuthMgtMapper.xml +++ b/src/main/resources/mybatisMapper/AuthMgtMapper.xml @@ -13,11 +13,10 @@ from menu_mgt a left outer join access_config b on a.menu_key = b.menu_key and b.user_seq = #{userSeq} - + where a.use_chk = 'T' and a.menu_url = #{menuUrl} - order by cat1_cd, cat2_cd, cat3_cd @@ -31,6 +30,7 @@ left outer join approval_config b on a.menu_key = b.menu_key and b.user_seq = #{userSeq} where a.approval_chk = 'T' + and a.use_chk = 'T' and a.menu_url = #{menuUrl} diff --git a/src/main/resources/mybatisMapper/FaRptMapper.xml b/src/main/resources/mybatisMapper/FaRptMapper.xml new file mode 100644 index 00000000..b7753e52 --- /dev/null +++ b/src/main/resources/mybatisMapper/FaRptMapper.xml @@ -0,0 +1,60 @@ + + + + + + + + + and a.wrt_user_seq = #{wrtUserSeq} + + + and a.wrt_user_nm like '%'||#{wrtUserNm}||'%' + + + and a.wrt_organ = #{wrtOrgan} + + + and a.title like '%'||#{title}||'%' + + + and a.wrt_dt >= #{startDate}::date + + + and a.wrt_dt <= #{endDate}::date+1 + + + and a.wrt_organ in + + #{organCd} + + + + + + + \ No newline at end of file diff --git a/src/main/resources/mybatisMapper/menuMgtMapper.xml b/src/main/resources/mybatisMapper/menuMgtMapper.xml index 134f67b2..214e5da5 100644 --- a/src/main/resources/mybatisMapper/menuMgtMapper.xml +++ b/src/main/resources/mybatisMapper/menuMgtMapper.xml @@ -24,7 +24,9 @@ cat2_cd as cat2Cd, cat3_cd as cat3Cd, menu_url as menuUrl, - approval_chk as approvalChk + approval_chk as approvalChk, + deadline_chk as deadlineChk, + use_chk as useChk from menu_mgt @@ -49,6 +51,7 @@ inner join menu_mgt ab on aa.menu_key = ab.menu_key where aa.user_seq = #{userSeq} and aa.access_auth is not null + and aa.access_auth <> '' order by cat1_cd, cat2_cd, cat3_cd @@ -62,6 +65,7 @@ inner join menu_mgt ab on aa.menu_key = ab.menu_key where aa.user_seq = #{userSeq} and aa.access_auth is not null + and aa.access_auth <> '' order by cat1_cd, cat2_cd, cat3_cd limit #{rowCnt} offset #{firstIndex} @@ -73,8 +77,7 @@ inner join menu_mgt ab on aa.menu_key = ab.menu_key where aa.user_seq = #{userSeq} and aa.access_auth is not null - - - + and aa.access_auth <> '' + \ No newline at end of file diff --git a/src/main/resources/static/js/dashboard.js b/src/main/resources/static/js/dashboard.js index 70d87c9b..14c10fc8 100644 --- a/src/main/resources/static/js/dashboard.js +++ b/src/main/resources/static/js/dashboard.js @@ -16,9 +16,10 @@ $(function (){ function getSubPage(menuList){ $.each(menuList, function(idx, menu){ if(idx<6){ + const url = menu.menuUrl+(menu.menuUrl.includes('?')?'&dashboardFlag=true':'?dashboardFlag=true'); $.ajax({ type : 'GET', - url : menu.menuUrl+"?dashboardFlag=true", + url : url, dataType:"html", success : function(html) { $("#subPage"+idx).append(html); diff --git a/src/main/resources/static/js/faRpt/faRpt.js b/src/main/resources/static/js/faRpt/faRpt.js new file mode 100644 index 00000000..c1f2e3a6 --- /dev/null +++ b/src/main/resources/static/js/faRpt/faRpt.js @@ -0,0 +1,185 @@ + +$(function(){ + $("#dateSelectorDiv").datepicker({ + format: "yyyy-mm-dd", + language: "ko" + }); +}) + +$(document).on('click', '#sendTab', function (){ + location.href = "/faRpt/faRptBoard?activeTab=send"; +}) +$(document).on('click', '#receiveTab', function (){ + location.href = "/faRpt/faRptBoard?activeTab=receive"; +}) +$(document).on('click', '#allTab', function (){ + location.href = "/faRpt/faRptBoard?activeTab=all"; +}) + +$(document).on('click', '#addFaRptBtn', function (){ + getFaRptEditModal(null) +}) +$(document).on('click', '#editFaRptBtn', function (){ + $("#faRptViewModal").modal('hide'); + getFaRptEditModal(Number($("#faRptViewBody").find("[name='faRptKey']").val())); +}) + +$(document).on('click', '#faRptAddBtn', function (){ + $("#faRptDiv").append("") +}) + +$(document).on('click', '#detailFaRptAddBtn', function (){ + const detailFaRptDiv = $("#detailFaRptDiv"); + detailFaRptDiv.append(""); + const lastAppendTextarea = detailFaRptDiv.children()[detailFaRptDiv.children().length-1]; + $(lastAppendTextarea).summernote({ + lang:'ko-KR', + height: 120, + disableDragAndDrop: true, + toolbar: [ + ['style', ['style']], + ['font', ['bold', 'underline', 'clear']], + ['color', ['color']], + ['para', ['ul', 'ol', 'paragraph']], + ['table', ['table']] + ] + }); +}) + +$(document).on('click', '#saveFaRptBtn', function (){ + saveFaRpt('DST002') +}) + +$(document).on('click', '#saveTempBtn', function (){ + saveFaRpt('DST001') +}) + +$(document).on('click', '.faRptTr', function (){ + const chkBox = $(this).find(".rowChkBox"); + if(chkBox.length>0){ + $(".trChkBox").prop("checked", false); + chkBox[0].checked = !chkBox[0].checked; + } + getFaRptViewModal(Number($(this).find(".faRptKey").val())); +}) + +$(document).on('click', '.apprvBtn', function (){ + $("#apprvFormFaRptKey").val($("#viewModalFaRptKey").val()); + $("#viewModalApprvValue").val($(this).attr("data-faRptstate")); + if(confirm($(this).val()+"하시겠습니까?")){ + const formData = new FormData($("#apprvForm")[0]); + contentFade("in") + $.ajax({ + type : 'POST', + data : formData, + url : "/faRpt/faRptStateChange", + processData: false, + contentType: false, + beforeSend: function (xhr){ + xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val()); + }, + success : function(result) { + alert("저장되었습니다") + getFaRptViewModal(result); + contentFade("out"); + }, + error : function(xhr, status) { + alert("저장에 실패하였습니다."); + contentFade("out"); + } + }) + } +}) + +function getFaRptViewModal(faRptKey){ + $.ajax({ + url: '/faRpt/faRptViewModal', + data: {faRptKey: faRptKey}, + type: 'GET', + dataType:"html", + success: function(html){ + $("#faRptViewBody").empty().append(html) + $("#faRptViewModal").modal('show'); + }, + error:function(){ + + } + }); +} + +function getFaRptEditModal(faRptKey){ + $.ajax({ + url: '/faRpt/faRptEditModal', + data: {faRptKey: faRptKey}, + type: 'GET', + dataType:"html", + success: function(html){ + $("#faRptEditModalContent").empty().append(html) + $("#faRptEditModal").modal('show'); + $("#faRptDt").datepicker({ + format: "yyyy-mm-dd", + language: "ko" + }); + $("#content").summernote({ + lang:'ko-KR', + height: 360, + disableDragAndDrop: true, + toolbar: [ + ['style', ['style']], + ['font', ['bold', 'underline', 'clear']], + ['color', ['color']], + ['para', ['ul', 'ol', 'paragraph']], + ['table', ['table']] + ] + }); + setUploadDiv(); + }, + error:function(){ + + } + }); +} +function saveFaRpt(faRptState){ + if(contentCheck()){ + if(confirm("저장하시겠습니까?")){ + $("#faRptState").val(faRptState); + contentFade("in"); + const formData = new FormData($("#faRptEditForm")[0]); + for(const file of files) { + if(!file.isDelete) + formData.append('uploadFiles', file, file.name); + } + $(".text-decoration-line-through").each(function (idx, el){ + formData.append('fileSeq', $(el).attr("data-fileseq")); + }) + $.ajax({ + type : 'POST', + data : formData, + url : "/faRpt/saveFaRpt", + processData: false, + contentType: false, + success : function(result) { + alert("저장되었습니다."); + contentFade("out"); + $("#faRptEditModal").modal('hide'); + getFaRptViewModal(result); + }, + error : function(xhr, status) { + alert("저장에 실패하였습니다.") + contentFade("out"); + } + }) + } + } +} + + +function contentCheck(){ + let flag = true; + if(!$("#contentTitle").val()){ + alert("제목을 입력해주세요.") + flag = false; + } + flag = fileCheck(flag, files); + return flag; +} \ 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 1c9b57b2..8587cea9 100644 --- a/src/main/resources/static/js/igActivities/fpiMgt/affair/affairMgt.js +++ b/src/main/resources/static/js/igActivities/fpiMgt/affair/affairMgt.js @@ -6,13 +6,13 @@ $(function(){ }); }) $(document).on('click', '#affairTab', function (){ - location.href = "/affair/affairMgt"; + location.href = "/affair/affairMgt?affairCategory="+$("#affairCategory").val(); }) $(document).on('click', '#stayTab', function (){ - location.href = "/affair/stayPage"; + location.href = "/affair/stayPage?affairCategory="+$("#affairCategory").val(); }) $(document).on('click', '#commitTab', function (){ - location.href = "/affair/commitPage"; + location.href = "/affair/commitPage?affairCategory="+$("#affairCategory").val(); }) $(document).on('click', '.affairTr', function (event){ const target = event.target; @@ -130,7 +130,10 @@ $(document).on('change', '.apprvChkbox', function (){ function getAffairViewModal(affairKey){ $.ajax({ url: '/affair/affairViewModal', - data: {affairKey: affairKey}, + data: { + affairKey: affairKey, + affairCategory: $("#affairCategory").val() + }, type: 'GET', dataType:"html", success: function(html){ @@ -146,7 +149,10 @@ function getAffairViewModal(affairKey){ function getAffairEditModal(affairKey){ $.ajax({ url: '/affair/affairEditModal', - data: {affairKey: affairKey}, + data: { + affairKey: affairKey, + affairCategory: $("#affairCategory").val() + }, type: 'GET', dataType:"html", success: function(html){ diff --git a/src/main/resources/static/js/menuMgt/menuMgt.js b/src/main/resources/static/js/menuMgt/menuMgt.js index d0409618..b580cde3 100644 --- a/src/main/resources/static/js/menuMgt/menuMgt.js +++ b/src/main/resources/static/js/menuMgt/menuMgt.js @@ -14,7 +14,8 @@ $(document).on('click', '.menuTr', function (event){ cat2Cd: row.find(".cat2Cd").val(), cat3Cd: row.find(".cat3Cd").val(), menuUrl: row.find(".menuUrl").val(), - approvalChk: row.find(".approvalChk").val() + approvalChk: row.find(".approvalChk").val(), + useChk: row.find(".useChk").val() }) } } diff --git a/src/main/resources/templates/adminPage/menuMgt/menuEditModal.html b/src/main/resources/templates/adminPage/menuMgt/menuEditModal.html index 73fa5f37..2c0181cf 100644 --- a/src/main/resources/templates/adminPage/menuMgt/menuEditModal.html +++ b/src/main/resources/templates/adminPage/menuMgt/menuEditModal.html @@ -50,11 +50,17 @@
- +
+
+ +
+ +
+