You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
329 lines
9.2 KiB
Java
329 lines
9.2 KiB
Java
package cokr.xit.fims.nxrp.web;
|
|
|
|
import java.io.File;
|
|
import java.io.FileInputStream;
|
|
import java.io.IOException;
|
|
import java.io.InputStream;
|
|
import java.io.OutputStream;
|
|
import java.time.LocalDateTime;
|
|
import java.time.format.DateTimeFormatter;
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.function.Consumer;
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
import org.apache.commons.io.FilenameUtils;
|
|
import org.springframework.stereotype.Controller;
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
import org.springframework.web.servlet.ModelAndView;
|
|
|
|
import cokr.xit.fims.nxrp.Hirer;
|
|
import cokr.xit.fims.nxrp.NisIndivQuery;
|
|
import cokr.xit.fims.nxrp.service.NisIndivService;
|
|
import cokr.xit.fims.nxrp.service.bean.NisIndivBean;
|
|
import cokr.xit.foundation.Downloadable;
|
|
import cokr.xit.foundation.web.AbstractController;
|
|
|
|
@Controller
|
|
@RequestMapping(name="차세대 세외수입 연계", value=NxrpController.CLASS_URL)
|
|
public class NxrpController extends AbstractController {
|
|
|
|
public static final String CLASS_URL = "/intf/nxrp";
|
|
|
|
|
|
@Resource(name = "nisIndivService")
|
|
private NisIndivService nisIndivService;
|
|
@Resource(name = "nisIndivBean")
|
|
private NisIndivBean nisIndivBean;
|
|
|
|
//테스트
|
|
@RequestMapping(name="계약정보 만들고 보내기", value="/sendIndivJeju01.do")
|
|
public ModelAndView sendNisIndivJeju01(HttpServletRequest hreq, NisIndivQuery req) {
|
|
|
|
String random = hreq.getParameter("random");
|
|
boolean randomFlag = true;
|
|
if(random != null && random.equals("N")) {
|
|
randomFlag = false;
|
|
}
|
|
NisIndivQuery query = new NisIndivQuery();
|
|
query.setSggCd("50110");
|
|
query.setTaskSeCd("ECA");
|
|
String zipPath = nisIndivBean.makeNisIndivJeju01(query, randomFlag);
|
|
|
|
if(zipPath != null && !zipPath.equals("")) {
|
|
nisIndivBean.send_DO_to_SI(zipPath);
|
|
}
|
|
|
|
return new ModelAndView("jsonView");
|
|
}
|
|
|
|
|
|
|
|
//테스트서버에서 압축파일만들고 제주도운영서버에 파일보내기
|
|
@RequestMapping(name="테스트서버에서 압축파일만들고 제주도운영서버에 파일보내기", value="/jeju01_test_to_jejudo.do")
|
|
public ModelAndView jeju01_test_to_jejudo(HttpServletRequest hreq, NisIndivQuery req) {
|
|
|
|
ModelAndView jsonView = new ModelAndView("jsonView");
|
|
|
|
if(!isLocal() && !isTestServer()) {
|
|
return jsonView;
|
|
}
|
|
|
|
String url = "";
|
|
String prodYn = hreq.getParameter("prodYn");
|
|
if(prodYn == null) {
|
|
return jsonView;
|
|
} else if(prodYn.equals("Y")) {
|
|
url = "https://jeju.go.kr";
|
|
} else if(prodYn.equals("N")) {
|
|
url = "http://dev.jejudo.go.kr";
|
|
} else {
|
|
return jsonView;
|
|
}
|
|
String random = hreq.getParameter("random");
|
|
boolean randomFlag = true;
|
|
if(random != null && random.equals("N")) {
|
|
randomFlag = false;
|
|
}
|
|
NisIndivQuery query = new NisIndivQuery();
|
|
query.setSggCd("50110");
|
|
query.setTaskSeCd("ECA");
|
|
String zipPath = nisIndivBean.makeNisIndivJeju01(query, randomFlag);
|
|
String zipFolder = FilenameUtils.getPath(zipPath);
|
|
|
|
if(zipPath != null && !zipPath.equals("")) {
|
|
MultipartTest mt = new MultipartTest();
|
|
|
|
try {
|
|
mt.multipartPost(zipPath, zipFolder, url+"/is/rentcar/intf/nxrp/jeju01_multipart_to_jejusi.do");
|
|
} catch (IOException e) {
|
|
e.printStackTrace();
|
|
}
|
|
(new File(zipPath)).delete();
|
|
}
|
|
|
|
jsonView.addObject("res", "ok");
|
|
return jsonView;
|
|
}
|
|
|
|
//테스트서버에서 보낸 압축파일 받아서 제주시로 보내기
|
|
@RequestMapping(name="테스트서버에서 보낸 압축파일 받아서 제주시로 보내기", value="/jeju01_multipart_to_jejusi.do")
|
|
public ModelAndView jeju01_multipart_to_jejusi(MultipartFile[] file, HttpServletRequest req) throws IllegalStateException, IOException {
|
|
|
|
|
|
String zipFolder = req.getParameter("fileSavePath");
|
|
|
|
File file0 = new File(zipFolder+file[0].getOriginalFilename());
|
|
file[0].transferTo(file0);
|
|
|
|
|
|
nisIndivBean.send_DO_to_SI(file0.getPath());
|
|
|
|
return new ModelAndView("jsonView");
|
|
}
|
|
|
|
|
|
//테스트 계약정보만들기
|
|
@RequestMapping(name="계약정보만들기", value="/makeJeju01.do")
|
|
public ModelAndView makeJeju01(NisIndivQuery req) {
|
|
|
|
NisIndivQuery query = new NisIndivQuery();
|
|
query.setSggCd("50110");
|
|
query.setTaskSeCd("ECA");
|
|
String zipPath = nisIndivBean.makeNisIndivJeju01(query,true);
|
|
|
|
return new ModelAndView("jsonView");
|
|
}
|
|
|
|
//테스트 계약정보 보내기
|
|
@RequestMapping(name="sendDoToSi", value="/sendDoToSi.do")
|
|
public ModelAndView sendDoToSi(NisIndivQuery req) {
|
|
|
|
LocalDateTime now = LocalDateTime.now();
|
|
String ymd = now.format(DateTimeFormatter.ofPattern("yyyyMMdd"));
|
|
String sggCd = "50110";
|
|
File folder = new File("/files/temp/sendLcns/"+sggCd+"/"+ymd);
|
|
File[] files = folder.listFiles();
|
|
for(File file : files) {
|
|
nisIndivBean.send_DO_to_SI(file.getPath());
|
|
}
|
|
|
|
|
|
return new ModelAndView("jsonView");
|
|
}
|
|
|
|
//테스트 면허정보응답파일 가져오기
|
|
@RequestMapping(name="getSiToTest0", value="/getSiToTest0.do")
|
|
public ModelAndView getSiToTest0(HttpServletRequest req) throws IOException {
|
|
|
|
System.out.println("getSiToTest0 1");
|
|
|
|
ModelAndView jsonView = new ModelAndView("jsonView");
|
|
|
|
if(!isLocal() && !isTestServer()) {
|
|
return jsonView;
|
|
}
|
|
|
|
System.out.println("getSiToTest0 2");
|
|
|
|
String url = "";
|
|
String prodYn = req.getParameter("prodYn");
|
|
if(prodYn == null) {
|
|
return jsonView;
|
|
} else if(prodYn.equals("Y")) {
|
|
url = "https://jeju.go.kr";
|
|
} else if(prodYn.equals("N")) {
|
|
url = "http://dev.jejudo.go.kr";
|
|
} else {
|
|
return jsonView;
|
|
}
|
|
|
|
System.out.println("getSiToTest0 3");
|
|
|
|
MultipartTest mt0 = new MultipartTest();
|
|
Map<String, Object> map = mt0.getFileList(url+"/is/rentcar/intf/nxrp/getSiToTest1.do");
|
|
if(map == null || map.get("names") == null) {
|
|
return jsonView;
|
|
}
|
|
List<String> names = (List<String>)map.get("names");
|
|
for(String name : names) {
|
|
MultipartTest mt = new MultipartTest();
|
|
mt.fileDown(url+"/is/rentcar/intf/nxrp/getSiToTest2.do", "files/temp/receiveDriver/"
|
|
+name);
|
|
}
|
|
|
|
System.out.println("getSiToTest0 4");
|
|
|
|
File folder = new File("files/temp/receiveDriver");
|
|
File[] fl = folder.listFiles();
|
|
|
|
System.out.println("getSiToTest0 5");
|
|
if(fl == null || fl.length == 0) {
|
|
System.out.println("1!!!");
|
|
return jsonView;
|
|
}
|
|
System.out.println("getSiToTest0 7");
|
|
|
|
|
|
List<Hirer> results = nisIndivBean.getCarDriverInfoFromFile();
|
|
for(Hirer result : results) {
|
|
nisIndivBean.updateDriverInfo(result);
|
|
}
|
|
jsonView.addObject("res", "ok");
|
|
return jsonView;
|
|
}
|
|
//테스트 면허정보응답파일 가져오기
|
|
@RequestMapping(name="getSiToTest1", value="/getSiToTest1.do")
|
|
public ModelAndView getSiToTest1(NisIndivQuery req) throws IOException {
|
|
ModelAndView jsonView = new ModelAndView("jsonView");
|
|
|
|
nisIndivBean.get_SI_to_DO();
|
|
|
|
File folder = new File("files/temp/receiveDriver");
|
|
File[] fl = folder.listFiles();
|
|
if(fl == null || fl.length == 0) {
|
|
return jsonView;
|
|
}
|
|
|
|
List<String> names = new ArrayList<String>();
|
|
for(File f : fl) {
|
|
names.add(f.getName());
|
|
}
|
|
jsonView.addObject("names", names);
|
|
return jsonView;
|
|
}
|
|
//테스트 면허정보응답파일 가져오기
|
|
@RequestMapping(name="getSiToTest2", value="/getSiToTest2.do")
|
|
public ModelAndView getSiToTest2(NisIndivQuery req) throws IOException {
|
|
ModelAndView dv = new ModelAndView("downloadView");
|
|
|
|
|
|
File folder = new File("files/temp/receiveDriver");
|
|
File[] fl = folder.listFiles();
|
|
if(fl != null && fl.length > 0) {
|
|
String name = fl[0].getName();
|
|
|
|
InputStream menualIS = new FileInputStream(fl[0]);
|
|
byte[] menualBytes = menualIS.readAllBytes();
|
|
menualIS.close();
|
|
|
|
Consumer<OutputStream> writer = new Consumer<OutputStream>() {
|
|
@Override
|
|
public void accept(OutputStream os) {
|
|
try {
|
|
os.write(menualBytes);
|
|
} catch (IOException e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
};
|
|
|
|
dv.addObject("download",
|
|
new Downloadable()
|
|
.setContentType("application/zip")
|
|
.setWriter(writer)
|
|
.setFilename(name)
|
|
);
|
|
return dv;
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
//테스트 면허정보응답파일 가져오기
|
|
@RequestMapping(name="getSiToDo", value="/getSiToDo.do")
|
|
public ModelAndView getSiToDo(NisIndivQuery req) {
|
|
|
|
nisIndivBean.get_SI_to_DO();
|
|
|
|
return new ModelAndView("jsonView");
|
|
}
|
|
//테스트 면허정보응답파일(로컬) 읽어서 적용하기
|
|
@RequestMapping(name="면허정보 응답 적용", value="/lcnsRespUnzip.do")
|
|
public ModelAndView lcnsRespUnzip(NisIndivQuery req) {
|
|
|
|
List<Hirer> results = nisIndivBean.getCarDriverInfoFromFile();
|
|
for(Hirer result : results) {
|
|
nisIndivBean.updateDriverInfo(result);
|
|
}
|
|
|
|
return new ModelAndView("jsonView");
|
|
}
|
|
|
|
//테스트 면허정보응답파일 가져오고 적용하기
|
|
@RequestMapping(name="면허정보 응답", value="/receiveIndivJeju02.do")
|
|
public ModelAndView receiveNisIndivJeju02(NisIndivQuery req) {
|
|
nisIndivBean.get_SI_to_DO();
|
|
|
|
List<Hirer> results = nisIndivBean.getCarDriverInfoFromFile();
|
|
for(Hirer result : results) {
|
|
nisIndivBean.updateDriverInfo(result);
|
|
}
|
|
|
|
return new ModelAndView("jsonView");
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public boolean isLocal() {
|
|
if(new File("C:/Users/XIT_LBJ").exists()) {
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
public boolean isTestServer() {
|
|
if(new File("/home/xituser").exists()) {
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|