Browse Source

Smlt 목록 필터 , Hstry 목록 필터(hstry 미완성)

Test
qkr7828(박재우) 2 years ago
parent
commit
ae3d52e0a2
  1. 74
      src/main/java/com/palnet/biz/api/anls/smlt/service/AnlsSmltService.java
  2. 308
      src/main/java/com/palnet/biz/jpa/repository/ctr/CtrCntrlQueryRepository.java

74
src/main/java/com/palnet/biz/api/anls/smlt/service/AnlsSmltService.java

@ -68,16 +68,20 @@ public class AnlsSmltService {
public ComnPagingRs<AnlsHstryModel> list(AnlsHstryRqModel rq){ public ComnPagingRs<AnlsHstryModel> list(AnlsHstryRqModel rq){
String appAuth = jwtTokenUtil.getUserAuthByToken(); String appAuth = jwtTokenUtil.getUserAuthByToken();
List<JwtGroupModel> groupAuth = jwtTokenUtil.getGroupAuthByToken(); List<JwtGroupModel> groupAuth = jwtTokenUtil.getGroupAuthByToken();
List<JwtGroupModel> adminAuth = new ArrayList<>();
Integer cstmrSno = jwtTokenUtil.getCstmrSnoByToken(); Integer cstmrSno = jwtTokenUtil.getCstmrSnoByToken();
ComnPagingRs<AnlsHstryModel> response = new ComnPagingRs<>(); ComnPagingRs<AnlsHstryModel> response = new ComnPagingRs<>();
Pageable pageable = PageRequest.of(rq.getPage()-1, rq.getRecord()); Pageable pageable = PageRequest.of(rq.getPage()-1, rq.getRecord());
PageImpl<AnlsHstryModel> result; PageImpl<AnlsHstryModel> result;
List<AnlsHstryModel>resultList = new ArrayList<>(); List<AnlsHstryModel>resultList = new ArrayList<>();
long total = resultList.size();
long totalPage = total % rq.getRecord() > 0 ? (total/rq.getRecord()) + 1 : total/rq.getRecord(); if("SUPER".equals(appAuth)||"ADMIN".equals(appAuth)) {// App 권한이 수퍼 / 어드민일 경우 목록 전부 표출
if("SUPER".equals(appAuth)||"ADMIN".equals(appAuth)) { // App 권한이 수퍼 / 어드민일 경우 목록 전부 표출 long total = resultList.size();
long totalPage = total % rq.getRecord() > 0 ? (total/rq.getRecord()) + 1 : total/rq.getRecord();
result = query.listCntrlBas(rq, pageable); result = query.listCntrlBas(rq, pageable);
response.setItems(result.getContent()); response.setItems(result.getContent());
response.setTotal(total); response.setTotal(total);
response.setTotalPage(totalPage); response.setTotalPage(totalPage);
@ -85,60 +89,36 @@ public class AnlsSmltService {
return response; return response;
} }
if("USER".equals(appAuth) || "ROLE_USER".equals(appAuth)) { // App 권한은 user이지만 group 권한이 LEADER / MASTER인 그룹이 있는 경우 해당 그룹의 비행 이력 목록 표출 if("USER".equals(appAuth) || "ROLE_USER".equals(appAuth)) {
for (JwtGroupModel list : groupAuth) { for (JwtGroupModel list : groupAuth) {
if("MASTER".equals(list.getGroupAuthCd()) || "LEADER".equals(list.getGroupAuthCd())) { if("MASTER".equals(list.getGroupAuthCd()) || "LEADER".equals(list.getGroupAuthCd())) {
List<AnlsHstryModel> results = query.cntrlBasAuthList(rq, list.getGroupId()); adminAuth.add(list);
if (results.size() > 0) {
resultList.addAll(results);
}
} }
} }
} }
if ( resultList.size() < 1) { /* App 권한이 유저이면서 group 권한도 모두 NORMAL인 ID인 경우 본인이 생성한 기체만 조회 */
List<ComIdntfBas> idntfList = comIdntBasRepository.findIdntfNumber(cstmrSno);
if (idntfList.size() > 0) {
for (ComIdntfBas list : idntfList) {
List<AnlsHstryModel> results = query.cntrlBasNormalList(rq, list.getIdntfNum());
if (results.size() > 0) {
resultList.addAll(results);
}
}
}
List<FltPlanBas> basResult = fltPlanBasRepository.findByPlanSno(cstmrSno); /* App 권한이 유저이면서 group 권한도 모두
NORMAL인 ID인 경우 cstmrSno로 비행계획서 조회 */
for (FltPlanBas list : basResult) {
resultList.addAll(query.cntrlBasNormalPlanList(rq, list.getPlanSno()));
}
List<FltPlanPilot> pilotResult = fltPlanPilotRepository.findByPlanSno(cstmrSno); /* App 권한이 유저이면서 group 권한도
모두 NORMAL인 ID인 경우 cstmrSno로 조종사 조회 */
for (FltPlanPilot list : pilotResult) {
resultList.addAll(query.cntrlBasNormalPlanList(rq, list.getPlanSno()));
}
Comparator<AnlsHstryModel> comparator = (o1, o2) -> {
if (DateUtils.diffSecond(o1.getCntrlStDt(), o2.getCntrlStDt()) < 0) {
return 1;
} else if(DateUtils.diffSecond(o1.getCntrlStDt(), o2.getCntrlStDt()) > 0) {
return -1;
}
return 0;
};
Collections.sort(resultList, comparator);
PageImpl<AnlsHstryModel> res = new PageImpl<>(resultList, pageable, resultList.size());
response.setItems(res.getContent());
response.setTotal(total);
response.setTotalPage(totalPage);
response.setPage(rq.getPage());
}
List<ComIdntfBas> idntfList = comIdntBasRepository.findIdntfNumber(cstmrSno);
List<FltPlanBas> basResult = fltPlanBasRepository.findByPlanSno(cstmrSno);
List<FltPlanPilot> pilotList = fltPlanPilotRepository.findByPlanSno(cstmrSno);
List<FltPlanBas> pilotResult = new ArrayList<>();
for(FltPlanPilot list : pilotList) {
pilotResult = fltPlanBasRepository.findBasList(list.getPlanSno());
}
result = query.cntrlBasNormalSmltList(rq, pageable, adminAuth, idntfList, basResult, pilotResult); // App 권한은 user이지만 group 권한이 LEADER / MASTER인 그룹이 있는 경우 해당 비행 이력 목록 표출
// group 권한이 Normal인 경우 본인이 작성한 비행계획서의 이력 / 본인이 조종사인 기체 이력/ 본인이 등록한 기체 이력 표출
long total = query.cntrlBasNormalSmltCount(rq, adminAuth, idntfList, basResult, pilotResult);
long totalPage = total % rq.getRecord() > 0 ? total/rq.getRecord() + 1 : total/rq.getRecord();
response.setItems(result.getContent());
response.setTotal(total);
response.setTotalPage(totalPage);
response.setPage(rq.getPage());
return response; return response;
} }
/** /**

308
src/main/java/com/palnet/biz/jpa/repository/ctr/CtrCntrlQueryRepository.java

@ -78,7 +78,9 @@ public class CtrCntrlQueryRepository{
QCtrCntrlBas qCntrlBasEntity = QCtrCntrlBas.ctrCntrlBas; QCtrCntrlBas qCntrlBasEntity = QCtrCntrlBas.ctrCntrlBas;
QCtrCntrlHstryArea qCntrlHstryAreaEntity = QCtrCntrlHstryArea.ctrCntrlHstryArea; QCtrCntrlHstryArea qCntrlHstryAreaEntity = QCtrCntrlHstryArea.ctrCntrlHstryArea;
QFltPlanCtrCntrlRel qFltPlanCtrCntrlRel = QFltPlanCtrCntrlRel.fltPlanCtrCntrlRel;
QFltPlanBas qFltPlanBas = QFltPlanBas.fltPlanBas;
BooleanBuilder builder = new BooleanBuilder(); BooleanBuilder builder = new BooleanBuilder();
builder.and(qCntrlBasEntity.statusCd.eq("99")); builder.and(qCntrlBasEntity.statusCd.eq("99"));
@ -88,6 +90,9 @@ public class CtrCntrlQueryRepository{
Date endDate = end.getTime(); Date endDate = end.getTime();
builder.and(qCntrlBasEntity.cntrlStDt.after(DateUtils.stringToDate(rq.getStDate()))); builder.and(qCntrlBasEntity.cntrlStDt.after(DateUtils.stringToDate(rq.getStDate())));
builder.and(qCntrlBasEntity.cntrlEndDt.before(endDate)); builder.and(qCntrlBasEntity.cntrlEndDt.before(endDate));
builder.and(qCntrlBasEntity.statusCd.eq("99"));
builder.and(qFltPlanBas.aprvlYn.eq("Y"));
if(!StringUtils.isEmpty(rq.getSearch1())) { if(!StringUtils.isEmpty(rq.getSearch1())) {
builder.and(qCntrlBasEntity.idntfNum.like("%" + rq.getSearch1() + "%")); builder.and(qCntrlBasEntity.idntfNum.like("%" + rq.getSearch1() + "%"));
} }
@ -129,6 +134,10 @@ public class CtrCntrlQueryRepository{
.leftJoin(qCntrlHstryAreaEntity) .leftJoin(qCntrlHstryAreaEntity)
.on(qCntrlBasEntity.cntrlId.eq(qCntrlHstryAreaEntity.cntrlId)) .on(qCntrlBasEntity.cntrlId.eq(qCntrlHstryAreaEntity.cntrlId))
.on(qCntrlHstryAreaEntity.actnType.eq("01")) .on(qCntrlHstryAreaEntity.actnType.eq("01"))
.leftJoin(qFltPlanCtrCntrlRel)
.on(qCntrlBasEntity.cntrlId.eq(qFltPlanCtrCntrlRel.cntrlId))
.leftJoin(qFltPlanBas)
.on(qFltPlanCtrCntrlRel.planSno.eq(qFltPlanBas.planSno))
.where(builder) .where(builder)
.orderBy(qCntrlBasEntity.cntrlStDt.asc()) .orderBy(qCntrlBasEntity.cntrlStDt.asc())
.offset(pageable.getOffset()) .offset(pageable.getOffset())
@ -275,18 +284,159 @@ public class CtrCntrlQueryRepository{
end.setTime(DateUtils.stringToDate(rq.getEndDate())); end.setTime(DateUtils.stringToDate(rq.getEndDate()));
end.add(Calendar.DATE, 1); end.add(Calendar.DATE, 1);
Date endDate = end.getTime(); Date endDate = end.getTime();
builder.and(qFltPlanCtrCntrlRelEntity.groupId.eq(rq.getGroupId()));
builder.and(qCntrlBasEntity.cntrlStDt.after(DateUtils.stringToDate(rq.getStDate()))); builder.and(qCntrlBasEntity.cntrlStDt.after(DateUtils.stringToDate(rq.getStDate())));
builder.and(qCntrlBasEntity.cntrlEndDt.before(endDate)); builder.and(qCntrlBasEntity.cntrlEndDt.before(endDate));
builder.and(qCntrlBasEntity.statusCd.eq("99"));
builder.and(qFltPlanBasEntity.aprvlYn.eq("Y"));
if(idntfList.size()>0) {
for(ComIdntfBas list : idntfList) {
idntfBuilder.or(qCntrlBasEntity.idntfNum.eq(list.getIdntfNum()));
}
}
if(basResult.size()>0) {
for(FltPlanBas list : basResult) {
basBuilder.or(qFltPlanCtrCntrlRelEntity.planSno.eq(list.getPlanSno()));
}
}
if(pilotResult.size()>0) {
for(FltPlanBas list : pilotResult) {
pilotBuilder.or(qFltPlanCtrCntrlRelEntity.planSno.eq(list.getPlanSno()));
}
}
if(!StringUtils.isEmpty(rq.getSearch1())) {
builder.and(qCntrlBasEntity.idntfNum.like("%" + rq.getSearch1() + "%"));
}
List<AnlsHstryModel> result = new ArrayList<>();
List<AnlsHstryModel> queryList = query.select(Projections.bean(AnlsHstryModel.class ,
qCntrlBasEntity.cntrlId,
qCntrlBasEntity.idntfNum,
qCntrlBasEntity.statusCd,
qCntrlBasEntity.objectTypeCd,
qCntrlBasEntity.flghtStDt,
qCntrlBasEntity.flghtEndDt,
qCntrlBasEntity.cntrlStDt,
qCntrlBasEntity.cntrlEndDt,
qCntrlBasEntity.ttlTime,
qCntrlBasEntity.ttlTimeType,
qCntrlBasEntity.ttlDstnc,
qCntrlBasEntity.ttlDstncType,
qCntrlBasEntity.avrgSpeed,
qCntrlBasEntity.avrgSpeedType,
qCntrlBasEntity.bttrCnsmptn,
qCntrlBasEntity.endTypeCd,
qCntrlBasEntity.createDt,
qCntrlBasEntity.updateDt,
qCntrlHstryAreaEntity.actnType,
qCntrlHstryAreaEntity.area1,
qCntrlHstryAreaEntity.area2,
qCntrlHstryAreaEntity.area3,
qCntrlHstryAreaEntity.areaNm,
qCntrlHstryAreaEntity.areaType,
qCntrlHstryAreaEntity.landNm,
qCntrlHstryAreaEntity.landNum,
qCntrlHstryAreaEntity.zipCd
))
.from(qCntrlBasEntity)
.leftJoin(qCntrlHstryAreaEntity)
.on(qCntrlBasEntity.cntrlId.eq(qCntrlHstryAreaEntity.cntrlId))
.on(qCntrlHstryAreaEntity.actnType.eq("01"))
.leftJoin(qFltPlanCtrCntrlRelEntity)
.on(qCntrlBasEntity.cntrlId.eq(qFltPlanCtrCntrlRelEntity.cntrlId))
.leftJoin(qFltPlanBasEntity)
.on(qFltPlanCtrCntrlRelEntity.planSno.eq(qFltPlanBasEntity.planSno))
.where((builder)
.and(
(idntfBuilder)
.or(basBuilder)
.or(pilotBuilder)))
.orderBy(qCntrlBasEntity.cntrlStDt.asc())
.offset(pageable.getOffset())
.limit(pageable.getPageSize())
.fetch();
for(AnlsHstryModel model: queryList) {
String addr = "";
if(!StringUtils.isEmpty(model.getArea1())) {
addr = addr + " " + model.getArea1();
}
if(!StringUtils.isEmpty(model.getArea2())) {
addr = addr + " " + model.getArea2();
}
if(!StringUtils.isEmpty(model.getArea3())) {
addr = addr + " " + model.getArea3();
}
if(!StringUtils.isEmpty(model.getLandNm())) {
addr = addr + " " + model.getLandNm();
}
if(!StringUtils.isEmpty(model.getLandNum())) {
addr = addr + " " + model.getLandNum();
}
model.setStArea(addr);
result.add(model);
}
return new PageImpl<>(result, pageable, result.size());
}
public PageImpl<AnlsHstryModel> cntrlBasNormalSmltList(AnlsHstryRqModel rq,
Pageable pageable,
List<JwtGroupModel> adminAuth,
List<ComIdntfBas> idntfList,
List<FltPlanBas> basResult,
List<FltPlanBas> pilotResult){
QCtrCntrlBas qCntrlBasEntity = QCtrCntrlBas.ctrCntrlBas;
QCtrCntrlHstryArea qCntrlHstryAreaEntity = QCtrCntrlHstryArea.ctrCntrlHstryArea;
QFltPlanCtrCntrlRel qFltPlanCtrCntrlRelEntity = QFltPlanCtrCntrlRel.fltPlanCtrCntrlRel;
QFltPlanBas qFltPlanBasEntity = QFltPlanBas.fltPlanBas;
BooleanBuilder builder = new BooleanBuilder();
BooleanBuilder adminBuilder = new BooleanBuilder();
BooleanBuilder idntfBuilder = new BooleanBuilder();
BooleanBuilder basBuilder = new BooleanBuilder();
BooleanBuilder pilotBuilder = new BooleanBuilder();
Calendar end = Calendar.getInstance();
end.setTime(DateUtils.stringToDate(rq.getEndDate()));
end.add(Calendar.DATE, 1);
Date endDate = end.getTime();
builder.and(qCntrlBasEntity.cntrlStDt.after(DateUtils.stringToDate(rq.getStDate())));
builder.and(qCntrlBasEntity.cntrlEndDt.before(endDate));
builder.and(qFltPlanBasEntity.aprvlYn.eq("Y"));
builder.and(qCntrlBasEntity.statusCd.eq("99")); builder.and(qCntrlBasEntity.statusCd.eq("99"));
for(ComIdntfBas list : idntfList) {
idntfBuilder.and(qCntrlBasEntity.idntfNum.eq(list.getIdntfNum())); if(adminAuth.size()>0) {
for(JwtGroupModel list : adminAuth) {
adminBuilder.or(qFltPlanCtrCntrlRelEntity.groupId.eq(list.getGroupId()));
}
}
if(idntfList.size()>0) {
for(ComIdntfBas list : idntfList) {
idntfBuilder.or(qCntrlBasEntity.idntfNum.eq(list.getIdntfNum()));
}
} }
for(FltPlanBas list : basResult) { if(basResult.size()>0) {
basBuilder.and(qFltPlanCtrCntrlRelEntity.planSno.eq(list.getPlanSno())); for(FltPlanBas list : basResult) {
basBuilder.or(qFltPlanCtrCntrlRelEntity.planSno.eq(list.getPlanSno()));
}
} }
for(FltPlanBas list : pilotResult) { if(pilotResult.size()>0) {
pilotBuilder.and(qFltPlanCtrCntrlRelEntity.planSno.eq(list.getPlanSno())); for(FltPlanBas list : pilotResult) {
pilotBuilder.or(qFltPlanCtrCntrlRelEntity.planSno.eq(list.getPlanSno()));
}
} }
if(!StringUtils.isEmpty(rq.getSearch1())) { if(!StringUtils.isEmpty(rq.getSearch1())) {
@ -337,11 +487,13 @@ public class CtrCntrlQueryRepository{
.where((builder) .where((builder)
.and( .and(
(idntfBuilder) (idntfBuilder)
.or(adminBuilder)
.or(basBuilder) .or(basBuilder)
.or(pilotBuilder))) .or(pilotBuilder)))
.orderBy(qCntrlBasEntity.cntrlStDt.asc()) .orderBy(qCntrlBasEntity.cntrlStDt.asc())
.offset(pageable.getOffset()) .offset(pageable.getOffset())
.limit(pageable.getPageSize()) .limit(pageable.getPageSize())
.fetch(); .fetch();
for(AnlsHstryModel model: queryList) { for(AnlsHstryModel model: queryList) {
@ -374,7 +526,6 @@ public class CtrCntrlQueryRepository{
return new PageImpl<>(result, pageable, result.size()); return new PageImpl<>(result, pageable, result.size());
} }
public List<AnlsHstryModel> cntrlBasNormalList(AnlsHstryRqModel rq, String idntfNum){ public List<AnlsHstryModel> cntrlBasNormalList(AnlsHstryRqModel rq, String idntfNum){
QCtrCntrlBas qCntrlBasEntity = QCtrCntrlBas.ctrCntrlBas; QCtrCntrlBas qCntrlBasEntity = QCtrCntrlBas.ctrCntrlBas;
@ -483,18 +634,27 @@ public class CtrCntrlQueryRepository{
end.setTime(DateUtils.stringToDate(rq.getEndDate())); end.setTime(DateUtils.stringToDate(rq.getEndDate()));
end.add(Calendar.DATE, 1); end.add(Calendar.DATE, 1);
Date endDate = end.getTime(); Date endDate = end.getTime();
builder.and(qFltPlanCtrCntrlRelEntity.groupId.eq(rq.getGroupId()));
builder.and(qCntrlBasEntity.cntrlStDt.after(DateUtils.stringToDate(rq.getStDate()))); builder.and(qCntrlBasEntity.cntrlStDt.after(DateUtils.stringToDate(rq.getStDate())));
builder.and(qCntrlBasEntity.cntrlEndDt.before(endDate)); builder.and(qCntrlBasEntity.cntrlEndDt.before(endDate));
builder.and(qFltPlanBasEntity.aprvlYn.eq("Y"));
builder.and(qCntrlBasEntity.statusCd.eq("99")); builder.and(qCntrlBasEntity.statusCd.eq("99"));
for(ComIdntfBas list : idntfList) {
idntfBuilder.and(qCntrlBasEntity.idntfNum.eq(list.getIdntfNum())); if(idntfList.size()>0) {
for(ComIdntfBas list : idntfList) {
idntfBuilder.or(qCntrlBasEntity.idntfNum.eq(list.getIdntfNum()));
}
} }
for(FltPlanBas list : basResult) { if(basResult.size()>0) {
basBuilder.and(qFltPlanCtrCntrlRelEntity.planSno.eq(list.getPlanSno())); for(FltPlanBas list : basResult) {
basBuilder.or(qFltPlanCtrCntrlRelEntity.planSno.eq(list.getPlanSno()));
}
} }
for(FltPlanBas list : pilotResult) { if(pilotResult.size()>0) {
pilotBuilder.and(qFltPlanCtrCntrlRelEntity.planSno.eq(list.getPlanSno())); for(FltPlanBas list : pilotResult) {
pilotBuilder.or(qFltPlanCtrCntrlRelEntity.planSno.eq(list.getPlanSno()));
}
} }
if(!StringUtils.isEmpty(rq.getSearch1())) { if(!StringUtils.isEmpty(rq.getSearch1())) {
@ -553,7 +713,106 @@ public class CtrCntrlQueryRepository{
return result; return result;
} }
public List<AnlsHstryModel> cntrlBasNormalPlanList(AnlsHstryRqModel rq, int planSno){ public long cntrlBasNormalSmltCount(AnlsHstryRqModel rq, List<JwtGroupModel> adminAuth, List<ComIdntfBas> idntfList, List<FltPlanBas> basResult, List<FltPlanBas> pilotResult){
QCtrCntrlBas qCntrlBasEntity = QCtrCntrlBas.ctrCntrlBas;
QCtrCntrlHstryArea qCntrlHstryAreaEntity = QCtrCntrlHstryArea.ctrCntrlHstryArea;
QFltPlanCtrCntrlRel qFltPlanCtrCntrlRelEntity = QFltPlanCtrCntrlRel.fltPlanCtrCntrlRel;
QFltPlanBas qFltPlanBasEntity = QFltPlanBas.fltPlanBas;
BooleanBuilder builder = new BooleanBuilder();
BooleanBuilder adminBuilder = new BooleanBuilder();
BooleanBuilder idntfBuilder = new BooleanBuilder();
BooleanBuilder basBuilder = new BooleanBuilder();
BooleanBuilder pilotBuilder = new BooleanBuilder();
Calendar end = Calendar.getInstance();
end.setTime(DateUtils.stringToDate(rq.getEndDate()));
end.add(Calendar.DATE, 1);
Date endDate = end.getTime();
builder.and(qCntrlBasEntity.cntrlStDt.after(DateUtils.stringToDate(rq.getStDate())));
builder.and(qCntrlBasEntity.cntrlEndDt.before(endDate));
builder.and(qFltPlanBasEntity.aprvlYn.eq("Y"));
builder.and(qCntrlBasEntity.statusCd.eq("99"));
if(adminAuth.size()>0) {
for(JwtGroupModel list : adminAuth) {
adminBuilder.or(qFltPlanCtrCntrlRelEntity.groupId.eq(list.getGroupId()));
}
}
if(idntfList.size()>0) {
for(ComIdntfBas list : idntfList) {
idntfBuilder.or(qCntrlBasEntity.idntfNum.eq(list.getIdntfNum()));
}
}
if(basResult.size()>0) {
for(FltPlanBas list : basResult) {
basBuilder.or(qFltPlanCtrCntrlRelEntity.planSno.eq(list.getPlanSno()));
}
}
if(pilotResult.size()>0) {
for(FltPlanBas list : pilotResult) {
pilotBuilder.or(qFltPlanCtrCntrlRelEntity.planSno.eq(list.getPlanSno()));
}
}
if(!StringUtils.isEmpty(rq.getSearch1())) {
builder.and(qCntrlBasEntity.idntfNum.like("%" + rq.getSearch1() + "%"));
}
long result = query.select(Projections.bean(AnlsHstryModel.class ,
qCntrlBasEntity.cntrlId,
qCntrlBasEntity.idntfNum,
qCntrlBasEntity.statusCd,
qCntrlBasEntity.objectTypeCd,
qCntrlBasEntity.flghtStDt,
qCntrlBasEntity.flghtEndDt,
qCntrlBasEntity.cntrlStDt,
qCntrlBasEntity.cntrlEndDt,
qCntrlBasEntity.ttlTime,
qCntrlBasEntity.ttlTimeType,
qCntrlBasEntity.ttlDstnc,
qCntrlBasEntity.ttlDstncType,
qCntrlBasEntity.avrgSpeed,
qCntrlBasEntity.avrgSpeedType,
qCntrlBasEntity.bttrCnsmptn,
qCntrlBasEntity.endTypeCd,
qCntrlBasEntity.createDt,
qCntrlBasEntity.updateDt,
qCntrlHstryAreaEntity.actnType,
qCntrlHstryAreaEntity.area1,
qCntrlHstryAreaEntity.area2,
qCntrlHstryAreaEntity.area3,
qCntrlHstryAreaEntity.areaNm,
qCntrlHstryAreaEntity.areaType,
qCntrlHstryAreaEntity.landNm,
qCntrlHstryAreaEntity.landNum,
qCntrlHstryAreaEntity.zipCd
))
.from(qCntrlBasEntity)
.leftJoin(qCntrlHstryAreaEntity)
.on(qCntrlBasEntity.cntrlId.eq(qCntrlHstryAreaEntity.cntrlId))
.on(qCntrlHstryAreaEntity.actnType.eq("01"))
.leftJoin(qFltPlanCtrCntrlRelEntity)
.on(qCntrlBasEntity.cntrlId.eq(qFltPlanCtrCntrlRelEntity.cntrlId))
.leftJoin(qFltPlanBasEntity)
.on(qFltPlanCtrCntrlRelEntity.planSno.eq(qFltPlanBasEntity.planSno))
.where((builder)
.and(
(idntfBuilder)
.or(basBuilder)
.or(pilotBuilder)))
.orderBy(qCntrlBasEntity.cntrlStDt.asc())
.fetchCount();
return result;
}
public List<AnlsHstryModel> cntrlBasNormalPlanList(AnlsHstryRqModel rq, int planSno){
QCtrCntrlBas qCntrlBasEntity = QCtrCntrlBas.ctrCntrlBas; QCtrCntrlBas qCntrlBasEntity = QCtrCntrlBas.ctrCntrlBas;
QCtrCntrlHstryArea qCntrlHstryAreaEntity = QCtrCntrlHstryArea.ctrCntrlHstryArea; QCtrCntrlHstryArea qCntrlHstryAreaEntity = QCtrCntrlHstryArea.ctrCntrlHstryArea;
@ -654,6 +913,8 @@ public List<AnlsHstryModel> cntrlBasNormalPlanList(AnlsHstryRqModel rq, int plan
QComIdntfBas qComIdntfBasEntity = QComIdntfBas.comIdntfBas; QComIdntfBas qComIdntfBasEntity = QComIdntfBas.comIdntfBas;
QComArcrftBas qComArcrftBasEntity = QComArcrftBas.comArcrftBas; QComArcrftBas qComArcrftBasEntity = QComArcrftBas.comArcrftBas;
QCtrCntrlHstryArea qCntrlHstryAreaEntity = QCtrCntrlHstryArea.ctrCntrlHstryArea; QCtrCntrlHstryArea qCntrlHstryAreaEntity = QCtrCntrlHstryArea.ctrCntrlHstryArea;
QFltPlanCtrCntrlRel qFltPlanCtrCntrlRelEntity = QFltPlanCtrCntrlRel.fltPlanCtrCntrlRel;
QFltPlanBas qFltPlanBasEntity = QFltPlanBas.fltPlanBas;
BooleanBuilder builder = new BooleanBuilder(); BooleanBuilder builder = new BooleanBuilder();
@ -664,6 +925,8 @@ public List<AnlsHstryModel> cntrlBasNormalPlanList(AnlsHstryRqModel rq, int plan
builder.and(qComArcrftBasEntity.groupId.eq(rq.getGroupId())); builder.and(qComArcrftBasEntity.groupId.eq(rq.getGroupId()));
builder.and(qCntrlBasEntity.cntrlStDt.goe(DateUtils.stringToDate(rq.getStDate()))); builder.and(qCntrlBasEntity.cntrlStDt.goe(DateUtils.stringToDate(rq.getStDate())));
builder.and(qCntrlBasEntity.cntrlEndDt.loe(endDate)); builder.and(qCntrlBasEntity.cntrlEndDt.loe(endDate));
builder.and(qFltPlanBasEntity.aprvlYn.eq("Y"));
builder.and(qCntrlBasEntity.statusCd.eq("99"));
if(!StringUtils.isEmpty(rq.getSearch1())) { if(!StringUtils.isEmpty(rq.getSearch1())) {
builder.and(qCntrlBasEntity.idntfNum.like("%" + rq.getSearch1() + "%")); builder.and(qCntrlBasEntity.idntfNum.like("%" + rq.getSearch1() + "%"));
@ -678,6 +941,10 @@ public List<AnlsHstryModel> cntrlBasNormalPlanList(AnlsHstryRqModel rq, int plan
.on(qComIdntfBasEntity.idntfNum.eq(qCntrlBasEntity.idntfNum)) .on(qComIdntfBasEntity.idntfNum.eq(qCntrlBasEntity.idntfNum))
.leftJoin(qCntrlHstryAreaEntity) .leftJoin(qCntrlHstryAreaEntity)
.on(qCntrlBasEntity.cntrlId.eq(qCntrlHstryAreaEntity.cntrlId)) .on(qCntrlBasEntity.cntrlId.eq(qCntrlHstryAreaEntity.cntrlId))
.leftJoin(qFltPlanCtrCntrlRelEntity)
.on(qCntrlBasEntity.cntrlId.eq(qFltPlanCtrCntrlRelEntity.cntrlId))
.leftJoin(qFltPlanBasEntity)
.on(qFltPlanCtrCntrlRelEntity.planSno.eq(qFltPlanBasEntity.planSno))
.where(builder) .where(builder)
.orderBy(qCntrlBasEntity.cntrlStDt.desc()) .orderBy(qCntrlBasEntity.cntrlStDt.desc())
.fetchCount(); .fetchCount();
@ -693,6 +960,8 @@ public List<AnlsHstryModel> cntrlBasNormalPlanList(AnlsHstryRqModel rq, int plan
QComIdntfBas qComIdntfBasEntity = QComIdntfBas.comIdntfBas; QComIdntfBas qComIdntfBasEntity = QComIdntfBas.comIdntfBas;
QComArcrftBas qComArcrftBasEntity = QComArcrftBas.comArcrftBas; QComArcrftBas qComArcrftBasEntity = QComArcrftBas.comArcrftBas;
QCtrCntrlHstryArea qCntrlHstryAreaEntity = QCtrCntrlHstryArea.ctrCntrlHstryArea; QCtrCntrlHstryArea qCntrlHstryAreaEntity = QCtrCntrlHstryArea.ctrCntrlHstryArea;
QFltPlanCtrCntrlRel qFltPlanCtrCntrlRelEntity = QFltPlanCtrCntrlRel.fltPlanCtrCntrlRel;
QFltPlanBas qFltPlanBasEntity = QFltPlanBas.fltPlanBas;
BooleanBuilder builder = new BooleanBuilder(); BooleanBuilder builder = new BooleanBuilder();
@ -703,7 +972,8 @@ public List<AnlsHstryModel> cntrlBasNormalPlanList(AnlsHstryRqModel rq, int plan
builder.and(qComArcrftBasEntity.groupId.eq(rq.getGroupId())); builder.and(qComArcrftBasEntity.groupId.eq(rq.getGroupId()));
builder.and(qCntrlBasEntity.cntrlStDt.goe(DateUtils.stringToDate(rq.getStDate()))); builder.and(qCntrlBasEntity.cntrlStDt.goe(DateUtils.stringToDate(rq.getStDate())));
builder.and(qCntrlBasEntity.cntrlEndDt.loe(endDate)); builder.and(qCntrlBasEntity.cntrlEndDt.loe(endDate));
builder.and(qFltPlanBasEntity.aprvlYn.eq("Y"));
builder.and(qCntrlBasEntity.statusCd.eq("99"));
if(!StringUtils.isEmpty(rq.getSearch1())) { if(!StringUtils.isEmpty(rq.getSearch1())) {
builder.and(qCntrlBasEntity.idntfNum.like("%" + rq.getSearch1() + "%")); builder.and(qCntrlBasEntity.idntfNum.like("%" + rq.getSearch1() + "%"));
@ -728,6 +998,10 @@ public List<AnlsHstryModel> cntrlBasNormalPlanList(AnlsHstryRqModel rq, int plan
.on(qComIdntfBasEntity.idntfNum.eq(qCntrlBasEntity.idntfNum)) .on(qComIdntfBasEntity.idntfNum.eq(qCntrlBasEntity.idntfNum))
.leftJoin(qCntrlHstryAreaEntity) .leftJoin(qCntrlHstryAreaEntity)
.on(qCntrlBasEntity.cntrlId.eq(qCntrlHstryAreaEntity.cntrlId)) .on(qCntrlBasEntity.cntrlId.eq(qCntrlHstryAreaEntity.cntrlId))
.leftJoin(qFltPlanCtrCntrlRelEntity)
.on(qCntrlBasEntity.cntrlId.eq(qFltPlanCtrCntrlRelEntity.cntrlId))
.leftJoin(qFltPlanBasEntity)
.on(qFltPlanCtrCntrlRelEntity.planSno.eq(qFltPlanBasEntity.planSno))
.where(builder) .where(builder)
.orderBy(qCntrlBasEntity.cntrlStDt.desc()) .orderBy(qCntrlBasEntity.cntrlStDt.desc())
.offset(pageable.getOffset()) .offset(pageable.getOffset())

Loading…
Cancel
Save