From cf5b8614d10dab3df6280e3b4e676d59b35ce0cf Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期六, 02 十一月 2024 16:18:58 +0800
Subject: [PATCH] bug修改

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java |   46 +++++++++++++++++++++++++++++++---------------
 1 files changed, 31 insertions(+), 15 deletions(-)

diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
index 7a966e0..ef036b5 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -289,6 +289,7 @@
 			for (UploadRealTimeMonitoringData uploadRealTimeMonitoringData : dataList) {
 				if(!sdf.format(uploadRealTimeMonitoringData.getCreate_time()).equals(t)){
 					dataLists.add(uploadRealTimeMonitoringData);
+					t = sdf.format(uploadRealTimeMonitoringData.getCreate_time());
 				}
 			}
 			
@@ -1298,9 +1299,9 @@
 				payOrderDto.setFinalAmount(payOrderDto.getOrderAmount());
 			}
 			if (payOrderDto.getType()==1&&payOrderDto.getStatus()==3){
-				payOrderDto.setFinalAmount(payOrderDto.getRechargeAmount());
-				payOrderDto.setOrderAmount(payOrderDto.getRechargeAmount());
-				payOrderDto.setPaymentAmount(payOrderDto.getRechargeAmount());
+				payOrderDto.setFinalAmount(payOrderDto.getOrderAmount());
+				payOrderDto.setOrderAmount(payOrderDto.getOrderAmount());
+				payOrderDto.setPaymentAmount(payOrderDto.getOrderAmount());
 			}
 		}
 		pageInfo.setRecords(list);
@@ -1412,7 +1413,7 @@
 			chargingOrderListVO.setChargingCapacity(chargingOrderListVO.getElectricity());
 			BigDecimal bigDecimal = new BigDecimal("0.006");
 			if (chargingOrderListVO.getOrderAmount()!=null){
-				chargingOrderListVO.setCommissionAmount(chargingOrderListVO.getOrderAmount().multiply(bigDecimal));
+				chargingOrderListVO.setCommissionAmount(chargingOrderListVO.getPaymentAmount().multiply(bigDecimal));
 			}
 			chargingOrderListVO.setPaymentAmount(chargingOrderListVO.getPaymentAmount());
 			chargingOrderListVO.setUid(chargingOrderListVO.getId()+"");
@@ -1440,10 +1441,20 @@
 			// 获取开始SOC 结束soc
 			if (chargingOrderListVO.getCode()!=null){
 				List<UploadRealTimeMonitoringData> data6 = uploadRealTimeMonitoringDataClient.getDataByOrderCode(chargingOrderListVO.getCode()).getData();
+
 			if (data6!=null && !data6.isEmpty()){
-					// 第一条数据soc为开始 最后一条数据soc为结束soc
-					chargingOrderListVO.setEndSoc(data6.get(0).getSoc().toString());
-					chargingOrderListVO.setStartSoc(data6.get(data6.size()-1).getSoc().toString());
+				int min = 100;
+				int max = 0;
+				for (UploadRealTimeMonitoringData uploadRealTimeMonitoringData : data6) {
+					if (uploadRealTimeMonitoringData.getSoc()>max){
+						max = uploadRealTimeMonitoringData.getSoc();
+					}
+					if (uploadRealTimeMonitoringData.getSoc()!=0 &&uploadRealTimeMonitoringData.getSoc()<min){
+						min = uploadRealTimeMonitoringData.getSoc();
+					}
+				}
+					chargingOrderListVO.setEndSoc(max+"");
+					chargingOrderListVO.setStartSoc(min+"");
 				}
 			}
 
@@ -1806,7 +1817,7 @@
 		
 		//获取订单的计费策略
 		List<AccountingStrategyDetailOrder> accountingStrategyDetailOrderList = accountingStrategyDetailOrderClient.getAllAccountingStrategyDetailOrder(chargingOrder.getId()).getData();
-		
+		accountingStrategyDetailOrderList.get(accountingStrategyDetailOrderList.size() - 1).setEndTime("23:59");
 		//开始处理计费明细数据和优惠数据
 		chargingOrderAccountingStrategyService.remove(new LambdaQueryWrapper<TChargingOrderAccountingStrategy>().eq(TChargingOrderAccountingStrategy::getChargingOrderId, chargingOrder.getId()));
 		SimpleDateFormat sdfs = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -2083,7 +2094,7 @@
 		if(null != integralRule){
 			TAppUser appUser = appUserClient.getUserById(chargingOrder.getAppUserId()).getData();
 			Integer num1 = JSON.parseObject(integralRule.getChargeCredit()).getInteger("num1");
-			Integer integral = payAmount.multiply(new BigDecimal(num1)).intValue();
+			Integer integral = chargingOrder.getServiceCharge().intValue() * num1;
 			if(null != appUser.getVipId()){
 				TVip vip = vipClient.getInfo1(appUser.getVipId()).getData();
 				Integer doubleIntegration = vip.getDoubleIntegration();
@@ -2576,6 +2587,7 @@
 			}
 
 		}
+
 		// 三方交易手续费 三方收费*0.6%
 		commissionAmount = sharingAmount.multiply(new BigDecimal("0.006"));
 		// 订单手续费 订单支付金额 - 退款金额*0.6%
@@ -2595,6 +2607,8 @@
 		tSettlementConfirm.setType(dto.getType());
 
 		if (dto.getState() == 2){
+			tSettlementConfirm.setServiceMoney(dto.getServiceCharge().subtract(dto.getVenue()).subtract(dto.getClean())
+					.subtract(dto.getMaintain()).multiply(dto.getServicePartner()));
 			tSettlementConfirm.setSupplyElectronic(dto.getSupplyElectronic());
 			tSettlementConfirm.setVenue(dto.getVenue());
 			tSettlementConfirm.setMetering(dto.getMetering());
@@ -2609,24 +2623,26 @@
 			tSettlementConfirm.setTotalService(dto.getTotalService());
 			tSettlementConfirm.setRemark(dto.getRemark());
 			tSettlementConfirm.setServicePartner(dto.getServicePartner());
-			tSettlementConfirm.setServiceMoney(dto.getServiceMoney());
-			BigDecimal subtract = new BigDecimal("1").subtract(dto.getProportionPartner().multiply(new BigDecimal("0.01")));
+			BigDecimal subtract = new BigDecimal("1").subtract(dto.getProportionPartner());
+			BigDecimal subtract9 = new BigDecimal("1").subtract(dto.getServicePartner());
 			// 总电损费用
 			BigDecimal divide = tSettlementConfirm.getProportionMoney().divide(subtract, 2, RoundingMode.HALF_DOWN);
 			// 平台承担电损
 			BigDecimal subtract1 = divide.subtract(tSettlementConfirm.getProportionMoney());
 			BigDecimal multiply = dto.getServiceMoney().multiply(subtract);
 			BigDecimal subtract2 = multiply.subtract(subtract1);
-			tSettlementConfirm.setNewMoney(subtract2);
+			tSettlementConfirm.setNewMoney(dto.getServiceCharge().subtract(dto.getVenue()).subtract(dto.getClean())
+					.subtract(dto.getMaintain()).multiply(subtract9).subtract(subtract1));
 
 			tSettlementConfirm.setTotalService(dto.getTotalService());
 			tSettlementConfirm.setServiceRemark(dto.getServiceRemark());
 			tSettlementConfirm.setDistribution(dto.getDistribution());
 			tSettlementConfirm.setIncome(dto.getElectrovalence().add(dto.getServiceCharge()));
 			tSettlementConfirm.setCost(dto.getVenue().add(dto.getClean()).add(dto.getMaintain()).add(dto.getSupplyElectronic()));
-			tSettlementConfirm.setProfitMoney(chargingElectronic.add(serviceCharge).subtract(tSettlementConfirm.getCost()));
-			tSettlementConfirm.setNewSettlement(subtract2.subtract(tSettlementConfirm.getCost()));
-
+			tSettlementConfirm.setProfitMoney(tSettlementConfirm.getIncome().subtract(tSettlementConfirm.getCost()));
+			tSettlementConfirm.setNewSettlement(tSettlementConfirm.getProfitMoney().add(tSettlementConfirm.getCost()));
+			tSettlementConfirm.setServiceMoney(dto.getServiceCharge().subtract(dto.getVenue()).subtract(dto.getClean())
+					.subtract(dto.getMaintain()).multiply(dto.getServicePartner()));
 			tSettlementConfirmMapper.insert(tSettlementConfirm);
 		}
 		return tSettlementConfirm;

--
Gitblit v1.7.1