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