From 8e98adef4f3c15a9a79b027c41fb1cd1e02ccbe7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EC=84=9D=20=EC=B5=9C?= Date: Thu, 20 Oct 2022 18:27:13 +0900 Subject: [PATCH] =?UTF-8?q?=EC=99=B8=EC=82=AC=EC=A0=95=EB=B3=B4=EB=B3=B4?= =?UTF-8?q?=EA=B3=A0=20=EC=9E=91=EC=97=85=EC=A4=91.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dbnt/faisp/faRpt/FaRptController.java | 97 +++++++++ .../dbnt/faisp/faRpt/mapper/FaRptMapper.java | 15 ++ .../dbnt/faisp/faRpt/model/FaRptBoard.java | 66 +++++++ .../com/dbnt/faisp/faRpt/model/FaRptFile.java | 47 +++++ .../dbnt/faisp/faRpt/model/FaRptReadUser.java | 47 +++++ .../repository/FaRptBoardRepository.java | 9 + .../faRpt/repository/FaRptFileRepository.java | 14 ++ .../repository/FaRptReadUserRepository.java | 10 + .../faisp/faRpt/service/FaRptService.java | 51 +++++ .../resources/mybatisMapper/FaRptMapper.xml | 60 ++++++ src/main/resources/static/js/faRpt/faRpt.js | 185 ++++++++++++++++++ .../resources/templates/faRpt/faRptBoard.html | 162 +++++++++++++++ .../templates/faRpt/faRptDashBoard.html | 36 ++++ .../templates/faRpt/faRptEditModal.html | 84 ++++++++ .../templates/faRpt/readUserRow.html | 20 ++ .../fpiMgt/affairResult/resultEditModal.html | 49 ++--- 16 files changed, 923 insertions(+), 29 deletions(-) create mode 100644 src/main/java/com/dbnt/faisp/faRpt/FaRptController.java create mode 100644 src/main/java/com/dbnt/faisp/faRpt/mapper/FaRptMapper.java create mode 100644 src/main/java/com/dbnt/faisp/faRpt/model/FaRptBoard.java create mode 100644 src/main/java/com/dbnt/faisp/faRpt/model/FaRptFile.java create mode 100644 src/main/java/com/dbnt/faisp/faRpt/model/FaRptReadUser.java create mode 100644 src/main/java/com/dbnt/faisp/faRpt/repository/FaRptBoardRepository.java create mode 100644 src/main/java/com/dbnt/faisp/faRpt/repository/FaRptFileRepository.java create mode 100644 src/main/java/com/dbnt/faisp/faRpt/repository/FaRptReadUserRepository.java create mode 100644 src/main/java/com/dbnt/faisp/faRpt/service/FaRptService.java create mode 100644 src/main/resources/mybatisMapper/FaRptMapper.xml create mode 100644 src/main/resources/static/js/faRpt/faRpt.js create mode 100644 src/main/resources/templates/faRpt/faRptBoard.html create mode 100644 src/main/resources/templates/faRpt/faRptDashBoard.html create mode 100644 src/main/resources/templates/faRpt/faRptEditModal.html create mode 100644 src/main/resources/templates/faRpt/readUserRow.html 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/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/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/templates/faRpt/faRptBoard.html b/src/main/resources/templates/faRpt/faRptBoard.html new file mode 100644 index 00000000..75f01bd5 --- /dev/null +++ b/src/main/resources/templates/faRpt/faRptBoard.html @@ -0,0 +1,162 @@ + + + + + +
+
+

외사정보관리 > 외사정보보고

+

외사정보보고

+ + +
+
+
+ +
+
+ + +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+
+ + +
+
+ +
+
+
+
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
제목관서부서작성자작성일시첨부파일
+
+
+
+
+ +
+
+ +
+
+
+
+
+
+
+
+
+
+
+ + + +
+ \ No newline at end of file diff --git a/src/main/resources/templates/faRpt/faRptDashBoard.html b/src/main/resources/templates/faRpt/faRptDashBoard.html new file mode 100644 index 00000000..70391ba9 --- /dev/null +++ b/src/main/resources/templates/faRpt/faRptDashBoard.html @@ -0,0 +1,36 @@ + + + +
+
+
+
월간계획
+
+
+
+
+ + + + + + + + + + + + + + +
제목작성일시
+
+
+ + \ No newline at end of file diff --git a/src/main/resources/templates/faRpt/faRptEditModal.html b/src/main/resources/templates/faRpt/faRptEditModal.html new file mode 100644 index 00000000..42de6127 --- /dev/null +++ b/src/main/resources/templates/faRpt/faRptEditModal.html @@ -0,0 +1,84 @@ + + + + + \ No newline at end of file diff --git a/src/main/resources/templates/faRpt/readUserRow.html b/src/main/resources/templates/faRpt/readUserRow.html new file mode 100644 index 00000000..011b3f05 --- /dev/null +++ b/src/main/resources/templates/faRpt/readUserRow.html @@ -0,0 +1,20 @@ + + +
+ +
+
+ + + + + + + + + +
+
+ +
+
\ No newline at end of file diff --git a/src/main/resources/templates/igActivities/fpiMgt/affairResult/resultEditModal.html b/src/main/resources/templates/igActivities/fpiMgt/affairResult/resultEditModal.html index d8cbdfcc..93744e0c 100644 --- a/src/main/resources/templates/igActivities/fpiMgt/affairResult/resultEditModal.html +++ b/src/main/resources/templates/igActivities/fpiMgt/affairResult/resultEditModal.html @@ -90,36 +90,27 @@
- -
- -
-
- + +
+ + + + + +
+
+ + + + + + + + +
-
- -
-
-
-
- -
- -
- -
-
+
+