优化了查询参数

master
bynt 1 year ago
parent 77bb5d5bb4
commit c6eb32465d

@ -39,7 +39,8 @@ public class BdBackDataServiceImpl extends AbstractService<TbBdNewBackdataEntity
@Override
public List<DmpMonitorJpaDto> queryByTagAndTimeAndFlag
(Date startTime, Date endTime, List<String> tagList, Integer flag) {
Timestamp endTimeStamp = new Timestamp(endTime.getTime());
Timestamp startTimeStamp = new Timestamp(startTime.getTime());
return this.applyJPA(query -> {
StringTemplate dateExpr;
StringPath t3 = Expressions.stringPath("t3");
@ -50,9 +51,9 @@ public class BdBackDataServiceImpl extends AbstractService<TbBdNewBackdataEntity
SimpleTemplate<Date> t3Date = Expressions.template(Date.class, "t3.gmtCreate");
// 封装子查询
SubQueryExpression<Tuple> gmtCreate = SQLExpressions.select
(bdNewBackdata.imei, bdNewBackdata.tag,bdNewBackdata.gmtCreate.max().as(SqlConstant.CREATE_TIME)).from
(bdNewBackdata).where(bdNewBackdata.tag.in(tagList).and(bdNewBackdata.imei.ne(CharSequenceUtil.EMPTY).and
(bdNewBackdata.imei.ne(DataConstant.IMEI_NULL_TAG)).and(bdNewBackdata.imei.ne(DataConstant.IMEI_TAG)))).groupBy(bdNewBackdata.imei,bdNewBackdata.tag);
(bdNewBackdata.imei, bdNewBackdata.tag, bdNewBackdata.gmtCreate.max().as(SqlConstant.CREATE_TIME)).from
(bdNewBackdata).where(bdNewBackdata.tag.in(tagList).and(bdNewBackdata.gmtCreate.gt(startTimeStamp)).and(bdNewBackdata.gmtCreate.lt(endTimeStamp)).and
(bdNewBackdata.imei.ne(CharSequenceUtil.EMPTY)).and(bdNewBackdata.imei.ne(DataConstant.IMEI_NULL_TAG)).and(bdNewBackdata.imei.ne(DataConstant.IMEI_TAG))).groupBy(bdNewBackdata.imei, bdNewBackdata.tag);
// 结果返回
List<QueryQuantityVO> voList = query.select(Projections.bean
@ -66,8 +67,8 @@ public class BdBackDataServiceImpl extends AbstractService<TbBdNewBackdataEntity
List<QueryImeiVO> imeiVOList = query.select(Projections.bean
(QueryImeiVO.class, bdNewBackdata.imei, bdNewBackdata.tag, dateExpr.as(SqlConstant.CREATE_TIME))).distinct().from(bdNewBackdata).where
(bdNewBackdata.tag.in(tagList).and(bdNewBackdata.imei.ne(CharSequenceUtil.EMPTY).and(bdNewBackdata.imei.ne(DataConstant.IMEI_NULL_TAG)).and(bdNewBackdata.imei.ne
(DataConstant.IMEI_TAG)))).groupBy(bdNewBackdata.imei,bdNewBackdata.tag).fetch();
(bdNewBackdata.tag.in(tagList).and(bdNewBackdata.gmtCreate.gt(startTimeStamp)).and(bdNewBackdata.gmtCreate.lt(endTimeStamp)).and(bdNewBackdata.imei.ne(CharSequenceUtil.EMPTY)).and
(bdNewBackdata.imei.ne(DataConstant.IMEI_NULL_TAG)).and(bdNewBackdata.imei.ne(DataConstant.IMEI_TAG))).groupBy(bdNewBackdata.imei, bdNewBackdata.tag).fetch();
return Convert.toList(DmpMonitorJpaDto.class, imeiVOList);
});
}

@ -55,8 +55,8 @@ public class JlV1BackDataServiceImpl extends AbstractService<TbJLBackDataV1Entit
// 封装子查询
SubQueryExpression<Tuple> gmtCreate = SQLExpressions.select
(v1Entity.imei, v1Entity.tag, v1Entity.gmtCreate.max().as(SqlConstant.CREATE_TIME)).from
(v1Entity).where(v1Entity.tag.in(tagList).and(v1Entity.imei.ne(CharSequenceUtil.EMPTY).and
(v1Entity.imei.ne(DataConstant.IMEI_NULL_TAG)).and(v1Entity.imei.ne(DataConstant.IMEI_TAG)))).groupBy(v1Entity.imei, v1Entity.tag);
(v1Entity).where(v1Entity.tag.in(tagList).and(v1Entity.gmtCreate.gt(startTime)).and(v1Entity.gmtCreate.lt(endTime)).and
(v1Entity.imei.ne(CharSequenceUtil.EMPTY)).and(v1Entity.imei.ne(DataConstant.IMEI_NULL_TAG)).and(v1Entity.imei.ne(DataConstant.IMEI_TAG))).groupBy(v1Entity.imei, v1Entity.tag);
// 结果返回
List<QueryQuantityVO> voList = query.select(Projections.bean
@ -70,8 +70,8 @@ public class JlV1BackDataServiceImpl extends AbstractService<TbJLBackDataV1Entit
List<QueryImeiVO> imeiVOList = query.select(Projections.bean
(QueryImeiVO.class, v1Entity.imei, v1Entity.tag, dateExpr.as(SqlConstant.CREATE_TIME))).distinct().from(v1Entity).where
(v1Entity.tag.in(tagList).and(v1Entity.imei.ne(CharSequenceUtil.EMPTY).and(v1Entity.imei.ne(DataConstant.IMEI_NULL_TAG)).and(v1Entity.imei.ne
(DataConstant.IMEI_TAG)))).groupBy(v1Entity.imei, v1Entity.tag).fetch();
(v1Entity.tag.in(tagList).and(v1Entity.gmtCreate.gt(startTime)).and(v1Entity.gmtCreate.lt(endTime)).and(v1Entity.imei.ne(CharSequenceUtil.EMPTY)).and
(v1Entity.imei.ne(DataConstant.IMEI_NULL_TAG)).and(v1Entity.imei.ne(DataConstant.IMEI_TAG))).groupBy(v1Entity.imei, v1Entity.tag).fetch();
return Convert.toList(DmpMonitorJpaDto.class, imeiVOList);
});
}

@ -47,9 +47,9 @@ public class JlV2BackDataServiceImpl extends AbstractService<TbJLBackDataV2Entit
SimpleTemplate<Date> t3Date = Expressions.template(Date.class, "t3.gmtCreate");
// 封装子查询
SubQueryExpression<Tuple> gmtCreate = SQLExpressions.select
(v2Entity.imei, v2Entity.tag,v2Entity.gmtCreate.max().as(SqlConstant.CREATE_TIME)).from
(v2Entity).where(v2Entity.tag.in(tagList).and(v2Entity.imei.ne(CharSequenceUtil.EMPTY).and
(v2Entity.imei.ne(DataConstant.IMEI_NULL_TAG)).and(v2Entity.imei.ne(DataConstant.IMEI_TAG)))).groupBy(v2Entity.imei,v2Entity.tag);
(v2Entity.imei, v2Entity.tag, v2Entity.gmtCreate.max().as(SqlConstant.CREATE_TIME)).from
(v2Entity).where(v2Entity.tag.in(tagList).and(v2Entity.gmtCreate.gt(startTime)).and(v2Entity.gmtCreate.lt(endTime)).and
(v2Entity.imei.ne(CharSequenceUtil.EMPTY)).and(v2Entity.imei.ne(DataConstant.IMEI_NULL_TAG)).and(v2Entity.imei.ne(DataConstant.IMEI_TAG))).groupBy(v2Entity.imei, v2Entity.tag);
// 结果返回
List<QueryQuantityVO> voList = query.select(Projections.bean
@ -63,8 +63,8 @@ public class JlV2BackDataServiceImpl extends AbstractService<TbJLBackDataV2Entit
List<QueryImeiVO> imeiVOList = query.select(Projections.bean
(QueryImeiVO.class, v2Entity.imei, v2Entity.tag, dateExpr.as(SqlConstant.CREATE_TIME))).distinct().from(v2Entity).where
(v2Entity.tag.in(tagList).and(v2Entity.imei.ne(CharSequenceUtil.EMPTY).and(v2Entity.imei.ne(DataConstant.IMEI_NULL_TAG)).and(v2Entity.imei.ne
(DataConstant.IMEI_TAG)))).groupBy(v2Entity.imei,v2Entity.tag).fetch();
(v2Entity.tag.in(tagList).and(v2Entity.gmtCreate.gt(startTime)).and(v2Entity.gmtCreate.lt(endTime)).and(v2Entity.imei.ne(CharSequenceUtil.EMPTY)).and
(v2Entity.imei.ne(DataConstant.IMEI_NULL_TAG)).and(v2Entity.imei.ne(DataConstant.IMEI_TAG))).groupBy(v2Entity.imei, v2Entity.tag).fetch();
return Convert.toList(DmpMonitorJpaDto.class, imeiVOList);
});
}

@ -39,7 +39,8 @@ public class KsBackDataServiceImpl extends AbstractService<TbKSNewBackdataEntity
@Override
public List<DmpMonitorJpaDto> queryByTagAndTimeAndFlag
(Date startTime, Date endTime, List<String> tagList, Integer flag) {
Timestamp endTimeStamp = new Timestamp(endTime.getTime());
Timestamp startTimeStamp = new Timestamp(startTime.getTime());
return this.applyJPA(query -> {
StringTemplate dateExpr;
StringPath t3 = Expressions.stringPath("t3");
@ -51,9 +52,9 @@ public class KsBackDataServiceImpl extends AbstractService<TbKSNewBackdataEntity
SimpleTemplate<Date> t3Date = Expressions.template(Date.class, "t3.gmtCreate");
// 封装子查询
SubQueryExpression<Tuple> gmtCreate = SQLExpressions.select
(ksNewBackdata.imei, ksNewBackdata.tag,ksNewBackdata.gmtCreate.max().as(SqlConstant.CREATE_TIME)).from
(ksNewBackdata).where(ksNewBackdata.tag.in(tagList).and(ksNewBackdata.imei.ne(CharSequenceUtil.EMPTY).and
(ksNewBackdata.imei.ne(DataConstant.IMEI_NULL_TAG)).and(ksNewBackdata.imei.ne(DataConstant.IMEI_TAG)))).groupBy(ksNewBackdata.imei,ksNewBackdata.tag);
(ksNewBackdata.imei, ksNewBackdata.tag, ksNewBackdata.gmtCreate.max().as(SqlConstant.CREATE_TIME)).from
(ksNewBackdata).where(ksNewBackdata.tag.in(tagList).and(ksNewBackdata.gmtCreate.gt(startTimeStamp)).and(ksNewBackdata.gmtCreate.lt(endTimeStamp)).and
(ksNewBackdata.imei.ne(CharSequenceUtil.EMPTY)).and(ksNewBackdata.imei.ne(DataConstant.IMEI_NULL_TAG)).and(ksNewBackdata.imei.ne(DataConstant.IMEI_TAG))).groupBy(ksNewBackdata.imei, ksNewBackdata.tag);
// 结果返回
List<QueryQuantityVO> voList = query.select(Projections.bean
@ -67,8 +68,8 @@ public class KsBackDataServiceImpl extends AbstractService<TbKSNewBackdataEntity
List<QueryImeiVO> imeiVOList = query.select(Projections.bean
(QueryImeiVO.class, ksNewBackdata.imei, ksNewBackdata.tag, dateExpr.as(SqlConstant.CREATE_TIME))).distinct().from(ksNewBackdata).where
(ksNewBackdata.tag.in(tagList).and(ksNewBackdata.imei.ne(CharSequenceUtil.EMPTY).and(ksNewBackdata.imei.ne(DataConstant.IMEI_NULL_TAG)).and(ksNewBackdata.imei.ne
(DataConstant.IMEI_TAG)))).groupBy(ksNewBackdata.imei,ksNewBackdata.tag).fetch();
(ksNewBackdata.tag.in(tagList).and(ksNewBackdata.gmtCreate.gt(startTimeStamp)).and(ksNewBackdata.gmtCreate.lt(endTimeStamp)).and(ksNewBackdata.imei.ne(CharSequenceUtil.EMPTY)).and
(ksNewBackdata.imei.ne(DataConstant.IMEI_NULL_TAG)).and(ksNewBackdata.imei.ne(DataConstant.IMEI_TAG))).groupBy(ksNewBackdata.imei, ksNewBackdata.tag).fetch();
return Convert.toList(DmpMonitorJpaDto.class, imeiVOList);
});
}

@ -43,7 +43,8 @@ public class UcBackDataServiceImpl extends AbstractService<TbUcBackdataEntity,Lo
return this.applyJPA(query -> {
StringTemplate dateExpr;
StringPath t3 = Expressions.stringPath("t3");
Timestamp endTimeStamp = new Timestamp(endTime.getTime());
Timestamp startTimeStamp = new Timestamp(startTime.getTime());
if (flag == 1) {
dateExpr = Expressions.stringTemplate(SqlConstant.DATE_EXPR, ucBackdata.gmtCreate);
SimpleTemplate<String> t3Tag = Expressions.template(String.class, "t3.tag");
@ -51,9 +52,9 @@ public class UcBackDataServiceImpl extends AbstractService<TbUcBackdataEntity,Lo
SimpleTemplate<Date> t3Date = Expressions.template(Date.class, "t3.gmtCreate");
// 封装子查询
SubQueryExpression<Tuple> gmtCreate = SQLExpressions.select
(ucBackdata.imei, ucBackdata.tag,ucBackdata.gmtCreate.max().as(SqlConstant.CREATE_TIME)).from
(ucBackdata).where(ucBackdata.tag.in(tagList).and(ucBackdata.imei.ne(CharSequenceUtil.EMPTY).and
(ucBackdata.imei.ne(DataConstant.IMEI_NULL_TAG)).and(ucBackdata.imei.ne(DataConstant.IMEI_TAG)))).groupBy(ucBackdata.imei,ucBackdata.tag);
(ucBackdata.imei, ucBackdata.tag, ucBackdata.gmtCreate.max().as(SqlConstant.CREATE_TIME)).from
(ucBackdata).where(ucBackdata.tag.in(tagList).and(ucBackdata.gmtCreate.gt(startTimeStamp)).and(ucBackdata.gmtCreate.lt(endTimeStamp)).and
(ucBackdata.imei.ne(CharSequenceUtil.EMPTY)).and(ucBackdata.imei.ne(DataConstant.IMEI_NULL_TAG)).and(ucBackdata.imei.ne(DataConstant.IMEI_TAG))).groupBy(ucBackdata.imei, ucBackdata.tag);
// 结果返回
List<QueryQuantityVO> voList = query.select(Projections.bean
@ -67,8 +68,8 @@ public class UcBackDataServiceImpl extends AbstractService<TbUcBackdataEntity,Lo
List<QueryImeiVO> imeiVOList = query.select(Projections.bean
(QueryImeiVO.class, ucBackdata.imei, ucBackdata.tag, dateExpr.as(SqlConstant.CREATE_TIME))).distinct().from(ucBackdata).where
(ucBackdata.tag.in(tagList).and(ucBackdata.imei.ne(CharSequenceUtil.EMPTY).and(ucBackdata.imei.ne(DataConstant.IMEI_NULL_TAG)).and(ucBackdata.imei.ne
(DataConstant.IMEI_TAG)))).groupBy(ucBackdata.imei,ucBackdata.tag).fetch();
(ucBackdata.tag.in(tagList).and(ucBackdata.gmtCreate.gt(startTimeStamp)).and(ucBackdata.gmtCreate.lt(endTimeStamp)).and(ucBackdata.imei.ne(CharSequenceUtil.EMPTY)).and
(ucBackdata.imei.ne(DataConstant.IMEI_NULL_TAG)).and(ucBackdata.imei.ne(DataConstant.IMEI_TAG))).groupBy(ucBackdata.imei, ucBackdata.tag).fetch();
return Convert.toList(DmpMonitorJpaDto.class, imeiVOList);
});
}

Loading…
Cancel
Save