|
|
@@ -296,30 +296,55 @@ public class WaybillManagementService {
|
|
|
}
|
|
|
|
|
|
if (StringUtils.isNotBlank(query.getStatus()) && !query.getStatus().equals("all")) {
|
|
|
- criteria.and("status").is(query.getStatus());
|
|
|
+ criteria.and("status").is(Integer.valueOf(query.getStatus()));
|
|
|
} else {
|
|
|
criteria.and("status").in(statuses);
|
|
|
}
|
|
|
-
|
|
|
- // 装货城市
|
|
|
- if (StringUtils.isNotBlank(query.getLoadCityCode())) {
|
|
|
- criteria.and("loadCityCode").is(query.getLoadCityCode());
|
|
|
- }
|
|
|
- // 卸货城市
|
|
|
- if (StringUtils.isNotBlank(query.getUnloadCityCode())) {
|
|
|
- criteria.and("unloadCityCode").is(query.getUnloadCityCode());
|
|
|
- }
|
|
|
// 装载时间
|
|
|
if (Objects.nonNull(query.getStartLoadTime()) && Objects.nonNull(query.getEndLoadTime())) {
|
|
|
criteria.and("loadTime").gte(query.getStartLoadTime()).lte(DateUtil.offsetDay(query.getEndLoadTime(), 1));
|
|
|
+ } else if (Objects.nonNull(query.getStartLoadTime())) {
|
|
|
+ criteria.and("loadTime").gte(query.getStartLoadTime());
|
|
|
+ } else if (Objects.nonNull(query.getEndLoadTime())) {
|
|
|
+ criteria.and("loadTime").lte(DateUtil.offsetDay(query.getEndLoadTime(), 1));
|
|
|
}
|
|
|
// 派车时间
|
|
|
if (Objects.nonNull(query.getStartSendCarTime()) && Objects.nonNull(query.getEndSendCarTime())) {
|
|
|
criteria.and("sendCarTime").gte(query.getStartSendCarTime()).lte(DateUtil.offsetDay(query.getEndSendCarTime(), 1));
|
|
|
+ } else if (Objects.nonNull(query.getStartSendCarTime())) {
|
|
|
+ criteria.and("sendCarTime").gte(query.getStartSendCarTime());
|
|
|
+ } else if (Objects.nonNull(query.getEndSendCarTime())) {
|
|
|
+ criteria.and("sendCarTime").lte(DateUtil.offsetDay(query.getEndSendCarTime(), 1));
|
|
|
}
|
|
|
// 卸货时间
|
|
|
if (Objects.nonNull(query.getStartUnloadTime()) && Objects.nonNull(query.getEndUnloadTime())) {
|
|
|
criteria.and("unloadTime").gte(query.getStartUnloadTime()).lte(DateUtil.offsetDay(query.getEndUnloadTime(), 1));
|
|
|
+ } else if (Objects.nonNull(query.getStartUnloadTime())) {
|
|
|
+ criteria.and("unloadTime").gte(query.getStartUnloadTime());
|
|
|
+ } else if (Objects.nonNull(query.getEndUnloadTime())) {
|
|
|
+ criteria.and("unloadTime").lte(DateUtil.offsetDay(query.getEndUnloadTime(), 1));
|
|
|
+ }
|
|
|
+ // 装货地址
|
|
|
+ String loadCode = query.getLoadCityCode();
|
|
|
+ if (StringUtils.isNotBlank(loadCode)) {
|
|
|
+ switch (query.getLoadCityCodeLevel()) {
|
|
|
+ case 1 -> criteria.and("loadCityCode")
|
|
|
+ .regex(Pattern.compile("^" + loadCode.substring(0, 2) + ".*$", Pattern.CASE_INSENSITIVE));
|
|
|
+ case 2 -> criteria.and("loadCityCode")
|
|
|
+ .regex(Pattern.compile("^" + loadCode.substring(0, 4) + ".*$", Pattern.CASE_INSENSITIVE));
|
|
|
+ case 3 -> criteria.and("loadCityCode").is(loadCode);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 卸货地址
|
|
|
+ String unloadCode = query.getUnloadCityCode();
|
|
|
+ if (StringUtils.isNotBlank(unloadCode)) {
|
|
|
+ switch (query.getUnloadCityCodeLevel()) {
|
|
|
+ case 1 -> criteria.and("unloadCityCode")
|
|
|
+ .regex(Pattern.compile("^" + unloadCode.substring(0, 2) + ".*$", Pattern.CASE_INSENSITIVE));
|
|
|
+ case 2 -> criteria.and("unloadCityCode")
|
|
|
+ .regex(Pattern.compile("^" + unloadCode.substring(0, 4) + ".*$", Pattern.CASE_INSENSITIVE));
|
|
|
+ case 3 -> criteria.and("unloadCityCode").is(unloadCode);
|
|
|
+ }
|
|
|
}
|
|
|
// 多条件模糊查询
|
|
|
List<Criteria> orCriteria = new ArrayList<>();
|
|
|
@@ -329,8 +354,6 @@ public class WaybillManagementService {
|
|
|
orCriteria.add(Criteria.where("truckNo").regex(pattern));
|
|
|
orCriteria.add(Criteria.where("driverName").regex(pattern));
|
|
|
orCriteria.add(Criteria.where("firmName").regex(pattern));
|
|
|
- orCriteria.add(Criteria.where("loadAddress").regex(pattern));
|
|
|
- orCriteria.add(Criteria.where("unloadAddress").regex(pattern));
|
|
|
criteria.orOperator(orCriteria);
|
|
|
}
|
|
|
return criteria;
|