From 5ed829e38c34659c9fc9dc6eeb11d72aa19e2403 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期六, 31 八月 2024 12:03:44 +0800
Subject: [PATCH] 代码提交

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java   |  187 +++++++++++++++++++++++++-
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingOrderListVO.java               |   22 ++
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java            |    3 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/ChargingListQuery.java                    |   38 +++++
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java              |   10 
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingOrderTimeVO.java               |   34 ++++
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/FinancialSettlementController.java |    7 
 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml                    |   74 ++++++++++
 8 files changed, 354 insertions(+), 21 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingOrderListVO.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingOrderListVO.java
index c227b8e..286972a 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingOrderListVO.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingOrderListVO.java
@@ -14,6 +14,16 @@
 public class ChargingOrderListVO  {
     @ApiModelProperty(value = "电站名称")
     private String siteName;
+    @ApiModelProperty(value = "电站id")
+    private Integer siteId;
+    @ApiModelProperty(value = "充电桩id")
+    private Integer chargingPileId;
+    @ApiModelProperty(value = "用户id")
+    private Long appUserId;
+    @ApiModelProperty(value = "用户车辆id")
+    private Long appUserCarId;
+    @ApiModelProperty(value = "充电枪id")
+    private Integer chargingGunId;
     @ApiModelProperty(value = "订单编号")
     private String code;
     @ApiModelProperty(value = "订单类型(1=充电订单(小程序),2=充电订单(刷卡))")
@@ -23,7 +33,7 @@
     @ApiModelProperty(value = "充电时间 秒")
     private Long chargingSecond;
     @ApiModelProperty(value = "充电电流 度")
-    private String chargingCapacity;
+    private BigDecimal chargingCapacity;
     @ApiModelProperty(value = "车牌号")
     private String licensePlate;
     @ApiModelProperty(value = "客户手机号")
@@ -35,11 +45,11 @@
     @ApiModelProperty(value = "累计服务费")
     private BigDecimal serviceCharge;
     @ApiModelProperty(value = "平台手续费")
-    private BigDecimal platFormMoney;
+    private BigDecimal commissionAmount;
     @ApiModelProperty(value = "引流平台")
-    private String platform;
+    private String sourceName;
     @ApiModelProperty(value = "平台分佣")
-    private BigDecimal platformCommission;
+    private BigDecimal sharingAmount;
     @ApiModelProperty(value = "开始时间")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime startTime;
@@ -54,4 +64,8 @@
     private Integer endMode;
     @ApiModelProperty(value = "电流占比")
     private String electronicProportion;
+    @ApiModelProperty(value = "订单id")
+    private Long id;
+    @ApiModelProperty(value = "订单uid")
+    private String uid;
 }
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingOrderTimeVO.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingOrderTimeVO.java
new file mode 100644
index 0000000..eef3f64
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingOrderTimeVO.java
@@ -0,0 +1,34 @@
+package com.ruoyi.order.api.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.core.web.page.PageInfo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.List;
+
+@Data
+@ApiModel(value = "ChargingOrderTimeVO对象",description = "充电时段统计VO")
+public class ChargingOrderTimeVO {
+    @ApiModelProperty(value = "订单数量")
+    private Integer orderCount;
+    @ApiModelProperty(value = "充电总度数")
+    private BigDecimal chargingCapacity;
+    @ApiModelProperty(value = "充电到账金额")
+    private BigDecimal paymentAmount;
+    @ApiModelProperty(value = "累计电费")
+    private BigDecimal electrovalence;
+    @ApiModelProperty(value = "累计服务费")
+    private BigDecimal serviceCharge;
+    @ApiModelProperty(value = "尖峰平谷充电量")
+    private String capacityProportion;
+    @ApiModelProperty(value = "尖峰平谷服务费")
+    private String serviceProportion;
+    @ApiModelProperty(value = "尖峰平谷充电到账")
+    private String electronicProportion;
+    @ApiModelProperty(value = "列表数据")
+    private PageInfo<ChargingOrderListVO> list;
+}
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/FinancialSettlementController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/FinancialSettlementController.java
index 0645e17..eba02aa 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/FinancialSettlementController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/FinancialSettlementController.java
@@ -14,6 +14,8 @@
 import com.ruoyi.common.security.service.TokenService;
 import com.ruoyi.order.api.model.TVipOrder;
 import com.ruoyi.order.api.query.VipShoppingOrderQuery;
+import com.ruoyi.order.api.vo.ChargingOrderTimeVO;
+import com.ruoyi.order.dto.ChargingListQuery;
 import com.ruoyi.order.dto.PayOrderDto;
 import com.ruoyi.order.dto.PayOrderQueryDto;
 import com.ruoyi.order.service.*;
@@ -87,8 +89,9 @@
     @ResponseBody
     @PostMapping(value = "/chargingList")
     @ApiOperation(value = "充电时段统计列表", tags = {"管理后台-财务结算"})
-    public R<PageInfo<PayOrderDto>> payOrderList(@RequestBody PayOrderQueryDto payOrderQueryDto) {
-        return chargingOrderService.payOrderQuery(payOrderQueryDto);
+    public AjaxResult<ChargingOrderTimeVO> chargingList(@RequestBody ChargingListQuery dto) {
+        ChargingOrderTimeVO res = chargingOrderService.chargingList(dto);
+        return AjaxResult.success(res);
     }
 }
 
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/ChargingListQuery.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/ChargingListQuery.java
new file mode 100644
index 0000000..e9187bb
--- /dev/null
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/ChargingListQuery.java
@@ -0,0 +1,38 @@
+package com.ruoyi.order.dto;
+
+import com.ruoyi.common.core.web.page.BasePage;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+@Data
+public class ChargingListQuery extends BasePage {
+    @ApiModelProperty("订单编号")
+    private String code;
+
+    @ApiModelProperty("电站id")
+    private Integer siteId;
+    @ApiModelProperty("状态(0=未知,1=等待中,2=启动中,3=充电中,4=停止中,5=已结束)")
+    private Integer status;
+
+    @ApiModelProperty("手机号")
+    private String phone;
+    @ApiModelProperty("车牌号")
+    private String licensePlate;
+
+    @ApiModelProperty("订单类型(1=充电订单(小程序),2=充电订单(刷卡))")
+    private Integer orderType;
+
+    @ApiModelProperty("开始时间 2020-01-01 12:00:00 - 2020-01-01 23:00:00")
+    private String startTime;
+
+    @ApiModelProperty("结束时间 2020-01-01 12:00:00 - 2020-01-01 23:00:00")
+    private String endTime;
+    @ApiModelProperty("用户ids 前端忽略")
+    private List<Long> userIds;
+    @ApiModelProperty("车辆ids 前端忽略")
+    private List<Long> carIds;
+
+}
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java
index d001f09..13d6c92 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java
@@ -5,11 +5,9 @@
 import com.ruoyi.order.api.model.TChargingOrder;
 import com.ruoyi.order.api.model.TChargingOrderRefund;
 import com.ruoyi.order.api.query.ChargingOrderQuery;
+import com.ruoyi.order.api.vo.ChargingOrderListVO;
 import com.ruoyi.order.api.vo.ChargingOrderVO;
-import com.ruoyi.order.dto.ChargingRefundDto;
-import com.ruoyi.order.dto.GetNoInvoicedOrder;
-import com.ruoyi.order.dto.PayOrderDto;
-import com.ruoyi.order.dto.PayOrderQueryDto;
+import com.ruoyi.order.dto.*;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -55,4 +53,8 @@
     List<PayOrderDto> payOrderQuery(@Param("pageInfo")PageInfo<PayOrderDto> pageInfo,@Param("data") PayOrderQueryDto payOrderQueryDto);
 
 	List<TChargingOrderRefund> getRefundList(@Param("pageInfo")PageInfo<TChargingOrderRefund> pageInfo,@Param("data")  ChargingRefundDto chargingRefundDto);
+
+	List<ChargingOrderListVO> chargingList(@Param("pageInfo")PageInfo<ChargingOrderListVO> pageInfo, @Param("req")ChargingListQuery dto, @Param("startTime1")String startTime1, @Param("startTime2")String startTime2, @Param("endTime1")String endTime1, @Param("endTime2")String endTime2);
+	List<ChargingOrderListVO> chargingList1( @Param("req")ChargingListQuery dto, @Param("startTime1")String startTime1, @Param("startTime2")String startTime2, @Param("endTime1")String endTime1, @Param("endTime2")String endTime2);
+
 }
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java
index abf4b75..8608071 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java
@@ -8,6 +8,7 @@
 import com.ruoyi.order.api.model.TChargingOrder;
 import com.ruoyi.order.api.model.TChargingOrderRefund;
 import com.ruoyi.order.api.query.ChargingOrderQuery;
+import com.ruoyi.order.api.vo.ChargingOrderTimeVO;
 import com.ruoyi.order.api.vo.ChargingOrderVO;
 import com.ruoyi.order.api.vo.TCharingOrderVO;
 import com.ruoyi.order.dto.*;
@@ -90,4 +91,6 @@
 	R<PageInfo<PayOrderDto>> payOrderQuery(PayOrderQueryDto payOrderQueryDto);
 
     R<PageInfo<TChargingOrderRefund>> getRefundList(ChargingRefundDto chargingRefundDto);
+
+    ChargingOrderTimeVO chargingList(ChargingListQuery dto);
 }
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 5fda815..f61894c 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
@@ -33,6 +33,8 @@
 import com.ruoyi.order.api.model.TChargingOrderRefund;
 import com.ruoyi.order.api.model.TOrderEvaluate;
 import com.ruoyi.order.api.query.ChargingOrderQuery;
+import com.ruoyi.order.api.vo.ChargingOrderListVO;
+import com.ruoyi.order.api.vo.ChargingOrderTimeVO;
 import com.ruoyi.order.api.vo.ChargingOrderVO;
 import com.ruoyi.order.api.vo.TCharingOrderVO;
 import com.ruoyi.order.dto.*;
@@ -80,6 +82,10 @@
 	private AppUserCarClient appUserCarClient;
 	@Resource
 	private AppUserClient appUserClient;
+
+	@Resource
+	private ChargingPileClient chargingPileClient;
+
 	
 	@Resource
 	private TChargingOrderAccountingStrategyService chargingOrderAccountingStrategyService;
@@ -92,9 +98,6 @@
 	
 	@Resource
 	private AliPaymentClient aliPaymentClient;
-	
-	@Resource
-	private ChargingPileClient chargingPileClient;
 	
 
 	@Resource
@@ -569,6 +572,12 @@
 		 BigDecimal electronicMoney = new BigDecimal("0");
 		 BigDecimal serviceMoney = new BigDecimal("0");
 		for (ChargingOrderVO chargingOrderVO : list) {
+			TChargingGun data3 = chargingGunClient.getChargingGunById(chargingOrderVO.getChargingGunId()).getData();
+			TChargingPile data2 = chargingPileClient.getChargingPileById(chargingOrderVO.getChargingPileId()).getData();
+			if (data2!=null && data3!=null){
+				chargingOrderVO.setTerminalName(data2.getName()+"-"+data3.getName());
+
+			}
 			if (chargingOrderVO.getChargingCapacity()!=null){
 				total = total.add(chargingOrderVO.getChargingCapacity());
 			}
@@ -579,14 +588,8 @@
 			BigDecimal electronicMoney1 = new BigDecimal("0");
 			// 单个订单累计服务费
 			BigDecimal serviceMoney1 = new BigDecimal("0");
-			LocalDateTime startTime = chargingOrderVO.getStartTime();
-			LocalDateTime endTime = chargingOrderVO.getEndTime();
-			// 计算时间差 秒 充电时长
-			if (startTime!=null && endTime!=null){
-				long between = ChronoUnit.SECONDS.between(startTime, endTime);
-				chargingOrderVO.setChargingSecond(between);
-				time += between;
-			}
+			// todo 调用第三方获取充电时长 秒
+
 			// 总收入
 			if (chargingOrderVO.getRefundStatus() !=null && chargingOrderVO.getRefundStatus() == 2){
 				income = income.add(chargingOrderVO.getPaymentAmount().subtract(chargingOrderVO.getRefundAmount()));
@@ -651,4 +654,166 @@
 
 		return R.ok(pageInfo);
 	}
+
+	@Override
+	public ChargingOrderTimeVO chargingList(ChargingListQuery dto) {
+		String startTime1 = null;
+		String startTime2 = null;
+		String endTime1 = null;
+		String endTime2 = null;
+
+		if (StringUtils.hasLength(dto.getStartTime())){
+			String[] split = dto.getStartTime().split(" - ");
+			startTime1 = split[0];
+			startTime2 = split[1];
+		}
+		if (StringUtils.hasLength(dto.getEndTime())){
+			String[] split = dto.getEndTime().split(" - ");
+			endTime1 = split[0];
+			endTime2 = split[1];
+		}
+		ChargingOrderTimeVO chargingOrderTimeVO = new ChargingOrderTimeVO();
+
+
+		PageInfo<ChargingOrderListVO> pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize());
+		List<ChargingOrderListVO> list = this.baseMapper.chargingList(pageInfo,dto,startTime1,startTime2,endTime1,endTime2);
+		for (ChargingOrderListVO chargingOrderListVO : list) {
+			List<Integer> integers = new ArrayList<>();
+			integers.add(chargingOrderListVO.getSiteId());
+			List<Site> data = siteClient.getSiteByIds(integers).getData();
+			if (!data.isEmpty()) {
+				chargingOrderListVO.setSiteName(data.get(0).getName());
+			}
+			TChargingGun data1 = chargingGunClient.getChargingGunById(chargingOrderListVO.getChargingGunId()).getData();
+			TChargingPile data2 = chargingPileClient.getChargingPileById(chargingOrderListVO.getChargingPileId()).getData();
+			if (data2 != null && data1 != null) {
+				chargingOrderListVO.setTerminalName(data2.getName() + "-" + data1.getName());
+			}
+			// todo 充电时长 调用第三方获取
+			TAppUser data3 = appUserClient.getUserById(chargingOrderListVO.getAppUserId()).getData();
+			List<Long> carId = new ArrayList<>();
+			if (chargingOrderListVO.getAppUserCarId() != null) {
+				carId.add(chargingOrderListVO.getAppUserCarId());
+				List<TAppUserCar> data4 = appUserCarClient.getCarByIds(carId).getData();
+				if (!data4.isEmpty()) chargingOrderListVO.setLicensePlate(data4.get(0).getLicensePlate());
+			}
+			if (data3 != null) chargingOrderListVO.setPhone(data3.getPhone());
+			List<TChargingOrderAccountingStrategy> list2 = chargingOrderAccountingStrategyService.lambdaQuery()
+					.eq(TChargingOrderAccountingStrategy::getChargingOrderId, chargingOrderListVO.getId()).list();
+			// 尖峰平谷充电量 度数
+			BigDecimal jian = new BigDecimal("0");
+			BigDecimal feng = new BigDecimal("0");
+			BigDecimal ping = new BigDecimal("0");
+			BigDecimal gu = new BigDecimal("0");
+			BigDecimal total = new BigDecimal("0");
+			for (TChargingOrderAccountingStrategy temp : list2) {
+				switch (temp.getType()) {
+					case 1:
+						jian = jian.add(temp.getChargingCapacity());
+						break;
+					case 2:
+						feng = feng.add(temp.getChargingCapacity());
+						break;
+					case 3:
+						ping = ping.add(temp.getChargingCapacity());
+						break;
+					case 4:
+						gu = gu.add(temp.getChargingCapacity());
+						break;
+				}
+			}
+			total = total.add(jian).add(feng).add(ping).add(gu);
+			chargingOrderListVO.setElectronicProportion(
+					jian.divide(total,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))+"%(尖)/"
+					+feng.divide(total,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))+"%(峰)/"
+					+ping.divide(total,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))+"%(平)/"
+					+gu.divide(total,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))+"%(谷)");
+		}
+		// 不分页
+		List<ChargingOrderListVO> list1 = this.baseMapper.chargingList1(dto,startTime1,startTime2,endTime1,endTime2);
+		chargingOrderTimeVO.setOrderCount(list1.size());
+		// 计算充电总度数
+		BigDecimal electronic = new BigDecimal("0");
+		// 支付金额
+		BigDecimal paymentAmount = new BigDecimal("0");
+		// 电费
+		BigDecimal electrovalence = new BigDecimal("0");
+		// 服务费
+		BigDecimal serviceCharge = new BigDecimal("0");
+		// 尖峰平谷充电到账
+		BigDecimal jianElectronic = new BigDecimal("0");
+		BigDecimal fengElectronic = new BigDecimal("0");
+		BigDecimal pingElectronic = new BigDecimal("0");
+		BigDecimal guElectronic   = new BigDecimal("0");
+		// 尖峰平谷服务费
+		BigDecimal jianService = new BigDecimal("0");
+		BigDecimal fengService = new BigDecimal("0");
+		BigDecimal pingService = new BigDecimal("0");
+		BigDecimal guService = new BigDecimal("0");
+		// 尖峰平谷充电量 度数
+		BigDecimal jian = new BigDecimal("0");
+		BigDecimal feng = new BigDecimal("0");
+		BigDecimal ping = new BigDecimal("0");
+		BigDecimal gu = new BigDecimal("0");
+		for (ChargingOrderListVO chargingOrderListVO : list1) {
+			electronic = electronic.add(chargingOrderListVO.getChargingCapacity());
+			paymentAmount = paymentAmount.add(chargingOrderListVO.getPaymentAmount());
+			electrovalence = electrovalence.add(chargingOrderListVO.getElectrovalence());
+			serviceCharge = serviceCharge.add(chargingOrderListVO.getServiceCharge());
+			List<TChargingOrderAccountingStrategy> list2 = chargingOrderAccountingStrategyService.lambdaQuery()
+					.eq(TChargingOrderAccountingStrategy::getChargingOrderId, chargingOrderListVO.getId()).list();
+			for (TChargingOrderAccountingStrategy temp : list2) {
+				switch (temp.getType()){
+					case 1:
+						jian = jian.add(temp.getChargingCapacity());
+						jianElectronic = jianElectronic.add(temp.getChargingCapacity());
+						jianService = jianService.add(temp.getChargingCapacity());
+						break;
+					case 2:
+						feng = feng.add(temp.getChargingCapacity());
+						fengElectronic = fengElectronic.add(temp.getChargingCapacity());
+						fengService = fengService.add(temp.getChargingCapacity());
+						break;
+					case 3:
+						ping = ping.add(temp.getChargingCapacity());
+						pingElectronic = pingElectronic.add(temp.getChargingCapacity());
+						pingService = pingService.add(temp.getChargingCapacity());
+						break;
+					case 4:
+						gu = gu.add(temp.getChargingCapacity());
+						guElectronic = guElectronic.add(temp.getChargingCapacity());
+						guService = guService.add(temp.getChargingCapacity());
+						break;
+				}
+			}
+		}
+
+		chargingOrderTimeVO.setChargingCapacity(electronic);
+		chargingOrderTimeVO.setPaymentAmount(paymentAmount);
+		chargingOrderTimeVO.setElectrovalence(electrovalence);
+		chargingOrderTimeVO.setServiceCharge(serviceCharge);
+		// 计算尖峰平谷充电量占比
+		BigDecimal add = jianElectronic.add(fengElectronic).add(pingElectronic).add(guElectronic);
+		// 计算尖峰平谷服务费占比
+		BigDecimal add1 = jianService.add(fengService).add(pingService).add(guService);
+		// 计算尖峰平谷充电到账占比
+		BigDecimal add2 = jian.add(feng).add(ping).add(gu);
+		chargingOrderTimeVO.setCapacityProportion(jianElectronic+"度/"+fengElectronic+"度/"+pingElectronic+"度/"+guElectronic+"度-"
+				+jianElectronic.divide(add,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))+"%/"
+				+fengElectronic.divide(add,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))+"%/"
+				+pingElectronic.divide(add,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))+"%/"
+				+guElectronic.divide(add,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))+"%");
+		chargingOrderTimeVO.setServiceProportion(jianService+"元/"+fengService+"元/"+pingService+"元/"+guService+"元-"
+				+jianService.divide(add1,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))+"%/"
+				+fengService.divide(add1,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))+"%/"
+				+pingService.divide(add1,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))+"%/"
+				+guService.divide(add1,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))+"%");
+		chargingOrderTimeVO.setElectronicProportion(jian+"元/"+feng+"元/"+ping+"元/"+gu+"元-"
+				+jian.divide(add2,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))+"%/"
+				+feng.divide(add2,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))+"%/"
+				+ping.divide(add2,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))+"%/"
+				+gu.divide(add2,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))+"%");
+		chargingOrderTimeVO.setList(pageInfo);
+		return chargingOrderTimeVO;
+	}
 }
diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml
index ab35e85..916ea2b 100644
--- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml
+++ b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml
@@ -233,4 +233,78 @@
 
 
     </select>
+    <select id="chargingList" resultType="com.ruoyi.order.api.vo.ChargingOrderListVO">
+        select t1.* from t_charging_order t1
+        where 1=1
+        <if test="null != req.code and req.code!=''">
+            and t1.code  LIKE CONCAT('%',#{req.code},'%')
+        </if>
+        <if test="null != req.carIds and req.carIds.size()>0" >
+            and t1.app_user_car_id in
+            <foreach collection="req.carIds" item="item" index="index" separator="," open="(" close=")">
+                #{item}
+            </foreach>
+        </if>
+        <if test="null != req.userIds and req.userIds.size()>0" >
+            and t1.app_user_id in
+            <foreach collection="req.userIds" item="item" index="index" separator="," open="(" close=")">
+                #{item}
+            </foreach>
+        </if>
+        <if test="req.orderType != null ">
+            and t1.order_type = #{req.orderType}
+        </if>
+        <if test="req.status != null ">
+            and t1.status = #{status}
+        </if>
+        <if test="req.status != null ">
+            and t1.status = #{req.status}
+        </if>
+        <if test="req.siteId != null ">
+            and t1.site_id = #{req.siteId}
+        </if>
+        <if test="startTime1 != null and startTime1!=''">
+            and (t1.start_time between #{startTime1} and #{startTime2})
+        </if>
+        <if test="endTime1 != null and endTime1!=''">
+            and (t1.end_time between #{endTime1} and #{endTime2})
+        </if>
+    </select>
+    <select id="chargingList1" resultType="com.ruoyi.order.api.vo.ChargingOrderListVO">
+        select t1.* from t_charging_order t1
+        where 1=1
+        <if test="null != req.code and req.code!=''">
+            and t1.code  LIKE CONCAT('%',#{req.code},'%')
+        </if>
+        <if test="null != req.carIds and req.carIds.size()>0" >
+            and t1.app_user_car_id in
+            <foreach collection="req.carIds" item="item" index="index" separator="," open="(" close=")">
+                #{item}
+            </foreach>
+        </if>
+        <if test="null != req.userIds and req.userIds.size()>0" >
+            and t1.app_user_id in
+            <foreach collection="req.userIds" item="item" index="index" separator="," open="(" close=")">
+                #{item}
+            </foreach>
+        </if>
+        <if test="req.orderType != null ">
+            and t1.order_type = #{req.orderType}
+        </if>
+        <if test="req.status != null ">
+            and t1.status = #{status}
+        </if>
+        <if test="req.status != null ">
+            and t1.status = #{req.status}
+        </if>
+        <if test="req.siteId != null ">
+            and t1.site_id = #{req.siteId}
+        </if>
+        <if test="startTime1 != null and startTime1!=''">
+            and (t1.start_time between #{startTime1} and #{startTime2})
+        </if>
+        <if test="endTime1 != null and endTime1!=''">
+            and (t1.end_time between #{endTime1} and #{endTime2})
+        </if>
+    </select>
 </mapper>

--
Gitblit v1.7.1