package com.dbnt.faisp.fpiMgt; import com.dbnt.faisp.fpiMgt.monthPlan.service.MonthPlanService; import com.dbnt.faisp.fpiMgt.monthPlan.model.BoardPlan; 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("/fpiMgt") public class FpiMgtController { // 외사경찰견문관리 private final MonthPlanService monthPlanService; @GetMapping("/monthPlanPage") public ModelAndView monthPlanPage(@AuthenticationPrincipal UserInfo loginUser, BoardPlan boardPlan){ ModelAndView mav = new ModelAndView("igActivities/fpiMgt/monthPlan/monthPlan"); mav.addObject("loginUser", loginUser); boardPlan.setWrtNm(loginUser.getUserNm()); boardPlan.setQueryInfo(); mav.addObject("planList", monthPlanService.selectBoardPlanList(boardPlan)); boardPlan.setContentCnt(monthPlanService.selectBoardPlanListCnt(boardPlan)); boardPlan.setPaginationInfo(); mav.addObject("searchParams", boardPlan); return mav; } @GetMapping("/planEditModal") public ModelAndView planEditModal(@AuthenticationPrincipal UserInfo loginUser, BoardPlan boardPlan){ ModelAndView mav = new ModelAndView("igActivities/fpiMgt/monthPlan/planEditModal"); if(boardPlan.getPlanKey()!=null){ boardPlan = monthPlanService.selectBoardPlan(boardPlan.getPlanKey()); }else{ boardPlan.setWrtOrgan(loginUser.getOgCd()); boardPlan.setWrtNm(loginUser.getUserNm()); boardPlan.setWrtDt(LocalDateTime.now()); } mav.addObject("plan", boardPlan); return mav; } @GetMapping("/planViewModal") public ModelAndView planViewModal(BoardPlan boardPlan){ ModelAndView mav = new ModelAndView("igActivities/fpiMgt/monthPlan/planViewModal"); boardPlan = monthPlanService.selectBoardPlan(boardPlan.getPlanKey()); mav.addObject("plan", boardPlan); return mav; } @PostMapping("/savePlan") public Integer savePlan(BoardPlan boardPlan, @RequestParam(value = "planInfos", required = false) List planInfos, @RequestParam(value = "detailPlanInfos", required = false)List detailPlanInfos, MultipartHttpServletRequest request, @RequestParam(value = "fileSeq", required = false) List deleteFileSeq){ boardPlan.setMultipartFileList(request.getMultiFileMap().get("uploadFiles")); return monthPlanService.saveBoardPlan(boardPlan, planInfos, detailPlanInfos, deleteFileSeq); } }