Просмотр исходного кода

订单列表查询增加查询条件

yzc 2 лет назад
Родитель
Сommit
32ebe0fa2f

+ 34 - 24
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwOrderService.java

@@ -76,12 +76,12 @@ public class KwOrderService {
         List<OrderListRes> result = new ArrayList<>();
         list.forEach(e -> {
             OrderListRes order = BeanUtils.copyProperties(e, OrderListRes.class);
-                    order.setStatus(DictEnum.getLabel(DictTypeEnum.TORDER_STATUS.getType(), String.valueOf(e.getStatus())))
-                            .setTrading(DictEnum.getLabel(DictTypeEnum.TRADE_TYPE.getType(), e.getTrading()))
-                            .setDeliveryType(DictEnum.getLabel(DictTypeEnum.DELIVERY_TYPE.getType(), e.getDeliveryType()))
-                            .setPickupType(DictEnum.getLabel(DictTypeEnum.PICKUP_TYPE.getType(), e.getPickupType()))
-                            .setConsignmentStatus(Objects.equals(e.getAmount(), e.getEntrustAmount()) ? "待托运" : "已托运")
-                            .setSource(DictEnum.getLabel(DictTypeEnum.TORDER_SOURCE.getType(), e.getSource()));
+            order.setStatus(DictEnum.getLabel(DictTypeEnum.TORDER_STATUS.getType(), String.valueOf(e.getStatus())))
+                    .setTrading(DictEnum.getLabel(DictTypeEnum.TRADE_TYPE.getType(), e.getTrading()))
+                    .setDeliveryType(DictEnum.getLabel(DictTypeEnum.DELIVERY_TYPE.getType(), e.getDeliveryType()))
+                    .setPickupType(DictEnum.getLabel(DictTypeEnum.PICKUP_TYPE.getType(), e.getPickupType()))
+                    .setConsignmentStatus(Objects.isNull(e.getEntrustAmount()) || e.getEntrustAmount().compareTo(e.getAmount()) < 0 ? "待托运" : "已托运")
+                    .setSource(DictEnum.getLabel(DictTypeEnum.TORDER_SOURCE.getType(), e.getSource()));
         });
         return PageResult.build(params.getPage(), params.getPageSize(), count, result);
     }
@@ -106,20 +106,28 @@ public class KwOrderService {
             criteria.and("procureTopEntId").is(entId);
         }
         //交易方式
-        if (CollectionUtils.isNotEmpty(params.getTradings())) {
-            criteria.and("trading").in(params.getTradings());
+        if (StringUtils.isNotBlank(params.getTrading())) {
+            criteria.and("trading").is(params.getTrading());
         }
         //提货方式
-        if (CollectionUtils.isNotEmpty(params.getPickupTypes())) {
-            criteria.and("pickupType").in(params.getPickupTypes());
+        if (StringUtils.isNotBlank(params.getPickupType())) {
+            criteria.and("pickupType").is(params.getPickupType());
         }
         //交付类型
-        if (CollectionUtils.isNotEmpty(params.getDeliveryTypes())) {
-            criteria.and("deliveryType").in(params.getDeliveryTypes());
+        if (StringUtils.isNotBlank(params.getDeliveryType())) {
+            criteria.and("deliveryType").is(params.getDeliveryType());
         }
         //下单方式
-        if (CollectionUtils.isNotEmpty(params.getSources())) {
-            criteria.and("source").in(params.getSources());
+        if (StringUtils.isNotBlank(params.getSource())) {
+            criteria.and("source").is(params.getSource());
+        }
+        //采购企业
+        if (Objects.nonNull(params.getProcureEntId())) {
+            criteria.and("procureEntId").is(params.getProcureEntId());
+        }
+        //商品税率
+        if (Objects.nonNull(params.getGoodsTaxRate())) {
+            criteria.and("goodsTaxRate").is(params.getGoodsTaxRate());
         }
         //日期范围
         if (Objects.nonNull(params.getStartCreateTime()) && Objects.nonNull(params.getEndCreateTime())) {
@@ -131,6 +139,12 @@ public class KwOrderService {
             criteria.and("createTime").lte(params.getEndCreateTime());
         }
         List<Criteria> orCriteriaList = new ArrayList<>();
+        //商品名称
+        if (StringUtils.isNotBlank(params.getGoodsName())) {
+            criteria.and("goodsName").is(params.getGoodsName());
+            Pattern pattern = Pattern.compile("^.*" + params.getGoodsName() + ".*$", Pattern.CASE_INSENSITIVE);
+            orCriteriaList.add(Criteria.where("goodsName").regex(pattern));
+        }
         //关键字模糊匹配
         if (StringUtils.isNotBlank(params.getKeywords())) {
             Pattern pattern = Pattern.compile("^.*" + params.getKeywords() + ".*$", Pattern.CASE_INSENSITIVE);
@@ -140,17 +154,13 @@ public class KwOrderService {
             orCriteriaList.add(Criteria.where("goodsName").regex(pattern));
         }
         //装卸货地址
-        if (CollectionUtils.isNotEmpty(params.getShippingAddressCodes())) {
-            params.getShippingAddressCodes().forEach(c -> {
-                Pattern pattern = Pattern.compile("^" + c.substring(0, 4) + ".*$", Pattern.CASE_INSENSITIVE);
-                orCriteriaList.add(Criteria.where("loadCityCode").regex(pattern));
-            });
+        if (StringUtils.isNotBlank(params.getShippingAddressCode())) {
+            Pattern pattern = Pattern.compile("^" + params.getShippingAddressCode().substring(0, 4) + ".*$", Pattern.CASE_INSENSITIVE);
+            orCriteriaList.add(Criteria.where("loadCityCode").regex(pattern));
         }
-        if (CollectionUtils.isNotEmpty(params.getUnloadingAddressCodes())) {
-            params.getUnloadingAddressCodes().forEach(c -> {
-                Pattern pattern = Pattern.compile("^" + c.substring(0, 4) + ".*$", Pattern.CASE_INSENSITIVE);
-                orCriteriaList.add(Criteria.where("unloadCityCode").regex(pattern));
-            });
+        if (StringUtils.isNotBlank(params.getUnloadingAddressCode())) {
+            Pattern pattern = Pattern.compile("^" + params.getUnloadingAddressCode().substring(0, 4) + ".*$", Pattern.CASE_INSENSITIVE);
+            orCriteriaList.add(Criteria.where("unloadCityCode").regex(pattern));
         }
         if (CollectionUtils.isNotEmpty(orCriteriaList)) {
             criteria.orOperator(orCriteriaList);

+ 28 - 13
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/param/TradeOrderListStatisticParam.java

@@ -8,8 +8,8 @@ import lombok.Getter;
 import lombok.Setter;
 import lombok.ToString;
 
+import java.math.BigDecimal;
 import java.util.Date;
-import java.util.List;
 
 /**
  * @desc: 订单列表统计请求参数
@@ -45,33 +45,48 @@ public class TradeOrderListStatisticParam {
     private Date endCreateTime;
 
     /**
-     * 装货地址code集合
+     * 装货地址code
      */
-    private List<String> shippingAddressCodes;
+    private String shippingAddressCode;
 
     /**
-     * 装货地址code集合
+     * 装货地址code
      */
-    private List<String> unloadingAddressCodes;
+    private String unloadingAddressCode;
 
     /**
-     * 交易方式(预付款、货到付款)集合
+     * 交易方式(预付款、货到付款)
      */
-    private List<String> tradings;
+    private String trading;
 
     /**
-     * 提货方式(采方自提、供应配送)集合
+     * 提货方式(采方自提、供应配送)
      */
-    private List<String> pickupTypes;
+    private String pickupType;
 
     /**
-     * 交付类型(签发交付、签收交付)集合
+     * 交付类型(签发交付、签收交付)
      */
-    private List<String> deliveryTypes;
+    private String deliveryType;
 
     /**
-     * 下单方式(0自主下单/1代客下单)集合
+     * 下单方式(0自主下单/1代客下单)
      */
-    private List<String> sources;
+    private String source;
+
+    /**
+     * 采购单位id
+     */
+    private Long procureEntId;
+
+    /**
+     * 商品税率
+     */
+    private BigDecimal goodsTaxRate;
+
+    /**
+     * 商品名称
+     */
+    private String goodsName;
 
 }