数据报表-销量 统计值

This commit is contained in:
wangw 2024-06-18 11:40:46 +08:00
parent d8b92aadf9
commit e9e72b6c48
4 changed files with 34 additions and 32 deletions

View File

@ -74,16 +74,15 @@ public interface TbOrderDetailRepository extends JpaRepository<TbOrderDetail, In
"ORDER BY salesNum DESC") "ORDER BY salesNum DESC")
List<TbOrderSalesCountByDayVo> queryTbOrderSalesCountByDay(@Param("shopId") Integer shopId,@Param("cateId")String cateId,@Param("proName")String proName, @Param("startTime") Date startTime, @Param("endTime") Date endTime); List<TbOrderSalesCountByDayVo> queryTbOrderSalesCountByDay(@Param("shopId") Integer shopId,@Param("cateId")String cateId,@Param("proName")String proName, @Param("startTime") Date startTime, @Param("endTime") Date endTime);
@Query("SELECT new cn.ysk.cashier.vo.TbOrderPayCountVo(" + @Query("SELECT new cn.ysk.cashier.vo.TbOrderSalesCountByDayVo(" +
"info.status," + "SUM(CASE WHEN orders.orderType!='return' THEN info.num ELSE 0 END), " +
"SUM( info.num )) " + "SUM(CASE WHEN orders.orderType='return' THEN info.num ELSE 0 END))" +
"FROM TbOrderDetail info " + "FROM TbOrderInfo orders " +
"LEFT JOIN TbOrderDetail info on orders.id=info.orderId " +
"WHERE info.shopId = :shopId " + "WHERE info.shopId = :shopId " +
"AND info.createTime > :startTime AND info.createTime < :endTime " + "AND info.createTime > :startTime AND info.createTime < :endTime " +
"AND ((info.status = 'closed') OR ( info.status ='refund')) " + "AND (info.status = 'closed' OR info.status = 'refund') ")
"GROUP BY info.status") TbOrderSalesCountByDayVo queryTbOrderSalesCount(@Param("shopId") Integer shopId, @Param("startTime") Date startTime, @Param("endTime") Date endTime);
List<TbOrderPayCountVo> queryTbOrderSalesCount(@Param("shopId") Integer shopId, @Param("startTime") Date startTime, @Param("endTime") Date endTime);
@Query("SELECT new cn.ysk.cashier.vo.TbOrderPayCountVo(" + @Query("SELECT new cn.ysk.cashier.vo.TbOrderPayCountVo(" +
"info.status," + "info.status," +

View File

@ -436,17 +436,11 @@ public class SummaryServiceImpl implements SummaryService {
refCount.setIcon("el-icon-money"); refCount.setIcon("el-icon-money");
list.add(refCount); list.add(refCount);
List<TbOrderPayCountVo> tbOrderPayCountVos = detailRepository.queryTbOrderSalesCount(Integer.valueOf(shopId), startTime, endTime); TbOrderSalesCountByDayVo numCount = detailRepository.queryTbOrderSalesCount(Integer.valueOf(shopId), startTime, endTime);
for (TbOrderPayCountVo tbOrderPayCountVo : tbOrderPayCountVos) { TbOrderPayCountVo salesNum =new TbOrderPayCountVo("el-icon-goods","销售量","0",numCount.getSalesNum());
if (tbOrderPayCountVo.getPayType().equals("closed")) { TbOrderPayCountVo refNum =new TbOrderPayCountVo("el-icon-goods","销售量","0",numCount.getRefNum());
tbOrderPayCountVo.setPayType("销售量"); list.add(salesNum);
tbOrderPayCountVo.setIcon("el-icon-goods"); list.add(refNum);
} else if (tbOrderPayCountVo.getPayType().equals("refund")) {
tbOrderPayCountVo.setPayType("退单量");
tbOrderPayCountVo.setIcon("el-icon-circle-close");
}
list.add(tbOrderPayCountVo);
}
return list; return list;
} }
} }

View File

@ -4,6 +4,8 @@ package cn.ysk.cashier.vo;
public class TbOrderPayCountVo { public class TbOrderPayCountVo {
private String icon; private String icon;
private String payType; private String payType;
//是否展示金额标识
private String isAmount="1";
private Object payAmount; private Object payAmount;
public String getIcon() { public String getIcon() {
@ -30,6 +32,15 @@ public class TbOrderPayCountVo {
this.payAmount = payAmount; this.payAmount = payAmount;
} }
public String getIsAmount() {
return isAmount;
}
public void setIsAmount(String isAmount) {
this.isAmount = isAmount;
}
public TbOrderPayCountVo(String payType, Object payAmount) { public TbOrderPayCountVo(String payType, Object payAmount) {
this.payType = payType; this.payType = payType;
this.payAmount = payAmount; this.payAmount = payAmount;
@ -37,4 +48,14 @@ public class TbOrderPayCountVo {
this.payAmount = 0; this.payAmount = 0;
} }
} }
public TbOrderPayCountVo(String icon, String payType, String isAmount, Object payAmount) {
this.icon = icon;
this.payType = payType;
this.isAmount = isAmount;
this.payAmount = payAmount;
if (payAmount == null) {
this.payAmount = 0;
}
}
} }

View File

@ -77,21 +77,9 @@ public class TbOrderSalesCountByDayVo {
this.refAmount = refAmount; this.refAmount = refAmount;
} }
public TbOrderSalesCountByDayVo(String productName, String productSkuName, Long salesNum, Long refNum, Long num) { public TbOrderSalesCountByDayVo(Long salesNum, Long refNum) {
this.productName = productName;
this.productSkuName = productSkuName;
this.salesNum = salesNum; this.salesNum = salesNum;
this.refNum = refNum; this.refNum = refNum;
this.num = num;
}
public TbOrderSalesCountByDayVo(String productName, String productSkuName,String cateName, Long salesNum, Long refNum, Long num) {
this.productName = productName;
this.productSkuName = productSkuName;
this.cateName = cateName;
this.salesNum = salesNum;
this.refNum = refNum;
this.num = num;
} }
public TbOrderSalesCountByDayVo(String productName, String productSkuName, String cateName, Long salesNum, Long refNum, Long num, BigDecimal salesAmount, BigDecimal refAmount) { public TbOrderSalesCountByDayVo(String productName, String productSkuName, String cateName, Long salesNum, Long refNum, Long num, BigDecimal salesAmount, BigDecimal refAmount) {