|
|
|
@ -8,12 +8,15 @@ import org.springframework.stereotype.Repository;
|
|
|
|
|
|
|
|
|
|
import com.palnet.biz.api.acnt.jwt.utils.JwtTokenUtil; |
|
|
|
|
import com.palnet.biz.api.main.statistics.model.FlightStcsValueModel; |
|
|
|
|
import com.palnet.biz.jpa.entity.CtrCntrlWarnLog; |
|
|
|
|
import com.palnet.biz.jpa.entity.FltPlanBas; |
|
|
|
|
import com.palnet.biz.jpa.entity.QCtrCntrlWarnLog; |
|
|
|
|
import com.palnet.biz.jpa.entity.QFltPlanBas; |
|
|
|
|
import com.palnet.biz.jpa.entity.QFltPlanCtrCntrlRel; |
|
|
|
|
import com.querydsl.core.BooleanBuilder; |
|
|
|
|
import com.querydsl.core.types.ConstantImpl; |
|
|
|
|
import com.querydsl.core.types.Projections; |
|
|
|
|
import com.querydsl.core.types.dsl.BooleanExpression; |
|
|
|
|
import com.querydsl.core.types.dsl.Expressions; |
|
|
|
|
import com.querydsl.core.types.dsl.StringTemplate; |
|
|
|
|
import com.querydsl.jpa.impl.JPAQueryFactory; |
|
|
|
@ -284,4 +287,74 @@ public class CtrCntrlWarnLogQueryRepository {
|
|
|
|
|
|
|
|
|
|
return result; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public List<CtrCntrlWarnLog> currentStcs(String groupId, boolean authCheck, String cate){ |
|
|
|
|
QFltPlanBas qFltPlanBas = QFltPlanBas.fltPlanBas; |
|
|
|
|
QFltPlanCtrCntrlRel qFltPlanCtrCntrlRel = QFltPlanCtrCntrlRel.fltPlanCtrCntrlRel; |
|
|
|
|
QCtrCntrlWarnLog qCtrCntrlWarnLog = QCtrCntrlWarnLog.ctrCntrlWarnLog; |
|
|
|
|
|
|
|
|
|
BooleanBuilder builder = getCurrentBooleanBuilder(groupId, authCheck, cate, qFltPlanBas, qCtrCntrlWarnLog); |
|
|
|
|
|
|
|
|
|
List<CtrCntrlWarnLog> stcsValues = query |
|
|
|
|
.select( |
|
|
|
|
Projections.bean( |
|
|
|
|
CtrCntrlWarnLog.class, |
|
|
|
|
qCtrCntrlWarnLog.warnType |
|
|
|
|
) |
|
|
|
|
) |
|
|
|
|
.from(qCtrCntrlWarnLog) |
|
|
|
|
.leftJoin(qFltPlanCtrCntrlRel) |
|
|
|
|
.on(qFltPlanCtrCntrlRel.cntrlId.eq(qCtrCntrlWarnLog.cntrlId)) |
|
|
|
|
.leftJoin(qFltPlanBas) |
|
|
|
|
.on(qFltPlanCtrCntrlRel.planSno.eq(qFltPlanBas.planSno)) |
|
|
|
|
.where(builder) |
|
|
|
|
.groupBy(qCtrCntrlWarnLog.cntrlId) |
|
|
|
|
.fetch(); |
|
|
|
|
|
|
|
|
|
return stcsValues; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private BooleanBuilder getCurrentBooleanBuilder(String groupId, boolean authCheck, String cate, QFltPlanBas qFltPlanBas, QCtrCntrlWarnLog qCtrCntrlWarnLog){ |
|
|
|
|
|
|
|
|
|
BooleanBuilder builder = new BooleanBuilder(); |
|
|
|
|
builder.and(qFltPlanBas.groupId.eq(groupId)); |
|
|
|
|
if(authCheck) builder.and(qFltPlanBas.cstmrSno.eq(jwtTokenUtil.getCstmrSnoByToken())); |
|
|
|
|
|
|
|
|
|
String dateFormat = "%Y-%m-%d"; |
|
|
|
|
BooleanExpression dateExpression = null; |
|
|
|
|
switch (cate){ |
|
|
|
|
case "-2" : |
|
|
|
|
dateExpression = |
|
|
|
|
Expressions.stringTemplate("DATE_FORMAT({0}, {1})", qCtrCntrlWarnLog.createDt, dateFormat) |
|
|
|
|
.eq(LocalDate.now().minusDays(2).toString()); |
|
|
|
|
|
|
|
|
|
builder.and(dateExpression); |
|
|
|
|
|
|
|
|
|
break; |
|
|
|
|
case "-1": |
|
|
|
|
dateExpression = |
|
|
|
|
Expressions.stringTemplate("DATE_FORMAT({0}, {1})", qCtrCntrlWarnLog.createDt, dateFormat) |
|
|
|
|
.eq(LocalDate.now().minusDays(1).toString()); |
|
|
|
|
|
|
|
|
|
builder.and(dateExpression); |
|
|
|
|
break; |
|
|
|
|
|
|
|
|
|
case "0": |
|
|
|
|
dateExpression = |
|
|
|
|
Expressions.stringTemplate("DATE_FORMAT({0}, {1})", qCtrCntrlWarnLog.createDt, dateFormat) |
|
|
|
|
.eq(LocalDate.now().toString()); |
|
|
|
|
builder.and(dateExpression); |
|
|
|
|
break; |
|
|
|
|
|
|
|
|
|
case "1": |
|
|
|
|
dateExpression = |
|
|
|
|
Expressions.stringTemplate("DATE_FORMAT({0}, {1})", qCtrCntrlWarnLog.createDt, dateFormat) |
|
|
|
|
.eq(LocalDate.now().plusDays(1).toString()); |
|
|
|
|
|
|
|
|
|
builder.and(dateExpression); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return builder; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|