feat : 공공데이터 표준을 위해 엔티티 컬럼 변경.

해당 변경을 위해 new로 컬럼만 바꾼 동일한 엔티티를 만들었고, 그레들 빌드시 해당 엔티티빈을 갈아끼는 방식으로 수정
master
Kurt92 2 months ago
parent 204973510b
commit ab10886bf6

@ -23,6 +23,65 @@ repositories {
mavenCentral()
}
/**
* ====== ======
* :
* - OLD (): ./gradlew clean build
* - NEW : ./gradlew clean build -PcpSchema=new
*
* ( ):
* - schemas/com/worker/domain/entity OLD (package com.worker.domain.entity;)
* - schemas/com/worker/domain/entity_new NEW (package com.worker.domain.entity;)
*/
def schema = (project.findProperty("cpSchema") ?: "old") // 'old' | 'new'
def isNew = schema == "new"
sourceSets {
main {
java {
//
setSrcDirs(["src/main/java", "src/schemas"])
if (isNew) {
// old
exclude "com/worker/domain/entity/**"
exclude "com/worker/domain/repo/**"
} else {
// new
exclude "com/worker/domain/entity_new/**"
exclude "com/worker/domain/repo_new/**"
}
}
resources {
setSrcDirs(["src/main/resources"])
}
}
}
apply plugin: 'idea'
//idea {
// module {
// // Gradle old ,
// // IDE
// excludeDirs += file('src/schemas/com/worker/domain/entity_new')
// excludeDirs += file('src/schemas/com/worker/domain/repo_new')
//// excludeDirs += file('src/schemas/com/worker/domain/entity')
//// excludeDirs += file('src/schemas/com/worker/domain/repo')
//
// // () IDE old
// // sourceDirs = [
// // file('src/main/java'),
// // file('src/schemas/com/worker/domain/entity'),
// // file('src/schemas/com/worker/domain/repo')
// // ] as Set
// }
//}
/**
* ====== ======
* (/ )
*/
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-quartz'
@ -32,44 +91,45 @@ dependencies {
implementation 'org.springframework.session:spring-session-core'
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
// DB ( )
runtimeOnly 'com.mysql:mysql-connector-j'
runtimeOnly 'com.oracle.database.jdbc:ojdbc11'
runtimeOnly 'org.mariadb.jdbc:mariadb-java-client'
annotationProcessor 'org.projectlombok:lombok'
runtimeOnly 'com.oracle.database.jdbc:ojdbc11'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
// === QueryDsl start ===
// == 3.0 ==
// === QueryDSL (Spring Boot 3.x / Jakarta) ===
implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta'
annotationProcessor "com.querydsl:querydsl-apt:5.0.0:jakarta"
annotationProcessor "jakarta.annotation:jakarta.annotation-api"
annotationProcessor "jakarta.persistence:jakarta.persistence-api"
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
runtimeOnly 'com.mysql:mysql-connector-j'
// == 3.0 ==
// implementation 'com.querydsl:querydsl-jpa'
// annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jpa"
//
// annotationProcessor "jakarta.annotation:jakarta.annotation-api"
// annotationProcessor "jakarta.persistence:jakarta.persistence-api"
// === QueryDsl end ===
annotationProcessor 'com.querydsl:querydsl-apt:5.0.0:jakarta'
annotationProcessor 'jakarta.annotation:jakarta.annotation-api'
annotationProcessor 'jakarta.persistence:jakarta.persistence-api'
// sftp
implementation 'com.jcraft:jsch:0.1.55'
}
tasks.named('test') {
useJUnitPlatform()
}
/**
* ====== QueryDSL ======
* Q :
* build/generated/sources/annotationProcessor/java/main
* IDE/ .
*/
tasks.withType(JavaCompile).configureEach {
options.annotationProcessorGeneratedSourcesDirectory = file("$buildDir/generated/sources/annotationProcessor/java/main")
}
sourceSets.main.java.srcDir("$buildDir/generated/sources/annotationProcessor/java/main")
// clean Q
tasks.clean.doFirst {
delete("$buildDir/generated/sources/annotationProcessor/java/main")
}

@ -1,11 +1,9 @@
package com.worker.scheduler.epost.dto;
import com.worker.domain.entity.CpSetinfo;
import jakarta.persistence.Column;
import lombok.*;
import java.util.List;
import java.util.Optional;
public class EPostDto {

@ -1,7 +1,6 @@
package com.worker.scheduler.epost.repository;
import com.querydsl.core.types.Projections;
import com.querydsl.core.types.dsl.Expressions;
import com.querydsl.jpa.impl.JPAQueryFactory;
import com.worker.domain.entity.CpGojiSendHist;
import com.worker.domain.entity.EpostRgstNmbr;
@ -11,20 +10,13 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Repository;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
import static com.worker.domain.entity.QCpGojiPrt.cpGojiPrt;
import static com.worker.domain.entity.QCpGojiSendHist.cpGojiSendHist;
import static com.worker.domain.entity.QCpGojit.cpGojit;
import static com.worker.domain.entity.QCpInstruct.cpInstruct;
import static com.worker.domain.entity.QCpInstructAnswer.cpInstructAnswer;
import static com.worker.domain.entity.QEpostDelivResult.epostDelivResult;
import static com.worker.domain.entity.QEpostRgstNmbr.epostRgstNmbr;
import static com.worker.domain.entity.QEpostSenderDetail.epostSenderDetail;
import static com.worker.domain.entity.QEpostSenderReg.epostSenderReg;
import static com.worker.domain.entity.QTbCntcSndngDetail.tbCntcSndngDetail;
import static com.worker.domain.entity.QTbCntcSndngResult.tbCntcSndngResult;
@Slf4j

@ -1,14 +1,10 @@
package com.worker.scheduler.epost.service;
import com.querydsl.jpa.impl.JPAQueryFactory;
import com.worker.domain.entity.CpGojiPrt;
import com.worker.domain.entity.CpSetinfo;
import com.worker.domain.entity.EpostRgstNmbr;
import com.worker.domain.entity.EpostSenderDetail;
import com.worker.domain.repo.cp.CpEPostRgstNmbr;
import com.worker.domain.repo.ep.EpEPostRgstNmbr;
import com.worker.scheduler.epost.dto.EPostDto;
import com.worker.scheduler.epost.repository.EPostQueryDslRepository;
import com.worker.scheduler.epost.repository.EPostSendQueryDslRepository;
import com.worker.util.common.CommonUtils;
import com.worker.util.textFileMacker.TextMaker;

@ -1,22 +1,18 @@
package com.worker.scheduler.epost.service;
import com.worker.domain.entity.*;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.querydsl.jpa.impl.JPAQueryFactory;
import com.worker.domain.entity.*;
import com.worker.domain.repo.cp.*;
import com.worker.domain.repo.ep.*;
import com.worker.scheduler.epost.dto.EPostDto;
import com.worker.scheduler.epost.repository.EPostQueryDslRepository;
import com.worker.util.common.CommonUtils;
import com.worker.util.textFileMacker.TextMaker;
import com.worker.util.zipFileMaker.ZipMaker;
import jakarta.transaction.Transactional;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.core.env.Environment;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;

@ -1,6 +1,7 @@
package com.worker.scheduler.smg.dto;
import com.worker.domain.entity.*;
import jakarta.persistence.Lob;
import lombok.*;

@ -1,6 +1,6 @@
package com.worker.scheduler.smg.service;
import com.worker.domain.entity.*;
import com.worker.domain.repo.cp.*;
import com.worker.domain.repo.ep.*;
import com.worker.scheduler.smg.dto.SinmungoDto;

@ -3,8 +3,6 @@ package com.worker.scheduler.tax.dto;
import com.worker.domain.entity.CpSetinfo;
import lombok.*;
import java.util.List;
public class TaxSunapDto {

@ -6,11 +6,9 @@ import com.worker.scheduler.tax.dto.TaxSunapDto;
import com.worker.scheduler.tax.service.TaxSunapService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.core.env.Environment;
import org.springframework.http.MediaType;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.web.reactive.function.client.WebClient;
import reactor.core.publisher.Mono;

@ -13,7 +13,6 @@ import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.List;
import java.util.Optional;
import java.util.UUID;
@Service

@ -0,0 +1,117 @@
package com.worker.domain.entity;
import jakarta.persistence.*;
import lombok.*;
import org.hibernate.annotations.Comment;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
@Entity
@Table(name = "tb_answer")
@Getter
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class CpAnswer {
@Id
@Column(name = "crdn_id", length = 16)
@Comment("단속 ID")
private String asMmcode;
@Column(name = "sgg_cd", length = 5)
@Comment("시군구코드")
private String asSggcode;
@Column(name = "rcpt_se", length = 3)
@Comment("접수구분")
private String asIngb;
@Column(name = "rcpt_ymd", length = 8)
@Comment("접수일자")
private String asJsdate;
@Column(name = "cvlcpt_rcpt_no", length = 30)
@Comment("민원 접수 번호")
private String asJsno;
@Column(name = "ans_rcpt_no", length = 30)
@Comment("답변 접수 번호")
private String asJsnoM;
@Column(name = "list_no", length = 15)
@Comment("목록번호")
private String asBbsNo;
@Column(name = "ans_exply_ymd", length = 16)
@Comment("답변만료일자")
private String asLimitDt;
@Column(name = "dcl", length = 50)
@Comment("신고자")
private String asUser;
@Column(name = "cnpl", length = 20)
@Comment("연락처")
private String asTel;
@Column(name = "mobl_no", length = 20)
@Comment("모바일 번호")
private String asCell;
@Column(name = "eml", length = 50)
@Comment("이메일")
private String asEmail;
@Column(name = "prcs_stts", length = 1)
@Comment("처리상태")
private String asState;
@Column(name = "ans_se", length = 1)
@Comment("답변구분")
private String asPostCd;
@Column(name = "ans_ymd", length = 14)
@Comment("답변일자")
private String asPostDt;
@Column(name = "mdfcn_dt", length = 14)
@Comment("수정일시")
private String asStateDt;
@Column(name = "ans_cn", length = 1000)
@Comment("답변내용")
private String asText;
@Column(name = "prcs_chpr", length = 5)
@Comment("처리 담당자")
private Integer asReuser;
@Column(name = "prk_vltn_se", length = 1)
@Comment("주차 침해 구분")
private String asInline;
@Column(name = "systm_code", length = 8)
@Comment("신고 시스템 코드")
private String asSysGubunC;
@Column(name = "trnp_clm_cd", length = 7)
@Comment("전파항목코드")
private String asPetiAncCodeV;
@Column(name = "dclr_data_cd", length = 30)
@Comment("신고자료코드")
private String asPetiNoC;
public void changeState(String newState) {
this.asState = newState;
}
public void changePostDtNow() {
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
this.asPostDt = LocalDateTime.now().format(dtf);
}
}

@ -0,0 +1,28 @@
package com.worker.domain.entity;
import jakarta.persistence.*;
import lombok.Getter;
import org.hibernate.annotations.Comment;
@Entity
@Table(name = "tb_stdg")
@Getter
public class CpBdong {
@Id
@Column(name = "stdg_cd", length = 10)
@Comment("법정동코드")
private String bdCode;
@Column(name = "sggnm", length = 40)
@Comment("시군구명")
private String bdSggname;
@Column(name = "stdgnm", length = 40)
@Comment("법정동명")
private String bdDongname;
@Column(name = "use_yn", length = 1)
@Comment("사용여부")
private String bdEnable;
}

@ -0,0 +1,50 @@
package com.worker.domain.entity;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import org.hibernate.annotations.Comment;
@Entity
@Table(name = "tb_nrcg")
@Getter
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class CpCancel {
@Id
@Column(name = "nrcg_id")
@Comment("불인정 ID")
private Long ccCode;
@Column(name = "sggcd", length = 5)
@Comment("시군구코드")
private String ccSggcode;
@Column(name = "crdn_id", length = 16)
@Comment("단속 ID")
private String ccMmcode;
@Column(name = "nrcg_ymd", length = 8)
@Comment("불인정일자")
private String ccDate;
@Column(name = "nrcg_rsn", length = 3)
@Comment("불인정사유")
private String ccCause;
@Column(name = "excptnmttr", length = 100)
@Comment("특이사항")
private String ccEtc;
@Column(name = "nrcg_dt", length = 14)
@Comment("불인정일시")
private String ccIndt;
@Column(name = "prcs_pic")
@Comment("처리 담당자")
private Integer ccInuser;
}

@ -0,0 +1,267 @@
package com.worker.domain.entity;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import org.hibernate.annotations.Comment;
@Entity
@Getter
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Table(name = "tb_infrm_dtl")
public class CpGojiPrt {
@Id
@Column(name = "INFRMDTL_ID")
@Comment("고지상세 ID")
private Long gpCode;
@Column(name = "VLTNCN_CD", length = 2)
@Comment("위반내용 코드")
private String gpLawgb;
@Column(name = "SNDNG_SE", length = 1)
@Comment("발송구분")
private String gpPrtgb;
@Column(name = "INFRMLIST_ID")
@Comment("고지목록 ID")
private Long gpTtcode;
@Column(name = "SVBTC_ID")
@Comment("공시송달 ID")
private Long gpGtcode;
@Column(name = "SGG_CD", length = 5)
@Comment("시군구코드")
private String gpSggcode;
@Column(name = "CRDN_ID", length = 16)
@Comment("단속 ID")
private String gpMmcode;
@Column(name = "VHRNO", length = 100)
@Comment("자동차등록번호")
private String gpMmCarno;
@Column(name = "VLTN_DT", length = 30)
@Comment("위반일시")
private String gpMmWdatetime;
@Column(name = "VLTN_PLC", length = 200)
@Comment("위반장소")
private String gpMmSgpos;
@Column(name = "LEVY_CD", length = 11)
@Comment("부과코드")
private String gpLvyKey;
@Column(name = "ACNTG_YR", length = 6)
@Comment("회계년도")
private String gpAccYear;
@Column(name = "LEVY_NO", length = 6)
@Comment("부과번호")
private String gpLvyNo;
@Column(name = "EPAYNO", length = 19)
@Comment("전자납부번호")
private String gpErcNo;
@Column(name = "LEVY_YMD", length = 8)
@Comment("부과일자")
private String gpSdate;
@Column(name = "DUDT_YMD", length = 8)
@Comment("납기일자")
private String gpEdate;
@Column(name = "MNTX")
@Comment("본세")
private Integer gpKeumT;
@Column(name = "ADDTX")
@Comment("가산세")
private Integer gpKeumA;
@Column(name = "GRAMT")
@Comment("총금액")
private Integer gpKeumB;
@Column(name = "TXPR", length = 100)
@Comment("납세자")
private String gpName;
@Column(name = "RRNO", length = 100)
@Comment("주민등록번호")
private String gpJno;
@Column(name = "ADDR", length = 100)
@Comment("주소")
private String gpJuso;
@Column(name = "DTL_ADDR", length = 100)
@Comment("상세주소")
private String gpBunji;
@Column(name = "ZIP", length = 6)
@Comment("우편번호")
private String gpZip;
@Column(name = "RGNO", length = 15)
@Comment("등기번호")
private String gpRegistNo;
@Column(name = "SNDNG_YMD", length = 8)
@Comment("발송일자")
private String gpSendDate;
@Column(name = "SNDNG_HR", length = 8)
@Comment("발송시간")
private String gpSendTime;
@Column(name = "SNDBK_RSN", length = 100)
@Comment("반송사유")
private String gpReturnCd;
@Column(name = "ADDRSE_NM", length = 30)
@Comment("수취인명")
private String gpRecvName;
@Column(name = "ADDRSE_REL", length = 30)
@Comment("수취인 관계")
private String gpRecvRelt;
@Column(name = "DATA_STTS", length = 1)
@Comment("자료 상태")
private String gpState;
@Column(name = "BFR_DATA_STTS", length = 1)
@Comment("이전 자료 상태")
private String gpStateOld;
@Column(name = "BFR_SNDNG_YMD", length = 8)
@Comment("이전 발송일자")
private String gpSendDateOld;
@Column(name = "BFR_SNDNG_HR", length = 8)
@Comment("이전 발송시간")
private String gpSendTimeOld;
@Column(name = "RCVMT_YN", length = 1)
@Comment("수납여부")
private String gpSunap;
@Column(name = "UPDT_YN", length = 1)
@Comment("갱신 여부")
private String gpAddrUpdate;
@Column(name = "FRST_MNTX", length = 7)
@Comment("최초본세")
private String gpKeum;
@Column(name = "MAIL_LINK_CD", length = 30)
@Comment("우편 연계 코드")
private String gpConKey;
@Column(name = "VRACTNO_1", length = 20)
@Comment("가상계좌번호 1")
private String gpAccountNo1;
@Column(name = "VRACTNO_2", length = 20)
@Comment("가상계좌번호 2")
private String gpAccountNo2;
@Column(name = "VRACTNO_3", length = 20)
@Comment("가상계좌번호 3")
private String gpAccountNo3;
@Column(name = "VRACTNO_4", length = 20)
@Comment("가상계좌번호 4")
private String gpAccountNo4;
@Column(name = "VRACTNO_5", length = 20)
@Comment("가상계좌번호 5")
private String gpAccountNo5;
@Column(name = "VRACTNO_6", length = 20)
@Comment("가상계좌번호 6")
private String gpAccountNo6;
@Column(name = "VRACTNO_7", length = 20)
@Comment("가상계좌번호 7")
private String gpAccountNo7;
@Column(name = "VRACTNO_8", length = 20)
@Comment("가상계좌번호 8")
private String gpAccountNo8;
@Column(name = "VRACTNO_9", length = 20)
@Comment("가상계좌번호 9")
private String gpAccountNo9;
@Column(name = "VRACTNO_10", length = 20)
@Comment("가상계좌번호 10")
private String gpAccountNo10;
@Column(name = "VRACTNO_11", length = 20)
@Comment("가상계좌번호 11")
private String gpAccountNo11;
@Column(name = "BANKNM_1", length = 20)
@Comment("은행명1")
private String gpBankNm1;
@Column(name = "BANKNM_2", length = 20)
@Comment("은행명2")
private String gpBankNm2;
@Column(name = "BANKNM_3", length = 20)
@Comment("은행명3")
private String gpBankNm3;
@Column(name = "BANKNM_4", length = 20)
@Comment("은행명4")
private String gpBankNm4;
@Column(name = "BANKNM_5", length = 20)
@Comment("은행명5")
private String gpBankNm5;
@Column(name = "BANKNM_6", length = 20)
@Comment("은행명6")
private String gpBankNm6;
@Column(name = "BANKNM_7", length = 20)
@Comment("은행명7")
private String gpBankNm7;
@Column(name = "BANKNM_8", length = 20)
@Comment("은행명8")
private String gpBankNm8;
@Column(name = "BANKNM_9", length = 20)
@Comment("은행명9")
private String gpBankNm9;
@Column(name = "BANKNM_10", length = 20)
@Comment("은행명10")
private String gpBankNm10;
@Column(name = "BANKNM_11", length = 20)
@Comment("은행명11")
private String gpBankNm11;
@Column(name = "TXTN_NO", length = 40)
@Comment("과세번호")
private String gpTaxno;
public void changeGpSunapAfterSunap() {
this.gpSunap = "1";
}
}

@ -0,0 +1,70 @@
package com.worker.domain.entity;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import org.hibernate.annotations.Comment;
@Entity
@Table(name = "tb_infrm_sndng_rcd")
@Getter
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class CpGojiSendHist {
@Id
@Column(name = "INFRMSNDNGRCD_ID", length = 18)
@Comment("고지발송기록 ID")
private String ghCode;
@Column(name = "INFRMDTL_ID")
@Comment("고지상세 ID")
private Integer ghGpcode;
@Column(name = "SGG_CD", length = 5)
@Comment("시군구 코드")
private String ghSggcode;
@Column(name = "MAIL_LINK_CD", length = 30)
@Comment("우편 연계 코드")
private String ghConKey;
@Column(name = "RG_NO", length = 13)
@Comment("등기번호")
private String ghRegino;
@Column(name = "SNDNG_YMD", length = 8)
@Comment("발송일자")
private String ghSendDate;
@Column(name = "SNDNG_HR", length = 4)
@Comment("발송시간")
private String ghSendTime;
@Column(name = "SNDBK_SE", length = 100)
@Comment("반송구분")
private String ghReturnCdStr;
@Column(name = "ADDRSE_NM", length = 70)
@Comment("수취인명")
private String ghRecvName;
@Column(name = "ADDRSE_REL", length = 100)
@Comment("수취인 관계")
private String ghRecvRelt;
@Column(name = "DLVR_RSLT_CD", length = 2)
@Comment("배달 결과 코드")
private String ghResultCd;
@Column(name = "UNDLVR_RSN_CD", length = 2)
@Comment("미배달사유코드")
private String ghReturnCd;
@Column(name = "RCPN_REL_CD", length = 2)
@Comment("수령인관계코드")
private String ghRecvReltCd;
}

@ -0,0 +1,110 @@
package com.worker.domain.entity;
import jakarta.persistence.*;
import lombok.*;
import org.hibernate.annotations.Comment;
@Getter
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Entity
@Table(name = "cp_gojit")
public class CpGojit {
@Id
@Column(name = "INFRMLIST_ID")
@Comment("고지목록 ID")
private Long tgCode;
@Column(name = "SGG_CD", length = 5)
@Comment("시군구 코드")
private String tgSggcode;
@Column(name = "VLTNCN_CD", length = 2)
@Comment("위반내용 코드")
private String tgLawgb;
@Column(name = "INFRM_SE", length = 1)
@Comment("고지 구분")
private String tgGb;
@Column(name = "REG_SE", length = 1)
@Comment("등록 구분")
private String tgDlgb;
@Column(name = "LEVY_EXTR_YMD", length = 8)
@Comment("부과 추출 일자")
private String tgSrcSdate;
@Column(name = "DUDT_EXTR_YMD", length = 8)
@Comment("납기 추출 일자")
private String tgSrcEdate;
@Column(name = "LEVY_YMD", length = 8)
@Comment("부과 일자")
private String tgSdate;
@Column(name = "DUDT_YMD", length = 8)
@Comment("납기 일자")
private String tgEdate;
@Column(name = "TTL", length = 100)
@Comment("제목")
private String tgTitle;
@Column(name = "OFDOC_NO", length = 40)
@Comment("공문 번호")
private String tgDocno;
@Column(name = "EXCPTNMTTR", length = 100)
@Comment("특이사항")
private String tgEtc;
@Column(name = "LEVY_NOCS")
@Comment("부과 건수")
private Integer tgTotcount;
@Column(name = "GRAMT")
@Comment("총금액")
private Long tgTotkeum;
@Column(name = "REG_DT", length = 14)
@Comment("등록 일시")
private String tgIndt;
@Column(name = "REG_PIC")
@Comment("등록 담당자")
private Integer tgInuser;
@Column(name = "MAIL_LINK_CD", length = 30)
@Comment("우편 연계 코드")
private String tgConKey;
@Column(name = "SNDNG_SE", length = 3)
@Comment("발송 구분")
private String tgPostSeCd;
@Column(name = "SNDBK_YN", length = 1)
@Comment("반송 여부")
private String tgIsResend;
@Column(name = "GD_PHRS_CD", length = 13)
@Comment("안내 문구 코드")
private String tgNoticeKey;
@Column(name = "TRSM_TRGT", length = 2)
@Comment("전송 대상")
private String tgPostProcStt;
public void changeTgPostProcStt(String tgPostProcStt) {
this.tgPostProcStt = tgPostProcStt;
}
public void changeTgCode(Long tgCode) {
this.tgCode = tgCode;
}
}

@ -0,0 +1,57 @@
package com.worker.domain.entity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import org.hibernate.annotations.Comment;
@Entity
@Table(name = "cp_imagesize")
@Getter
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class CpImagesize {
@Id
@Column(name = "CRDN_ID", length = 16)
@Comment("단속 ID")
private String isMmcode;
@Column(name = "IMG_SZ_1")
@Comment("이미지크기1")
private Integer isImage1;
@Column(name = "IMG_SZ_2")
@Comment("이미지크기2")
private Integer isImage2;
@Column(name = "IMG_SZ_3")
@Comment("이미지크기3")
private Integer isImage3;
@Column(name = "IMG_SZ_4")
@Comment("이미지크기4")
private Integer isImage4;
@Column(name = "VDO_SZ")
@Comment("동영상크기")
private Integer isVideo;
@Column(name = "OPNNSTTMT_IMG_SZ_1")
@Comment("의견진술이미지크기1")
private Integer isRecall1;
@Column(name = "OPNNSTTMT_IMG_SZ_2")
@Comment("의견진술이미지크기2")
private Integer isRecall2;
@Column(name = "OPNNSTTMT_IMG_SZ_3")
@Comment("의견진술이미지크기3")
private Integer isRecall3;
}

@ -0,0 +1,50 @@
package com.worker.domain.entity;
import jakarta.persistence.*;
import lombok.*;
import org.hibernate.annotations.Comment;
@Entity
@Table(name = "tb_bfhd_oper")
@Getter
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ToString
public class CpInstruct {
@Id
@Column(name = "BFHDOPER_ID")
@Comment("사전운영 ID")
private Long itCode;
@Column(name = "SGG_CD", length = 5)
@Comment("시군구 코드")
private String itSggcode;
@Column(name = "CRDN_ID", length = 16)
@Comment("단속 ID")
private String itMmcode;
@Column(name = "BFHD_OPER_YMD", length = 8)
@Comment("사전 운영 일자")
private String itDate;
@Column(name = "BFHD_OPER_RSN", length = 2)
@Comment("사전 운영 사유")
private String itCause;
@Column(name = "EXCPTNMTTR", length = 100)
@Comment("특이사항")
private String itEtc;
@Column(name = "REG_DT", length = 14)
@Comment("등록일시")
private String itIndt;
@Column(name = "REG_USER_CD")
@Comment("등록 사용자 코드")
private Integer itInuser;
}

@ -0,0 +1,40 @@
package com.worker.domain.entity;
import com.worker.domain.entity.CpInstructAnswerId;
import jakarta.persistence.Column;
import jakarta.persistence.EmbeddedId;
import jakarta.persistence.Entity;
import jakarta.persistence.Table;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import org.hibernate.annotations.Comment;
@Entity
@Table(name = "tb_bfhd_oper_ans")
@Getter
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class CpInstructAnswer {
@EmbeddedId
private CpInstructAnswerId id;
@Column(name = "BFHD_OPER_KND_NM", length = 50)
@Comment("사전운영 종류명")
private String iaId;
@Column(name = "BFHD_OPER_ANS_CN", length = 500)
@Comment("사전운영 답변 내용")
private String iaAnswertext;
@Column(name = "BFHD_OPER_DOC_TTL", length = 100)
@Comment("사전운영 문서 제목")
private String iaMailtitle;
@Column(name = "BFHD_OPER_DOC_CN", length = 1000)
@Comment("사전운영 문서 내용")
private String iaMailtext;
}

@ -0,0 +1,23 @@
package com.worker.domain.entity;
import jakarta.persistence.Column;
import jakarta.persistence.Embeddable;
import lombok.*;
import org.hibernate.annotations.Comment;
@Embeddable
@Getter
@NoArgsConstructor
@AllArgsConstructor
@Builder
@EqualsAndHashCode
public class CpInstructAnswerId {
@Column(name = "SGG_CD", length = 5)
@Comment("시군구 코드")
private String iaSggcode;
@Column(name = "BFHD_OPER_KND_CD", length = 3)
@Comment("사전운영 종류 코드")
private String iaCode;
}

@ -0,0 +1,206 @@
package com.worker.domain.entity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import org.hibernate.annotations.Comment;
@Entity
@Table(name = "tb_crdn")
@Getter
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class CpMain {
@Id
@Column(name = "CRDN_ID", length = 16)
@Comment("단속 ID")
private String mmCode;
@Column(name = "SGG_CD", length = 5)
@Comment("시군구 코드")
private String mmSggcode;
@Column(name = "REG_SE", length = 1)
@Comment("등록 구분")
private String mmDlgb;
@Column(name = "DATA_SRC", length = 1)
@Comment("자료 출처")
private String mmIngb;
@Column(name = "REG_YMD", length = 8)
@Comment("등록 일자")
private String mmDate;
@Column(name = "REG_HR", length = 4)
@Comment("등록 시간")
private String mmTime;
@Column(name = "VLTN_CN_CD", length = 2)
@Comment("위반 내용 코드")
private String mmLawgb;
@Column(name = "DCL", length = 500)
@Comment("신고자")
private String mmSgnm;
@Column(name = "DCL_CNPL", length = 100)
@Comment("신고자 연락처")
private String mmSgtel;
@Column(name = "DCLR_CN", length = 1000)
@Comment("신고 내용")
private String mmSgcont;
@Column(name = "VLTN_PLC", length = 200)
@Comment("위반 장소")
private String mmSgpos;
@Column(name = "STDG_CD", length = 10)
@Comment("법정동 코드")
private String mmBdcode;
@Column(name = "VLTN_PLC_XCRD", length = 20)
@Comment("위반 장소 X좌표")
private String mmGpsX;
@Column(name = "VLTN_PLC_YCRD", length = 20)
@Comment("위반 장소 Y좌표")
private String mmGpsY;
@Column(name = "TOWNG_YN", length = 1)
@Comment("견인 여부")
private String mmTrac;
@Column(name = "CRDN_GD_NO", length = 20)
@Comment("단속 안내 번호")
private String mmSno;
@Column(name = "PHOTO_BYNG")
@Comment("사진 매수")
private Integer mmImagecnt;
@Column(name = "VDO_YN", length = 1)
@Comment("동영상 여부")
private String mmImagegb;
@Column(name = "VHRNO", length = 20)
@Comment("자동차등록번호")
private String mmCarno;
@Column(name = "VIN", length = 25)
@Comment("차대번호")
private String mmVhmno;
@Column(name = "VHCL_SE", length = 1)
@Comment("차량구분")
private String mmCargb;
@Column(name = "CARMDL", length = 1)
@Comment("차종")
private String mmCarkind;
@Column(name = "OWNR_ID", length = 13)
@Comment("소유자 ID")
private String mmOmcode;
@Column(name = "BFHD_WRNTC_PBLCNDAY", length = 8)
@Comment("사전통보서 발행일")
private String mmSdate;
@Column(name = "BFHD_WRNTC_DUDTDAY", length = 8)
@Comment("사전통보서 납기일")
private String mmEdate;
@Column(name = "LEVY_BFR_AMT")
@Comment("부과 이전 금액")
private Integer mmKeum1;
@Column(name = "LEVY_AMT")
@Comment("부과 금액")
private Integer mmKeum2;
@Column(name = "RCVMT_AMT")
@Comment("수납 금액")
private Integer mmSukeum;
@Column(name = "RDAMT")
@Comment("감액")
private Integer mmMinusKeum;
@Column(name = "ADTN_AMT")
@Comment("가산금액")
private Integer mmAddKeum;
@Column(name = "OPNNSTTMT_YN", length = 1)
@Comment("의견진술 여부")
private String mmRecall;
@Column(name = "RGTR")
@Comment("등록자")
private Integer mmInuser;
@Column(name = "REG_DT", length = 14)
@Comment("등록 일시")
private String mmIndt;
@Column(name = "PRCS_STTS", length = 2)
@Comment("처리 상태")
private String mmState;
@Column(name = "LAST_PRCS_DT", length = 14)
@Comment("최종 처리 일시")
private String mmStateDt;
@Column(name = "CVR_INQ_YN", length = 1)
@Comment("표지 조회 여부")
private String mmCarcheck;
@Column(name = "RRG_BFR_CRDN_ID", length = 13)
@Comment("재등록 이전 단속 ID")
private String mmPrecode;
@Column(name = "EXCPTNMTTR", length = 100)
@Comment("특이사항")
private String mmEtc;
@Column(name = "VDO_FILENM", length = 30)
@Comment("동영상 파일명")
private String mmVideofilnm;
@Column(name = "SPCCRDNZONE_YN", length = 1)
@Comment("특별단속구역 여부")
private String mmSafezone;
@Column(name = "VHCL_NM", length = 4)
@Comment("위반횟수")
private String mmViorcnt;
@Column(name = "VLTN_NMTM", length = 4)
@Comment("추가 등록시간")
private String mmTime2;
@Column(name = "ADD_REG_HR", length = 60)
@Comment("차량이름")
private String mmCarname;
public void changeMmStateAfterSunap() {
this.mmState = switch (this.mmState) {
case "41" -> "71";
case "51" -> "72";
case "52" -> "73";
case "53" -> "74";
case "54", "55" -> "75";
default -> "71";
};
}
}

@ -0,0 +1,13 @@
package com.worker.domain.repo_new.cp;
import com.worker.domain.entity.CpAnswer;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
public interface CpAnswerRepository extends JpaRepository<CpAnswer,String> {
List<CpAnswer> findAllByAsState(String number);
boolean existsByAsJsnoM(String civilNoC);
}

@ -0,0 +1,13 @@
package com.worker.domain.repo_new.cp;
import com.worker.domain.entity.CpBdong;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
public interface CpBdongRepository extends JpaRepository<CpBdong, Long> {
List<CpBdong> findAllByBdCodeStartingWith(String string);
List<CpBdong> findAllByBdSggName(String bdSggName);
}

@ -0,0 +1,7 @@
package com.worker.domain.repo_new.cp;
import com.worker.domain.entity.CpCancel;
import org.springframework.data.jpa.repository.JpaRepository;
public interface CpCancelRepository extends JpaRepository<CpCancel,Integer> {
}

@ -0,0 +1,10 @@
package com.worker.domain.repo_new.cp;
import com.worker.domain.entity.EpostMakeResult;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.Optional;
public interface CpEPostMakeResultRepository extends JpaRepository<EpostMakeResult,Long> {
Optional<EpostMakeResult> findByConKeyAndRgstNmbr(String conKey, String rgstNmbr);
}

@ -0,0 +1,8 @@
package com.worker.domain.repo_new.cp;
import com.worker.domain.entity.EpostRgstNmbr;
import org.springframework.data.jpa.repository.JpaRepository;
public interface CpEPostRgstNmbr extends JpaRepository<EpostRgstNmbr, Integer> {
EpostRgstNmbr findByPcursor(String cursor);
}

@ -0,0 +1,7 @@
package com.worker.domain.repo_new.cp;
import com.worker.domain.entity.EpostSenderDetail;
import org.springframework.data.jpa.repository.JpaRepository;
public interface CpEPostSenderDetailRepository extends JpaRepository<EpostSenderDetail, Long> {
}

@ -0,0 +1,7 @@
package com.worker.domain.repo_new.cp;
import com.worker.domain.entity.EpostSenderReg;
import org.springframework.data.jpa.repository.JpaRepository;
public interface CpEPostSenderRegRepository extends JpaRepository<EpostSenderReg, Integer> {
}

@ -0,0 +1,7 @@
package com.worker.domain.repo_new.cp;
import com.worker.domain.entity.EpostDelivResult;
import org.springframework.data.jpa.repository.JpaRepository;
public interface CpEpostDelivResultRepository extends JpaRepository<EpostDelivResult, Long> {
}

@ -0,0 +1,7 @@
package com.worker.domain.repo_new.cp;
import com.worker.domain.entity.EpostRceptResult;
import org.springframework.data.jpa.repository.JpaRepository;
public interface CpEpostRceptResultRepository extends JpaRepository<EpostRceptResult, Long> {
}

@ -0,0 +1,7 @@
package com.worker.domain.repo_new.cp;
import com.worker.domain.entity.CpGojiPrt;
import org.springframework.data.jpa.repository.JpaRepository;
public interface CpGojiPrtRepository extends JpaRepository<CpGojiPrt, Long> {
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save