package com.dbnt.faisp.fipTarget; import com.dbnt.faisp.authMgt.service.AuthMgtService; 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.publicBoard.model.PublicBoard; import com.dbnt.faisp.translator.model.Translator; import com.dbnt.faisp.userInfo.model.UserInfo; import com.dbnt.faisp.util.ParamMap; import com.dbnt.faisp.util.Utils; import lombok.RequiredArgsConstructor; import java.io.IOException; import java.time.LocalDateTime; import java.util.List; import javax.servlet.http.HttpServletResponse; import org.springframework.security.core.annotation.AuthenticationPrincipal; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.ModelAndView; @RestController @RequiredArgsConstructor @RequestMapping("/target") public class FipTargetController { private final OrganConfigService organConfigService; private final AuthMgtService authMgtService; private final FipTargetService fipTargetService; // 외사분실운영현황 시작 @GetMapping("/partInfoList") public ModelAndView partInfoList(@AuthenticationPrincipal UserInfo loginUser,PartInfo partInfo, HttpServletResponse response) { ModelAndView mav = new ModelAndView("fipTarget/partInfoList"); partInfo.setDownOrganCdList(loginUser.getDownOrganCdList()); //엑셀다운 if(partInfo.getExcel() != null && partInfo.getExcel().equals("Y")){ ParamMap header = fipTargetService.selectWorkTypeTotal(partInfo); String[] headers = { "mgt_organ", "land_police", "mp_work_type", "mp_people_cnt", "mp_description", "pl_work_type", "pl_people_cnt", "pl_description", "terminal_nm", "pi_manager_name", "rent_price", "utility_price", "wrt_dt"}; String[] headerNames = { "해경서", "육경서", "해경", "", "", "육경", "", "", "", "", "", "",""}; String[] headerNames2 = null; if(header != null) { headerNames2 = new String[] { "", "", "상주 "+header.getString("mp_sangju")+"개소 "+header.getString("mp_sangju_total")+"명" ,"비상주 "+header.getString("mp_bsangju")+"개소 "+header.getString("mp_bsangju_total")+"명" ,"폐쇄 "+header.getString("mp_closure")+"개소 "+header.getString("mp_closure_total")+"명" ,"상주 "+header.getString("pl_sangju")+"개소 "+header.getString("pl_sangju_total")+"명" ,"비상주 "+header.getString("pl_bsangju")+"개소 "+header.getString("pl_bsangju_total")+"명" ,"폐쇄 "+header.getString("pl_closure")+"개소 "+header.getString("pl_closure_total")+"명" , "", "", "", "", "" }; }else { headerNames2 = new String[] { "", "", "상주 0개소 0명","비상주 0개소 0명","폐쇄 0개소 0명","상주 0개소 0명","비상주 0개소 0명","폐쇄 0개소 0명", "", "", "", "", "" }; } String[] headerNames3 = { "", "", "근무방법", "명", "비고", "근무방법", "명", "비고", "터미널명", "담당자", "임차료", "공공요금", "최종수정일" }; String[] columnType = { "String", "String", "String", "int", "String", "String", "int", "String", "String", "String", "String","String", "String"}; String sheetName = "외사 분실 현황"; String excelFileName = "외사 분실 현황"; List partInfoList= fipTargetService.selectPartInfoList(partInfo); try { Utils.partInfolistToExcel(partInfoList, response, headers, headerNames,headerNames2,headerNames3, columnType, sheetName, excelFileName); } catch (IOException e) { } return null; } //메뉴권한 확인 String accessAuth = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/equip/equipStatus").get(0).getAccessAuth(); mav.addObject("accessAuth", accessAuth); partInfo.setDownOrganCdList(loginUser.getDownOrganCdList()); partInfo.setQueryInfo(); mav.addObject("total", fipTargetService.selectWorkTypeTotal(partInfo)); mav.addObject("partInfoList", fipTargetService.selectPartInfoList(partInfo)); partInfo.setContentCnt(fipTargetService.selectPartInfoListCnt(partInfo)); partInfo.setPaginationInfo(); mav.addObject("mgtOrganList", loginUser.getDownOrganCdList()); mav.addObject("searchParams", partInfo); return mav; } @GetMapping("/partInfoEditModal") public ModelAndView partInfoEditModal(@AuthenticationPrincipal UserInfo loginUser,PartInfo partInfo) { ModelAndView mav = new ModelAndView("fipTarget/partInfoEditModal"); mav.addObject("mgtOrganList", loginUser.getDownOrganCdList()); return mav; } @GetMapping("/partInfoSelecBox") public ModelAndView equipTypeSelecBox(String ogCd) { ModelAndView mav = new ModelAndView("fipTarget/partInfoSelecBox"); ParamMap param = new ParamMap(); param.put("downOrganCdList", organConfigService.selectDownOrganListWhereUserOgCd(ogCd)); mav.addObject("managerList", fipTargetService.selectPartInfoManagerList(param)); return mav; } @PostMapping("/savePartInfo") public void savePartInfo (@AuthenticationPrincipal UserInfo loginUser, PartInfo partInfo,MultipartHttpServletRequest request){ partInfo.setMultipartFileList(request.getMultiFileMap().get("uploadFiles")); partInfo.setWrtNm(loginUser.getUserId()); partInfo.setWrtPart(loginUser.getOfcCd()); partInfo.setWrtUserSeq(loginUser.getUserSeq()); partInfo.setWrtOrgan(loginUser.getOgCd()); partInfo.setWrtDt(LocalDateTime.now()); fipTargetService.savePartInfo(partInfo); } @GetMapping("/updatePartInfoPage") public ModelAndView updatePartInfoPage(@AuthenticationPrincipal UserInfo loginUser,PartInfo partInfo) { ModelAndView mav = new ModelAndView("fipTarget/partInfoModifyModal"); mav.addObject("mgtOrganList", loginUser.getDownOrganCdList()); PartInfo partInfoView = fipTargetService.selectPartInfo(partInfo); ParamMap param = new ParamMap(); param.put("downOrganCdList", organConfigService.selectDownOrganListWhereUserOgCd(partInfoView.getMgtOrgan())); mav.addObject("managerList", fipTargetService.selectPartInfoManagerList(param)); partInfoView.setFileList(fipTargetService.selectPartInfoFile(partInfo)); mav.addObject("partInfo", partInfoView); return mav; } @PostMapping("/updatePartInfo") public int updatePartInfo (@AuthenticationPrincipal UserInfo loginUser,PartInfo partInfo, MultipartHttpServletRequest request, @RequestParam(value = "fileSeq", required = false) List < Integer > deleteFileSeq){ partInfo.setMultipartFileList(request.getMultiFileMap().get("uploadFiles")); partInfo.setWrtUserSeq(loginUser.getUserSeq()); partInfo.setWrtNm(loginUser.getUserId()); partInfo.setWrtPart(loginUser.getOfcCd()); partInfo.setWrtDt(LocalDateTime.now()); fipTargetService.updatePartInfo(partInfo,deleteFileSeq); return partInfo.getPiSeq(); } @GetMapping("/PartInfoHistoryPage") public ModelAndView PartInfoHistoryPage(PartInfo partInfo) { ModelAndView mav = new ModelAndView("fipTarget/partInfoHistory"); mav.addObject("partInfoList", fipTargetService.selectPartInfoSeq(partInfo)); return mav; } @GetMapping("/partInfoHistoryView") @ResponseBody public PartInfo partInfoHistoryView(PartInfo partInfo){ PartInfo partInfoHistory = fipTargetService.selectPartInfoHistoryView(partInfo); partInfoHistory.setFileList(fipTargetService.selectPartInfoFileHistoryView(partInfo)); return partInfoHistory; } @PostMapping("/deletePartInfo") @ResponseBody public void deletePartInfo(@RequestBody PartInfo partInfo) { fipTargetService.deletePartInfo(partInfo); } //외사분실 운영현황 끝 }