|
|
@ -507,6 +507,17 @@ public class Petition extends AbstractEntity {
|
|
|
|
return this;
|
|
|
|
return this;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**첨부파일의 갯수를 반환한다.
|
|
|
|
|
|
|
|
* @return 첨부파일 갯수
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
public int getAttachmentCount() {
|
|
|
|
|
|
|
|
int count = 0;
|
|
|
|
|
|
|
|
for (String path: new String[] {attachmentPath1, attachmentPath2, attachmentPath3, attachmentPath4, attachmentPath5}) {
|
|
|
|
|
|
|
|
count += !Assert.isEmpty(path) ? 1 : 0;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return count;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**첨부파일 정보로 첨부파일 저장 경로를 설정한다.
|
|
|
|
/**첨부파일 정보로 첨부파일 저장 경로를 설정한다.
|
|
|
|
* @param attachments 첨부파일 정보
|
|
|
|
* @param attachments 첨부파일 정보
|
|
|
|
* @return 현재 Petition
|
|
|
|
* @return 현재 Petition
|
|
|
@ -534,7 +545,7 @@ public class Petition extends AbstractEntity {
|
|
|
|
return "EPOUGB$" + getSendInterfaceSeqN() + ".xml";
|
|
|
|
return "EPOUGB$" + getSendInterfaceSeqN() + ".xml";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**민원 수신 파일에서 읽은 첨부파일 정보
|
|
|
|
/**민원파일에서 읽은 첨부파일 정보
|
|
|
|
* @author mjkhan
|
|
|
|
* @author mjkhan
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
@Getter
|
|
|
|
@Getter
|
|
|
@ -593,7 +604,7 @@ public class Petition extends AbstractEntity {
|
|
|
|
@XmlElement(name = "apndfilcont5")
|
|
|
|
@XmlElement(name = "apndfilcont5")
|
|
|
|
private String apndfilcont5;
|
|
|
|
private String apndfilcont5;
|
|
|
|
|
|
|
|
|
|
|
|
/**민원 수신 파일에서 첨부파일 이름과 데이터를 읽어서 파일정보를 만들어 반환한다.
|
|
|
|
/**민원파일에서 첨부파일 이름과 데이터를 읽어서 파일정보를 만들어 반환한다.
|
|
|
|
* @param infoType 관련 정보 유형
|
|
|
|
* @param infoType 관련 정보 유형
|
|
|
|
* @param infoKey 관련 정보 키
|
|
|
|
* @param infoKey 관련 정보 키
|
|
|
|
* @return 파일정보
|
|
|
|
* @return 파일정보
|
|
|
@ -648,7 +659,7 @@ public class Petition extends AbstractEntity {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**민원 수신 파일의 제목과 내용에서 단속 정보를 추출하는 클래스
|
|
|
|
/**민원파일의 제목과 내용에서 단속 정보를 추출하는 클래스
|
|
|
|
* @author mjkhan
|
|
|
|
* @author mjkhan
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
public static class Violation {
|
|
|
|
public static class Violation {
|
|
|
@ -659,10 +670,21 @@ public class Petition extends AbstractEntity {
|
|
|
|
description = new RegexPattern("(\\(.*\\))(.*)(\\s신고입니다.*)"),
|
|
|
|
description = new RegexPattern("(\\(.*\\))(.*)(\\s신고입니다.*)"),
|
|
|
|
entryType = new RegexPattern("(\\[민원 유입 경로\\]:\\s)(.*)");
|
|
|
|
entryType = new RegexPattern("(\\[민원 유입 경로\\]:\\s)(.*)");
|
|
|
|
|
|
|
|
|
|
|
|
private String reason;
|
|
|
|
private String
|
|
|
|
|
|
|
|
title,
|
|
|
|
|
|
|
|
reason;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**민원파일의 제목을 설정한다.
|
|
|
|
|
|
|
|
* @param title 민원파일의 제목
|
|
|
|
|
|
|
|
* @return 현재 Violation
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
public Violation setTitle(String title) {
|
|
|
|
|
|
|
|
this.title = title;
|
|
|
|
|
|
|
|
return this;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**민원 수신 파일의 내용을 설정한다.
|
|
|
|
/**민원파일의 내용을 설정한다.
|
|
|
|
* @param reason 민원 수신 파일의 내용
|
|
|
|
* @param reason 민원파일의 내용
|
|
|
|
* @return 현재 Violation
|
|
|
|
* @return 현재 Violation
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
public Violation setReason(String reason) {
|
|
|
|
public Violation setReason(String reason) {
|
|
|
@ -670,7 +692,7 @@ public class Petition extends AbstractEntity {
|
|
|
|
return this;
|
|
|
|
return this;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**민원 수신 파일의 내용에서 단속 차량, 단속 일시 정보를 추출한다.
|
|
|
|
/**민원파일의 내용에서 단속 차량, 단속 일시 정보를 추출한다.
|
|
|
|
* @return 단속 차량, 단속 일시
|
|
|
|
* @return 단속 차량, 단속 일시
|
|
|
|
* <ul><li>datetime: 단속 일시</li>
|
|
|
|
* <ul><li>datetime: 단속 일시</li>
|
|
|
|
* <li>vehicleNo: 단속 차량 번호</li>
|
|
|
|
* <li>vehicleNo: 단속 차량 번호</li>
|
|
|
@ -694,7 +716,7 @@ public class Petition extends AbstractEntity {
|
|
|
|
return list;
|
|
|
|
return list;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**민원 수신 파일의 내용에서 단속 위치 정보를 추출한다.
|
|
|
|
/**민원파일의 내용에서 단속 위치 정보를 추출한다.
|
|
|
|
* @return 단속 위치
|
|
|
|
* @return 단속 위치
|
|
|
|
* <ul><li>latitude: 위도</li>
|
|
|
|
* <ul><li>latitude: 위도</li>
|
|
|
|
* <li>longitude: 경도</li>
|
|
|
|
* <li>longitude: 경도</li>
|
|
|
@ -713,7 +735,7 @@ public class Petition extends AbstractEntity {
|
|
|
|
return info;
|
|
|
|
return info;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**민원 수신 파일의 내용에서 단속 지역 정보를 추출한다.
|
|
|
|
/**민원파일의 내용에서 단속 지역 정보를 추출한다.
|
|
|
|
* @return 단속 지역 정보
|
|
|
|
* @return 단속 지역 정보
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
public String getLocation() {
|
|
|
|
public String getLocation() {
|
|
|
@ -742,11 +764,10 @@ public class Petition extends AbstractEntity {
|
|
|
|
return "";
|
|
|
|
return "";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**민원 수신 파일의 제목에서 사고 내역 정보를 추출한다.
|
|
|
|
/**민원파일의 제목에서 사고 내역 정보를 추출한다.
|
|
|
|
* @param title 민원 수신 파일의 제목
|
|
|
|
|
|
|
|
* @return 사고 내역 정보
|
|
|
|
* @return 사고 내역 정보
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
public String getDescription(String title) {
|
|
|
|
public String getDescription() {
|
|
|
|
Matcher matcher = description.matcher(title);
|
|
|
|
Matcher matcher = description.matcher(title);
|
|
|
|
String found = "";
|
|
|
|
String found = "";
|
|
|
|
while (matcher.find()) {
|
|
|
|
while (matcher.find()) {
|
|
|
@ -755,7 +776,7 @@ public class Petition extends AbstractEntity {
|
|
|
|
return found;
|
|
|
|
return found;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**민원 수신 파일의 내역에서 유입 경로 정보를 추출한다.
|
|
|
|
/**민원파일의 내역에서 유입 경로 정보를 추출한다.
|
|
|
|
* @return 유입 경로 정보
|
|
|
|
* @return 유입 경로 정보
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
public String getEntryType() {
|
|
|
|
public String getEntryType() {
|
|
|
@ -766,6 +787,21 @@ public class Petition extends AbstractEntity {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return found;
|
|
|
|
return found;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**위반코드를 반환한다.
|
|
|
|
|
|
|
|
* @return 위반코드
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
public String getCode() {
|
|
|
|
|
|
|
|
String str = title + " " + reason;
|
|
|
|
|
|
|
|
if (str.contains("방해"))
|
|
|
|
|
|
|
|
return "03";
|
|
|
|
|
|
|
|
if (str.contains("표지"))
|
|
|
|
|
|
|
|
return "05";
|
|
|
|
|
|
|
|
for (String s: new String[] {"주차", "주정차", "주자"})
|
|
|
|
|
|
|
|
if (str.contains(s))
|
|
|
|
|
|
|
|
return "01";
|
|
|
|
|
|
|
|
return "01";
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private static class RegexPattern {
|
|
|
|
private static class RegexPattern {
|
|
|
|