销售趋势柱状图 左下

This commit is contained in:
2024-09-29 10:01:54 +08:00
parent d1d42e8fdf
commit 08f01e04ea
3 changed files with 31 additions and 31 deletions

View File

@@ -6,7 +6,6 @@ import com.alibaba.druid.util.StringUtils;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import cn.ysk.cashier.utils.CloseUtil; import cn.ysk.cashier.utils.CloseUtil;
import cn.ysk.cashier.mnt.util.DataTypeEnum;
import javax.sql.DataSource; import javax.sql.DataSource;
import java.io.BufferedReader; import java.io.BufferedReader;
import java.io.File; import java.io.File;

View File

@@ -238,22 +238,16 @@ public class SummaryServiceImpl implements SummaryService {
List<Object[]> objects = tbOrderInfoRepository.queryTbOrderPaySumByDay(shopId.toString(), startTime, endTime); List<Object[]> objects = tbOrderInfoRepository.queryTbOrderPaySumByDay(shopId.toString(), startTime, endTime);
//根据时间的销量 //根据时间的销量
List<SumDateVO> sumDateVOList = new ArrayList<>(); Map<String, SumDateVO> dataMap = new HashMap<>();
for (Object[] o : objects) { for (Object[] o : objects) {
SumDateVO sumDateVO = new SumDateVO(); SumDateVO sumDateVO = new SumDateVO();
sumDateVO.setAmount((BigDecimal) o[0]); sumDateVO.setOrderAmount((BigDecimal) o[0]);
sumDateVO.setTradeDay((String) o[1]); sumDateVO.setTradeDay((String) o[1]);
sumDateVO.setSaveAmount((BigDecimal) o[2]); sumDateVO.setDiscountAmount((BigDecimal) o[2]);
sumDateVOList.add(sumDateVO); sumDateVO.setActualAmount(sumDateVO.getOrderAmount().subtract(sumDateVO.getDiscountAmount()));
} dataMap.put(sumDateVO.getTradeDay(), sumDateVO);
//填充日期
Map<String, SumDateVO> dataMap = new HashMap<>();
for (SumDateVO entry : sumDateVOList) {
String tradeDay = entry.getTradeDay();
BigDecimal amount = entry.getAmount();
BigDecimal saveAmount = entry.getSaveAmount();
dataMap.put(tradeDay, new SumDateVO(tradeDay, amount, saveAmount));
} }
// 获取今天的日期 // 获取今天的日期
LocalDate today = LocalDate.now(); LocalDate today = LocalDate.now();
// 定义日期格式 // 定义日期格式
@@ -269,12 +263,12 @@ public class SummaryServiceImpl implements SummaryService {
sumDateVO = dataMap.get(tradeDayString); sumDateVO = dataMap.get(tradeDayString);
} else { } else {
// 如果不存在则创建新的SumDateVO对象amount设为0 // 如果不存在则创建新的SumDateVO对象amount设为0
sumDateVO = new SumDateVO(tradeDayString, BigDecimal.ZERO, BigDecimal.ZERO); sumDateVO = new SumDateVO(tradeDayString, BigDecimal.ZERO,BigDecimal.ZERO, BigDecimal.ZERO);
} }
// 将SumDateVO对象添加到列表中 // 将SumDateVO对象添加到列表中
sumDateList.add(sumDateVO); sumDateList.add(sumDateVO);
} }
sumDateList.sort((a, b) -> a.getTradeDay().compareTo(b.getTradeDay())); sumDateList.sort(Comparator.comparing(SumDateVO::getTradeDay));
map.put("total", sumDateList); map.put("total", sumDateList);
return map; return map;
} }

View File

@@ -3,7 +3,6 @@ package cn.ysk.cashier.vo;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDate;
/** /**
* @author lyf * @author lyf
@@ -12,13 +11,21 @@ import java.time.LocalDate;
@Data @Data
public class SumDateVO { public class SumDateVO {
private String tradeDay; private String tradeDay;
private BigDecimal amount; private BigDecimal orderAmount;
private BigDecimal saveAmount; private BigDecimal actualAmount;
private BigDecimal discountAmount;
public SumDateVO() { public SumDateVO() {
} }
public SumDateVO(String tradeDay, BigDecimal orderAmount, BigDecimal actualAmount, BigDecimal discountAmount) {
this.tradeDay = tradeDay;
this.orderAmount = orderAmount;
this.actualAmount = actualAmount;
this.discountAmount = discountAmount;
}
public String getTradeDay() { public String getTradeDay() {
return tradeDay; return tradeDay;
} }
@@ -27,27 +34,27 @@ public class SumDateVO {
this.tradeDay = tradeDay; this.tradeDay = tradeDay;
} }
public BigDecimal getAmount() { public BigDecimal getOrderAmount() {
return amount; return orderAmount;
} }
public void setAmount(BigDecimal amount) { public void setOrderAmount(BigDecimal orderAmount) {
this.amount = amount; this.orderAmount = orderAmount;
} }
public BigDecimal getActualAmount() {
public BigDecimal getSaveAmount() { return actualAmount;
return saveAmount;
} }
public void setSaveAmount(BigDecimal saveAmount) { public void setActualAmount(BigDecimal actualAmount) {
this.saveAmount = saveAmount; this.actualAmount = actualAmount;
} }
public BigDecimal getDiscountAmount() {
return discountAmount;
}
public SumDateVO(String tradeDay, BigDecimal amount, BigDecimal saveAmount) { public void setDiscountAmount(BigDecimal discountAmount) {
this.tradeDay = tradeDay; this.discountAmount = discountAmount;
this.amount = amount;
this.saveAmount = saveAmount;
} }
} }