package com.dbnt.faisp.config; 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.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.UserInfo; import com.dbnt.faisp.main.codeMgt.service.CodeMgtService; import com.dbnt.faisp.main.userInfo.service.UserInfoService; 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; @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/login"); return mav; } @GetMapping("/login-error") public ModelAndView loginError() { ModelAndView mav = new ModelAndView("login/login"); 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) { ModelAndView mav = new ModelAndView("login/dashboard"); PublicBoard noticeParams = new PublicBoard(); noticeParams.setPublicType("PLB001"); noticeParams.setRowCnt(5); noticeParams.setDownOrganCdList(loginUser.getDownOrganCdList()); noticeParams.setUpOrganCdList(loginUser.getUpOrganCdList()); mav.addObject("noticeList", publicBoardService.selectContentList(noticeParams)); FaRptBoard faRpt = new FaRptBoard(); faRpt.setActiveTab("receive"); faRpt.setRowCnt(5); faRpt.setStatus("DST007"); faRpt.setReceiveUserSeq(loginUser.getUserSeq()); mav.addObject("faRptList", faRptService.selectFaRptList(faRpt)); AffairBoard affair = new AffairBoard(); affair.setAffairCategory("CAT215"); affair.setRatingOrgan(loginUser.getOgCd()); affair.setRowCnt(5); mav.addObject("affair1List", affairService.selectAffairBoardList(affair)); affair.setAffairCategory("CAT216"); mav.addObject("affair2List", affairService.selectAffairBoardList(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.selectDownOrganListWhereUserOgCd(loginUser.getOgCd())); loginUser.setUpOrganCdList(organConfigService.selectUpOrganListWhereUserOgCd(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 += searchCodeValue(loginUser.getOgCd(), codeMap.get("OG")); belongValue += searchCodeValue(loginUser.getOfcCd(), codeMap.get("OFC")); belongValue += searchCodeValue(loginUser.getTitleCd(), codeMap.get("JT")); belongValue += loginUser.getUserNm()+"("+loginUser.getUserId()+")"; session.setAttribute("belongValue", belongValue); } private String searchCodeValue(String itemCd, List codeList){ if(itemCd==null){ return ""; }else{ for(CodeMgt code: codeList){ if(itemCd.equals(code.getItemCd())){ return code.getItemValue()+" "; } } } return ""; } }