更新10.14
This commit is contained in:
parent
681cfddf20
commit
e52f64ab0d
@ -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: {
|
||||
|
@ -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>
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user