Commit eb73242b authored by tianbo's avatar tianbo

feat(amos-boot-module-jg-biz): 增加设备状态和创建时间范围查询功能

- 在 EquipClaimServiceImpl 类中添加了设备状态查询逻辑 - 实现了创建时间范围查询功能,支持日期格式解析
parent b2db7751
......@@ -281,6 +281,48 @@ public class EquipClaimServiceImpl {
.operator(Operator.AND));
boolMust.must(pBuilder);
}
// 设备状态
if (!ObjectUtils.isEmpty(params.getString("EQU_STATE"))) {
BoolQueryBuilder esBuilder = QueryBuilders.boolQuery();
if (EquimentEnum.WEIDENGJI.getCode().toString().equals(params.getString("EQU_STATE"))) {
esBuilder.mustNot(QueryBuilders.existsQuery("EQU_STATE"));
} else {
String param = QueryParser.escape(params.getLong("EQU_STATE").toString());
esBuilder.must(QueryBuilders.matchQuery("EQU_STATE", param));
}
boolMust.must(esBuilder);
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
// 创建时间范围查询
if (!ObjectUtils.isEmpty(params.getString(CREATE_DATE_RANGE))) {
String createDateRangeObj = params.getString(CREATE_DATE_RANGE);
String[] split = createDateRangeObj.replace("[", "").replace("]", "").split(",");
String startDateStr = split[0];
String endDateStr = split[1];
try {
Date startDate = sdf.parse(startDateStr);
Date endDate = sdf.parse(endDateStr);
Calendar calendar = Calendar.getInstance();
calendar.setTime(endDate);
calendar.set(Calendar.HOUR_OF_DAY, 23);
calendar.set(Calendar.MINUTE, 59);
calendar.set(Calendar.SECOND, 59);
calendar.set(Calendar.MILLISECOND, 999);
endDate = calendar.getTime();
long startDateMillis = startDate.getTime();
long endDateMillis = endDate.getTime();
BoolQueryBuilder pBuilder = QueryBuilders.boolQuery();
pBuilder.must(QueryBuilders.rangeQuery("CREATE_DATE")
.gte(startDateMillis) // 大于等于开始日期的时间戳
.lte(endDateMillis) // 小于等于结束日期的时间戳
);
boolMust.must(pBuilder);
} catch (Exception e) {
log.error("日期转化异常:{}", e.getMessage());
e.printStackTrace();
}
}
}
/**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment