FAISP/src/main/java/com/dbnt/faisp/main/counterIntelligence/CounterIntelligenceControll...

321 lines
14 KiB
Java

package com.dbnt.faisp.main.counterIntelligence;
import com.dbnt.faisp.main.authMgt.service.AuthMgtService;
import com.dbnt.faisp.main.codeMgt.service.CodeMgtService;
import com.dbnt.faisp.main.counterIntelligence.model.*;
import com.dbnt.faisp.main.counterIntelligence.service.CounterIntelligenceService;
import com.dbnt.faisp.main.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 javax.servlet.http.HttpServletResponse;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.time.LocalDateTime;
import java.util.List;
@RestController
@RequiredArgsConstructor
@RequestMapping("/counterIntelligence")
public class CounterIntelligenceController {
private final CounterIntelligenceService ciService;
private final AuthMgtService authMgtService;
private final CodeMgtService codeMgtService;
@GetMapping("/ciWorkList")
public ModelAndView ciWorkListPage(@AuthenticationPrincipal UserInfo loginUser, CounterIntelligenceWork ciWork){
ModelAndView mav = new ModelAndView("counterIntelligence/ciWork/ciWorkBoard");
mav.addObject("searchUrl", "/counterIntelligence/ciWorkList");
String accessAuth = authMgtService.selectAccessConfigList
(loginUser.getUserSeq(), "/counterIntelligence/ciWorkList").get(0).getAccessAuth();
mav.addObject("accessAuth", accessAuth);
if(accessAuth.equals("ACC003")){
mav.addObject("downOrganCdList", loginUser.getDownOrganCdList());
ciWork.setDownOrganCdList(loginUser.getDownOrganCdList());
}else{
ciWork.setWrtOrgan(loginUser.getOgCd());
}
ciWork.setQueryInfo();
mav.addObject("ciWorkList", ciService.selectCounterIntelligenceWorkList(ciWork));
ciWork.setContentCnt(ciService.selectCounterIntelligenceWorkCnt(ciWork));
ciWork.setPaginationInfo();
mav.addObject("searchParams", ciWork);
return mav;
}
@GetMapping("/ciWorkEditModal")
public ModelAndView ciWorkEditModal(@AuthenticationPrincipal UserInfo loginUser, CounterIntelligenceWork ciWork){
ModelAndView mav = new ModelAndView("counterIntelligence/ciWork/ciWorkEditModal");
mav.addObject("ciwrCodeList", codeMgtService.selectCodeMgtList("CIWR"));
if(ciWork.getCiwKey()==null){
ciWork.setWrtOrgan(loginUser.getOgCd());
ciWork.setWrtPart(loginUser.getOfcCd());
ciWork.setWrtUserSeq(loginUser.getUserSeq());
ciWork.setWrtUserGrd(loginUser.getTitleCd());
ciWork.setWrtUserNm(loginUser.getUserNm());
ciWork.setWrtDt(LocalDateTime.now());
}else{
ciWork = ciService.selectCounterIntelligenceWork(ciWork.getCiwKey());
}
String accessAuth = authMgtService.selectAccessConfigList
(loginUser.getUserSeq(), "/counterIntelligence/ciWorkList").get(0).getAccessAuth();
mav.addObject("accessAuth", accessAuth);
mav.addObject("ciWork", ciWork);
return mav;
}
@GetMapping("/ciWorkViewModal")
public ModelAndView ciWorkViewModal(@AuthenticationPrincipal UserInfo loginUser, CounterIntelligenceWork ciWork){
ModelAndView mav = new ModelAndView("counterIntelligence/ciWork/ciWorkViewModal");
mav.addObject("lineSeparator", '\n');
mav.addObject("viewUserSeq", loginUser.getUserSeq());
String accessAuth = authMgtService.selectAccessConfigList
(loginUser.getUserSeq(), "/counterIntelligence/ciWorkList").get(0).getAccessAuth();
mav.addObject("accessAuth", accessAuth);
mav.addObject("ciWork", ciService.selectCounterIntelligenceWork(ciWork.getCiwKey()));
return mav;
}
@PostMapping("/saveCiWork")
public Integer saveCiWork(CounterIntelligenceWork ciWork,
MultipartHttpServletRequest request,
@RequestParam(value = "fileSeq", required = false) List<Integer> deleteFileSeq){
ciWork.setMultipartFileList(request.getMultiFileMap().get("uploadFiles"));
return ciService.saveCiWork(ciWork, deleteFileSeq);
}
@PostMapping("/deleteCiWork")
public Integer deleteCiWork(@AuthenticationPrincipal UserInfo loginUser, CounterIntelligenceWork ciWork){
// String accessAuth = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/counterIntelligence/ciWorkList").get(0).getAccessAuth();
return ciService.deleteCiWork(ciWork.getCiwKey());
/*if(accessAuth.equals("ACC003")){
return ciService.deleteCiWork(ciWork.getCiwKey());
}else{
return 0;
}*/
}
@GetMapping("/CiWorkStatistics")
public ModelAndView ciWorkStatistics(@AuthenticationPrincipal UserInfo loginUser, CiWorkStatistics ciWorkStatistics){
if(ciWorkStatistics.getYear()==null){
ciWorkStatistics.setYear(LocalDateTime.now().getYear());
}
ModelAndView mav = new ModelAndView("counterIntelligence/ciWork/ciWorkStatistics");
mav.addObject("yearList", ciService.selectCiWorkYearList());
String accessAuth = authMgtService.selectAccessConfigList
(loginUser.getUserSeq(), "/counterIntelligence/ciWorkList").get(0).getAccessAuth();
if(accessAuth.equals("ACC003")) {
ciWorkStatistics.setDownOrganCdList(loginUser.getDownOrganCdList());
}else{
ciWorkStatistics.setOgCd(loginUser.getOgCd());
}
mav.addObject("ciWorkStatisticsList", ciService.selectCiWorkStatisticsList(ciWorkStatistics));
mav.addObject("searchParams", ciWorkStatistics);
return mav;
}
@PostMapping("/saveCiActivity")
public Integer saveCiActivity(CounterIntelligenceActivity cia,@AuthenticationPrincipal UserInfo loginUser,
MultipartHttpServletRequest request,
@RequestParam(value = "fileSeq", required = false) List<Integer> deleteFileSeq){
cia.setMultipartFileList(request.getMultiFileMap().get("uploadFiles"));
if(cia.getCiKey()==null){
cia.setWrtOrgan(loginUser.getOgCd());
cia.setWrtPart(loginUser.getOfcCd());
cia.setWrtUserSeq(loginUser.getUserSeq());
cia.setWrtUserGrd(loginUser.getTitleCd());
cia.setWrtUserNm(loginUser.getUserNm());
cia.setWrtDt(LocalDateTime.now());
}
Integer ciKey = ciService.saveCiActivity(cia, deleteFileSeq);
return ciKey;
}
@GetMapping("/ciaSafetyDemandList")
public ModelAndView ciaSafetyDemandList(@AuthenticationPrincipal UserInfo loginUser, CounterIntelligenceActivity cia){
ModelAndView mav = new ModelAndView("counterIntelligence/ciaSafetyDemandList");
String accessAuth = authMgtService.selectAccessConfigList
(loginUser.getUserSeq(), "/counterIntelligence/ciaSafetyDemandList").get(0).getAccessAuth();
mav.addObject("accessAuth", accessAuth);
cia.setDownOrganCdList(loginUser.getDownOrganCdList());
cia.setWrtUserSeq(loginUser.getUserSeq());
cia.setQueryInfo();
mav.addObject("sdiList", ciService.selectCiaSafetyDemandList(cia));
cia.setContentCnt(ciService.selectCiaSafetyDemandListCnt(cia));
cia.setPaginationInfo();
mav.addObject("mgtOrganList", loginUser.getDownOrganCdList());
mav.addObject("loginUserSeq", loginUser.getUserSeq());
mav.addObject("searchParams", cia);
return mav;
}
@GetMapping("/ciaManageCompanyList")
public ModelAndView ciaManageCompanyList(@AuthenticationPrincipal UserInfo loginUser, CounterIntelligenceActivity cia){
ModelAndView mav = new ModelAndView("counterIntelligence/ciaManageCompanyList");
String accessAuth = authMgtService.selectAccessConfigList
(loginUser.getUserSeq(), "/counterIntelligence/ciaManageCompanyList").get(0).getAccessAuth();
mav.addObject("accessAuth", accessAuth);
cia.setWrtUserSeq(loginUser.getUserSeq());
cia.setDownOrganCdList(loginUser.getDownOrganCdList());
cia.setQueryInfo();
mav.addObject("mciList", ciService.selectCiaManageCompanyList(cia));
cia.setContentCnt(ciService.selectCiaManageCompanyListCnt(cia));
cia.setPaginationInfo();
mav.addObject("mgtOrganList", loginUser.getDownOrganCdList());
mav.addObject("loginUserSeq", loginUser.getUserSeq());
mav.addObject("searchParams", cia);
return mav;
}
@GetMapping("/ciaForeignerList")
public ModelAndView ciaForeignerList(@AuthenticationPrincipal UserInfo loginUser, CounterIntelligenceActivity cia){
ModelAndView mav = new ModelAndView("counterIntelligence/ciaForeignerList");
String accessAuth = authMgtService.selectAccessConfigList
(loginUser.getUserSeq(), "/counterIntelligence/ciaForeignerList").get(0).getAccessAuth();
mav.addObject("accessAuth", accessAuth);
cia.setWrtUserSeq(loginUser.getUserSeq());
cia.setDownOrganCdList(loginUser.getDownOrganCdList());
cia.setQueryInfo();
mav.addObject("fiList", ciService.selectCiaForeignerList(cia));
cia.setContentCnt(ciService.selectCiaForeignerListCnt(cia));
cia.setPaginationInfo();
mav.addObject("mgtOrganList", loginUser.getDownOrganCdList());
mav.addObject("loginUserSeq", loginUser.getUserSeq());
mav.addObject("searchParams", cia);
return mav;
}
@GetMapping("/ciaEduList")
public ModelAndView ciaEduList(@AuthenticationPrincipal UserInfo loginUser, CounterIntelligenceActivity cia){
ModelAndView mav = new ModelAndView("counterIntelligence/ciaEduList");
String accessAuth = authMgtService.selectAccessConfigList
(loginUser.getUserSeq(), "/counterIntelligence/ciaEduList").get(0).getAccessAuth();
mav.addObject("accessAuth", accessAuth);
cia.setWrtUserSeq(loginUser.getUserSeq());
cia.setDownOrganCdList(loginUser.getDownOrganCdList());
cia.setQueryInfo();
mav.addObject("eiList", ciService.selectCiaEduList(cia));
cia.setContentCnt(ciService.selectCiaEduListCnt(cia));
cia.setPaginationInfo();
mav.addObject("mgtOrganList", loginUser.getDownOrganCdList());
mav.addObject("loginUserSeq", loginUser.getUserSeq());
mav.addObject("searchParams", cia);
return mav;
}
@GetMapping("/ciaEditModal")
public ModelAndView ciaEditModal(@AuthenticationPrincipal UserInfo loginUser, CounterIntelligenceActivity cia){
ModelAndView mav = null;
switch (cia.getCiType()){
case "SDI":
mav = new ModelAndView("counterIntelligence/ciaSafetyDemandEditModal");
break;
case "MCI":
mav = new ModelAndView("counterIntelligence/ciaManageCompanyEditModal");
break;
case "FI":
mav = new ModelAndView("counterIntelligence/ciaForeignerEditModal");
break;
case "EI":
mav = new ModelAndView("counterIntelligence/ciaEduEditModal");
break;
}
mav.addObject("mgtOrganList", loginUser.getDownOrganCdList());
mav.addObject("cia", ciService.selectCiaInfo(cia));
return mav;
}
@GetMapping("/ciaViewModal")
public ModelAndView ciaViewModal(@AuthenticationPrincipal UserInfo loginUser, CounterIntelligenceActivity cia){
ModelAndView mav = null;
String accessAuth = null;
switch (cia.getCiType()){
case "SDI":
mav = new ModelAndView("counterIntelligence/ciaSafetyDemandViewModal");
accessAuth = authMgtService.selectAccessConfigList
(loginUser.getUserSeq(), "/counterIntelligence/ciaSafetyDemandList").get(0).getAccessAuth();
break;
case "MCI":
mav = new ModelAndView("counterIntelligence/ciaManageCompanyViewModal");
accessAuth = authMgtService.selectAccessConfigList
(loginUser.getUserSeq(), "/counterIntelligence/ciaManageCompanyList").get(0).getAccessAuth();
break;
case "FI":
mav = new ModelAndView("counterIntelligence/ciaForeignerViewModal");
accessAuth = authMgtService.selectAccessConfigList
(loginUser.getUserSeq(), "/counterIntelligence/ciaForeignerList").get(0).getAccessAuth();
break;
case "EI":
mav = new ModelAndView("counterIntelligence/ciaEduViewModal");
accessAuth = authMgtService.selectAccessConfigList
(loginUser.getUserSeq(), "/counterIntelligence/ciaEduList").get(0).getAccessAuth();
break;
}
mav.addObject("accessAuth", accessAuth);
mav.addObject("lineSeparator", '\n');
mav.addObject("viewUserSeq", loginUser.getUserSeq());
mav.addObject("cia", ciService.selectCiaInfo(cia));
return mav;
}
@PostMapping("/deleteCounterIntelligenceActivity")
public void deleteCounterIntelligenceActivity(@AuthenticationPrincipal UserInfo loginUser,@RequestBody CounterIntelligenceActivity cia){
cia.setContentStatus("DST008");
ciService.deleteCounterIntelligenceActivity(cia);
}
@GetMapping("/getCiaForeignerImg")
public void getCiaForeignerImg(CiaFile cf , HttpServletResponse response) throws Exception {
CiaFile dbImg = ciService.selectCiaForeignerFile(cf.getCiKey(),cf.getFileSeq());
String realFile = dbImg.getSavePath()+"/"+ dbImg.getConvNm();
String fileNm = dbImg.getConvNm();
BufferedOutputStream out = null;
InputStream in = null;
try {
response.setContentType("image/jpeg;charset=UTF-8");
response.setHeader("Content-Disposition", "inline;filename=" + fileNm);
File file = new File(realFile);
// File file = new File(realFile + "/" + fileNm);
if(file.exists()){
in = new FileInputStream(file);
out = new BufferedOutputStream(response.getOutputStream());
int len;
byte[] buf = new byte[1024];
while ((len = in.read(buf)) > 0) {
out.write(buf, 0, len);
}
}
} catch (Exception e) {
} finally {
if(out != null){ out.flush(); }
if(out != null){ out.close(); }
if(in != null){ in.close(); }
}
}
}