1.库存记录不一致问题修复
This commit is contained in:
@@ -33,36 +33,35 @@ public interface StockCountRepository extends JpaRepository<StockCountDTO, Integ
|
||||
"info.product_id ",nativeQuery = true)
|
||||
List<StockCountDTO> 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<StockCountDTO> countStockById(Integer orderId);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user