|
|
|
|
@ -42,10 +42,13 @@ public class SinmungoInOutScheduler {
|
|
|
|
|
log.info("신문고 신고 폴링 스케쥴러 시작!");
|
|
|
|
|
//setinfo 테이블에서 esb에이전트 정보 조회
|
|
|
|
|
SinmungoDto.SetInfo setInfo = dbPolling.findSetInfo();
|
|
|
|
|
String filePath = null;
|
|
|
|
|
if(setInfo.getCpSetinfo().getStrValue2().equals("")) filePath = setInfo.getCpSetinfo().getStrValue2();
|
|
|
|
|
else filePath = setInfo.getCpSetinfo().getStrValue2();
|
|
|
|
|
|
|
|
|
|
//파일읽기
|
|
|
|
|
FileParserInterface<SinmungoDto.SinmungoXml> parser = new SinmungoXmlFileParser();
|
|
|
|
|
List<SinmungoDto.SinmungoXml> parseResult = fileReader.readFiles(setInfo.getCpSetinfo().getStrValue2(), parser, ".xml");
|
|
|
|
|
List<SinmungoDto.SinmungoXml> parseResult = fileReader.readFiles(filePath, parser, ".xml");
|
|
|
|
|
|
|
|
|
|
if(parseResult.isEmpty()){
|
|
|
|
|
log.info("새로 읽을 xml 없음.");
|
|
|
|
|
@ -57,10 +60,12 @@ public class SinmungoInOutScheduler {
|
|
|
|
|
//deptCode로 cp/ep 대상 분리
|
|
|
|
|
// save cp
|
|
|
|
|
log.info(parseResult.size() + "개의 before parse 데이터");
|
|
|
|
|
log.info(setInfo.getEpSetinfo().getStrValue6());
|
|
|
|
|
List<SinmungoDto.SinmungoXml> cpList = parseResult.stream()
|
|
|
|
|
.filter(item -> {
|
|
|
|
|
try {
|
|
|
|
|
int deptCode = Integer.parseInt(item.getPcd_dept_v());
|
|
|
|
|
log.info(String.valueOf(deptCode));
|
|
|
|
|
return new ObjectMapper()
|
|
|
|
|
.readValue(setInfo.getCpSetinfo().getStrValue6(), new TypeReference<Map<String, List<Integer>>>() {})
|
|
|
|
|
.values().stream()
|
|
|
|
|
@ -72,14 +77,19 @@ public class SinmungoInOutScheduler {
|
|
|
|
|
})
|
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
log.info(cpList.size() + "개의 cp xml 객체 생성");
|
|
|
|
|
dbPolling.saveCP(cpList, setInfo);
|
|
|
|
|
log.info("CP DB Insert Complete!");
|
|
|
|
|
if(!cpList.isEmpty()) {
|
|
|
|
|
dbPolling.saveCP(cpList, setInfo);
|
|
|
|
|
log.info("CP DB Insert Complete!");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// save ep
|
|
|
|
|
log.info(parseResult.size() + "개의 before parse 데이터");
|
|
|
|
|
log.info(setInfo.getEpSetinfo().getStrValue6());
|
|
|
|
|
List<SinmungoDto.SinmungoXml> epList = parseResult.stream()
|
|
|
|
|
.filter(item -> {
|
|
|
|
|
try {
|
|
|
|
|
int deptCode = Integer.parseInt(item.getPcd_dept_v());
|
|
|
|
|
log.info(String.valueOf(deptCode));
|
|
|
|
|
return new ObjectMapper()
|
|
|
|
|
.readValue(setInfo.getEpSetinfo().getStrValue6(), new TypeReference<Map<String, List<Integer>>>() {})
|
|
|
|
|
.values().stream()
|
|
|
|
|
@ -92,8 +102,11 @@ public class SinmungoInOutScheduler {
|
|
|
|
|
})
|
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
log.info(epList.size() + "개의 ep xml 객체 생성");
|
|
|
|
|
dbPolling.saveEP(epList, setInfo);
|
|
|
|
|
log.info("EP DB Insert Complete!");
|
|
|
|
|
if(!epList.isEmpty()) {
|
|
|
|
|
dbPolling.saveEP(epList, setInfo);
|
|
|
|
|
log.info("EP DB Insert Complete!");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
|