|
|
|
|
@ -24,6 +24,7 @@ import java.util.Arrays;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Objects;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
import java.util.stream.Stream;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Service
|
|
|
|
|
@ -67,14 +68,14 @@ public class DbPolling {
|
|
|
|
|
.build()
|
|
|
|
|
).orElse(null);
|
|
|
|
|
|
|
|
|
|
List<CpBdong> cpBdongList = cpBdongRepository.findAllByBdCodeStartingWith(cpSetinfo.getIntValue1().toString());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<CpBdong> cpBdongList = cpBdongRepository.findAll();
|
|
|
|
|
List<CpBdong> epBdongList = epBdongRepository.findAll();
|
|
|
|
|
|
|
|
|
|
return SinmungoDto.SetInfo.builder()
|
|
|
|
|
.cpSetinfo(cpSetinfo)
|
|
|
|
|
.epSetinfo(epSetInfo)
|
|
|
|
|
.cpBdongList(cpBdongList)
|
|
|
|
|
.epBdongList(epBdongList)
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -103,7 +104,7 @@ public class DbPolling {
|
|
|
|
|
// CpMain
|
|
|
|
|
cpMainList.add(CpMain.builder()
|
|
|
|
|
.mmCode(String.valueOf(maxMmCode + i))
|
|
|
|
|
.mmSggcode(setInfo.getCpSetinfo().getIntValue1().toString())
|
|
|
|
|
.mmSggcode(setInfo.getEpSetinfo().getIntValue1().toString())
|
|
|
|
|
.mmIngb("1")
|
|
|
|
|
.mmDate(DateTimePatternEnum.DATE_YYYYMMDD.extractFirst(xml.getPeti_reason_l()))
|
|
|
|
|
.mmTime(DateTimePatternEnum.TIME_HHMM.extractFirst(xml.getPeti_reason_l()))
|
|
|
|
|
@ -131,10 +132,10 @@ public class DbPolling {
|
|
|
|
|
.asMmcode(String.valueOf(maxMmCode + i))
|
|
|
|
|
.asSggcode(setInfo.getCpSetinfo().getIntValue1().toString())
|
|
|
|
|
.asIngb(TakeSeCdEnum.findTakeSeCd(xml.getPeti_anc_code_v()))
|
|
|
|
|
.asJsdate(xml.getAnc_reg_d().substring(0, 8))
|
|
|
|
|
.asJsdate(xml.getAnc_reg_d().substring(0, 10).replace("-", ""))
|
|
|
|
|
.asJsno(xml.getPeti_no_c())
|
|
|
|
|
.asJsnoM(xml.getCivil_no_c())
|
|
|
|
|
.asBbsNo(xml.getCivil_no_c().substring(xml.getCivil_no_c().lastIndexOf("_") + 1))
|
|
|
|
|
.asBbsNo(xml.getCivil_no_c().substring(xml.getCivil_no_c().lastIndexOf("-") + 1))
|
|
|
|
|
.asLimitDt(DateTimePatternEnum.DATE_YYYYMMDD.extractFirst(xml.getPeti_end_d()))
|
|
|
|
|
.asUser(xml.getPeter_name_v())
|
|
|
|
|
.asTel(xml.getTel_no_v())
|
|
|
|
|
@ -148,7 +149,7 @@ public class DbPolling {
|
|
|
|
|
// CpMainEtc1
|
|
|
|
|
cpMainEtc1List.add(CpMainEtc1.builder()
|
|
|
|
|
.mmCode(String.valueOf(maxMmCode + i))
|
|
|
|
|
.mmJsdate(xml.getAnc_reg_d().substring(0, 8))
|
|
|
|
|
.mmJsdate(xml.getAnc_reg_d().substring(0, 10).replace("-", ""))
|
|
|
|
|
.mmKey(xml.getInterface_seq_n())
|
|
|
|
|
.mmText(CommonUtils.truncate(xml.getPeti_reason_l(), 4000))
|
|
|
|
|
.build());
|
|
|
|
|
@ -159,7 +160,9 @@ public class DbPolling {
|
|
|
|
|
|
|
|
|
|
log.info(cpAnswerList.toString());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 디비 인서트
|
|
|
|
|
log.info("CP DB Insert Start");
|
|
|
|
|
cpMainRepository.saveAll(cpMainList);
|
|
|
|
|
cpAnswerRepository.saveAll(cpAnswerList);
|
|
|
|
|
cpMainEtc1Repository.saveAll(cpMainEtc1List);
|
|
|
|
|
@ -189,7 +192,7 @@ public class DbPolling {
|
|
|
|
|
|
|
|
|
|
cpMainList.add(CpMain.builder()
|
|
|
|
|
.mmCode(String.valueOf(maxMmCode + i))
|
|
|
|
|
.mmSggcode(setInfo.getCpSetinfo().getIntValue1().toString())
|
|
|
|
|
.mmSggcode(setInfo.getEpSetinfo().getIntValue1().toString())
|
|
|
|
|
.mmIngb("1")
|
|
|
|
|
.mmDate(DateTimePatternEnum.DATE_YYYYMMDD.extractFirst(xml.getPeti_reason_l()))
|
|
|
|
|
.mmTime(DateTimePatternEnum.TIME_HHMM.extractFirst(xml.getPeti_reason_l()))
|
|
|
|
|
@ -215,30 +218,42 @@ public class DbPolling {
|
|
|
|
|
// CpAnswer
|
|
|
|
|
cpAnswerList.add(CpAnswer.builder()
|
|
|
|
|
.asMmcode(String.valueOf(maxMmCode + i))
|
|
|
|
|
.asSggcode(setInfo.getCpSetinfo().getIntValue1().toString())
|
|
|
|
|
.asIngb(TakeSeCdEnum.findTakeSeCd(xml.getPeti_anc_code_v()))
|
|
|
|
|
.asJsdate(xml.getAnc_reg_d().substring(0, 10).replace("-", ""))
|
|
|
|
|
.asJsno(xml.getPeti_no_c())
|
|
|
|
|
.asJsnoM(xml.getCivil_no_c())
|
|
|
|
|
.asBbsNo(xml.getCivil_no_c().substring(xml.getCivil_no_c().lastIndexOf("-") + 1))
|
|
|
|
|
.asLimitDt(DateTimePatternEnum.DATE_YYYYMMDD.extractFirst(xml.getPeti_end_d()))
|
|
|
|
|
.asUser(xml.getPeter_name_v())
|
|
|
|
|
.asSysGubunC(xml.getSys_gubun_c())
|
|
|
|
|
.asCell(xml.getCel_no_v())
|
|
|
|
|
.asTel(xml.getTel_no_v())
|
|
|
|
|
.asCell(xml.getCel_no_v())
|
|
|
|
|
.asEmail(xml.getEmail_v())
|
|
|
|
|
.asStateDt(LocalDateTime.now().format(dtf))
|
|
|
|
|
.asSysGubunC(xml.getSys_gubun_c())
|
|
|
|
|
.asPetiAncCodeV(xml.getPeti_anc_code_v()) // 컬럼이 있긴한데 안쓰는거같음. 파일 넘어온곳 코드값으로 저장하는데 왜 저장하는지 모르겠음.
|
|
|
|
|
.build());
|
|
|
|
|
|
|
|
|
|
// CpMainEtc1
|
|
|
|
|
cpMainEtc1List.add(CpMainEtc1.builder()
|
|
|
|
|
.mmCode(String.valueOf(maxMmCode + i))
|
|
|
|
|
.mmJsdate(xml.getAnc_reg_d().substring(0, 8))
|
|
|
|
|
.mmJsdate(xml.getAnc_reg_d().substring(0, 10).replace("-", ""))
|
|
|
|
|
.mmKey(xml.getInterface_seq_n())
|
|
|
|
|
.mmText(CommonUtils.truncate(xml.getPeti_reason_l(), 4000))
|
|
|
|
|
.build());
|
|
|
|
|
|
|
|
|
|
insertCompleteFileNm.add(epList.get(i).getFileName());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
log.info(cpMainList.toString());
|
|
|
|
|
log.info(cpAnswerList.toString());
|
|
|
|
|
log.info(cpMainEtc1List.toString());
|
|
|
|
|
|
|
|
|
|
// 디비 인서트
|
|
|
|
|
log.info("EP DB Insert Start");
|
|
|
|
|
epMainRepository.saveAll(cpMainList);
|
|
|
|
|
epAnswerRepository.saveAll(cpAnswerList);
|
|
|
|
|
epMainEtc1Repository.saveAll(cpMainEtc1List);
|
|
|
|
|
@ -266,7 +281,15 @@ public class DbPolling {
|
|
|
|
|
* 없다면 0000000 으로 리턴
|
|
|
|
|
* */
|
|
|
|
|
private long getMaxMmCode(SinmungoDto.SetInfo setInfo, String db) {
|
|
|
|
|
String prefix = setInfo.getCpSetinfo().getIntValue1() + Integer.toString(Year.now().getValue());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
String prefix = null;
|
|
|
|
|
if(db.equals("CP")) {
|
|
|
|
|
prefix = setInfo.getCpSetinfo().getIntValue1() + Integer.toString(Year.now().getValue());
|
|
|
|
|
} else {
|
|
|
|
|
prefix = setInfo.getEpSetinfo().getIntValue1() + Integer.toString(Year.now().getValue());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
CpMain cpMainMax;
|
|
|
|
|
|
|
|
|
|
if(db.equals("CP")) cpMainMax = cpMainRepository.findTopByMmCodeStartingWithOrderByMmCodeDesc(prefix);
|
|
|
|
|
@ -282,9 +305,10 @@ public class DbPolling {
|
|
|
|
|
* */
|
|
|
|
|
private String getSgPosByReason(SinmungoDto.SetInfo setInfo, String peti_reason_l) {
|
|
|
|
|
|
|
|
|
|
List<String> dongNames = setInfo.getCpBdongList().stream()
|
|
|
|
|
.map(CpBdong::getBdDongName)
|
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
List<String> dongNames = Stream.concat(
|
|
|
|
|
setInfo.getCpBdongList().stream().map(CpBdong::getBdDongName),
|
|
|
|
|
setInfo.getEpBdongList().stream().map(CpBdong::getBdDongName)
|
|
|
|
|
).collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
|
return Arrays.stream(peti_reason_l.split("\\r?\\n"))
|
|
|
|
|
.map(line -> dongNames.stream()
|
|
|
|
|
@ -340,10 +364,12 @@ public class DbPolling {
|
|
|
|
|
* */
|
|
|
|
|
private LawGBEnum getLawGBByReason(String peti_reason_l) {
|
|
|
|
|
|
|
|
|
|
if (peti_reason_l.contains(LawGBEnum.INTERRUPT.getCodeNm())) {
|
|
|
|
|
return LawGBEnum.INTERRUPT;
|
|
|
|
|
} else if (peti_reason_l.contains(LawGBEnum.PARKING.getCodeNm())) {
|
|
|
|
|
if (peti_reason_l.contains(LawGBEnum.PARKING.getCodeNm())) {
|
|
|
|
|
return LawGBEnum.PARKING;
|
|
|
|
|
} else if (peti_reason_l.contains("주정차")) {
|
|
|
|
|
return LawGBEnum.PARKING;
|
|
|
|
|
} else if (peti_reason_l.contains(LawGBEnum.INTERRUPT.getCodeNm())) {
|
|
|
|
|
return LawGBEnum.INTERRUPT;
|
|
|
|
|
} else if (peti_reason_l.contains(LawGBEnum.SIGN.getCodeNm())) {
|
|
|
|
|
return LawGBEnum.SIGN;
|
|
|
|
|
}
|
|
|
|
|
|