From 0447d240b20ce8b17789e5b5bbaa358813a60f94 Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Thu, 26 Sep 2024 18:09:14 +0800 Subject: [PATCH] =?UTF-8?q?=E5=95=86=E5=93=81=E6=8A=A5=E6=8D=9F=20?= =?UTF-8?q?=E6=8A=A5=E9=94=99=20=E4=B8=BB=E9=A1=B5=E6=8E=A5=E5=8F=A3=20?= =?UTF-8?q?=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order/TbOrderDetailRepository.java | 26 +++++++++---------- .../TbProductStockDetailServiceImpl.java | 2 ++ .../cn/ysk/cashier/vo/CountStockByDayVo.java | 21 +++++++++++++-- 3 files changed, 34 insertions(+), 15 deletions(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/repository/order/TbOrderDetailRepository.java b/eladmin-system/src/main/java/cn/ysk/cashier/repository/order/TbOrderDetailRepository.java index e0ff25c2..bbd66402 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/repository/order/TbOrderDetailRepository.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/repository/order/TbOrderDetailRepository.java @@ -136,20 +136,20 @@ public interface TbOrderDetailRepository extends JpaRepository queryTbOrderSalesCountByDay(@Param("shopId") Integer shopId,@Param("cateId")String cateId,@Param("proName")String proName, @Param("startTime") Date startTime, @Param("endTime") Date endTime); - @Query(value = "SELECT" + - " SUM( CASE WHEN orders.order_type != 'return' THEN info.price_amount ELSE 0 END )-SUM( CASE WHEN orders.order_type = 'return' THEN info.price_amount ELSE 0 END ) as sale_amount," + - " 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 sale_num" + - " orders.trade_day " + + @Query("SELECT new cn.ysk.cashier.vo.CountStockByDayVo(" + + " (SUM( CASE WHEN orders.orderType != 'return' THEN info.priceAmount ELSE 0 END ) - SUM( CASE WHEN orders.orderType = 'return' THEN info.priceAmount ELSE 0 END )) as sale_amount," + + " (SUM( CASE WHEN orders.orderType != 'return' THEN info.num ELSE 0 END )-SUM( CASE WHEN orders.orderType = 'return' THEN info.num ELSE 0 END )) as sale_num," + + " orders.tradeDay)" + "FROM" + - " tb_order_info orders" + - " LEFT JOIN tb_order_detail info ON orders.id = info.order_id" + - "WHERE" + - " info.shop_id = :shopId" + - " AND info.create_time > :startTime" + - " AND info.create_time < :endTime" + - " AND ( info.STATUS = 'closed' OR info.STATUS = 'refund' ) " + - "GROUP BY orders.trade_day " + - "ORDER BY orders.trade_day DESC",nativeQuery = true) + " TbOrderInfo orders" + + " LEFT JOIN TbOrderDetail info ON orders.id = info.orderId" + + " WHERE " + + " info.shopId = :shopId" + + " AND info.createTime > :startTime" + + " AND info.createTime < :endTime" + + " AND ( info.status = 'closed' OR info.status = 'refund' ) " + + "GROUP BY orders.tradeDay " + + "ORDER BY orders.tradeDay DESC") List countStockByDay(@Param("shopId") Integer shopId,@Param("startTime") Date startTime, @Param("endTime") Date endTime); @Query("SELECT new cn.ysk.cashier.vo.TbOrderSalesCountByDayVo(" + diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/TbProductStockDetailServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/TbProductStockDetailServiceImpl.java index 81e1fcf3..ade9bf98 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/TbProductStockDetailServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/TbProductStockDetailServiceImpl.java @@ -188,6 +188,8 @@ public class TbProductStockDetailServiceImpl implements TbProductStockDetailServ stockDetail.setProductName(product.getName()); stockDetail.setUnitName(tbShopUnit==null?"":tbShopUnit.getName()); tbProductStockDetailRepository.save(stockDetail); + stockDetail.setCreatedAt(System.currentTimeMillis()); + stockDetail.setUpdatedAt(System.currentTimeMillis()); product.setStockNumber(product.getStockNumber()-stockDetail.getStockNumber().intValue()); tbProductRepository.save(product); } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/vo/CountStockByDayVo.java b/eladmin-system/src/main/java/cn/ysk/cashier/vo/CountStockByDayVo.java index 4c64609f..ebad025d 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/vo/CountStockByDayVo.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/vo/CountStockByDayVo.java @@ -7,8 +7,25 @@ import java.math.BigDecimal; @Data public class CountStockByDayVo { +// private String tradeDay; +// +// private Integer saleNum; +// private BigDecimal saleAmount; +// +// public CountStockByDayVo(BigDecimal saleAmount, Integer saleNum, String tradeDay) { +// this.tradeDay = tradeDay; +// this.saleNum = saleNum; +// this.saleAmount = saleAmount; +// } + + + private Object saleAmount; + private Object saleNum; private String tradeDay; - private Integer saleNum; - private BigDecimal saleAmount; + public CountStockByDayVo(Object saleAmount, Object saleNum, String tradeDay) { + this.saleAmount = saleAmount; + this.saleNum = saleNum; + this.tradeDay = tradeDay; + } }