|
|
@@ -3,6 +3,7 @@ package com.sckw.transport.service;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.sckw.core.common.enums.NumberConstant;
|
|
|
import com.sckw.core.common.enums.enums.DictTypeEnum;
|
|
|
+import com.sckw.core.exception.BusinessException;
|
|
|
import com.sckw.core.model.constant.Global;
|
|
|
import com.sckw.core.model.enums.CarWaybillEnum;
|
|
|
import com.sckw.core.model.enums.CarWaybillQueryEnum;
|
|
|
@@ -888,6 +889,56 @@ public class WaybillManagementService {
|
|
|
return HttpResult.ok(build);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 物流订单-运单列表
|
|
|
+ *
|
|
|
+ * @param query
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public HttpResult logisticOrderWaybillData(WaybillListAppDTO query) {
|
|
|
+ List<Integer> processStatuses = initWaybillIndexStatus();
|
|
|
+ Criteria criteria = new Criteria();
|
|
|
+ criteria.and("delFlag").is(NumberConstant.ZERO);
|
|
|
+
|
|
|
+ List<Long> lOrderIds = StringUtils.splitStrToList(query.getLOrderId(), ",", Long.class);
|
|
|
+ if (CollectionUtils.isEmpty(lOrderIds)) {
|
|
|
+ return HttpResult.ok();
|
|
|
+ }
|
|
|
+ criteria.and("lOrderId").in(lOrderIds);
|
|
|
+ // 多条件模糊查询
|
|
|
+ List<Criteria> orCriteria = new ArrayList<>();
|
|
|
+ if (StringUtils.isNotBlank(query.getKeyword())) {
|
|
|
+ Pattern pattern = Pattern.compile("^.*" + query.getKeyword() + ".*$", Pattern.CASE_INSENSITIVE);
|
|
|
+ orCriteria.add(Criteria.where("wOrderNo").regex(pattern));
|
|
|
+ orCriteria.add(Criteria.where("truckNo").regex(pattern));
|
|
|
+ orCriteria.add(Criteria.where("driverName").regex(pattern));
|
|
|
+ orCriteria.add(Criteria.where("firmName").regex(pattern));
|
|
|
+ criteria.orOperator(orCriteria);
|
|
|
+ }
|
|
|
+ Query queryFormat = new Query(criteria);
|
|
|
+ // 总记录数
|
|
|
+ long total = mongoTemplate.count(queryFormat, SckwWaybillOrder.class);
|
|
|
+ queryFormat.with(PageRequest.of(query.getPage() - 1, query.getPageSize(),
|
|
|
+ Sort.by(Sort.Order.desc("createTime"))));
|
|
|
+ // 执行查询
|
|
|
+ List<SckwWaybillOrder> list = mongoTemplate.find(queryFormat, SckwWaybillOrder.class);
|
|
|
+ List<WaybillBoardListVO> returnList = new ArrayList<>();
|
|
|
+ if (CollectionUtils.isNotEmpty(list)) {
|
|
|
+ List<WaybillStatusVO> statusVOS = new ArrayList();
|
|
|
+ processStatuses.forEach(e -> {
|
|
|
+ WaybillStatusVO waybillStatusVO = new WaybillStatusVO();
|
|
|
+ waybillStatusVO.setStatus(false);
|
|
|
+ waybillStatusVO.setCode(e);
|
|
|
+ waybillStatusVO.setDestination(CarWaybillEnum.getName(e));
|
|
|
+ statusVOS.add(waybillStatusVO);
|
|
|
+ });
|
|
|
+ packageWaybillIndexResult(list, statusVOS, returnList);
|
|
|
+ }
|
|
|
+
|
|
|
+ PageResult build = PageResult.build(query.getPage(), query.getPageSize(), total, list);
|
|
|
+ return HttpResult.ok(build);
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
/**
|
|
|
* app 运单分类吨量统计数据 [运输中|已完成]
|