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

pull/33/head
Kurt92 4 days ago
parent 2d545a6275
commit a1a9a97616

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

@ -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;
}
}
}

@ -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()),

@ -5,5 +5,5 @@ import go.kr.project.biz.post.preNotice.sendTarget.dto.PreNoticeSendTargetDto;
import java.util.List;
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.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<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.PreNoticeSendTarget> 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<PreNoticeSendTargetDto.Response.PreNoticeSendTargetFlat> 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;
}

@ -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 = {

Loading…
Cancel
Save