Prechádzať zdrojové kódy

update 增加按物流单找运单列表

chenlin 2 rokov pred
rodič
commit
4aeb461c8b

+ 16 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/enterpriseApp/AppWayBillController.java

@@ -70,4 +70,20 @@ public class AppWayBillController {
             return HttpResult.error(HttpStatus.GLOBAL_EXCEPTION_CODE, e.getMessage());
         }
     }
+
+    /**
+     * APP 物流订单-运单列表
+     * @param waybillOrderDTO
+     * @return
+     */
+    @Valid
+    @RequestMapping(name = "物流订单-运单列表", value = "/logisticOrderWaybillData", method = RequestMethod.POST)
+    public HttpResult logisticOrderWaybillData(@Validated @RequestBody WaybillListAppDTO waybillOrderDTO) {
+        try {
+            return waybillManagementService.logisticOrderWaybillData(waybillOrderDTO);
+        } catch (Exception e) {
+            log.error("物流订单-运单列表:订单id {},error {} ", waybillOrderDTO, e.getMessage(), e);
+            return HttpResult.error(HttpStatus.GLOBAL_EXCEPTION_CODE, e.getMessage());
+        }
+    }
 }

+ 6 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/dto/WaybillListAppDTO.java

@@ -54,4 +54,10 @@ public class WaybillListAppDTO {
     @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     private Date endDate;
 
+    /**
+     * 物流订单单号
+     */
+    @JsonProperty("lOrderId")
+    private String lOrderId;
+
 }

+ 51 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/WaybillManagementService.java

@@ -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 运单分类吨量统计数据 [运输中|已完成]