diff --git a/src/main/java/com/dbnt/faisp/config/BaseModel.java b/src/main/java/com/dbnt/faisp/config/BaseModel.java index 5a52a6e9..93054111 100644 --- a/src/main/java/com/dbnt/faisp/config/BaseModel.java +++ b/src/main/java/com/dbnt/faisp/config/BaseModel.java @@ -35,6 +35,8 @@ public class BaseModel { private String startDate; @Transient private String endDate; + @Transient + private Boolean dashboardFlag = false; public void setQueryInfo(){ setFirstIndex((getPageIndex()-1)*getRowCnt()); diff --git a/src/main/java/com/dbnt/faisp/config/ModalController.java b/src/main/java/com/dbnt/faisp/config/ModalController.java index a7ebcf5f..f8568d0c 100644 --- a/src/main/java/com/dbnt/faisp/config/ModalController.java +++ b/src/main/java/com/dbnt/faisp/config/ModalController.java @@ -2,7 +2,9 @@ package com.dbnt.faisp.config; import com.dbnt.faisp.menuMgt.model.MenuMgt; import com.dbnt.faisp.menuMgt.service.MenuMgtService; +import com.dbnt.faisp.userInfo.model.UserInfo; import lombok.RequiredArgsConstructor; +import org.springframework.security.core.annotation.AuthenticationPrincipal; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -17,11 +19,12 @@ public class ModalController { private final MenuMgtService menuMgtService; @GetMapping("/menuModal") - public ModelAndView menuModalPage(MenuMgt menuMgt){ + public ModelAndView menuModalPage(@AuthenticationPrincipal UserInfo loginUser, MenuMgt menuMgt){ ModelAndView mav = new ModelAndView("commonModal/menuModal"); + menuMgt.setUserSeq(loginUser.getUserSeq()); menuMgt.setQueryInfo(); - mav.addObject("menuMgtList", menuMgtService.selectMenuMgtList(menuMgt)); - menuMgt.setContentCnt(menuMgtService.selectMenuMgtListCnt(menuMgt)); + mav.addObject("menuMgtList", menuMgtService.selectMenuMgtListToAccessAuth(menuMgt)); + menuMgt.setContentCnt(menuMgtService.selectMenuMgtListToAccessAuthCnt(menuMgt)); menuMgt.setPaginationInfo(); mav.addObject("searchParams", menuMgt); return mav; diff --git a/src/main/java/com/dbnt/faisp/equip/EquipController.java b/src/main/java/com/dbnt/faisp/equip/EquipController.java index fabb91c8..00edb5d5 100644 --- a/src/main/java/com/dbnt/faisp/equip/EquipController.java +++ b/src/main/java/com/dbnt/faisp/equip/EquipController.java @@ -5,8 +5,10 @@ import com.dbnt.faisp.authMgt.service.AuthMgtService; import com.dbnt.faisp.equip.model.CellPhone; import com.dbnt.faisp.equip.model.Equip; import com.dbnt.faisp.equip.model.EquipLog; +import com.dbnt.faisp.equip.model.UseList; import com.dbnt.faisp.equip.service.EquipService; import com.dbnt.faisp.fipTarget.model.PartInfo; +import com.dbnt.faisp.fipTarget.service.FipTargetService; import com.dbnt.faisp.organMgt.service.OrganConfigService; import com.dbnt.faisp.userInfo.model.UserInfo; import com.dbnt.faisp.userInfo.service.UserInfoService; @@ -40,6 +42,7 @@ public class EquipController { private final EquipService equipService; private final AuthMgtService authMgtService; private final OrganConfigService organConfigService; + private final FipTargetService fipTargetService; private final UserInfoService userInfoService; @GetMapping("/equipStatus") @@ -287,6 +290,47 @@ public class EquipController { equipService.deleteCellPhone(cellPhone); } + + @GetMapping("/pvreUseList") + public ModelAndView pvreUseList(@AuthenticationPrincipal UserInfo loginUser,UseList useList,HttpServletResponse response) { + ModelAndView mav = new ModelAndView("equip/pvreUseList"); + useList.setDownOrganCdList(loginUser.getDownOrganCdList()); + useList.setUseType("PVRE"); + + //메뉴권한 확인 + String accessAuth = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/equip/pvreUseList").get(0).getAccessAuth(); + mav.addObject("accessAuth", accessAuth); + useList.setQueryInfo(); + mav.addObject("useList", equipService.selectUseList(useList)); + useList.setContentCnt(equipService.selectUseListCnt(useList)); + useList.setPaginationInfo(); + mav.addObject("searchParams", useList); + + return mav; + } + + @GetMapping("/pvreEditModal") + public ModelAndView pvreEditModal(@AuthenticationPrincipal UserInfo loginUser,UseList useList) { + ModelAndView mav = new ModelAndView("equip/pvreEditModal"); + useList.setDownOrganCdList(loginUser.getDownOrganCdList()); + mav.addObject("organList", equipService.selectOrganList(useList)); + mav.addObject("userOrgan", loginUser.getOgCd()); + mav.addObject("useType", "PVRE"); + //메뉴권한 확인 + String accessAuth = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/equip/pvreUseList").get(0).getAccessAuth(); + mav.addObject("accessAuth", accessAuth); + return mav; + } + + @PostMapping("/saveUse") + public void saveUse(@AuthenticationPrincipal UserInfo loginUser,UseList useList){ + useList.setWrtOrgan(loginUser.getOgCd()); + useList.setWrtPart(loginUser.getOfcCd()); + useList.setWrtUserSeq(loginUser.getUserSeq()); + useList.setWrtNm(loginUser.getUserId()); + useList.setWrtDt(LocalDateTime.now()); + equipService.saveUse(useList); + } diff --git a/src/main/java/com/dbnt/faisp/equip/mapper/EquipMapper.java b/src/main/java/com/dbnt/faisp/equip/mapper/EquipMapper.java index 40b89131..65277dfd 100644 --- a/src/main/java/com/dbnt/faisp/equip/mapper/EquipMapper.java +++ b/src/main/java/com/dbnt/faisp/equip/mapper/EquipMapper.java @@ -3,6 +3,7 @@ package com.dbnt.faisp.equip.mapper; import com.dbnt.faisp.equip.model.CellPhone; import com.dbnt.faisp.equip.model.Equip; import com.dbnt.faisp.equip.model.EquipLog; +import com.dbnt.faisp.equip.model.UseList; import com.dbnt.faisp.util.ParamMap; import org.apache.ibatis.annotations.Mapper; @@ -34,6 +35,16 @@ public interface EquipMapper { Integer selectCellPhoneListCnt(CellPhone cellPhone); + List selectOrganList(UseList useList); + + UseList selectUseNoCnt(UseList useList); + + Integer selectLastUseNo(UseList useList); + + List selectUseList(UseList useList); + + Integer selectUseListCnt(UseList useList); + } diff --git a/src/main/java/com/dbnt/faisp/equip/model/UseList.java b/src/main/java/com/dbnt/faisp/equip/model/UseList.java new file mode 100644 index 00000000..29201d6a --- /dev/null +++ b/src/main/java/com/dbnt/faisp/equip/model/UseList.java @@ -0,0 +1,110 @@ +package com.dbnt.faisp.equip.model; + +import com.dbnt.faisp.config.BaseModel; + +import lombok.AllArgsConstructor; +import lombok.Data; +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 javax.persistence.*; + +import java.io.Serializable; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.Date; + + +@Getter +@Setter +@Entity +@NoArgsConstructor +@DynamicInsert +@DynamicUpdate +@IdClass(UseList.UseListId.class) +@Table(name = "use_list") +public class UseList extends BaseModel implements Serializable{ + @Id + @Column(name = "mgt_organ") + private String mgtOrgan; + @Id + @Column(name = "use_no") + private String useNo; + @Id + @Column(name = "version_no") + private Integer versionNo; + @Id + @Column(name = "use_type") + private String useType; + @Column(name = "use_dt") + private String useDt; + @Column(name = "detail_type") + private String detailType; + @Column(name = "detail_self") + private String detailSelf; + @Column(name = "people_cnt") + private Integer peopleCnt; + @Column(name = "description") + private String description; + @Column(name = "wrt_organ") + private String wrtOrgan; + @Column(name = "wrt_part") + private String wrtPart; + @Column(name = "wrt_user_grd") + private String wrtUserGrd; + @Column(name = "wrt_user_seq") + private Integer wrtUserSeq; + @Column(name = "wrt_nm") + private String wrtNm; + @Column(name = "wrt_dt") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") + private LocalDateTime wrtDt; + + @Transient + private String excel; + + @Transient + private String year; + @Transient + private String detailTypeName; + + +@Embeddable +@Data +@NoArgsConstructor +@AllArgsConstructor +public static class UseListId implements Serializable { + private String mgtOrgan; + private String useNo; + private Integer versionNo; + private String useType; +} + + + + + + + + + + + + + + + + + + + + + + + + +} diff --git a/src/main/java/com/dbnt/faisp/equip/repository/UseListRepository.java b/src/main/java/com/dbnt/faisp/equip/repository/UseListRepository.java new file mode 100644 index 00000000..d9683f6c --- /dev/null +++ b/src/main/java/com/dbnt/faisp/equip/repository/UseListRepository.java @@ -0,0 +1,14 @@ +package com.dbnt.faisp.equip.repository; + +import com.dbnt.faisp.equip.model.UseList; + +import org.springframework.data.jpa.repository.JpaRepository; + + + +public interface UseListRepository extends JpaRepository { + + + + +} diff --git a/src/main/java/com/dbnt/faisp/equip/service/EquipService.java b/src/main/java/com/dbnt/faisp/equip/service/EquipService.java index b5883110..aecb2cbf 100644 --- a/src/main/java/com/dbnt/faisp/equip/service/EquipService.java +++ b/src/main/java/com/dbnt/faisp/equip/service/EquipService.java @@ -8,10 +8,12 @@ import com.dbnt.faisp.equip.model.Equip.EquipId; import com.dbnt.faisp.equip.model.EquipFile; import com.dbnt.faisp.equip.model.EquipFile.EquipFileId; import com.dbnt.faisp.equip.model.EquipLog; +import com.dbnt.faisp.equip.model.UseList; import com.dbnt.faisp.equip.repository.CellPhoneRepository; import com.dbnt.faisp.equip.repository.EquipFileRepository; import com.dbnt.faisp.equip.repository.EquipLogRepository; import com.dbnt.faisp.equip.repository.EquipRepository; +import com.dbnt.faisp.equip.repository.UseListRepository; import com.dbnt.faisp.userInfo.model.UserInfo; import com.dbnt.faisp.util.ParamMap; import com.dbnt.faisp.util.Utils; @@ -26,6 +28,7 @@ import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.multipart.MultipartFile; import java.io.File; +import java.text.SimpleDateFormat; import java.time.LocalDateTime; import java.util.*; @@ -39,8 +42,12 @@ public class EquipService { private final EquipFileRepository equipFileRepository; private final EquipLogRepository equipLogRepository; private final CellPhoneRepository cellPhoneRepository; + private final UseListRepository useListRepository; private final EquipMapper equipMapper; + SimpleDateFormat Date = new SimpleDateFormat("yyyy"); + String year = Date.format(new Date()); + @Transactional public void saveEquip(Equip equip, MultipartHttpServletRequest request) { @@ -317,6 +324,33 @@ public class EquipService { public void deleteCellPhone(List cellPhone) { cellPhoneRepository.deleteAll(cellPhone); } + + public List selectOrganList(UseList useList) { + return equipMapper.selectOrganList(useList); + } + + @Transactional + public void saveUse(UseList useList) { + useList.setYear(year); + Integer useNo = equipMapper.selectLastUseNo(useList); + if(useNo == null) { + useList.setUseNo(year+"-001"); + useList.setVersionNo(1); + } else { + useList.setUseNo(year+"-"+String.format("%03d", useNo+1)); + useList.setVersionNo(1); + } + useListRepository.save(useList); + + } + + public List selectUseList(UseList useList) { + return equipMapper.selectUseList(useList); + } + + public Integer selectUseListCnt(UseList useList) { + return equipMapper.selectUseListCnt(useList); + } 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 218a4ca6..ddecef47 100644 --- a/src/main/java/com/dbnt/faisp/fpiMgt/affair/AffairController.java +++ b/src/main/java/com/dbnt/faisp/fpiMgt/affair/AffairController.java @@ -29,7 +29,13 @@ public class AffairController { // 첩보수집활동 > 외사경찰 견문관 @GetMapping("/affairMgt") public ModelAndView affairMgtPage(@AuthenticationPrincipal UserInfo loginUser, AffairBoard affairBoard){ - ModelAndView mav = new ModelAndView("igActivities/fpiMgt/affair/affairMgt"); + ModelAndView mav; + if(affairBoard.getDashboardFlag()){ + mav = new ModelAndView("igActivities/fpiMgt/affair/affairMgtDashboard"); + affairBoard.setRowCnt(5); + }else{ + mav = new ModelAndView("igActivities/fpiMgt/affair/affairMgt"); + } mav.addObject("page", "main"); mav.addObject("searchUrl", "/affair/affairMgt"); //메뉴권한 확인 diff --git a/src/main/java/com/dbnt/faisp/fpiMgt/affairPlan/PlanController.java b/src/main/java/com/dbnt/faisp/fpiMgt/affairPlan/PlanController.java index 559e9806..a11d0ab2 100644 --- a/src/main/java/com/dbnt/faisp/fpiMgt/affairPlan/PlanController.java +++ b/src/main/java/com/dbnt/faisp/fpiMgt/affairPlan/PlanController.java @@ -25,7 +25,13 @@ public class PlanController { // 첩보수집활동 > 외사경찰 견문관리 @GetMapping("/planMgt") public ModelAndView monthPlanPage(@AuthenticationPrincipal UserInfo loginUser, PlanBoard planBoard){ - ModelAndView mav = new ModelAndView("igActivities/fpiMgt/affairPlan/planMgt"); + ModelAndView mav = null; + if(planBoard.getDashboardFlag()){ + mav = new ModelAndView("igActivities/fpiMgt/affairPlan/planMgtDashboard"); + planBoard.setRowCnt(5); + }else{ + mav = new ModelAndView("igActivities/fpiMgt/affairPlan/planMgt"); + } mav.addObject("page", "main"); mav.addObject("searchUrl", "/affairPlan/planMgt"); //메뉴권한 확인 diff --git a/src/main/java/com/dbnt/faisp/fpiMgt/affairResult/ResultController.java b/src/main/java/com/dbnt/faisp/fpiMgt/affairResult/ResultController.java index 00f4753f..b152f617 100644 --- a/src/main/java/com/dbnt/faisp/fpiMgt/affairResult/ResultController.java +++ b/src/main/java/com/dbnt/faisp/fpiMgt/affairResult/ResultController.java @@ -30,7 +30,13 @@ public class ResultController { // 첩보수집활동 > 외사경찰 견문관 @GetMapping("/resultMgt") public ModelAndView resultMgtPage(@AuthenticationPrincipal UserInfo loginUser, ResultBoard resultBoard){ - ModelAndView mav = new ModelAndView("igActivities/fpiMgt/affairResult/resultMgt"); + ModelAndView mav = null; + if(resultBoard.getDashboardFlag()){ + mav = new ModelAndView("igActivities/fpiMgt/affairResult/resultMgtDashboard"); + resultBoard.setRowCnt(5); + }else{ + mav = new ModelAndView("igActivities/fpiMgt/affairResult/resultMgt"); + } mav.addObject("page", "main"); mav.addObject("searchUrl", "/affairResult/resultMgt"); //메뉴권한 확인 diff --git a/src/main/java/com/dbnt/faisp/menuMgt/mapper/MenuMgtMapper.java b/src/main/java/com/dbnt/faisp/menuMgt/mapper/MenuMgtMapper.java index faa0309e..5478d9da 100644 --- a/src/main/java/com/dbnt/faisp/menuMgt/mapper/MenuMgtMapper.java +++ b/src/main/java/com/dbnt/faisp/menuMgt/mapper/MenuMgtMapper.java @@ -13,4 +13,7 @@ public interface MenuMgtMapper { Integer selectMenuMgtListCnt(MenuMgt menuMgt); List selectAccessMenuListWhereUserSeq(Integer userSeq); + + List selectMenuMgtListToAccessAuth(MenuMgt menuMgt); + Integer selectMenuMgtListToAccessAuthCnt(MenuMgt menuMgt); } 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 58bb8420..27c08ae5 100644 --- a/src/main/java/com/dbnt/faisp/menuMgt/model/MenuMgt.java +++ b/src/main/java/com/dbnt/faisp/menuMgt/model/MenuMgt.java @@ -35,6 +35,8 @@ public class MenuMgt extends BaseModel { @Transient private List childList; + @Transient + private Integer userSeq; @Transient private Integer cat1RowspanCnt; diff --git a/src/main/java/com/dbnt/faisp/menuMgt/service/MenuMgtService.java b/src/main/java/com/dbnt/faisp/menuMgt/service/MenuMgtService.java index 3a6ee419..2ff0b94d 100644 --- a/src/main/java/com/dbnt/faisp/menuMgt/service/MenuMgtService.java +++ b/src/main/java/com/dbnt/faisp/menuMgt/service/MenuMgtService.java @@ -25,6 +25,13 @@ public class MenuMgtService { return menuMgtMapper.selectMenuMgtListCnt(menuMgt); } + public List selectMenuMgtListToAccessAuth(MenuMgt menuMgt){ + List menuList = menuMgtMapper.selectMenuMgtListToAccessAuth(menuMgt); + return menuListRowspanSet(menuList); + } + public Integer selectMenuMgtListToAccessAuthCnt(MenuMgt menuMgt){ + return menuMgtMapper.selectMenuMgtListToAccessAuthCnt(menuMgt); + } @Transient public String saveMenuMgt(MenuMgt menuMgt) { if(menuMgt.getMenuKey()==null){ diff --git a/src/main/java/com/dbnt/faisp/publicBoard/PublicBoardController.java b/src/main/java/com/dbnt/faisp/publicBoard/PublicBoardController.java index 68c16e65..bf2dbcca 100644 --- a/src/main/java/com/dbnt/faisp/publicBoard/PublicBoardController.java +++ b/src/main/java/com/dbnt/faisp/publicBoard/PublicBoardController.java @@ -25,7 +25,13 @@ public class PublicBoardController { @GetMapping("/noticePage") public ModelAndView organMgtPage(@AuthenticationPrincipal UserInfo loginUser, PublicBoard publicBoard) { - ModelAndView mav = new ModelAndView("publicBoard/notice/noticePage"); + ModelAndView mav; + if(publicBoard.getDashboardFlag()){ + mav = new ModelAndView("publicBoard/notice/noticePageDashBoard"); + publicBoard.setRowCnt(5); + }else{ + mav = new ModelAndView("publicBoard/notice/noticePage"); + } publicBoard.setQueryInfo(); publicBoard.setPublicType("PLB001"); if (loginUser.getUserRole().contains(Role.SUB_ADMIN.getValue())) { diff --git a/src/main/java/com/dbnt/faisp/translator/TranslatorController.java b/src/main/java/com/dbnt/faisp/translator/TranslatorController.java index 468b4b0c..7e4dd3b0 100644 --- a/src/main/java/com/dbnt/faisp/translator/TranslatorController.java +++ b/src/main/java/com/dbnt/faisp/translator/TranslatorController.java @@ -31,7 +31,13 @@ public class TranslatorController { @GetMapping("/info") public ModelAndView translatorInfo(@AuthenticationPrincipal UserInfo loginUser,Translator translator,HttpServletResponse response) { - ModelAndView mav = new ModelAndView("translator/translator"); + ModelAndView mav; + if (translator.getDashboardFlag()){ + mav = new ModelAndView("translator/translatorDashboard"); + translator.setRowCnt(5); + }else{ + mav = new ModelAndView("translator/translator"); + } translator.setDownOrganCdList(loginUser.getDownOrganCdList()); //엑셀다운 if(translator.getExcel() != null && translator.getExcel().equals("Y")){ diff --git a/src/main/java/com/dbnt/faisp/userInfo/MyInfoController.java b/src/main/java/com/dbnt/faisp/userInfo/MyInfoController.java index 04937a2f..ca5514e4 100644 --- a/src/main/java/com/dbnt/faisp/userInfo/MyInfoController.java +++ b/src/main/java/com/dbnt/faisp/userInfo/MyInfoController.java @@ -39,4 +39,10 @@ public class MyInfoController { return mav; } + @PostMapping("saveDashboardConfig") + @ResponseBody + public void saveDashboardConfig(@AuthenticationPrincipal UserInfo loginUser, @RequestBody List configList){ + userInfoService.saveDashboardConfigList(loginUser.getUserSeq(), configList); + } + } diff --git a/src/main/java/com/dbnt/faisp/userInfo/repository/DashboardConfigRepository.java b/src/main/java/com/dbnt/faisp/userInfo/repository/DashboardConfigRepository.java index 14bca9cf..31a3e3b2 100644 --- a/src/main/java/com/dbnt/faisp/userInfo/repository/DashboardConfigRepository.java +++ b/src/main/java/com/dbnt/faisp/userInfo/repository/DashboardConfigRepository.java @@ -3,9 +3,7 @@ package com.dbnt.faisp.userInfo.repository; import com.dbnt.faisp.userInfo.model.DashboardConfig; import org.springframework.data.jpa.repository.JpaRepository; -import java.util.List; - - public interface DashboardConfigRepository extends JpaRepository { + void deleteByUserSeq(Integer userSeq); } diff --git a/src/main/java/com/dbnt/faisp/userInfo/service/UserInfoService.java b/src/main/java/com/dbnt/faisp/userInfo/service/UserInfoService.java index b36781c8..6ddaa22f 100644 --- a/src/main/java/com/dbnt/faisp/userInfo/service/UserInfoService.java +++ b/src/main/java/com/dbnt/faisp/userInfo/service/UserInfoService.java @@ -119,4 +119,14 @@ public class UserInfoService implements UserDetailsService { public List getDashboardConfigList(Integer userSeq) { return userInfoMapper.selectDashboardConfigList(userSeq); } + + + @Transactional + public void saveDashboardConfigList(Integer userSeq, List configList) { + dashboardConfigRepository.deleteByUserSeq(userSeq); + for(DashboardConfig config: configList){ + config.setUserSeq(userSeq); + } + dashboardConfigRepository.saveAll(configList); + } } diff --git a/src/main/resources/mybatisMapper/EquipMapper.xml b/src/main/resources/mybatisMapper/EquipMapper.xml index a150fc0e..ae608c15 100644 --- a/src/main/resources/mybatisMapper/EquipMapper.xml +++ b/src/main/resources/mybatisMapper/EquipMapper.xml @@ -441,7 +441,96 @@ order by cm.wrt_dt desc ) a - + + + + + + + + + diff --git a/src/main/resources/mybatisMapper/menuMgtMapper.xml b/src/main/resources/mybatisMapper/menuMgtMapper.xml index f7ce4719..134f67b2 100644 --- a/src/main/resources/mybatisMapper/menuMgtMapper.xml +++ b/src/main/resources/mybatisMapper/menuMgtMapper.xml @@ -4,6 +4,20 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + + + and cat1_cd = #{cat1Cd} + + + and cat2_cd = #{cat2Cd} + + + and cat3_cd = #{cat3Cd} + + + and menu_url like '%'||#{menuUrl}||'%' + + @@ -59,4 +51,30 @@ and aa.access_auth is not null order by cat1_cd, cat2_cd, cat3_cd + + + + \ No newline at end of file diff --git a/src/main/resources/static/js/dashboard.js b/src/main/resources/static/js/dashboard.js new file mode 100644 index 00000000..70d87c9b --- /dev/null +++ b/src/main/resources/static/js/dashboard.js @@ -0,0 +1,32 @@ +$(function (){ + $.ajax({ + type : 'GET', + url : "/myInfo/getDashBoardConfig", + dataType:"json", + success : function(data) { + data = [{menuUrl:"/publicBoard/noticePage"}].concat(data) + getSubPage(data) + }, + error : function(xhr, status) { + + } + }) +}) + +function getSubPage(menuList){ + $.each(menuList, function(idx, menu){ + if(idx<6){ + $.ajax({ + type : 'GET', + url : menu.menuUrl+"?dashboardFlag=true", + dataType:"html", + success : function(html) { + $("#subPage"+idx).append(html); + }, + error : function(xhr, status) { + + } + }) + } + }) +} \ No newline at end of file diff --git a/src/main/resources/static/js/equip/pvre.js b/src/main/resources/static/js/equip/pvre.js new file mode 100644 index 00000000..fefca62d --- /dev/null +++ b/src/main/resources/static/js/equip/pvre.js @@ -0,0 +1,56 @@ + +$(document).on('click', '#addPvre', function (){ + $.ajax({ + url: '/equip/pvreEditModal', + type: 'GET', + dataType:"html", + success: function(html){ + $("#pvreEditModalContent").empty().append(html); + $("#pvreEditModal").modal('show'); + $("#useDt").datepicker({ + format: "mm-dd", + language: "ko" + }); + $('#detailSelf').hide(); + }, + error:function(){ + + } + }); +}) + +$(document).on('click', '#saveUse', function (){ + + if(confirm("저장하시겠습니까?")){ + document.getElementById("mgtOrgan").disabled = false; + contentFade("in"); + const formData = new FormData($("#useFm")[0]); + $.ajax({ + type : 'POST', + data : formData, + url : "/equip/saveUse", + processData: false, + contentType: false, + success : function(result) { + alert("저장되었습니다."); + contentFade("out"); + location.reload(); + }, + error : function(xhr, status) { + alert("저장에 실패하였습니다.") + contentFade("out"); + } + }) + } +}) + +$(document).on('change', '#detailType', function (){ + if($(this).val() == 'USE007'){ + $('#detailSelf').show(); + }else{ + $('#detailSelf').hide(); + $('#detailSelf').val(''); + } + + +}); \ No newline at end of file diff --git a/src/main/resources/static/js/user/info.js b/src/main/resources/static/js/user/info.js index dbdb9e22..b9b02010 100644 --- a/src/main/resources/static/js/user/info.js +++ b/src/main/resources/static/js/user/info.js @@ -5,17 +5,40 @@ $(function (){ url : "/myInfo/getDashBoardConfig", dataType:"json", success : function(data) { - + selectedList = data; }, error : function(xhr, status) { } }) }) + +$(document).on('click', '.configTr', function (event){ + const target = event.target; + if(!(target.className === "moveTd" || $(target).parents(".moveTd").length>0)){ + const chkBox = $(this).find(".configChkBox")[0]; + chkBox.checked = !chkBox.checked; + } +}) $(document).on('click', '#configAddBtn', function (){ searchModalSubmit(1); $("#menuModal").modal('show'); }) +$(document).on('click', '#configDeleteBtn', function (){ + $.each($(".configChkBox:checked"), function (idx, chkBox){ + $(chkBox).parents(".configTr").remove(); + }) + const tempList = []; + $.each($(".configChkBox"), function (idx, chkBox){ + $.each(selectedList, function (idx, menu){ + if(menu.menuKey === Number($(chkBox).attr('data-menukey'))){ + tempList.push(menu); + } + }) + }) + selectedList = tempList; + orderNumSort(); +}) $(document).on('click', '.menuTr', function (){ const checkBox = $(this).find(".menuCheckBox")[0] @@ -23,6 +46,7 @@ $(document).on('click', '.menuTr', function (){ if(checkBox.checked){ selectedList.push({ menuKey: Number(checkBox.value), + orderNum: selectedList.length+1, cat1Cd: $(this).find(".cat1Cd").val(), cat2Cd: $(this).find(".cat2Cd").val(), cat3Cd: $(this).find(".cat3Cd").val(), @@ -32,6 +56,7 @@ $(document).on('click', '.menuTr', function (){ const tempList = []; $.each(selectedList, function (idx, menu){ if(menu.menuKey !== Number(checkBox.value)){ + menu.orderNum = idx+1; tempList.push(menu); } }) @@ -50,7 +75,6 @@ $(document).on('click', '#getMenuBtn', function (){ xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val()); }, success : function(html) { - debugger $("#dashboardConfigTbody").empty().append($(html)[1].children[0].children); $("#menuModal").modal("hide"); }, @@ -86,6 +110,16 @@ $(document).on('click', '#savePasswordBtn', function (){ }) } }) +$(document).on('click', '.upBtn', function (){ + const targetTr = $(this).parents('tr'); + targetTr.prev().before(targetTr); + orderNumSort(); +}) +$(document).on('click', '.downBtn', function (){ + const targetTr = $(this).parents('tr'); + targetTr.next().after(targetTr); + orderNumSort(); +}) $(document).on('click', '#configSaveBtn', function (){ contentFade("in"); @@ -100,7 +134,6 @@ $(document).on('click', '#configSaveBtn', function (){ success : function(data) { alert("저장되었습니다."); contentFade("out"); - location.reload(); }, error : function(xhr, status) { alert("저장에 실패하였습니다.") @@ -109,6 +142,25 @@ $(document).on('click', '#configSaveBtn', function (){ }) }) +function orderNumSort(){ + $.each($(".configTr"), function(idx, tr){ + $(tr).find(".orderNumInput").val(idx+1); + for(const menu of selectedList){ + if(Number($(tr).find(".configChkBox").attr("data-menukey"))===menu.menuKey){ + menu.orderNum = Number($(tr).find(".orderNumInput").val()); + } + } + }) + selectedList.sort(function(a,b){ + if (a.orderNum > b.orderNum) { + return 1; + } + if (a.orderNum < b.orderNum) { + return -1; + } + return 0; + }) +} function setSelectedChkBox(){ $.each(selectedList, function (idx, item){ $("[value="+item.menuKey+"]").prop("checked", true); diff --git a/src/main/resources/templates/equip/pvreEditModal.html b/src/main/resources/templates/equip/pvreEditModal.html new file mode 100644 index 00000000..c591fdbe --- /dev/null +++ b/src/main/resources/templates/equip/pvreEditModal.html @@ -0,0 +1,69 @@ + + + + + + + \ No newline at end of file diff --git a/src/main/resources/templates/equip/pvreUseList.html b/src/main/resources/templates/equip/pvreUseList.html new file mode 100644 index 00000000..c1d6259d --- /dev/null +++ b/src/main/resources/templates/equip/pvreUseList.html @@ -0,0 +1,127 @@ + + + + + +
+
+

휴대용 녹화장비 사용대장

+ + +
+
+
+
+ + +
+
+ +
+
+
+
+ +
+ +
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
연번경찰서사용일시사용사유사용인원비고최종수정일
+
+
+
+ +
+
+
+ + +
+
+
+
+
+
+
+
+
+ + + + +
+ \ No newline at end of file diff --git a/src/main/resources/templates/igActivities/fpiMgt/affair/affairMgtDashboard.html b/src/main/resources/templates/igActivities/fpiMgt/affair/affairMgtDashboard.html new file mode 100644 index 00000000..f6ab4056 --- /dev/null +++ b/src/main/resources/templates/igActivities/fpiMgt/affair/affairMgtDashboard.html @@ -0,0 +1,25 @@ + + +
+
+
외사경찰 견문관리
+
+
+
+
+ + + + + + + + + + + + + +
제목작성일시
+
+ \ No newline at end of file diff --git a/src/main/resources/templates/igActivities/fpiMgt/affairPlan/planMgtDashboard.html b/src/main/resources/templates/igActivities/fpiMgt/affairPlan/planMgtDashboard.html new file mode 100644 index 00000000..aaff4bc4 --- /dev/null +++ b/src/main/resources/templates/igActivities/fpiMgt/affairPlan/planMgtDashboard.html @@ -0,0 +1,25 @@ + + +
+
+
월간계획
+
+
+
+
+ + + + + + + + + + + + + +
제목작성일시
+
+ \ No newline at end of file diff --git a/src/main/resources/templates/igActivities/fpiMgt/affairResult/resultMgtDashboard.html b/src/main/resources/templates/igActivities/fpiMgt/affairResult/resultMgtDashboard.html new file mode 100644 index 00000000..9ff49f15 --- /dev/null +++ b/src/main/resources/templates/igActivities/fpiMgt/affairResult/resultMgtDashboard.html @@ -0,0 +1,25 @@ + + +
+
+
청산보고서
+
+
+
+
+ + + + + + + + + + + + + +
제목작성일시
+
+ \ No newline at end of file diff --git a/src/main/resources/templates/login/dashboard.html b/src/main/resources/templates/login/dashboard.html index d6b42f46..6bff798f 100644 --- a/src/main/resources/templates/login/dashboard.html +++ b/src/main/resources/templates/login/dashboard.html @@ -3,7 +3,7 @@ xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" layout:decorate="~{layout/layout}"> - +
@@ -13,219 +13,27 @@
-
-
-
-
목록1
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
제목12022-08-19
제목22022-08-19
제목32022-08-19
제목42022-08-19
제목52022-08-19
-
+
-
-
-
-
목록2
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
제목12022-08-19
제목22022-08-19
제목32022-08-19
제목42022-08-19
제목52022-08-19
-
+
-
-
-
-
목록3
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
제목12022-08-19
제목22022-08-19
제목32022-08-19
제목42022-08-19
제목52022-08-19
-
+
-
-
-
-
목록4
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
제목12022-08-19
제목22022-08-19
제목32022-08-19
제목42022-08-19
제목52022-08-19
-
+
-
-
-
-
목록5
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
제목12022-08-19
제목22022-08-19
제목32022-08-19
제목42022-08-19
제목52022-08-19
-
+
-
-
-
-
목록6
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
제목12022-08-19
제목22022-08-19
제목32022-08-19
제목42022-08-19
제목52022-08-19
-
+
diff --git a/src/main/resources/templates/publicBoard/notice/noticePageDashboard.html b/src/main/resources/templates/publicBoard/notice/noticePageDashboard.html new file mode 100644 index 00000000..ce38df36 --- /dev/null +++ b/src/main/resources/templates/publicBoard/notice/noticePageDashboard.html @@ -0,0 +1,27 @@ + + +
+
+
공지사항
+
+
+
+
+ + + + + + + + + + + + + + + +
제목작성자작성일시
+
+ \ No newline at end of file diff --git a/src/main/resources/templates/translator/translatorDashBoard.html b/src/main/resources/templates/translator/translatorDashBoard.html new file mode 100644 index 00000000..e6ba0c27 --- /dev/null +++ b/src/main/resources/templates/translator/translatorDashBoard.html @@ -0,0 +1,31 @@ + + +
+
+
민간통역인현황
+
+
+
+
+ + + + + + + + + + + + + + + + + + + +
관서명언어성명위촉일연락처
+
+ \ No newline at end of file diff --git a/src/main/resources/templates/user/dashboardConfigTable.html b/src/main/resources/templates/user/dashboardConfigTable.html index a9970a8f..89fc9f3a 100644 --- a/src/main/resources/templates/user/dashboardConfigTable.html +++ b/src/main/resources/templates/user/dashboardConfigTable.html @@ -1,9 +1,11 @@ - + - + @@ -16,6 +18,9 @@ - +
+ + + + +
\ No newline at end of file diff --git a/src/main/resources/templates/user/myInfo.html b/src/main/resources/templates/user/myInfo.html index 25eb1259..2a431e89 100644 --- a/src/main/resources/templates/user/myInfo.html +++ b/src/main/resources/templates/user/myInfo.html @@ -2,6 +2,14 @@ + + + @@ -26,40 +34,50 @@
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
순번대분류중분류소분류url위치변경
-
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
순번대분류중분류소분류url위치변경
+ + + + +
@@ -140,5 +158,22 @@
+
\ No newline at end of file