销售趋势柱状图 左下
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user