数据报表-销量 统计值

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")
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(" +
"info.status," +
"SUM( info.num )) " +
"FROM TbOrderDetail info " +
@Query("SELECT new cn.ysk.cashier.vo.TbOrderSalesCountByDayVo(" +
"SUM(CASE WHEN orders.orderType!='return' THEN info.num ELSE 0 END), " +
"SUM(CASE WHEN orders.orderType='return' THEN info.num ELSE 0 END))" +
"FROM 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 info.status")
List<TbOrderPayCountVo> queryTbOrderSalesCount(@Param("shopId") Integer shopId, @Param("startTime") Date startTime, @Param("endTime") Date endTime);
"AND (info.status = 'closed' OR info.status = 'refund') ")
TbOrderSalesCountByDayVo queryTbOrderSalesCount(@Param("shopId") Integer shopId, @Param("startTime") Date startTime, @Param("endTime") Date endTime);
@Query("SELECT new cn.ysk.cashier.vo.TbOrderPayCountVo(" +
"info.status," +

View File

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

View File

@ -4,6 +4,8 @@ package cn.ysk.cashier.vo;
public class TbOrderPayCountVo {
private String icon;
private String payType;
//是否展示金额标识
private String isAmount="1";
private Object payAmount;
public String getIcon() {
@ -30,6 +32,15 @@ public class TbOrderPayCountVo {
this.payAmount = payAmount;
}
public String getIsAmount() {
return isAmount;
}
public void setIsAmount(String isAmount) {
this.isAmount = isAmount;
}
public TbOrderPayCountVo(String payType, Object payAmount) {
this.payType = payType;
this.payAmount = payAmount;
@ -37,4 +48,14 @@ public class TbOrderPayCountVo {
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;
}
public TbOrderSalesCountByDayVo(String productName, String productSkuName, Long salesNum, Long refNum, Long num) {
this.productName = productName;
this.productSkuName = productSkuName;
public TbOrderSalesCountByDayVo(Long salesNum, Long refNum) {
this.salesNum = salesNum;
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) {