更新10.14

This commit is contained in:
许允枞 2024-10-14 18:12:29 +08:00
parent 681cfddf20
commit e52f64ab0d
3 changed files with 40 additions and 5 deletions

View File

@ -325,7 +325,7 @@ export default {
this.getDataCount()
},
mounted() {
// this.initChart()
this.initChart()
},
methods: {
goList() {
@ -364,7 +364,7 @@ export default {
console.log('dataAnalysisOilNumberList',this.dataAnalysisOilNumberList)
console.log('dataAnalysisIfOilList',this.dataAnalysisIfOilList)
console.log('dataAnalysisAllList',this.dataAnalysisAllList)
// this.initChart()
this.initChart()
}
})
},
@ -513,7 +513,6 @@ export default {
// { value: 40, name: '#95' },
// { value: 38, name: '#92' },
//
//
// ],
data: this.dataAnalysisOilNumberList,
emphasis: {

View File

@ -806,6 +806,6 @@
</select>
<select id="selectSumMoneyByDayAndOilNumber" resultType="java.lang.Double">
select IFNULL(SUM(pay_amount), 0) from oil_order
where DATE(pay_time) = #{day} and oils = #{oilName} and store_id = #{storeId}
where DATE(pay_time) = #{day} and oils = #{oilName} and store_id = #{storeId} and order_status = "paid"
</select>
</mapper>

View File

@ -1875,14 +1875,24 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
homeDataShowVo.setOilNames(oilNames);
//根据开始时间与结束时间获取所有天数
List<String> days = getAllDatesBetween(startTime, endTime);
//查询所有订单
DateTime dateTime2 = DateUtil.beginOfDay(DateUtil.parse(startTime));
DateTime dateTime3 = DateUtil.endOfDay(DateUtil.parse(endTime));
List<OilOrder> oilOrders = oilOrderMapper.selectList(new LambdaQueryWrapper<OilOrder>()
.eq(OilOrder::getStoreId, nowAccountInfo.getStoreId())
.eq(OilOrder::getOrderStatus, "paid")
.between(OilOrder::getPayTime, dateTime2, dateTime3));
List<Map<String, Object>> oilData = new ArrayList<>();
for (String day : days) {
Map<String, Object> mapData = new HashMap<>();
mapData.put("day", day);
List<Double> oilPrices = new ArrayList<>();
DateTime dateTime = DateUtil.beginOfDay(DateUtil.parse(day));
DateTime dateTime1 = DateUtil.endOfDay(dateTime);
for (OilNumber oilNumber : oilNumbers) {
//查询油品交易总金额
double price = oilOrderMapper.selectSumMoneyByDayAndOilNumber(oilNumber.getOilName(), day, nowAccountInfo.getStoreId());
// double price = oilOrderMapper.selectSumMoneyByDayAndOilNumber(oilNumber.getOilName(), day, nowAccountInfo.getStoreId());
double price = calculateTotalPayAmount(oilOrders, dateTime, dateTime1, oilNumber.getOilName());
oilPrices.add(price);
}
mapData.put("oilPrices", oilPrices);
@ -1914,6 +1924,32 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
return dateList;
}
/**
* 计算指定支付时间范围和油品名称下的累计支付金额
*
* @param oilOrders OilOrder对象的集合
* @param startTime 支付开始时间
* @param endTime 支付结束时间
* @param oilName 目标油品名称
* @return 符合条件的累计支付金额
*/
public static double calculateTotalPayAmount(List<OilOrder> oilOrders, Date startTime, Date endTime, String oilName) {
double totalPayAmount = 0.0;
for (OilOrder order : oilOrders) {
// 检查支付时间是否在范围内油品名称是否匹配若oilName不为空则匹配
if ((startTime == null || !order.getPayTime().before(startTime))
&& (endTime == null || !order.getPayTime().after(endTime))
&& (oilName == null || Objects.equals(order.getOils(), oilName))) {
// 累加符合条件的订单的payAmount
totalPayAmount += order.getPayAmount();
}
}
return totalPayAmount;
}
private static String getFormattedResult(double averageValue) {
DecimalFormat df = new DecimalFormat("#.00");
String formattedResult = df.format(averageValue);