|
@@ -7,11 +7,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.sckw.transport.dao.KwtVehicleExceptionMapper;
|
|
import com.sckw.transport.dao.KwtVehicleExceptionMapper;
|
|
|
import com.sckw.transport.model.KwtVehicleException;
|
|
import com.sckw.transport.model.KwtVehicleException;
|
|
|
|
|
+import org.apache.commons.collections4.CollectionUtils;
|
|
|
import org.springframework.stereotype.Repository;
|
|
import org.springframework.stereotype.Repository;
|
|
|
|
|
|
|
|
-import java.util.List;
|
|
|
|
|
-import java.util.Map;
|
|
|
|
|
-import java.util.Objects;
|
|
|
|
|
|
|
+import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -49,15 +48,14 @@ public class KwtVehicleExceptionRepository extends ServiceImpl<KwtVehicleExcepti
|
|
|
* 分页查询每个车牌号异常时间最新的一条记录
|
|
* 分页查询每个车牌号异常时间最新的一条记录
|
|
|
* 使用子查询确保每个车牌号只返回异常时间最新的一条记录
|
|
* 使用子查询确保每个车牌号只返回异常时间最新的一条记录
|
|
|
*
|
|
*
|
|
|
- * @param entId 企业ID
|
|
|
|
|
* @param exceptionType 异常类型
|
|
* @param exceptionType 异常类型
|
|
|
* @param truckNo 车牌号
|
|
* @param truckNo 车牌号
|
|
|
* @param pageNum 页码
|
|
* @param pageNum 页码
|
|
|
* @param pageSize 每页数量
|
|
* @param pageSize 每页数量
|
|
|
* @return 分页结果
|
|
* @return 分页结果
|
|
|
*/
|
|
*/
|
|
|
- public IPage<KwtVehicleException> queryExceptionImagePage1(Long entId, Integer exceptionType,
|
|
|
|
|
- String truckNo,String startDate,String endDate, int pageNum, int pageSize) {
|
|
|
|
|
|
|
+ public IPage<KwtVehicleException> queryExceptionImagePage1(Set<Long> wOrderIds, Integer exceptionType,
|
|
|
|
|
+ String truckNo, String startDate, String endDate, int pageNum, int pageSize) {
|
|
|
// 构建子查询条件:当前记录的异常时间等于该车牌号的最大异常时间
|
|
// 构建子查询条件:当前记录的异常时间等于该车牌号的最大异常时间
|
|
|
// 使用 (truck_no, exception_time) IN 子查询来确保只查询每个车牌号最新的一条
|
|
// 使用 (truck_no, exception_time) IN 子查询来确保只查询每个车牌号最新的一条
|
|
|
StringBuilder subQuery = new StringBuilder();
|
|
StringBuilder subQuery = new StringBuilder();
|
|
@@ -65,9 +63,10 @@ public class KwtVehicleExceptionRepository extends ServiceImpl<KwtVehicleExcepti
|
|
|
subQuery.append("SELECT truck_no, MAX(exception_time) ");
|
|
subQuery.append("SELECT truck_no, MAX(exception_time) ");
|
|
|
subQuery.append("FROM kwt_vehicle_exception ");
|
|
subQuery.append("FROM kwt_vehicle_exception ");
|
|
|
subQuery.append("WHERE del_flag = 0");
|
|
subQuery.append("WHERE del_flag = 0");
|
|
|
-
|
|
|
|
|
- if (Objects.nonNull(entId)) {
|
|
|
|
|
- subQuery.append(" AND ent_id = ").append(entId);
|
|
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(wOrderIds)) {
|
|
|
|
|
+ subQuery.append(" AND w_order_id IN (")
|
|
|
|
|
+ .append(wOrderIds.stream().map(String::valueOf)
|
|
|
|
|
+ .collect(Collectors.joining(","))).append(")");
|
|
|
}
|
|
}
|
|
|
if (Objects.nonNull(exceptionType)) {
|
|
if (Objects.nonNull(exceptionType)) {
|
|
|
subQuery.append(" AND exception_type = ").append(exceptionType);
|
|
subQuery.append(" AND exception_type = ").append(exceptionType);
|
|
@@ -89,7 +88,7 @@ public class KwtVehicleExceptionRepository extends ServiceImpl<KwtVehicleExcepti
|
|
|
return page(new Page<>(pageNum, pageSize),
|
|
return page(new Page<>(pageNum, pageSize),
|
|
|
Wrappers.<KwtVehicleException>lambdaQuery()
|
|
Wrappers.<KwtVehicleException>lambdaQuery()
|
|
|
.eq(KwtVehicleException::getDelFlag, 0)
|
|
.eq(KwtVehicleException::getDelFlag, 0)
|
|
|
- .eq(Objects.nonNull(entId), KwtVehicleException::getEntId, entId)
|
|
|
|
|
|
|
+ .in(CollectionUtils.isNotEmpty(wOrderIds), KwtVehicleException::getWOrderId, wOrderIds)
|
|
|
.eq(Objects.nonNull(exceptionType), KwtVehicleException::getExceptionType, exceptionType)
|
|
.eq(Objects.nonNull(exceptionType), KwtVehicleException::getExceptionType, exceptionType)
|
|
|
.like(StringUtils.isNotBlank(truckNo), KwtVehicleException::getTruckNo, truckNo)
|
|
.like(StringUtils.isNotBlank(truckNo), KwtVehicleException::getTruckNo, truckNo)
|
|
|
.apply(subQuery.toString())
|
|
.apply(subQuery.toString())
|
|
@@ -122,9 +121,11 @@ public class KwtVehicleExceptionRepository extends ServiceImpl<KwtVehicleExcepti
|
|
|
));
|
|
));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- public List<KwtVehicleException> queryByEnt(Long entId) {
|
|
|
|
|
|
|
+ public List<KwtVehicleException> queryByEnt(List<Long> waybillOrderIds, Date startDate,Date endDate) {
|
|
|
return list(Wrappers.<KwtVehicleException>lambdaQuery()
|
|
return list(Wrappers.<KwtVehicleException>lambdaQuery()
|
|
|
.eq(KwtVehicleException::getDelFlag, 0)
|
|
.eq(KwtVehicleException::getDelFlag, 0)
|
|
|
- .eq(KwtVehicleException::getEntId, entId));
|
|
|
|
|
|
|
+ .in(KwtVehicleException::getWOrderId, waybillOrderIds)
|
|
|
|
|
+ .ge(KwtVehicleException::getCreateTime,startDate)
|
|
|
|
|
+ .le(KwtVehicleException::getCreateTime,endDate));
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|