提交 256bd56f authored 作者: liuhaiquan's avatar liuhaiquan

定向车在选择车辆列表进行过滤

上级 6e674f6d
...@@ -51,4 +51,6 @@ public interface OrderGoodsTruckBindDao extends BaseDao<OrderGoodsTruckBindMappe ...@@ -51,4 +51,6 @@ public interface OrderGoodsTruckBindDao extends BaseDao<OrderGoodsTruckBindMappe
List<OrderGoodsTruckBind> getCancelOrderGoods(List<String> truckList, String beginTime, String endTime); List<OrderGoodsTruckBind> getCancelOrderGoods(List<String> truckList, String beginTime, String endTime);
void deleteByOrderGoods(String orderGoodsNo); void deleteByOrderGoods(String orderGoodsNo);
List<String> findUnreleasedTruck();
} }
...@@ -171,4 +171,9 @@ public class OrderGoodsTruckBindDaoImpl extends BaseDaoImpl<OrderGoodsTruckBindM ...@@ -171,4 +171,9 @@ public class OrderGoodsTruckBindDaoImpl extends BaseDaoImpl<OrderGoodsTruckBindM
public void deleteByOrderGoods(String orderGoodsNo) { public void deleteByOrderGoods(String orderGoodsNo) {
baseMapper.delete(lQrWrapper().eq(OrderGoodsTruckBind::getOrderGoodsNo, orderGoodsNo)); baseMapper.delete(lQrWrapper().eq(OrderGoodsTruckBind::getOrderGoodsNo, orderGoodsNo));
} }
@Override
public List<String> findUnreleasedTruck() {
return baseMapper.findUnreleasedTruck();
}
} }
...@@ -3,14 +3,12 @@ package com.clx.performance.mapper; ...@@ -3,14 +3,12 @@ package com.clx.performance.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.clx.performance.model.OrderGoodsDriverTruck; import com.clx.performance.model.OrderGoodsDriverTruck;
import com.clx.performance.model.OrderGoodsTruckBind; import com.clx.performance.model.OrderGoodsTruckBind;
import com.clx.performance.sqlProvider.OrderGoodsSqlProvider;
import com.clx.performance.sqlProvider.OrderGoodsTruckBindSqlProvider; import com.clx.performance.sqlProvider.OrderGoodsTruckBindSqlProvider;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.SelectProvider; import org.apache.ibatis.annotations.SelectProvider;
import java.time.LocalDateTime;
import java.util.List; import java.util.List;
/** /**
...@@ -30,4 +28,8 @@ public interface OrderGoodsTruckBindMapper extends BaseMapper<OrderGoodsTruckBin ...@@ -30,4 +28,8 @@ public interface OrderGoodsTruckBindMapper extends BaseMapper<OrderGoodsTruckBin
List<Integer> getTrucksByOrderGoodsNo(@Param("orderGoodsNo") String orderGoodsNo); List<Integer> getTrucksByOrderGoodsNo(@Param("orderGoodsNo") String orderGoodsNo);
List<OrderGoodsDriverTruck> selectListByTruckNo(List<OrderGoodsDriverTruck> truckList); List<OrderGoodsDriverTruck> selectListByTruckNo(List<OrderGoodsDriverTruck> truckList);
@SelectProvider(type = OrderGoodsTruckBindSqlProvider.class, method = "findUnreleasedTruck")
List<String> findUnreleasedTruck();
} }
\ No newline at end of file
...@@ -80,6 +80,7 @@ public class TruckServiceImpl implements TruckService { ...@@ -80,6 +80,7 @@ public class TruckServiceImpl implements TruckService {
/** /**
* @Author kavin * @Author kavin
* @Description geo 获取附近车辆 * @Description geo 获取附近车辆
...@@ -161,20 +162,23 @@ public class TruckServiceImpl implements TruckService { ...@@ -161,20 +162,23 @@ public class TruckServiceImpl implements TruckService {
} }
Map<String,Integer> truckStatusMap = this.getTruckStatusMap(); Map<String,Integer> truckStatusMap = this.getTruckStatusMap();
List<GeoResult<RedisGeoCommands.GeoLocation<String>>> content = sortResult.getContent(); List<GeoResult<RedisGeoCommands.GeoLocation<String>>> content = sortResult.getContent();
//查询定向单绑定的车辆列表
List<String> bindTruckNos = orderGoodsTruckBindDao.findUnreleasedTruck();
List<PageTruckListVO> filterList = new ArrayList<>(); List<PageTruckListVO> filterList = new ArrayList<>();
//车辆距离发货地由近及远的车辆列表信息 //车辆距离发货地由近及远的车辆列表信息
for(GeoResult<RedisGeoCommands.GeoLocation<String>> item : content){ for(GeoResult<RedisGeoCommands.GeoLocation<String>> item : content){
String truckNo = item.getContent().getName(); String truckNo = item.getContent().getName();
String truckLevel = "A"; String truckLevel = "A";
double maxDistance = item.getDistance().getValue(); double maxDistance = item.getDistance().getValue();
//进行筛选 //进行筛选
//默认重车过滤掉 //默认重车过滤掉
if(Objects.equals(DriverTruckEnum.TruckOrderStatus.ORDER_HEAVY.getCode(),truckStatusMap.get(truckNo))){ if(Objects.equals(DriverTruckEnum.TruckOrderStatus.ORDER_HEAVY.getCode(),truckStatusMap.get(truckNo))){
continue; continue;
} }
//绑定的定向车进行过滤
if(bindTruckNos.contains(truckNo)){
continue;
}
if(StringUtils.isNotBlank(param.getTruckNo()) && !StringUtils.equals(truckNo,param.getTruckNo())){ if(StringUtils.isNotBlank(param.getTruckNo()) && !StringUtils.equals(truckNo,param.getTruckNo())){
continue; continue;
} }
......
package com.clx.performance.sqlProvider; package com.clx.performance.sqlProvider;
import com.clx.performance.enums.OrderGoodsTruckBindEnum; import com.clx.performance.enums.OrderGoodsTruckBindEnum;
import com.clx.performance.model.OrderGoodsTruckBind; import org.apache.ibatis.jdbc.SQL;
import java.time.LocalDateTime;
import java.util.List; import java.util.List;
public class OrderGoodsTruckBindSqlProvider { public class OrderGoodsTruckBindSqlProvider {
...@@ -23,4 +22,16 @@ public class OrderGoodsTruckBindSqlProvider { ...@@ -23,4 +22,16 @@ public class OrderGoodsTruckBindSqlProvider {
} }
return sqlList.toString(); return sqlList.toString();
} }
public String findUnreleasedTruck(){
return new SQL(){{
SELECT(" truck_no ");
FROM("order_goods_truck_bind");
WHERE("status IN (" + OrderGoodsTruckBindEnum.Status.GET.getCode() + "," +
OrderGoodsTruckBindEnum.Status.NORMAL.getCode() + ")" );
}}.toString();
}
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论