package com.dbnt.faisp.config; import com.dbnt.faisp.main.authMgt.service.AuthMgtService; import com.dbnt.faisp.main.codeMgt.model.CodeMgt; import com.dbnt.faisp.main.faRpt.model.FaRptBoard; import com.dbnt.faisp.main.faRpt.service.FaRptService; import com.dbnt.faisp.main.fpiMgt.affair.model.AffairBoard; import com.dbnt.faisp.main.fpiMgt.affair.model.DashboardAffair; import com.dbnt.faisp.main.fpiMgt.affair.service.AffairService; import com.dbnt.faisp.main.menuMgt.service.MenuMgtService; import com.dbnt.faisp.main.organMgt.service.OrganConfigService; import com.dbnt.faisp.main.publicBoard.model.PublicBoard; import com.dbnt.faisp.main.publicBoard.service.PublicBoardService; import com.dbnt.faisp.main.userInfo.model.UserAlarm; import com.dbnt.faisp.main.userInfo.model.UserInfo; import com.dbnt.faisp.main.codeMgt.service.CodeMgtService; import com.dbnt.faisp.main.userInfo.service.UserAlarmService; import com.dbnt.faisp.main.userInfo.service.UserInfoService; import com.dbnt.faisp.util.Utils; import lombok.RequiredArgsConstructor; import org.springframework.security.core.annotation.AuthenticationPrincipal; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import java.util.List; import java.util.Map; @RestController @RequiredArgsConstructor public class BaseController { private final CodeMgtService codeMgtService; private final OrganConfigService organConfigService; private final MenuMgtService menuMgtService; private final PublicBoardService publicBoardService; private final FaRptService faRptService; private final AffairService affairService; private final UserAlarmService userAlarmService; private final AuthMgtService authMgtService; @GetMapping("/") public ModelAndView loginCheck(@AuthenticationPrincipal UserInfo loginUser) { ModelAndView mav = null; if(loginUser == null){ mav = new ModelAndView("redirect:/login"); }else{ mav = new ModelAndView("redirect:/dashboard"); } return mav; } @GetMapping("/login") public ModelAndView goLogin() { ModelAndView mav = new ModelAndView("login/login2"); return mav; } @GetMapping("/login-error") public ModelAndView loginError() { ModelAndView mav = new ModelAndView("login/login2"); mav.addObject("loginError", true); return mav; } @GetMapping("/denied") public ModelAndView doDenied() { ModelAndView mav = new ModelAndView("login/denied"); return mav; } @GetMapping("/dashboard") public ModelAndView dashboard(@AuthenticationPrincipal UserInfo loginUser, HttpSession session) { ModelAndView mav = new ModelAndView("login/dashboard"); setSession(loginUser, session); PublicBoard noticeParams = new PublicBoard(); noticeParams.setPublicType("PLB001"); noticeParams.setRowCnt(8); noticeParams.setDownOrganCdList(loginUser.getDownOrganCdList()); noticeParams.setUpOrganCdList(loginUser.getUpOrganCdList()); mav.addObject("noticeList", publicBoardService.selectContentList(noticeParams)); UserAlarm alarm = new UserAlarm(); alarm.setUserSeq(loginUser.getUserSeq()); alarm.setViewYn("N"); alarm.setRowCnt(8); mav.addObject("dashboardAlarmList", userAlarmService.selectAlarmList(alarm)); FaRptBoard faRpt = new FaRptBoard(); faRpt.setActiveTab("receive"); faRpt.setRowCnt(8); faRpt.setStatus("DST007"); faRpt.setReceiveUserSeq(loginUser.getUserSeq()); mav.addObject("faRptList", faRptService.selectFaRptList(faRpt)); DashboardAffair affair = new DashboardAffair(); affair.setPlanApprv(authMgtService.selectApprovalConfigList(loginUser.getUserSeq(), "/affairPlan/planMgt").get(0).getApprovalAuth()); affair.setAffairApprv(authMgtService.selectApprovalConfigList(loginUser.getUserSeq(), "/affair/affairMgt/myReport?affairCategory=CAT215").get(0).getApprovalAuth()); affair.setResultApprv(authMgtService.selectApprovalConfigList(loginUser.getUserSeq(), "/affairResult/resultMgt").get(0).getApprovalAuth()); affair.setUserSeq(loginUser.getUserSeq()); affair.setOgCd(loginUser.getOgCd()); mav.addObject("affair1List", affairService.selectDashboardAffairList(affair)); affair.setAffairApprv(authMgtService.selectApprovalConfigList(loginUser.getUserSeq(), "/affair/affairMgt/myReport?affairCategory=CAT216").get(0).getApprovalAuth()); mav.addObject("affair2List", affairService.selectDashboardIntelligenceNetworkList(affair)); return mav; } @GetMapping("/selectBoxOptions") public ModelAndView codeMgtPage(String categoryCd, String selectedCd) { ModelAndView mav = new ModelAndView("common/selectBox/options"); mav.addObject("codeList", codeMgtService.selectCodeMgtList(categoryCd)); mav.addObject("selectedCd", selectedCd); return mav; } @GetMapping("/resetSession") public ModelAndView resetSession(@AuthenticationPrincipal UserInfo loginUser, HttpServletRequest request){ setSession(loginUser, request.getSession()); return new ModelAndView("redirect:/dashboard"); } public void setSession(@AuthenticationPrincipal UserInfo loginUser, HttpSession session){ loginUser.setDownOrganCdList(organConfigService.selectDownOrganList(loginUser.getOgCd())); loginUser.setUpOrganCdList(organConfigService.selectUpOrganList(loginUser.getOgCd())); session.setAttribute("menuList", menuMgtService.selectAccessMenuListWhereUserSeq(loginUser.getUserSeq())); Map> codeMap = codeMgtService.getCommonCode(); session.setAttribute("commonCode", codeMap); session.setAttribute("userSeq", loginUser.getUserSeq()); session.setAttribute("userOrgan", loginUser.getOgCd()); String belongValue = ""; belongValue += Utils.searchCodeValue(loginUser.getOgCd(), codeMap.get("OG")); belongValue += Utils.searchCodeValue(loginUser.getOfcCd(), codeMap.get(loginUser.getOgCd())); belongValue += Utils.searchCodeValue(loginUser.getTitleCd(), codeMap.get("JT")); belongValue += loginUser.getUserNm()+"("+loginUser.getUserId()+")"; session.setAttribute("belongValue", belongValue); } }