Răsfoiți Sursa

app主界面贸易订单统计接口

yzc 2 ani în urmă
părinte
comite
81321f8c75

+ 0 - 6
sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwpWantBuyService.java

@@ -137,9 +137,6 @@ public class KwpWantBuyService {
             List<String> longList = stringToLongList(wantBuySelectParam.getTrading());
             wantBuySelectParam.setTradings(longList);
         }
-        if (StringUtils.isNotBlank(wantBuySelectParam.getStatus())) {
-            wantBuySelectParam.setStatus(wantBuySelectParam.getStatus());
-        }
 
         //商品分类筛选处理
         if (StringUtils.isNotBlank(wantBuySelectParam.getGoodsType()) && StringUtils.isNotBlank(wantBuySelectParam.getGoodsTypeValue())) {
@@ -488,9 +485,6 @@ public class KwpWantBuyService {
                 List<String> longList = stringToLongList(selectParam.getTrading());
                 selectParam.setTradings(longList);
             }
-            if (StringUtils.isNotBlank(selectParam.getStatus())) {
-                selectParam.setStatus(selectParam.getStatus());
-            }
             //商品分类筛选处理
             if (StringUtils.isNotBlank(selectParam.getGoodsType()) && StringUtils.isNotBlank(selectParam.getGoodsTypeValue())) {
                 List<String> goodsTypes = goodsTypeHandle(selectParam);

+ 1 - 1
sckw-modules/sckw-order/src/main/resources/mapper/KwoWantBuyMapper.xml

@@ -62,7 +62,7 @@
                 #{item,jdbcType=BIGINT}
             </foreach>
         </if>
-        <if test="wantBuyReq.status != null and wantBuyReq.status != ''">
+        <if test="wantBuyReq.status != null">
             and kb.status = #{wantBuyReq.status}
         </if>
         <if test="wantBuyReq.entId != null ">

+ 12 - 0
sckw-modules/sckw-report/src/main/java/com/sckw/report/controller/KwOrderController.java

@@ -62,6 +62,18 @@ public class KwOrderController {
         return HttpResult.ok(orderService.tradeOrderStatistic(params));
     }
 
+    /**
+     * @desc: app主界面贸易订单统计
+     * @author: yzc
+     * @date: 2023-08-21 17:38
+     * @Param params:
+     * @return: com.sckw.core.web.response.HttpResult
+     */
+    @GetMapping(value = "/tradeOrderAppStatistic", produces = MediaType.APPLICATION_JSON_VALUE)
+    public HttpResult appStatistic(@RequestBody @Validated TradeOrderAppStatisticParam params) {
+        return HttpResult.ok(orderService.appStatistic(params));
+    }
+
     /**
      * @desc: 贸易订单列表导出
      * @author: yzc

+ 29 - 0
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwOrderService.java

@@ -15,6 +15,7 @@ import com.sckw.mongo.model.SckwTradeOrder;
 import com.sckw.report.dao.SckwTradeOrderRepository;
 import com.sckw.report.service.param.*;
 import com.sckw.report.service.vo.OrderListRes;
+import com.sckw.report.service.vo.TradeOrderAppStatisticVO;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.data.domain.Sort;
@@ -228,6 +229,34 @@ public class KwOrderService {
         return res;
     }
 
+    /**
+     * @desc: app主界面贸易订单统计
+     * @author: yzc
+     * @date: 2023-08-21 17:39
+     * @Param params:
+     * @return: java.util.List<com.sckw.report.service.vo.TradeOrderAppStatisticVO>
+     */
+    public List<TradeOrderAppStatisticVO> appStatistic(TradeOrderAppStatisticParam params) {
+        Long entId = LoginUserHolder.getEntId();
+        String topEnt = Objects.equals(params.getOrderType(), 1) ? "procureTopEntId" : "supplyTopEntId";
+        List<Integer> status = Arrays.asList(1, 4, 5, 7);
+        Query query = new Query();
+        Criteria criteria = new Criteria();
+        criteria.and(topEnt).is(entId).and("status").in(status).and("delFlag").is(0);
+        query.addCriteria(criteria);
+        List<SckwTradeOrder> orders = mongoTemplate.find(query, SckwTradeOrder.class);
+        Map<Integer, List<SckwTradeOrder>> map = orders.stream().collect(Collectors.groupingBy(SckwTradeOrder::getStatus));
+        List<TradeOrderAppStatisticVO> statistics = new ArrayList<>();
+        status.forEach(e -> {
+            List<SckwTradeOrder> list = map.get(e);
+            int total = CollectionUtils.isEmpty(list) ? 0 : list.size();
+            TradeOrderAppStatisticVO statistic = new TradeOrderAppStatisticVO();
+            statistic.setValue(e).setTotal(total);
+            statistics.add(statistic);
+        });
+        return statistics;
+    }
+
     /**
      * @desc: 贸易订单列表导出
      * @author: yzc

+ 25 - 0
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/param/TradeOrderAppStatisticParam.java

@@ -0,0 +1,25 @@
+package com.sckw.report.service.param;
+
+import jakarta.validation.constraints.NotNull;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import org.hibernate.validator.constraints.Range;
+
+/**
+ * @desc: 贸易订单app统计
+ * @author: yzc
+ * @date: 2023-08-21 17:21
+ */
+@Getter
+@Setter
+@ToString
+public class TradeOrderAppStatisticParam {
+
+    /**
+     * 订单类型(2销售订单、1采购订单)
+     */
+    @Range(min = 1, max = 2, message = "非法订单类型")
+    @NotNull(message = "订单类型不能为空")
+    private Integer orderType;
+}

+ 28 - 0
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/vo/TradeOrderAppStatisticVO.java

@@ -0,0 +1,28 @@
+package com.sckw.report.service.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+/**
+ * @desc: 贸易订单主界面统计
+ * @author: yzc
+ * @date: 2023-08-21 17:35
+ */
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+public class TradeOrderAppStatisticVO {
+
+    /**
+     * 状态值
+     */
+    private Integer value;
+
+    /**
+     * 统计数据
+     */
+    private Integer total;
+}