feat : 사전통보 현황 리스트 조회 완료

pull/33/head
Kurt92 1 week ago
parent 2d545a6275
commit a1a9a97616

@ -45,7 +45,7 @@ public class PreNoticeSendTargetController {
dto.setPagingYn("N"); dto.setPagingYn("N");
// 리스트 조회 // 리스트 조회
List<PreNoticeSendTargetDto.Response.PreNoticeSendTarget> result = preNoticeSendTargetService.findPreNoticeSendTarget(dto); List<PreNoticeSendTargetDto.Response.PreNoticeSendTargetFlat> result = preNoticeSendTargetService.findPreNoticeSendTarget(dto);
return ApiResponseUtil.successWithGrid(result, dto); return ApiResponseUtil.successWithGrid(result, dto);
} }

@ -33,6 +33,7 @@ public class PreNoticeSendTargetDto {
private CpMain cpMain; private CpMain cpMain;
private CpAnswer cpAnswer; private CpAnswer cpAnswer;
private CpOwner cpOwner; private CpOwner cpOwner;
private String vlId;
} }
@Getter @Getter
@ -42,7 +43,27 @@ public class PreNoticeSendTargetDto {
private CpMainVO cpMain; private CpMainVO cpMain;
private CpAnswerVO cpAnswer; private CpAnswerVO cpAnswer;
private CpOwnerVO cpOwner; 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;
}
} }
} }

@ -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.QCpMain.cpMain;
import static go.kr.project.domain.entity.QCpOwner.cpOwner; 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.QCpUser.cpUser;
import static go.kr.project.domain.entity.QCpViolation.cpViolation;
@Repository @Repository
@RequiredArgsConstructor @RequiredArgsConstructor
@ -32,13 +33,17 @@ public class PreNoticeSendTargetQueryDslRepository {
PreNoticeSendTargetDto.Response.PreNoticeSendTargetEntities.class, PreNoticeSendTargetDto.Response.PreNoticeSendTargetEntities.class,
cpMain, cpMain,
cpAnswer, cpAnswer,
cpOwner cpOwner,
cpViolation.vlId
) )
) )
.from(cpMain) .from(cpMain)
.leftJoin(cpAnswer).on(cpMain.mmCode.eq(cpAnswer.asMmcode)) .leftJoin(cpAnswer).on(cpMain.mmCode.eq(cpAnswer.asMmcode))
.leftJoin(cpUser).on(cpAnswer.asReuser.eq(cpUser.umCode)) .leftJoin(cpUser).on(cpAnswer.asReuser.eq(cpUser.umCode))
.leftJoin(cpOwner).on(cpMain.mmOmcode.eq(cpOwner.omCode)) .leftJoin(cpOwner).on(cpMain.mmOmcode.eq(cpOwner.omCode))
.innerJoin(cpViolation).on(
cpMain.mmLawgb.eq(cpViolation.id.vlCode),
cpMain.mmSggcode.eq(cpViolation.id.vlSggcode))
.where( .where(
// cpMain.mmSggcode.eq(dto.getMmSggcode()), // cpMain.mmSggcode.eq(dto.getMmSggcode()),
cpMain.mmState.eq(MmStateEnum.VEHICLE_CHECKED.getCode()), cpMain.mmState.eq(MmStateEnum.VEHICLE_CHECKED.getCode()),

@ -5,5 +5,5 @@ import go.kr.project.biz.post.preNotice.sendTarget.dto.PreNoticeSendTargetDto;
import java.util.List; import java.util.List;
public interface PreNoticeSendTargetService { public interface PreNoticeSendTargetService {
List<PreNoticeSendTargetDto.Response.PreNoticeSendTarget> findPreNoticeSendTarget(PreNoticeSendTargetDto.Request.Search dto); List<PreNoticeSendTargetDto.Response.PreNoticeSendTargetFlat> findPreNoticeSendTarget(PreNoticeSendTargetDto.Request.Search dto);
} }

@ -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.dto.PreNoticeSendTargetDto;
import go.kr.project.biz.post.preNotice.sendTarget.repository.PreNoticeSendTargetQueryDslRepository; import go.kr.project.biz.post.preNotice.sendTarget.repository.PreNoticeSendTargetQueryDslRepository;
import go.kr.project.biz.post.preNotice.sendTarget.service.PreNoticeSendTargetService; 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 go.kr.project.vo.mapper.EntityVoMapper;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -19,18 +23,35 @@ public class PreNoticeSendTargetServiceImpl implements PreNoticeSendTargetServic
private final PreNoticeSendTargetQueryDslRepository preNoticeSendTargetQueryDslRepository; private final PreNoticeSendTargetQueryDslRepository preNoticeSendTargetQueryDslRepository;
@Override @Override
public List<PreNoticeSendTargetDto.Response.PreNoticeSendTarget> findPreNoticeSendTarget(PreNoticeSendTargetDto.Request.Search dto) { public List<PreNoticeSendTargetDto.Response.PreNoticeSendTargetFlat> findPreNoticeSendTarget(PreNoticeSendTargetDto.Request.Search dto) {
List<PreNoticeSendTargetDto.Response.PreNoticeSendTargetEntities> list = preNoticeSendTargetQueryDslRepository.findPreNoticeSendTarget(dto); List<PreNoticeSendTargetDto.Response.PreNoticeSendTargetEntities> list = preNoticeSendTargetQueryDslRepository.findPreNoticeSendTarget(dto);
List<PreNoticeSendTargetDto.Response.PreNoticeSendTarget> result = List<PreNoticeSendTargetDto.Response.PreNoticeSendTargetFlat> result =
list.stream().map(e -> list.stream()
PreNoticeSendTargetDto.Response.PreNoticeSendTarget.builder() .map(e -> {
.cpMain(mapper.toCpMainVO(e.getCpMain())) CpMainVO cpMainVO = mapper.toCpMainVO(e.getCpMain());
.cpAnswer(mapper.toCpAnswerVO(e.getCpAnswer())) CpAnswerVO cpAnswerVO = mapper.toCpAnswerVO(e.getCpAnswer());
.cpOwner(mapper.toCpOwnerVO(e.getCpOwner())) CpOwnerVO cpOwnerVO = mapper.toCpOwnerVO(e.getCpOwner());
.build()
).collect(Collectors.toList()); 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; return result;
} }

@ -216,18 +216,18 @@
/** tui-grid Set */ /** tui-grid Set */
let initGrid = () => { let initGrid = () => {
const gridColumns = [ const gridColumns = [
{header: '등록구분', name: '', sortable: true, width: 50,}, {header: '등록구분', name: 'mmDlgb', sortable: true, width: 100,},
{header: '목록번호', name: '', sortable: true, width: 70,}, {header: '목록번호', name: 'asBbsNo', sortable: true, width: 100,},
{header: '접수일', name: '', sortable: true, width: 100,}, {header: '접수일', name: 'asJsdate', sortable: true, width: 100,},
{header: '신고자', name: '', sortable: true, width: 100,}, {header: '신고자', name: 'mmSgnm', sortable: true, width: 100,},
{header: '담당자', name: '', width: 150,}, {header: '담당자', name: 'mmSgtel', width: 100,},
{header: '위반내용', name: '', sortable: true, width: 70,}, {header: '위반내용', name: 'vlId', sortable: true, width: 100,},
{header: '위반일시', name: '', sortable: true, width: 70,}, {header: '위반일시', name: 'mmDate', sortable: true, width: 100,},
{header: '차량번호', name: '', sortable: true, width: 150,}, {header: '차량번호', name: 'mmCarno', sortable: true, width: 150,},
{header: '소유자', name: '', width: 150,}, {header: '소유자', name: 'omName', width: 150,},
{header: '소유주구분', name: '', width: 50,}, {header: '소유주구분', name: 'omNogb', width: 100,},
{header: '주민번호', name: '', width: 250,}, {header: '주민번호', name: 'omJno', width: 250,},
{header: '위반장소', name: '', sortable: true, width: 150,}, {header: '위반장소', name: 'mmSgpos', sortable: true, width: 150,},
{header: 'mmCode', name: 'mmCode', sortable: true, width: 150, align: 'center', hidden: true} {header: 'mmCode', name: 'mmCode', sortable: true, width: 150, align: 'center', hidden: true}
]; ];
let gridDatasource = { let gridDatasource = {

Loading…
Cancel
Save