321 lines
14 KiB
Java
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(); }
|
|
}
|
|
}
|
|
|
|
}
|