From a534ffdf372c37bed23eb6591525a5a5532d2f96 Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Thu, 25 Jul 2024 14:06:34 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=BA=93=E5=AD=98=E8=AE=B0=E5=BD=95=E4=B8=8D?= =?UTF-8?q?=E4=B8=80=E8=87=B4=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order/StockCountRepository.java | 61 +++++++++---------- 1 file changed, 30 insertions(+), 31 deletions(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/repository/order/StockCountRepository.java b/eladmin-system/src/main/java/cn/ysk/cashier/repository/order/StockCountRepository.java index 746d04cd..3db7a6d9 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/repository/order/StockCountRepository.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/repository/order/StockCountRepository.java @@ -33,36 +33,35 @@ public interface StockCountRepository extends JpaRepository countStock( @Param("startTime") String startTime, @Param("endTime") String endTime); - @Query(value = "SELECT \n" + - " pro.shop_id AS shop_id, \n" + - " pro.id AS pro_id, \n" + - " info.product_name AS pro_name, \n" + - " pro.is_stock, \n" + - " info.product_sku_name AS sku_name, \n" + - " unit.NAME AS unit_name, \n" + - " SUM(CASE WHEN orders.order_type != 'return' THEN info.num ELSE 0 END) \n" + - " - SUM(CASE WHEN orders.order_type = 'return' THEN info.num ELSE 0 END) AS stock_count, \n" + - " CASE WHEN pro.is_distribute = '0' THEN sku.stock_number ELSE pro.stock_number END AS stock_number \n" + - "FROM \n" + - " tb_order_info orders \n" + - "LEFT JOIN \n" + - " tb_order_detail info ON orders.id = info.order_id \n" + - "LEFT JOIN \n" + - " tb_product pro ON info.product_id = pro.id \n" + - "LEFT JOIN \n" + - " (SELECT product_id, SUM(stock_number) AS stock_number FROM tb_product_sku GROUP BY product_id) sku ON info.product_id = sku.product_id \n" + - "LEFT JOIN \n" + - " tb_shop_unit unit ON unit.id = pro.unit_id \n" + - "WHERE \n" + - " orders.id = :orderId \n" + - " AND (info.STATUS = 'closed' OR info.STATUS = 'refund') \n" + - "GROUP BY \n" + - " info.product_id, \n" + - " pro.shop_id, \n" + - " pro.id, \n" + - " info.product_name, \n" + - " pro.is_stock, \n" + - " info.product_sku_name, \n" + - " unit.NAME",nativeQuery = true) + @Query(value = "SELECT\n" + + "pro.shop_id AS shop_id,\n" + + "pro.id AS pro_id,\n" + + "info.product_name AS pro_name,\n" + + "pro.is_stock,\n" + + "info.product_sku_name AS sku_name,\n" + + "unit.NAME AS unit_name,\n" + + "SUM( CASE WHEN orders.order_type != 'return' THEN info.num ELSE 0 END ) - SUM( CASE WHEN orders.order_type = 'return' THEN info.num ELSE 0 END ) AS stock_count,\n" + + "CASE\n" + + "\n" + + "WHEN pro.is_distribute = 0 THEN\n" + + "sku.stock_number ELSE pro.stock_number \n" + + "END AS stock_number\n" + + "FROM\n" + + "tb_order_detail info\n" + + "LEFT JOIN tb_order_info orders ON orders.id = info.order_id\n" + + "LEFT JOIN tb_product pro ON info.product_id = pro.id\n" + + "LEFT JOIN tb_product_sku sku ON info.product_sku_id = sku.id\n" + + "LEFT JOIN tb_shop_unit unit ON unit.id = pro.unit_id \n" + + "WHERE\n" + + "orders.id = :orderId \n" + + "AND ( info.STATUS = 'closed' OR info.STATUS = 'refund' ) \n" + + "GROUP BY\n" + + "info.product_id,\n" + + "pro.shop_id,\n" + + "pro.id,\n" + + "info.product_name,\n" + + "pro.is_stock,\n" + + "info.product_sku_name,\n" + + "unit.NAME;",nativeQuery = true) List countStockById(Integer orderId); }