|
|
|
@ -7,6 +7,7 @@ import java.time.ZoneId;
|
|
|
|
|
import java.util.List; |
|
|
|
|
import java.util.Optional; |
|
|
|
|
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
|
import org.springframework.cache.annotation.Cacheable; |
|
|
|
|
import org.springframework.data.domain.Page; |
|
|
|
|
import org.springframework.data.domain.PageImpl; |
|
|
|
@ -14,6 +15,7 @@ import org.springframework.data.domain.Pageable;
|
|
|
|
|
import org.springframework.stereotype.Repository; |
|
|
|
|
import org.springframework.util.StringUtils; |
|
|
|
|
|
|
|
|
|
import com.palnet.biz.api.acnt.jwt.utils.JwtTokenUtil; |
|
|
|
|
import com.palnet.biz.api.bas.flight.model.BasFlightPlanArcrftModel; |
|
|
|
|
import com.palnet.biz.api.bas.flight.model.BasFlightPlanAreaCoordRq; |
|
|
|
|
import com.palnet.biz.api.bas.flight.model.BasFlightPlanAreaModel; |
|
|
|
@ -70,7 +72,8 @@ public class FltPlanQueryRepository {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private final JPAQueryFactory query; |
|
|
|
|
private final ComnFileService comnFileService; |
|
|
|
|
|
|
|
|
|
private final JwtTokenUtil jwtTokenUtil; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 비행계획서 목록
|
|
|
|
@ -1181,24 +1184,29 @@ public class FltPlanQueryRepository {
|
|
|
|
|
* 비행실적 데이터, top 1 |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
public FlightStcsValueModel getFltResultStaticStcs(){ |
|
|
|
|
public FlightStcsValueModel getFltResultStaticStcs(boolean authCheck, String groupId){ |
|
|
|
|
FlightStcsValueModel result = new FlightStcsValueModel(); |
|
|
|
|
|
|
|
|
|
QFltPlanCtrCntrlRel bas = QFltPlanCtrCntrlRel.fltPlanCtrCntrlRel; |
|
|
|
|
QFltPlanCtrCntrlRel qFltPlanCtrCntrlRel = QFltPlanCtrCntrlRel.fltPlanCtrCntrlRel; |
|
|
|
|
QFltPlanBas qFltPlanBas = QFltPlanBas.fltPlanBas; |
|
|
|
|
|
|
|
|
|
BooleanBuilder builder = new BooleanBuilder(); |
|
|
|
|
builder.and(bas.planSno.isNotNull()); |
|
|
|
|
builder.and(qFltPlanCtrCntrlRel.planSno.isNotNull()); |
|
|
|
|
if(groupId != null && !(groupId.equals(""))) builder.and(qFltPlanBas.groupId.eq(groupId)); |
|
|
|
|
if(authCheck) builder.and(qFltPlanBas.cstmrSno.eq(jwtTokenUtil.getCstmrSnoByToken())); |
|
|
|
|
|
|
|
|
|
List<FlightStcsValueModel> queryResult = query |
|
|
|
|
.select( |
|
|
|
|
Projections.bean(FlightStcsValueModel.class, |
|
|
|
|
bas.idntfNum.as("name") // 결과 객체의 프로퍼티 이름을 지정
|
|
|
|
|
qFltPlanCtrCntrlRel.idntfNum.as("name") // 결과 객체의 프로퍼티 이름을 지정
|
|
|
|
|
) |
|
|
|
|
) |
|
|
|
|
.from(bas) |
|
|
|
|
.from(qFltPlanCtrCntrlRel) |
|
|
|
|
.leftJoin(qFltPlanBas) |
|
|
|
|
.on(qFltPlanCtrCntrlRel.planSno.eq(qFltPlanBas.planSno)) |
|
|
|
|
.where(builder) |
|
|
|
|
.groupBy(bas.idntfNum) |
|
|
|
|
.orderBy(bas.planSno.countDistinct().desc()) |
|
|
|
|
.groupBy(qFltPlanCtrCntrlRel.idntfNum) |
|
|
|
|
.orderBy(qFltPlanCtrCntrlRel.planSno.countDistinct().desc()) |
|
|
|
|
.limit(1) |
|
|
|
|
.fetch(); |
|
|
|
|
|
|
|
|
@ -1208,9 +1216,9 @@ public class FltPlanQueryRepository {
|
|
|
|
|
|
|
|
|
|
String idntfNum = result.getName(); |
|
|
|
|
|
|
|
|
|
result.setYear(getFltResultYear(idntfNum)); |
|
|
|
|
result.setMonth(getFltResultMonth(idntfNum)); |
|
|
|
|
result.setDay(getFltResultDay(idntfNum)); |
|
|
|
|
result.setYear(getFltResultYear(idntfNum, authCheck, groupId)); |
|
|
|
|
result.setMonth(getFltResultMonth(idntfNum, authCheck, groupId)); |
|
|
|
|
result.setDay(getFltResultDay(idntfNum, authCheck, groupId)); |
|
|
|
|
} else { |
|
|
|
|
FlightStcsValueModel node = new FlightStcsValueModel(); |
|
|
|
|
|
|
|
|
@ -1226,7 +1234,8 @@ public class FltPlanQueryRepository {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private Long getFltResultDay(String idntfNum){ |
|
|
|
|
private Long getFltResultDay(String idntfNum, boolean authCheck, String groupId){ |
|
|
|
|
|
|
|
|
|
QFltPlanCtrCntrlRel qFltPlanCtrCntrlRel = QFltPlanCtrCntrlRel.fltPlanCtrCntrlRel; |
|
|
|
|
QFltPlanBas qFltPlanBas = QFltPlanBas.fltPlanBas; |
|
|
|
|
|
|
|
|
@ -1234,6 +1243,8 @@ public class FltPlanQueryRepository {
|
|
|
|
|
builder.and(qFltPlanCtrCntrlRel.idntfNum.eq(idntfNum)); |
|
|
|
|
builder.and(qFltPlanBas.createDt.eq(LocalDate.now().atStartOfDay().atZone(ZoneId.of("Asia/Seoul")).toInstant())); |
|
|
|
|
builder.and(qFltPlanCtrCntrlRel.planSno.isNotNull()); |
|
|
|
|
if(groupId != null && !(groupId.equals(""))) builder.and(qFltPlanBas.groupId.eq(groupId)); |
|
|
|
|
if(authCheck) builder.and(qFltPlanBas.cstmrSno.eq(jwtTokenUtil.getCstmrSnoByToken())); |
|
|
|
|
|
|
|
|
|
return query |
|
|
|
|
.select( |
|
|
|
@ -1246,7 +1257,7 @@ public class FltPlanQueryRepository {
|
|
|
|
|
.fetchOne(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private Long getFltResultMonth(String idntfNum){ |
|
|
|
|
private Long getFltResultMonth(String idntfNum, boolean authCheck, String groupId){ |
|
|
|
|
QFltPlanCtrCntrlRel qFltPlanCtrCntrlRel = QFltPlanCtrCntrlRel.fltPlanCtrCntrlRel; |
|
|
|
|
QFltPlanBas qFltPlanBas = QFltPlanBas.fltPlanBas; |
|
|
|
|
|
|
|
|
@ -1255,6 +1266,8 @@ public class FltPlanQueryRepository {
|
|
|
|
|
builder.and(qFltPlanCtrCntrlRel.planSno.isNotNull()); |
|
|
|
|
builder.and(qFltPlanBas.createDt.goe(LocalDate.now().minusMonths(1).atStartOfDay().atZone(ZoneId.of("Asia/Seoul")).toInstant())); |
|
|
|
|
builder.and(qFltPlanBas.createDt.loe(LocalDate.now().atStartOfDay().atZone(ZoneId.of("Asia/Seoul")).toInstant())); |
|
|
|
|
if(groupId != null && !(groupId.equals(""))) builder.and(qFltPlanBas.groupId.eq(groupId)); |
|
|
|
|
if(authCheck) builder.and(qFltPlanBas.cstmrSno.eq(jwtTokenUtil.getCstmrSnoByToken())); |
|
|
|
|
|
|
|
|
|
return query |
|
|
|
|
.select( |
|
|
|
@ -1267,7 +1280,7 @@ public class FltPlanQueryRepository {
|
|
|
|
|
.fetchOne(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private Long getFltResultYear(String idntfNum){ |
|
|
|
|
private Long getFltResultYear(String idntfNum, boolean authCheck, String groupId){ |
|
|
|
|
QFltPlanCtrCntrlRel qFltPlanCtrCntrlRel = QFltPlanCtrCntrlRel.fltPlanCtrCntrlRel; |
|
|
|
|
QFltPlanBas qFltPlanBas = QFltPlanBas.fltPlanBas; |
|
|
|
|
|
|
|
|
@ -1276,6 +1289,8 @@ public class FltPlanQueryRepository {
|
|
|
|
|
builder.and(qFltPlanCtrCntrlRel.planSno.isNotNull()); |
|
|
|
|
builder.and(qFltPlanBas.createDt.goe(LocalDate.now().minusYears(1).atStartOfDay().atZone(ZoneId.of("Asia/Seoul")).toInstant())); |
|
|
|
|
builder.and(qFltPlanBas.createDt.loe(LocalDate.now().atStartOfDay().atZone(ZoneId.of("Asia/Seoul")).toInstant())); |
|
|
|
|
if(groupId != null && !(groupId.equals(""))) builder.and(qFltPlanBas.groupId.eq(groupId)); |
|
|
|
|
if(authCheck) builder.and(qFltPlanBas.cstmrSno.eq(jwtTokenUtil.getCstmrSnoByToken())); |
|
|
|
|
|
|
|
|
|
return query |
|
|
|
|
.select( |
|
|
|
@ -1293,32 +1308,41 @@ public class FltPlanQueryRepository {
|
|
|
|
|
* 비행계획에 많이 기용된 기체 데이터, top 1 |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
public FlightStcsValueModel getFltPlanStaticStcs(){ |
|
|
|
|
public FlightStcsValueModel getFltPlanStaticStcs(boolean authCheck, String groupId){ |
|
|
|
|
FlightStcsValueModel result = new FlightStcsValueModel(); |
|
|
|
|
|
|
|
|
|
QFltPlanArcrft bas = QFltPlanArcrft.fltPlanArcrft; |
|
|
|
|
QFltPlanArcrft qFltPlanArcrft = QFltPlanArcrft.fltPlanArcrft; |
|
|
|
|
QFltPlanBas qFltPlanBas = QFltPlanBas.fltPlanBas; |
|
|
|
|
|
|
|
|
|
BooleanBuilder builder = new BooleanBuilder(); |
|
|
|
|
if(groupId != null && !(groupId.equals(""))) builder.and(qFltPlanBas.groupId.eq(groupId)); |
|
|
|
|
if(authCheck) builder.and(qFltPlanBas.cstmrSno.eq(jwtTokenUtil.getCstmrSnoByToken())); |
|
|
|
|
|
|
|
|
|
List<FlightStcsValueModel> queryResult = query |
|
|
|
|
.select( |
|
|
|
|
Projections.bean(FlightStcsValueModel.class, |
|
|
|
|
bas.idntfNum.as("name") // 결과 객체의 프로퍼티 이름을 지정
|
|
|
|
|
qFltPlanArcrft.idntfNum.as("name") // 결과 객체의 프로퍼티 이름을 지정
|
|
|
|
|
) |
|
|
|
|
) |
|
|
|
|
.from(bas) |
|
|
|
|
.groupBy(bas.idntfNum) |
|
|
|
|
.orderBy(bas.planSno.count().desc()) |
|
|
|
|
.from(qFltPlanArcrft) |
|
|
|
|
.leftJoin(qFltPlanBas) |
|
|
|
|
.on(qFltPlanArcrft.planSno.eq(qFltPlanBas.planSno)) |
|
|
|
|
.groupBy(qFltPlanArcrft.idntfNum) |
|
|
|
|
.orderBy(qFltPlanArcrft.planSno.count().desc()) |
|
|
|
|
.limit(1) |
|
|
|
|
.fetch(); |
|
|
|
|
|
|
|
|
|
log.warn("que => {}", queryResult); |
|
|
|
|
|
|
|
|
|
if(queryResult.size() > 0){ |
|
|
|
|
result = queryResult.get(0); |
|
|
|
|
if(result.getName().equals("")) result.setName(" "); |
|
|
|
|
|
|
|
|
|
String idntfNum = result.getName(); |
|
|
|
|
|
|
|
|
|
result.setYear(getFltPlanYear(idntfNum)); |
|
|
|
|
result.setMonth(getFltPlanMonth(idntfNum)); |
|
|
|
|
result.setDay(getFltPlanDay(idntfNum)); |
|
|
|
|
result.setYear(getFltPlanYear(idntfNum, authCheck, groupId)); |
|
|
|
|
result.setMonth(getFltPlanMonth(idntfNum, authCheck, groupId)); |
|
|
|
|
result.setDay(getFltPlanDay(idntfNum, authCheck, groupId)); |
|
|
|
|
} else { |
|
|
|
|
FlightStcsValueModel node = new FlightStcsValueModel(); |
|
|
|
|
|
|
|
|
@ -1333,52 +1357,67 @@ public class FltPlanQueryRepository {
|
|
|
|
|
return result; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private Long getFltPlanDay(String idntfNum){ |
|
|
|
|
private Long getFltPlanDay(String idntfNum, boolean authCheck, String groupId){ |
|
|
|
|
QFltPlanArcrft bas = QFltPlanArcrft.fltPlanArcrft; |
|
|
|
|
QFltPlanBas qFltPlanBas = QFltPlanBas.fltPlanBas; |
|
|
|
|
|
|
|
|
|
BooleanBuilder builder = new BooleanBuilder(); |
|
|
|
|
builder.and(bas.idntfNum.eq(idntfNum.trim())); |
|
|
|
|
builder.and(bas.createDt.eq(LocalDate.now().atStartOfDay().atZone(ZoneId.of("Asia/Seoul")).toInstant())); |
|
|
|
|
if(groupId != null && !(groupId.equals(""))) builder.and(qFltPlanBas.groupId.eq(groupId)); |
|
|
|
|
if(authCheck) builder.and(qFltPlanBas.cstmrSno.eq(jwtTokenUtil.getCstmrSnoByToken())); |
|
|
|
|
|
|
|
|
|
return query |
|
|
|
|
.select( |
|
|
|
|
bas.planSno.count() // 결과 객체의 프로퍼티 이름을 지정
|
|
|
|
|
) |
|
|
|
|
.from(bas) |
|
|
|
|
.leftJoin(qFltPlanBas) |
|
|
|
|
.on(qFltPlanBas.planSno.eq(bas.planSno)) |
|
|
|
|
.where(builder) |
|
|
|
|
.fetchOne(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private Long getFltPlanMonth(String idntfNum){ |
|
|
|
|
private Long getFltPlanMonth(String idntfNum, boolean authCheck, String groupId){ |
|
|
|
|
QFltPlanArcrft bas = QFltPlanArcrft.fltPlanArcrft; |
|
|
|
|
QFltPlanBas qFltPlanBas = QFltPlanBas.fltPlanBas; |
|
|
|
|
|
|
|
|
|
BooleanBuilder builder = new BooleanBuilder(); |
|
|
|
|
builder.and(bas.idntfNum.eq(idntfNum.trim())); |
|
|
|
|
builder.and(bas.createDt.goe(LocalDate.now().minusMonths(1).atStartOfDay().atZone(ZoneId.of("Asia/Seoul")).toInstant())); |
|
|
|
|
builder.and(bas.createDt.loe(LocalDate.now().atStartOfDay().atZone(ZoneId.of("Asia/Seoul")).toInstant())); |
|
|
|
|
if(groupId != null && !(groupId.equals(""))) builder.and(qFltPlanBas.groupId.eq(groupId)); |
|
|
|
|
if(authCheck) builder.and(qFltPlanBas.cstmrSno.eq(jwtTokenUtil.getCstmrSnoByToken())); |
|
|
|
|
|
|
|
|
|
return query |
|
|
|
|
.select( |
|
|
|
|
bas.planSno.count() // 결과 객체의 프로퍼티 이름을 지정
|
|
|
|
|
) |
|
|
|
|
.from(bas) |
|
|
|
|
.leftJoin(qFltPlanBas) |
|
|
|
|
.on(qFltPlanBas.planSno.eq(bas.planSno)) |
|
|
|
|
.where(builder) |
|
|
|
|
.fetchOne(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private Long getFltPlanYear(String idntfNum){ |
|
|
|
|
private Long getFltPlanYear(String idntfNum, boolean authCheck, String groupId){ |
|
|
|
|
QFltPlanArcrft bas = QFltPlanArcrft.fltPlanArcrft; |
|
|
|
|
QFltPlanBas qFltPlanBas = QFltPlanBas.fltPlanBas; |
|
|
|
|
|
|
|
|
|
BooleanBuilder builder = new BooleanBuilder(); |
|
|
|
|
builder.and(bas.idntfNum.eq(idntfNum.trim())); |
|
|
|
|
builder.and(bas.createDt.goe(LocalDate.now().minusYears(1).atStartOfDay().atZone(ZoneId.of("Asia/Seoul")).toInstant())); |
|
|
|
|
builder.and(bas.createDt.loe(LocalDate.now().atStartOfDay().atZone(ZoneId.of("Asia/Seoul")).toInstant())); |
|
|
|
|
if(groupId != null && !(groupId.equals(""))) builder.and(qFltPlanBas.groupId.eq(groupId)); |
|
|
|
|
if(authCheck) builder.and(qFltPlanBas.cstmrSno.eq(jwtTokenUtil.getCstmrSnoByToken())); |
|
|
|
|
|
|
|
|
|
return query |
|
|
|
|
.select( |
|
|
|
|
bas.planSno.count() |
|
|
|
|
) |
|
|
|
|
.from(bas) |
|
|
|
|
.leftJoin(qFltPlanBas) |
|
|
|
|
.on(qFltPlanBas.planSno.eq(bas.planSno)) |
|
|
|
|
.where(builder) |
|
|
|
|
.fetchOne(); |
|
|
|
|
} |
|
|
|
@ -1387,10 +1426,10 @@ public class FltPlanQueryRepository {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 비행실적 많은 기체 데이터, top 1 |
|
|
|
|
* 비행승인 많은 기체 데이터, top 1 |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
public FlightStcsValueModel getFltPlanAprvnStaticStcs(){ |
|
|
|
|
public FlightStcsValueModel getFltPlanAprvnStaticStcs(boolean authCheck, String groupId){ |
|
|
|
|
FlightStcsValueModel result = new FlightStcsValueModel(); |
|
|
|
|
|
|
|
|
|
QFltPlanArcrft qFltPlanArcrft = QFltPlanArcrft.fltPlanArcrft; |
|
|
|
@ -1398,18 +1437,19 @@ public class FltPlanQueryRepository {
|
|
|
|
|
|
|
|
|
|
BooleanBuilder builder = new BooleanBuilder(); |
|
|
|
|
builder.and(qFltPlanBas.aprvlYn.eq("Y")); |
|
|
|
|
if(groupId != null && !(groupId.equals(""))) builder.and(qFltPlanBas.groupId.eq(groupId)); |
|
|
|
|
if(authCheck) builder.and(qFltPlanBas.cstmrSno.eq(jwtTokenUtil.getCstmrSnoByToken())); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<FlightStcsValueModel> queryResult = query |
|
|
|
|
.select( |
|
|
|
|
Projections.bean(FlightStcsValueModel.class, |
|
|
|
|
qFltPlanArcrft.idntfNum.as("name"), // 결과 객체의 프로퍼티 이름을 지정
|
|
|
|
|
qFltPlanArcrft.planSno.count().as("value") // 결과 객체의 프로퍼티 이름을 지정
|
|
|
|
|
qFltPlanArcrft.idntfNum.as("name") // 결과 객체의 프로퍼티 이름을 지정
|
|
|
|
|
) |
|
|
|
|
) |
|
|
|
|
.from(qFltPlanArcrft) |
|
|
|
|
.leftJoin(qFltPlanBas) |
|
|
|
|
.on(qFltPlanArcrft.planSno.eq(qFltPlanBas.planSno)) |
|
|
|
|
.on(qFltPlanArcrft.planSno.eq(qFltPlanBas.planSno)) |
|
|
|
|
.where(builder) |
|
|
|
|
.groupBy(qFltPlanArcrft.idntfNum) |
|
|
|
|
.orderBy(qFltPlanArcrft.planSno.count().desc()) |
|
|
|
@ -1421,9 +1461,9 @@ public class FltPlanQueryRepository {
|
|
|
|
|
if(result.getName().equals("")) result.setName(" "); |
|
|
|
|
String idntfNum = result.getName(); |
|
|
|
|
|
|
|
|
|
result.setYear(getFltPlanAprvnYear(idntfNum)); |
|
|
|
|
result.setMonth(getFltPlanAprvnMonth(idntfNum)); |
|
|
|
|
result.setDay(getFltPlanAprvnDay(idntfNum)); |
|
|
|
|
result.setYear(getFltPlanAprvnYear(idntfNum, authCheck, groupId)); |
|
|
|
|
result.setMonth(getFltPlanAprvnMonth(idntfNum, authCheck, groupId)); |
|
|
|
|
result.setDay(getFltPlanAprvnDay(idntfNum, authCheck, groupId)); |
|
|
|
|
} else { |
|
|
|
|
FlightStcsValueModel node = new FlightStcsValueModel(); |
|
|
|
|
|
|
|
|
@ -1438,7 +1478,7 @@ public class FltPlanQueryRepository {
|
|
|
|
|
return result; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private Long getFltPlanAprvnDay(String idntfNum){ |
|
|
|
|
private Long getFltPlanAprvnDay(String idntfNum, boolean authCheck, String groupId){ |
|
|
|
|
QFltPlanArcrft qFltPlanArcrft = QFltPlanArcrft.fltPlanArcrft; |
|
|
|
|
QFltPlanBas qFltPlanBas = QFltPlanBas.fltPlanBas; |
|
|
|
|
|
|
|
|
@ -1446,6 +1486,8 @@ public class FltPlanQueryRepository {
|
|
|
|
|
builder.and(qFltPlanArcrft.idntfNum.eq(idntfNum)); |
|
|
|
|
builder.and(qFltPlanBas.aprvlYn.eq("Y")); |
|
|
|
|
builder.and(qFltPlanBas.createDt.eq(LocalDate.now().atStartOfDay().atZone(ZoneId.of("Asia/Seoul")).toInstant())); |
|
|
|
|
if(groupId != null && !(groupId.equals(""))) builder.and(qFltPlanBas.groupId.eq(groupId)); |
|
|
|
|
if(authCheck) builder.and(qFltPlanBas.cstmrSno.eq(jwtTokenUtil.getCstmrSnoByToken())); |
|
|
|
|
|
|
|
|
|
return query |
|
|
|
|
.select( |
|
|
|
@ -1458,7 +1500,7 @@ public class FltPlanQueryRepository {
|
|
|
|
|
.fetchOne(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private Long getFltPlanAprvnMonth(String idntfNum){ |
|
|
|
|
private Long getFltPlanAprvnMonth(String idntfNum, boolean authCheck, String groupId){ |
|
|
|
|
|
|
|
|
|
QFltPlanArcrft qFltPlanArcrft = QFltPlanArcrft.fltPlanArcrft; |
|
|
|
|
QFltPlanBas qFltPlanBas = QFltPlanBas.fltPlanBas; |
|
|
|
@ -1468,6 +1510,8 @@ public class FltPlanQueryRepository {
|
|
|
|
|
builder.and(qFltPlanBas.aprvlYn.eq("Y")); |
|
|
|
|
builder.and(qFltPlanBas.createDt.goe(LocalDate.now().minusMonths(1).atStartOfDay().atZone(ZoneId.of("Asia/Seoul")).toInstant())); |
|
|
|
|
builder.and(qFltPlanBas.createDt.loe(LocalDate.now().atStartOfDay().atZone(ZoneId.of("Asia/Seoul")).toInstant())); |
|
|
|
|
if(groupId != null && !(groupId.equals(""))) builder.and(qFltPlanBas.groupId.eq(groupId)); |
|
|
|
|
if(authCheck) builder.and(qFltPlanBas.cstmrSno.eq(jwtTokenUtil.getCstmrSnoByToken())); |
|
|
|
|
|
|
|
|
|
return query |
|
|
|
|
.select( |
|
|
|
@ -1480,7 +1524,7 @@ public class FltPlanQueryRepository {
|
|
|
|
|
.fetchOne(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private Long getFltPlanAprvnYear(String idntfNum){ |
|
|
|
|
private Long getFltPlanAprvnYear(String idntfNum, boolean authCheck, String groupId){ |
|
|
|
|
QFltPlanArcrft qFltPlanArcrft = QFltPlanArcrft.fltPlanArcrft; |
|
|
|
|
QFltPlanBas qFltPlanBas = QFltPlanBas.fltPlanBas; |
|
|
|
|
|
|
|
|
@ -1489,6 +1533,8 @@ public class FltPlanQueryRepository {
|
|
|
|
|
builder.and(qFltPlanBas.aprvlYn.eq("Y")); |
|
|
|
|
builder.and(qFltPlanBas.createDt.goe(LocalDate.now().minusYears(1).atStartOfDay().atZone(ZoneId.of("Asia/Seoul")).toInstant())); |
|
|
|
|
builder.and(qFltPlanBas.createDt.loe(LocalDate.now().atStartOfDay().atZone(ZoneId.of("Asia/Seoul")).toInstant())); |
|
|
|
|
if(groupId != null && !(groupId.equals(""))) builder.and(qFltPlanBas.groupId.eq(groupId)); |
|
|
|
|
if(authCheck) builder.and(qFltPlanBas.cstmrSno.eq(jwtTokenUtil.getCstmrSnoByToken())); |
|
|
|
|
|
|
|
|
|
return query |
|
|
|
|
.select( |
|
|
|
@ -1507,7 +1553,7 @@ public class FltPlanQueryRepository {
|
|
|
|
|
* @param formatParam |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
public List<FlightStcsValueModel> fltResultStcs(String date, String[] formatParam){ |
|
|
|
|
public List<FlightStcsValueModel> fltResultStcs(String date, String groupId, boolean authCheck, String[] formatParam){ |
|
|
|
|
// QCtrCntrlBas bas = QCtrCntrlBas.ctrCntrlBas;
|
|
|
|
|
|
|
|
|
|
QFltPlanBas qFltPlanBas = QFltPlanBas.fltPlanBas; |
|
|
|
@ -1525,6 +1571,8 @@ public class FltPlanQueryRepository {
|
|
|
|
|
|
|
|
|
|
BooleanBuilder builder = new BooleanBuilder(); |
|
|
|
|
if(date != null && date.length() > 0) builder.and(formattedDate.eq(date)); |
|
|
|
|
if(groupId != null && !(groupId.equals(""))) builder.and(qFltPlanBas.groupId.eq(groupId)); |
|
|
|
|
if(authCheck) builder.and(qFltPlanBas.cstmrSno.eq(jwtTokenUtil.getCstmrSnoByToken())); |
|
|
|
|
|
|
|
|
|
List<FlightStcsValueModel> result = query |
|
|
|
|
.select( |
|
|
|
@ -1559,9 +1607,7 @@ public class FltPlanQueryRepository {
|
|
|
|
|
* @param formatParam |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
public List<FlightStcsValueModel> fltPlanStcs(String date, String[] formatParam){ |
|
|
|
|
// QCtrCntrlBas bas = QCtrCntrlBas.ctrCntrlBas;
|
|
|
|
|
|
|
|
|
|
public List<FlightStcsValueModel> fltPlanStcs(String date, String groupId, boolean authCheck, String[] formatParam){ |
|
|
|
|
QFltPlanBas qFltPlanBas = QFltPlanBas.fltPlanBas; |
|
|
|
|
|
|
|
|
|
StringTemplate formattedDate = Expressions.stringTemplate( |
|
|
|
@ -1576,6 +1622,8 @@ public class FltPlanQueryRepository {
|
|
|
|
|
|
|
|
|
|
BooleanBuilder builder = new BooleanBuilder(); |
|
|
|
|
if(date != null && date.length() > 0) builder.and(formattedDate.eq(date)); |
|
|
|
|
if(groupId != null && !(groupId.equals(""))) builder.and(qFltPlanBas.groupId.eq(groupId)); |
|
|
|
|
if(authCheck) builder.and(qFltPlanBas.cstmrSno.eq(jwtTokenUtil.getCstmrSnoByToken())); |
|
|
|
|
|
|
|
|
|
List<FlightStcsValueModel> result = query |
|
|
|
|
.select( |
|
|
|
@ -1608,7 +1656,7 @@ public class FltPlanQueryRepository {
|
|
|
|
|
* @param formatParam |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
public List<FlightStcsValueModel> fltPlanAprvnStcs(String date, String[] formatParam){ |
|
|
|
|
public List<FlightStcsValueModel> fltPlanAprvnStcs(String date, String groupId, boolean authCheck, String[] formatParam){ |
|
|
|
|
// QCtrCntrlBas bas = QCtrCntrlBas.ctrCntrlBas;
|
|
|
|
|
|
|
|
|
|
QFltPlanBas qFltPlanBas = QFltPlanBas.fltPlanBas; |
|
|
|
@ -1626,6 +1674,8 @@ public class FltPlanQueryRepository {
|
|
|
|
|
BooleanBuilder builder = new BooleanBuilder(); |
|
|
|
|
if(date != null && date.length() > 0) builder.and(formattedDate.eq(date)); |
|
|
|
|
builder.and(qFltPlanBas.aprvlYn.eq("Y")); |
|
|
|
|
if(groupId != null && !(groupId.equals(""))) builder.and(qFltPlanBas.groupId.eq(groupId)); |
|
|
|
|
if(authCheck) builder.and(qFltPlanBas.cstmrSno.eq(jwtTokenUtil.getCstmrSnoByToken())); |
|
|
|
|
|
|
|
|
|
List<FlightStcsValueModel> result = query |
|
|
|
|
.select( |
|
|
|
@ -1659,7 +1709,7 @@ public class FltPlanQueryRepository {
|
|
|
|
|
* @param formatParam |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
public List<FlightStcsValueModel> fltTopResultStcs(String date, String[] formatParam){ |
|
|
|
|
public List<FlightStcsValueModel> fltTopResultStcs(String date, String groupId, boolean authCheck, String[] formatParam){ |
|
|
|
|
QFltPlanCtrCntrlRel qFltPlanCtrCntrlRel = QFltPlanCtrCntrlRel.fltPlanCtrCntrlRel; |
|
|
|
|
QFltPlanBas qFltPlanBas = QFltPlanBas.fltPlanBas; |
|
|
|
|
|
|
|
|
@ -1670,6 +1720,8 @@ public class FltPlanQueryRepository {
|
|
|
|
|
|
|
|
|
|
BooleanBuilder builder = new BooleanBuilder(); |
|
|
|
|
if(date != null && date.length() > 0) builder.and(formattedDate.eq(date)); |
|
|
|
|
if(groupId != null && !(groupId.equals(""))) builder.and(qFltPlanBas.groupId.eq(groupId)); |
|
|
|
|
if(authCheck) builder.and(qFltPlanBas.cstmrSno.eq(jwtTokenUtil.getCstmrSnoByToken())); |
|
|
|
|
|
|
|
|
|
List<FlightStcsValueModel> result = query |
|
|
|
|
.select( |
|
|
|
@ -1703,9 +1755,10 @@ public class FltPlanQueryRepository {
|
|
|
|
|
* @param formatParam |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
public List<FlightStcsValueModel> fltTopPlanStcs(String date, String[] formatParam){ |
|
|
|
|
public List<FlightStcsValueModel> fltTopPlanStcs(String date, String groupId, boolean authCheck, String[] formatParam){ |
|
|
|
|
|
|
|
|
|
QFltPlanArcrft qFltPlanArcrft = QFltPlanArcrft.fltPlanArcrft; |
|
|
|
|
QFltPlanBas qFltPlanBas = QFltPlanBas.fltPlanBas; |
|
|
|
|
|
|
|
|
|
StringTemplate formattedDate = Expressions.stringTemplate( |
|
|
|
|
"DATE_FORMAT({0}, {1})" |
|
|
|
@ -1714,6 +1767,8 @@ public class FltPlanQueryRepository {
|
|
|
|
|
|
|
|
|
|
BooleanBuilder builder = new BooleanBuilder(); |
|
|
|
|
if(date != null && date.length() > 0) builder.and(formattedDate.eq(date)); |
|
|
|
|
if(groupId != null && !(groupId.equals(""))) builder.and(qFltPlanBas.groupId.eq(groupId)); |
|
|
|
|
if(authCheck) builder.and(qFltPlanBas.cstmrSno.eq(jwtTokenUtil.getCstmrSnoByToken())); |
|
|
|
|
|
|
|
|
|
List<FlightStcsValueModel> result = query |
|
|
|
|
.select( |
|
|
|
@ -1723,6 +1778,8 @@ public class FltPlanQueryRepository {
|
|
|
|
|
) |
|
|
|
|
) |
|
|
|
|
.from(qFltPlanArcrft) |
|
|
|
|
.leftJoin(qFltPlanBas) |
|
|
|
|
.on(qFltPlanBas.planSno.eq(qFltPlanArcrft.planSno)) |
|
|
|
|
.where(builder) |
|
|
|
|
.groupBy(qFltPlanArcrft.idntfNum) |
|
|
|
|
.orderBy(qFltPlanArcrft.planSno.countDistinct().desc()) |
|
|
|
@ -1747,7 +1804,7 @@ public class FltPlanQueryRepository {
|
|
|
|
|
* @param formatParam |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
public List<FlightStcsValueModel> fltTopPlanAprvnStcs(String date, String[] formatParam){ |
|
|
|
|
public List<FlightStcsValueModel> fltTopPlanAprvnStcs(String date, String groupId, boolean authCheck, String[] formatParam){ |
|
|
|
|
|
|
|
|
|
QFltPlanArcrft qFltPlanArcrft = QFltPlanArcrft.fltPlanArcrft; |
|
|
|
|
QFltPlanBas qFltPlanBas = QFltPlanBas.fltPlanBas; |
|
|
|
@ -1760,6 +1817,8 @@ public class FltPlanQueryRepository {
|
|
|
|
|
BooleanBuilder builder = new BooleanBuilder(); |
|
|
|
|
if(date != null && date.length() > 0) builder.and(formattedDate.eq(date)); |
|
|
|
|
builder.and(qFltPlanBas.aprvlYn.eq("Y")); |
|
|
|
|
if(groupId != null && !(groupId.equals(""))) builder.and(qFltPlanBas.groupId.eq(groupId)); |
|
|
|
|
if(authCheck) builder.and(qFltPlanBas.cstmrSno.eq(jwtTokenUtil.getCstmrSnoByToken())); |
|
|
|
|
|
|
|
|
|
List<FlightStcsValueModel> result = query |
|
|
|
|
.select( |
|
|
|
|