数据总览 - 食堂(超市)订单及销量趋势加入weekDay

This commit is contained in:
jjLv 2025-06-06 10:54:12 +08:00
parent db925f3fc1
commit 19ec96e0dc
2 changed files with 26 additions and 0 deletions

View File

@ -183,6 +183,9 @@ public class DataScreeningServiceImpl implements DataScreeningService {
List<EchartsVO> result = dateList.stream().map(dateStr -> { List<EchartsVO> result = dateList.stream().map(dateStr -> {
EchartsVO echartsVO = dataMap.getOrDefault(dateStr, new EchartsVO()); EchartsVO echartsVO = dataMap.getOrDefault(dateStr, new EchartsVO());
echartsVO.setOrderDate(dateStr); echartsVO.setOrderDate(dateStr);
//根据日期设置星期几
echartsVO.setWeekday(getWeekday(dateStr));
echartsVO.setSalesValue(Optional.ofNullable(echartsVO.getSalesValue()) echartsVO.setSalesValue(Optional.ofNullable(echartsVO.getSalesValue())
.map(value -> new BigDecimal(value).divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP).toString()) .map(value -> new BigDecimal(value).divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP).toString())
.orElse("0")); .orElse("0"));
@ -279,4 +282,26 @@ public class DataScreeningServiceImpl implements DataScreeningService {
} }
return dates; return dates;
} }
/**
* 根据日期字符串获取星期几
*
* @param dateStr 日期字符串格式为yyyy-MM-dd
* @return 星期几
*/
private String getWeekday(String dateStr) {
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf.parse(dateStr);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
String[] weekDays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK) - 1;
if (dayOfWeek < 0) dayOfWeek = 0;
return weekDays[dayOfWeek];
} catch (Exception e) {
log.error("日期转换异常", e);
return "";
}
}
} }

View File

@ -11,4 +11,5 @@ public class EchartsVO {
private String salesValue; private String salesValue;
private String orderValue; private String orderValue;
private String orderDate; private String orderDate;
private String weekday;
} }