2022-09-11 06:30:20 +00:00
|
|
|
package com.dbnt.faisp.fpiMgt;
|
2022-09-05 09:02:09 +00:00
|
|
|
|
2022-09-14 08:50:34 +00:00
|
|
|
import com.dbnt.faisp.authMgt.service.AuthMgtService;
|
2022-09-11 06:30:20 +00:00
|
|
|
import com.dbnt.faisp.fpiMgt.monthPlan.service.MonthPlanService;
|
2022-09-05 09:02:09 +00:00
|
|
|
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;
|
2022-09-06 09:10:03 +00:00
|
|
|
import org.springframework.web.bind.annotation.*;
|
2022-09-13 06:41:19 +00:00
|
|
|
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
2022-09-05 09:02:09 +00:00
|
|
|
import org.springframework.web.servlet.ModelAndView;
|
|
|
|
|
|
2022-09-06 09:10:03 +00:00
|
|
|
import java.time.LocalDateTime;
|
2022-09-14 08:50:34 +00:00
|
|
|
import java.util.HashMap;
|
2022-09-06 09:10:03 +00:00
|
|
|
import java.util.List;
|
2022-09-14 08:50:34 +00:00
|
|
|
import java.util.Map;
|
2022-09-06 09:10:03 +00:00
|
|
|
|
2022-09-05 09:02:09 +00:00
|
|
|
@RestController
|
|
|
|
|
@RequiredArgsConstructor
|
|
|
|
|
@RequestMapping("/fpiMgt")
|
|
|
|
|
public class FpiMgtController { // 외사경찰견문관리
|
|
|
|
|
private final MonthPlanService monthPlanService;
|
2022-09-14 08:50:34 +00:00
|
|
|
private final AuthMgtService authMgtService;
|
2022-09-05 09:02:09 +00:00
|
|
|
|
|
|
|
|
@GetMapping("/monthPlanPage")
|
|
|
|
|
public ModelAndView monthPlanPage(@AuthenticationPrincipal UserInfo loginUser, BoardPlan boardPlan){
|
2022-09-14 08:50:34 +00:00
|
|
|
ModelAndView mav = new ModelAndView("igActivities/fpiMgt/affairPlan/monthPlan");
|
|
|
|
|
Map<String, Object> params = new HashMap<>();
|
|
|
|
|
params.put("userSeq", loginUser.getUserSeq());
|
|
|
|
|
params.put("menuUrl", "/fpiMgt/monthPlanPage");
|
|
|
|
|
//메뉴권한 확인
|
|
|
|
|
String accessAuth = authMgtService.selectAccessConfigList(params).get(0).getAccessAuth();
|
|
|
|
|
switch (accessAuth){
|
|
|
|
|
case "ACC001": // 조회
|
|
|
|
|
case "ACC002": // 작성 // 자신이 작성한 문서만 열람가능
|
|
|
|
|
boardPlan.setWrtUserSeq(loginUser.getUserSeq());
|
|
|
|
|
break;
|
|
|
|
|
case "ACC003": // 관리 // 자신 외 하위 기관에서 작성한 문서 열람가능
|
|
|
|
|
boardPlan.setOrganCdList(loginUser.getOrganCdList());
|
|
|
|
|
mav.addObject("mgtOrganList", loginUser.getOrganCdList());
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
mav.addObject("accessAuth", accessAuth);
|
|
|
|
|
//결재권한 확인
|
|
|
|
|
//authMgtService.selectApprovalConfigList(params);
|
2022-09-05 09:02:09 +00:00
|
|
|
boardPlan.setQueryInfo();
|
2022-09-08 05:28:20 +00:00
|
|
|
mav.addObject("planList", monthPlanService.selectBoardPlanList(boardPlan));
|
|
|
|
|
boardPlan.setContentCnt(monthPlanService.selectBoardPlanListCnt(boardPlan));
|
2022-09-05 09:02:09 +00:00
|
|
|
boardPlan.setPaginationInfo();
|
|
|
|
|
mav.addObject("searchParams", boardPlan);
|
|
|
|
|
return mav;
|
|
|
|
|
}
|
2022-09-06 09:10:03 +00:00
|
|
|
|
|
|
|
|
@GetMapping("/planEditModal")
|
|
|
|
|
public ModelAndView planEditModal(@AuthenticationPrincipal UserInfo loginUser, BoardPlan boardPlan){
|
2022-09-14 08:50:34 +00:00
|
|
|
ModelAndView mav = new ModelAndView("igActivities/fpiMgt/affairPlan/planEditModal");
|
2022-09-06 09:10:03 +00:00
|
|
|
if(boardPlan.getPlanKey()!=null){
|
|
|
|
|
boardPlan = monthPlanService.selectBoardPlan(boardPlan.getPlanKey());
|
|
|
|
|
}else{
|
|
|
|
|
boardPlan.setWrtOrgan(loginUser.getOgCd());
|
2022-09-14 08:50:34 +00:00
|
|
|
boardPlan.setWrtUserSeq(loginUser.getUserSeq());
|
|
|
|
|
boardPlan.setWrtUserNm(loginUser.getUserNm());
|
2022-09-06 09:10:03 +00:00
|
|
|
boardPlan.setWrtDt(LocalDateTime.now());
|
|
|
|
|
}
|
|
|
|
|
mav.addObject("plan", boardPlan);
|
|
|
|
|
return mav;
|
|
|
|
|
}
|
|
|
|
|
|
2022-09-11 06:30:20 +00:00
|
|
|
@GetMapping("/planViewModal")
|
|
|
|
|
public ModelAndView planViewModal(BoardPlan boardPlan){
|
2022-09-14 08:50:34 +00:00
|
|
|
ModelAndView mav = new ModelAndView("igActivities/fpiMgt/affairPlan/planViewModal");
|
2022-09-11 06:30:20 +00:00
|
|
|
boardPlan = monthPlanService.selectBoardPlan(boardPlan.getPlanKey());
|
|
|
|
|
mav.addObject("plan", boardPlan);
|
|
|
|
|
return mav;
|
|
|
|
|
}
|
|
|
|
|
|
2022-09-06 09:10:03 +00:00
|
|
|
@PostMapping("/savePlan")
|
|
|
|
|
public Integer savePlan(BoardPlan boardPlan,
|
|
|
|
|
@RequestParam(value = "planInfos", required = false) List<String> planInfos,
|
2022-09-13 06:41:19 +00:00
|
|
|
@RequestParam(value = "detailPlanInfos", required = false)List<String> detailPlanInfos,
|
|
|
|
|
MultipartHttpServletRequest request,
|
|
|
|
|
@RequestParam(value = "fileSeq", required = false) List<Integer> deleteFileSeq){
|
|
|
|
|
boardPlan.setMultipartFileList(request.getMultiFileMap().get("uploadFiles"));
|
|
|
|
|
return monthPlanService.saveBoardPlan(boardPlan, planInfos, detailPlanInfos, deleteFileSeq);
|
2022-09-06 09:10:03 +00:00
|
|
|
}
|
2022-09-14 08:50:34 +00:00
|
|
|
|
|
|
|
|
@GetMapping("/apprvStayPage")
|
|
|
|
|
public ModelAndView apprvStayPage(@AuthenticationPrincipal UserInfo loginUser, BoardPlan boardPlan){
|
|
|
|
|
ModelAndView mav = new ModelAndView("igActivities/fpiMgt/affairPlan/stayPlan");
|
|
|
|
|
Map<String, Object> params = new HashMap<>();
|
|
|
|
|
params.put("userSeq", loginUser.getUserSeq());
|
|
|
|
|
params.put("menuUrl", "/fpiMgt/monthPlanPage");
|
|
|
|
|
//메뉴권한 확인
|
|
|
|
|
String accessAuth = authMgtService.selectAccessConfigList(params).get(0).getAccessAuth();
|
|
|
|
|
switch (accessAuth){
|
|
|
|
|
case "ACC001": // 조회
|
|
|
|
|
case "ACC002": // 작성 // 자신이 작성한 문서만 열람가능
|
|
|
|
|
boardPlan.setWrtUserSeq(loginUser.getUserSeq());
|
|
|
|
|
break;
|
|
|
|
|
case "ACC003": // 관리 // 자신 외 하위 기관에서 작성한 문서 열람가능
|
|
|
|
|
boardPlan.setOrganCdList(loginUser.getOrganCdList());
|
|
|
|
|
mav.addObject("mgtOrganList", loginUser.getOrganCdList());
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
//결재권한 확인
|
|
|
|
|
String apprvAuth = authMgtService.selectApprovalConfigList(params).get(0).getApprovalAuth();
|
|
|
|
|
switch (apprvAuth){
|
|
|
|
|
case "ACC004": // 계장대행
|
|
|
|
|
case "ACC003": // 계장 // 결재대기 문서 조회
|
|
|
|
|
boardPlan.setPlanState("DST002");
|
|
|
|
|
break;
|
|
|
|
|
case "ACC002": // 부장대행
|
|
|
|
|
case "ACC001": // 부장 // 계장승인 문서 조회
|
|
|
|
|
boardPlan.setPlanState("DST004");
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
mav.addObject("accessAuth", accessAuth);
|
|
|
|
|
mav.addObject("apprvAuth", apprvAuth);
|
|
|
|
|
boardPlan.setQueryInfo();
|
|
|
|
|
mav.addObject("planList", monthPlanService.selectBoardPlanList(boardPlan));
|
|
|
|
|
boardPlan.setContentCnt(monthPlanService.selectBoardPlanListCnt(boardPlan));
|
|
|
|
|
boardPlan.setPaginationInfo();
|
|
|
|
|
mav.addObject("searchParams", boardPlan);
|
|
|
|
|
return mav;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@GetMapping("/apprvCommitPage")
|
|
|
|
|
public ModelAndView apprvCommitPage(@AuthenticationPrincipal UserInfo loginUser, BoardPlan boardPlan){
|
|
|
|
|
ModelAndView mav = new ModelAndView("igActivities/fpiMgt/affairPlan/commitPlan");
|
|
|
|
|
Map<String, Object> params = new HashMap<>();
|
|
|
|
|
params.put("userSeq", loginUser.getUserSeq());
|
|
|
|
|
params.put("menuUrl", "/fpiMgt/monthPlanPage");
|
|
|
|
|
//메뉴권한 확인
|
|
|
|
|
String accessAuth = authMgtService.selectAccessConfigList(params).get(0).getAccessAuth();
|
|
|
|
|
switch (accessAuth){
|
|
|
|
|
case "ACC001": // 조회
|
|
|
|
|
case "ACC002": // 작성 // 자신의 관서 내에서 작성한 문서만 열람가능
|
|
|
|
|
boardPlan.setWrtOrgan(loginUser.getOgCd());
|
|
|
|
|
break;
|
|
|
|
|
case "ACC003": // 관리 // 자신 외 하위 기관에서 작성한 문서 열람가능
|
|
|
|
|
boardPlan.setOrganCdList(loginUser.getOrganCdList());
|
|
|
|
|
mav.addObject("mgtOrganList", loginUser.getOrganCdList());
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
//결재권한 확인
|
|
|
|
|
String apprvAuth = authMgtService.selectApprovalConfigList(params).get(0).getApprovalAuth();
|
|
|
|
|
switch (apprvAuth){
|
|
|
|
|
case "ACC004": // 계장대행
|
|
|
|
|
case "ACC003": // 계장 // 계장반려, 계장승인 문서 조회
|
|
|
|
|
boardPlan.setPlanState("DST002");
|
|
|
|
|
break;
|
|
|
|
|
case "ACC002": // 부장대행
|
|
|
|
|
case "ACC001": // 부장 // 부장반려, 부장승인 문서 조회
|
|
|
|
|
boardPlan.setPlanState("DST004");
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
mav.addObject("accessAuth", accessAuth);
|
|
|
|
|
mav.addObject("apprvAuth", apprvAuth);
|
|
|
|
|
boardPlan.setQueryInfo();
|
|
|
|
|
mav.addObject("planList", monthPlanService.selectBoardPlanList(boardPlan));
|
|
|
|
|
boardPlan.setContentCnt(monthPlanService.selectBoardPlanListCnt(boardPlan));
|
|
|
|
|
boardPlan.setPaginationInfo();
|
|
|
|
|
mav.addObject("searchParams", boardPlan);
|
|
|
|
|
return mav;
|
|
|
|
|
}
|
2022-09-05 09:02:09 +00:00
|
|
|
}
|