diff --git a/src/main/java/go/kr/project/biz/post/preNotice/sendTarget/controller/PreNoticeSendTargetController.java b/src/main/java/go/kr/project/biz/post/preNotice/sendTarget/controller/PreNoticeSendTargetController.java index 0331d9e..b8986dd 100644 --- a/src/main/java/go/kr/project/biz/post/preNotice/sendTarget/controller/PreNoticeSendTargetController.java +++ b/src/main/java/go/kr/project/biz/post/preNotice/sendTarget/controller/PreNoticeSendTargetController.java @@ -45,7 +45,7 @@ public class PreNoticeSendTargetController { dto.setPagingYn("N"); // 리스트 조회 - List result = preNoticeSendTargetService.findPreNoticeSendTarget(dto); + List result = preNoticeSendTargetService.findPreNoticeSendTarget(dto); return ApiResponseUtil.successWithGrid(result, dto); } diff --git a/src/main/java/go/kr/project/biz/post/preNotice/sendTarget/dto/PreNoticeSendTargetDto.java b/src/main/java/go/kr/project/biz/post/preNotice/sendTarget/dto/PreNoticeSendTargetDto.java index 31d07ab..e15b14e 100644 --- a/src/main/java/go/kr/project/biz/post/preNotice/sendTarget/dto/PreNoticeSendTargetDto.java +++ b/src/main/java/go/kr/project/biz/post/preNotice/sendTarget/dto/PreNoticeSendTargetDto.java @@ -33,6 +33,7 @@ public class PreNoticeSendTargetDto { private CpMain cpMain; private CpAnswer cpAnswer; private CpOwner cpOwner; + private String vlId; } @Getter @@ -42,7 +43,27 @@ public class PreNoticeSendTargetDto { private CpMainVO cpMain; private CpAnswerVO cpAnswer; private CpOwnerVO cpOwner; + private String vlId; } + @Getter + @Setter + @Builder + public static class PreNoticeSendTargetFlat { + private String mmDlgb; + private String asBbsNo; + private String asJsdate; + private String mmSgnm; + private String mmSgtel; + private String vlId; + private String mmDate; + private String mmCarno; + private String omName; + private String omNogb; + private String omJno; + private String mmSgpos; + private String mmCode; + + } } } diff --git a/src/main/java/go/kr/project/biz/post/preNotice/sendTarget/repository/PreNoticeSendTargetQueryDslRepository.java b/src/main/java/go/kr/project/biz/post/preNotice/sendTarget/repository/PreNoticeSendTargetQueryDslRepository.java index 7a08114..6babf99 100644 --- a/src/main/java/go/kr/project/biz/post/preNotice/sendTarget/repository/PreNoticeSendTargetQueryDslRepository.java +++ b/src/main/java/go/kr/project/biz/post/preNotice/sendTarget/repository/PreNoticeSendTargetQueryDslRepository.java @@ -14,6 +14,7 @@ import static go.kr.project.domain.entity.QCpAnswer.cpAnswer; import static go.kr.project.domain.entity.QCpMain.cpMain; import static go.kr.project.domain.entity.QCpOwner.cpOwner; import static go.kr.project.domain.entity.QCpUser.cpUser; +import static go.kr.project.domain.entity.QCpViolation.cpViolation; @Repository @RequiredArgsConstructor @@ -32,13 +33,17 @@ public class PreNoticeSendTargetQueryDslRepository { PreNoticeSendTargetDto.Response.PreNoticeSendTargetEntities.class, cpMain, cpAnswer, - cpOwner + cpOwner, + cpViolation.vlId ) ) .from(cpMain) .leftJoin(cpAnswer).on(cpMain.mmCode.eq(cpAnswer.asMmcode)) .leftJoin(cpUser).on(cpAnswer.asReuser.eq(cpUser.umCode)) .leftJoin(cpOwner).on(cpMain.mmOmcode.eq(cpOwner.omCode)) + .innerJoin(cpViolation).on( + cpMain.mmLawgb.eq(cpViolation.id.vlCode), + cpMain.mmSggcode.eq(cpViolation.id.vlSggcode)) .where( // cpMain.mmSggcode.eq(dto.getMmSggcode()), cpMain.mmState.eq(MmStateEnum.VEHICLE_CHECKED.getCode()), diff --git a/src/main/java/go/kr/project/biz/post/preNotice/sendTarget/service/PreNoticeSendTargetService.java b/src/main/java/go/kr/project/biz/post/preNotice/sendTarget/service/PreNoticeSendTargetService.java index 7c6441d..2f379f7 100644 --- a/src/main/java/go/kr/project/biz/post/preNotice/sendTarget/service/PreNoticeSendTargetService.java +++ b/src/main/java/go/kr/project/biz/post/preNotice/sendTarget/service/PreNoticeSendTargetService.java @@ -5,5 +5,5 @@ import go.kr.project.biz.post.preNotice.sendTarget.dto.PreNoticeSendTargetDto; import java.util.List; public interface PreNoticeSendTargetService { - List findPreNoticeSendTarget(PreNoticeSendTargetDto.Request.Search dto); + List findPreNoticeSendTarget(PreNoticeSendTargetDto.Request.Search dto); } diff --git a/src/main/java/go/kr/project/biz/post/preNotice/sendTarget/service/impl/PreNoticeSendTargetServiceImpl.java b/src/main/java/go/kr/project/biz/post/preNotice/sendTarget/service/impl/PreNoticeSendTargetServiceImpl.java index 99ff1fc..65eadd2 100644 --- a/src/main/java/go/kr/project/biz/post/preNotice/sendTarget/service/impl/PreNoticeSendTargetServiceImpl.java +++ b/src/main/java/go/kr/project/biz/post/preNotice/sendTarget/service/impl/PreNoticeSendTargetServiceImpl.java @@ -4,6 +4,10 @@ import go.kr.project.biz.minwon.init.dto.MinwonInitDto; import go.kr.project.biz.post.preNotice.sendTarget.dto.PreNoticeSendTargetDto; import go.kr.project.biz.post.preNotice.sendTarget.repository.PreNoticeSendTargetQueryDslRepository; import go.kr.project.biz.post.preNotice.sendTarget.service.PreNoticeSendTargetService; +import go.kr.project.vo.CpAnswerVO; +import go.kr.project.vo.CpMainVO; +import go.kr.project.vo.CpOwnerVO; +import go.kr.project.vo.code.MmDlgbEnum; import go.kr.project.vo.mapper.EntityVoMapper; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -19,18 +23,35 @@ public class PreNoticeSendTargetServiceImpl implements PreNoticeSendTargetServic private final PreNoticeSendTargetQueryDslRepository preNoticeSendTargetQueryDslRepository; @Override - public List findPreNoticeSendTarget(PreNoticeSendTargetDto.Request.Search dto) { + public List findPreNoticeSendTarget(PreNoticeSendTargetDto.Request.Search dto) { List list = preNoticeSendTargetQueryDslRepository.findPreNoticeSendTarget(dto); - List result = - list.stream().map(e -> - PreNoticeSendTargetDto.Response.PreNoticeSendTarget.builder() - .cpMain(mapper.toCpMainVO(e.getCpMain())) - .cpAnswer(mapper.toCpAnswerVO(e.getCpAnswer())) - .cpOwner(mapper.toCpOwnerVO(e.getCpOwner())) - .build() - ).collect(Collectors.toList()); + List result = + list.stream() + .map(e -> { + CpMainVO cpMainVO = mapper.toCpMainVO(e.getCpMain()); + CpAnswerVO cpAnswerVO = mapper.toCpAnswerVO(e.getCpAnswer()); + CpOwnerVO cpOwnerVO = mapper.toCpOwnerVO(e.getCpOwner()); + + return PreNoticeSendTargetDto.Response.PreNoticeSendTargetFlat.builder() + // 평탄화 필드 + .mmDlgb(MmDlgbEnum.getDescByCode(cpMainVO.getMmDlgb())) + .asBbsNo(cpMainVO.getMmBdcode()) + .asJsdate(cpAnswerVO.getAsJsdate()) + .mmSgnm(cpMainVO.getMmSgnm()) + .mmSgtel(cpMainVO.getMmSgtel()) + .vlId(e.getVlId()) + .mmDate(cpMainVO.getMmDate()) + .mmCarno(cpMainVO.getMmCarno()) + .omName(cpOwnerVO.getOmName()) + .omNogb(cpOwnerVO.getOmNOGb()) + .omJno(cpOwnerVO.getOmJno()) + .mmSgpos(cpMainVO.getMmSgpos()) + .mmCode(cpMainVO.getMmCode()) + .build(); + }) + .collect(Collectors.toList()); return result; } diff --git a/src/main/webapp/WEB-INF/views/biz/post/preNotice/sendTarget/preNoticeSendTarget.jsp b/src/main/webapp/WEB-INF/views/biz/post/preNotice/sendTarget/preNoticeSendTarget.jsp index f2035dd..724dc2a 100644 --- a/src/main/webapp/WEB-INF/views/biz/post/preNotice/sendTarget/preNoticeSendTarget.jsp +++ b/src/main/webapp/WEB-INF/views/biz/post/preNotice/sendTarget/preNoticeSendTarget.jsp @@ -216,18 +216,18 @@ /** tui-grid Set */ let initGrid = () => { const gridColumns = [ - {header: '등록구분', name: '', sortable: true, width: 50,}, - {header: '목록번호', name: '', sortable: true, width: 70,}, - {header: '접수일', name: '', sortable: true, width: 100,}, - {header: '신고자', name: '', sortable: true, width: 100,}, - {header: '담당자', name: '', width: 150,}, - {header: '위반내용', name: '', sortable: true, width: 70,}, - {header: '위반일시', name: '', sortable: true, width: 70,}, - {header: '차량번호', name: '', sortable: true, width: 150,}, - {header: '소유자', name: '', width: 150,}, - {header: '소유주구분', name: '', width: 50,}, - {header: '주민번호', name: '', width: 250,}, - {header: '위반장소', name: '', sortable: true, width: 150,}, + {header: '등록구분', name: 'mmDlgb', sortable: true, width: 100,}, + {header: '목록번호', name: 'asBbsNo', sortable: true, width: 100,}, + {header: '접수일', name: 'asJsdate', sortable: true, width: 100,}, + {header: '신고자', name: 'mmSgnm', sortable: true, width: 100,}, + {header: '담당자', name: 'mmSgtel', width: 100,}, + {header: '위반내용', name: 'vlId', sortable: true, width: 100,}, + {header: '위반일시', name: 'mmDate', sortable: true, width: 100,}, + {header: '차량번호', name: 'mmCarno', sortable: true, width: 150,}, + {header: '소유자', name: 'omName', width: 150,}, + {header: '소유주구분', name: 'omNogb', width: 100,}, + {header: '주민번호', name: 'omJno', width: 250,}, + {header: '위반장소', name: 'mmSgpos', sortable: true, width: 150,}, {header: 'mmCode', name: 'mmCode', sortable: true, width: 150, align: 'center', hidden: true} ]; let gridDatasource = {