Browse Source

提交物流管理

cangku
Houpn 3 years ago
parent
commit
1c9e4e4236
  1. 4
      hiver-core/src/main/java/cc/hiver/core/entity/Worker.java
  2. 3
      hiver-core/src/main/java/cc/hiver/core/service/OrderService.java
  3. 57
      hiver-core/src/main/java/cc/hiver/core/serviceimpl/OrderServiceImpl.java
  4. 2
      hiver-modules/hiver-base/src/main/java/cc/hiver/base/controller/manage/OrderController.java

4
hiver-core/src/main/java/cc/hiver/core/entity/Worker.java

@ -119,7 +119,7 @@ public class Worker implements Serializable {
* *
* 多端中的列键值外键指向一端 一对多的单向关联我们还是推荐使用一张中间表来建立关系 * 多端中的列键值外键指向一端 一对多的单向关联我们还是推荐使用一张中间表来建立关系
*/ */
@OneToMany(targetEntity = Order.class,mappedBy = "orderByWorker",cascade = CascadeType.ALL,fetch = FetchType.EAGER) /*@OneToMany(targetEntity = Order.class,mappedBy = "orderByWorker",cascade = CascadeType.ALL,fetch = FetchType.EAGER)
private List<Order> order; private List<Order> order;*/
} }

3
hiver-core/src/main/java/cc/hiver/core/service/OrderService.java

@ -29,4 +29,7 @@ public interface OrderService extends HiverBaseService<Order, String> {
Order findByOrderId(String orderId); Order findByOrderId(String orderId);
Page<Order> findAllByCondition(Order order, SearchVo searchVo, Pageable pageable);
} }

57
hiver-core/src/main/java/cc/hiver/core/serviceimpl/OrderServiceImpl.java

@ -103,5 +103,62 @@ public class OrderServiceImpl implements OrderService {
return orderDao.findByOrderId(orderId); return orderDao.findByOrderId(orderId);
} }
@Override
public Page<Order> findAllByCondition(Order order, SearchVo searchVo, Pageable pageable) {
return orderDao.findAll(new Specification<Order>() {
@Nullable
@Override
public Predicate toPredicate(Root<Order> root, CriteriaQuery<?> cq, CriteriaBuilder cb) {
Path<String> OrderIdField = root.get("orderId");
Path<String> norderLogisticsField = root.get("orderLogistics");
Path<String> kdOrderIdField = root.get("kdOrderId");
Path<String> timeoutField = root.get("timeout");
Path<Integer> orderStatusdField = root.get("orderStatus");
Path<String> orderByWorkerField = root.get("orderByWorker");
//抢单时间
Path<Date> createTimeField = root.get("orderByWorkertime");
List<Predicate> list = new ArrayList<>();
if (StrUtil.isNotBlank(order.getOrderId())) {
list.add(cb.equal(OrderIdField, order.getOrderId()));
}
// 精确搜索
if (StrUtil.isNotBlank(order.getOrderLogistics())) {
list.add(cb.equal(norderLogisticsField, order.getOrderLogistics()));
}
if (StrUtil.isNotBlank(order.getKdOrderId())) {
list.add(cb.like(kdOrderIdField, order.getKdOrderId()));
}
if (StrUtil.isNotBlank(order.getTimeout())) {
list.add(cb.equal(timeoutField, order.getTimeout()));
}
// 状态
if (order.getOrderStatus() != null) {
list.add(cb.equal(orderStatusdField, order.getOrderStatus()));
}
if (StrUtil.isNotBlank(order.getOrderByWorker())) {
list.add(cb.equal(orderByWorkerField, order.getOrderByWorker()));
}
// 创建时间
if (StrUtil.isNotBlank(searchVo.getStartDate()) && StrUtil.isNotBlank(searchVo.getEndDate())) {
Date start = DateUtil.parse(searchVo.getStartDate());
Date end = DateUtil.parse(searchVo.getEndDate());
list.add(cb.between(createTimeField, start, DateUtil.endOfDay(end)));
}
// 数据权限
Predicate[] arr = new Predicate[list.size()];
cq.where(list.toArray(arr));
return null;
}
}, pageable);
}
} }

2
hiver-modules/hiver-base/src/main/java/cc/hiver/base/controller/manage/OrderController.java

@ -159,7 +159,7 @@ public class OrderController {
public Result<Page<Order>> getAllByCondition(Order order, public Result<Page<Order>> getAllByCondition(Order order,
SearchVo searchVo, SearchVo searchVo,
PageVo pageVo) { PageVo pageVo) {
Page<Order> page = orderService.findByCondition(order, searchVo, PageUtil.initPage(pageVo)); Page<Order> page = orderService.findAllByCondition(order, searchVo, PageUtil.initPage(pageVo));
return new ResultUtil<Page<Order>>().setData(page); return new ResultUtil<Page<Order>>().setData(page);
} }

Loading…
Cancel
Save