Merge remote-tracking branch 'origin/master'

This commit is contained in:
YAS\29473
2025-09-29 14:24:09 +08:00

View File

@@ -19,6 +19,7 @@ import com.jsowell.common.util.PageUtils;
import com.jsowell.common.util.StringUtils;
import com.jsowell.common.util.YKCUtils;
import com.jsowell.common.util.id.IdUtils;
import com.jsowell.pile.domain.OrderSplitRecord;
import com.jsowell.pile.domain.PileStationInfo;
import com.jsowell.pile.domain.SettleOrderReport;
import com.jsowell.pile.dto.GetClearingBillDTO;
@@ -674,8 +675,16 @@ public class SettleOrderReportServiceImpl implements SettleOrderReportService {
dto.setMerchantId(stationInfo.getMerchantId());
// 查询结算完成的订单
List<OrderListVO> orderListVOS = orderBasicInfoMapper.selectOrderBasicInfoList(dto);
// 收集订单编号
List<String> collect = orderListVOS.stream().map(OrderListVO::getOrderCode).collect(Collectors.toList());
log.info("站点:{}, 在{}-{}查询到订单数据{}条,订单编号:{}", stationInfo.getStationName(), startTime, endTime, orderListVOS.size(), collect);
// 根据入参拉出时间段内所有订单的分账记录
List<OrderSplitRecord> orderSplitRecords = orderSplitRecordService.queryOrderSplitRecordList(stationInfo.getMerchantId(), stationId, startTime, endTime);
log.info("查分账记录,站点:{}, 在{}-{}查询到分账数据{}条", stationInfo.getStationName(), startTime, endTime, orderSplitRecords.size());
// orderSplitRecords转为map, key为订单编号, value为分账记录
Map<String, OrderSplitRecord> splitRecordMap = orderSplitRecords.stream().collect(Collectors.toMap(OrderSplitRecord::getOrderCode, v -> v));
// 统计出日报信息
BigDecimal useElectricity = BigDecimal.ZERO; // 总电量使用量
int chargeNum = 0; // 总充电次数
@@ -731,12 +740,24 @@ public class SettleOrderReportServiceImpl implements SettleOrderReportService {
chargeTime += l;
}
// 电费金额
BigDecimal e = vo.getTotalElectricityAmount() != null ? vo.getTotalElectricityAmount() : BigDecimal.ZERO;
totalElectricityAmount = totalElectricityAmount.add(e);
// 电费金额 如果splitRecordMap中存在取Rrecord.getElectricitySplitAmount() 如果不存在取vo.getTotalElectricityAmount()
OrderSplitRecord record = splitRecordMap.get(vo.getOrderCode());
BigDecimal electricityAmount;
BigDecimal serviceAmount;
// BigDecimal e = vo.getTotalElectricityAmount() != null ? vo.getTotalElectricityAmount() : BigDecimal.ZERO;
if (record != null) {
electricityAmount = record.getElectricitySplitAmount() != null ? record.getElectricitySplitAmount() : BigDecimal.ZERO;
serviceAmount = record.getServiceSplitAmount() != null ? record.getServiceSplitAmount() : BigDecimal.ZERO;
log.info("record订单编号:{}, 订单金额:{}, 电费金额:{}, 服务费金额:{}", vo.getOrderCode(), orderAmount, electricityAmount, serviceAmount);
} else {
electricityAmount = vo.getTotalElectricityAmount() != null ? vo.getTotalElectricityAmount() : BigDecimal.ZERO;
serviceAmount = vo.getTotalServiceAmount() != null ? vo.getTotalServiceAmount() : BigDecimal.ZERO;
log.info("vo订单编号:{}, 订单金额:{}, 电费金额:{}, 服务费金额:{}", vo.getOrderCode(), orderAmount, electricityAmount, serviceAmount);
}
totalElectricityAmount = totalElectricityAmount.add(electricityAmount);
// 服务费金额
BigDecimal serviceAmount = vo.getTotalServiceAmount() != null ? vo.getTotalServiceAmount() : BigDecimal.ZERO;
// 服务费金额如果splitRecordMap中存在取Rrecord.getElectricitySplitAmount() 如果不存在取vo.getTotalElectricityAmount()
// BigDecimal serviceAmount = vo.getTotalServiceAmount() != null ? vo.getTotalServiceAmount() : BigDecimal.ZERO;
totalServiceAmount = totalServiceAmount.add(serviceAmount);
// 订单金额