From bc4aefe8d0a0ac6e5ef1f2e65709549c2415ed8f Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期五, 11 十月 2024 14:51:40 +0800
Subject: [PATCH] 10.11

---
 ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml               |    2 +
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/SixVipDto.java                           |    2 
 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/dto/GetSiteListDTO.java    |   21 ++++++++++
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java |   39 ++++++++++++++++++-
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java             |   12 +++---
 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml                   |   28 +++++++++-----
 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TVipOrderMapper.xml                        |    4 +-
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java     |   10 ++--
 8 files changed, 91 insertions(+), 27 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/dto/GetSiteListDTO.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/dto/GetSiteListDTO.java
index 5e1f33d..8c535c0 100644
--- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/dto/GetSiteListDTO.java
+++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/dto/GetSiteListDTO.java
@@ -4,6 +4,8 @@
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.math.BigDecimal;
+
 /**
  * @author zhibing.pu
  * @Date 2024/8/8 9:29
@@ -31,6 +33,10 @@
 	private String address;
 	@ApiModelProperty(value = "站点电话")
 	private String phone;
+	@ApiModelProperty(value = "lon")
+	private String lon;
+	@ApiModelProperty(value = "lat")
+	private String lat;
 	@ApiModelProperty(value = "服务电话")
 	private String servicePhone;
 	@ApiModelProperty(value = "车位数")
@@ -53,4 +59,19 @@
 	private boolean authUpdate = true;
 	@ApiModelProperty(value = "删除权限")
 	private boolean authDelete = true;
+	@ApiModelProperty("超1")
+	private Long c1;
+	@ApiModelProperty("超2")
+	private Long c2;
+	@ApiModelProperty("快1")
+	private Long k1;
+	@ApiModelProperty("快2")
+	private Long k2;
+	@ApiModelProperty("慢1")
+	private Long m1;
+	@ApiModelProperty("慢2")
+	private Long m2;
+
+	@ApiModelProperty("利用率")
+	private BigDecimal p1;
 }
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java
index 11e7230..cf9bb95 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java
@@ -16,7 +16,6 @@
 import com.ruoyi.common.core.dto.ChargingPercentProvinceDto;
 import com.ruoyi.chargingPile.service.*;
 import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.core.utils.GeodesyUtil;
 import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.core.web.domain.AjaxResult;
 import com.ruoyi.common.core.web.page.PageInfo;
@@ -178,9 +177,43 @@
 	@GetMapping("/map/getSiteList")
 	@ApiOperation(value = "获取站点", tags = {"管理后台-数据分析-电站分析"})
 	public R<List<GetSiteListDTO>> getMapSiteList(GetSiteList siteList){
+
 		siteList.setPageCurr(1);
-		siteList.setPageCurr(99999);
+		siteList.setPageSize(99999);
 		PageInfo<GetSiteListDTO> list = siteService.getSiteList(siteList);
+		for (GetSiteListDTO record : list.getRecords()) {
+			Long count = chargingGunService.lambdaQuery().eq(TChargingGun::getChargingPileId, record.getId()).eq(TChargingGun::getChargeMode, 1).eq(TChargingGun::getStatus, new int[]{3, 4, 5, 6}).count();
+			record.setC1(count);
+			Long count1 = chargingGunService.lambdaQuery().eq(TChargingGun::getChargingPileId, record.getId()).eq(TChargingGun::getChargeMode, 1).eq(TChargingGun::getStatus, 2).count();
+			record.setC2(count1);
+			Long count2 = chargingGunService.lambdaQuery().eq(TChargingGun::getChargingPileId, record.getId()).eq(TChargingGun::getChargeMode, 2).eq(TChargingGun::getStatus, new int[]{3, 4, 5, 6}).count();
+			record.setK1(count2);
+			Long count3 = chargingGunService.lambdaQuery().eq(TChargingGun::getChargingPileId, record.getId()).eq(TChargingGun::getChargeMode, 2).eq(TChargingGun::getStatus, 2).count();
+			record.setK2(count3);
+			Long count4 = chargingGunService.lambdaQuery().eq(TChargingGun::getChargingPileId, record.getId()).eq(TChargingGun::getChargeMode, 3).eq(TChargingGun::getStatus, new int[]{3, 4, 5, 6}).count();
+			record.setM1(count4);
+			Long count5 = chargingGunService.lambdaQuery().eq(TChargingGun::getChargingPileId, record.getId()).eq(TChargingGun::getChargeMode, 3).eq(TChargingGun::getStatus, 2).count();
+			record.setM2(count5);
+
+			//利用率
+			BigDecimal bigDecimal = new BigDecimal("0");
+			//获取该站点的总充电度数
+			List<TChargingOrder> chargingOrders = chargingOrderClient.getList(record.getId()).getData();
+			for (TChargingOrder chargingOrder : chargingOrders) {
+				bigDecimal = bigDecimal.add(chargingOrder.getChargingCapacity());
+			}
+			//获取该站点的所有充电桩
+			List<TChargingPile> chargingPiles = chargingPileService.lambdaQuery().eq(TChargingPile::getSiteId, record.getId()).list();
+			BigDecimal bigDecimal1 = new BigDecimal("0");
+			for (TChargingPile chargingPile : chargingPiles) {
+				bigDecimal1 = bigDecimal1.add(chargingPile.getRatedPower());
+			}
+			BigDecimal multiply = bigDecimal1.multiply(new BigDecimal("24"));
+
+			BigDecimal divide = bigDecimal.divide(multiply, 0, BigDecimal.ROUND_HALF_UP);
+			record.setP1(divide);
+
+		}
 		return R.ok(list.getRecords());
 	}
 
@@ -236,7 +269,7 @@
 		List<GetSiteListDTO> records = siteService.getSiteList(siteList).getRecords();
 		List<Integer> collect = records.stream().map(GetSiteListDTO::getId).collect(Collectors.toList());
 		// 通过时间段获取和充电桩id获取各个充电站的充电订单
-		List<ChargingOrderGroup> data = chargingOrderClient.getBySiteIdAndTime(chargingPercentProvinceDto).getData();
+			List<ChargingOrderGroup> data = chargingOrderClient.getBySiteIdAndTime(chargingPercentProvinceDto).getData();
 		// 计算利用率展示
 		for (ChargingOrderGroup datum : data) {
 			List<TChargingPile> chargingPiles = chargingPileService.lambdaQuery().eq(TChargingPile::getSiteId, datum.getSiteId()).list();
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml
index a683383..9f87768 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml
@@ -64,6 +64,8 @@
 		DATE_FORMAT(a.establishment_time, '%Y-%m-%d %H:%i:%s') as establishmentTime,
 		c.num as chargingPileNumber,
 		a.sort,
+		a.lon,
+		a.lat,
 		a.accounting_strategy_id as accountingStrategyId,
 		if(a.accounting_strategy_id is null, 1, if(d.site_id is null, 1, 2)) as accountingStrategyType
 		from t_site a
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
index db7f2da..2f2117c 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
@@ -726,16 +726,16 @@
 
             // 获取本月1号的日期
             YearMonth yearMonth = YearMonth.from(today);
-            start = yearMonth.atDay(1);
-
-            System.out.println("本月1号是: " + start);
+//            start = yearMonth.atDay(1);
+//
+//            System.out.println("本月1号是: " + start);
         }else if (statisticsQueryDto.getDayType()==4){
             LocalDate today = LocalDate.now();
             // 获取当前年份
             int currentYear = today.getYear();
             // 获取今年1月1日的日期
-            start = LocalDate.of(currentYear, 1, 1);
-            System.out.println("今年1月1日是: " + start);
+            start = statisticsQueryDto.getStartTime();
+            end = statisticsQueryDto.getEndTime();
         }else if (statisticsQueryDto.getDayType()==5){
 
             // 获取今年1月1日的日期
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/SixVipDto.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/SixVipDto.java
index 52df141..4cd1343 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/SixVipDto.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/SixVipDto.java
@@ -7,7 +7,7 @@
 @Data
 public class SixVipDto {
     private String month;
-    private String vipName;
+    private String name;
     private Integer vipId;
     private BigDecimal paymentAmount;
 }
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 71c3b12..e6a617c 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
@@ -69,20 +69,20 @@
 
     List<Map<String, Object>> getSumByType(@Param("chargingOrderIds")List<Long> chargingOrderIds);
 
-    List<Map<String, Object>> getDateData(List<Long> chargingOrderIds);
+    List<Map<String, Object>> getDateData(@Param("chargingOrderIds")List<Long> chargingOrderIds);
 
-	List<Map<String, Object>> getWeekData(List<Long> chargingOrderIds);
+	List<Map<String, Object>> getWeekData(@Param("chargingOrderIds")List<Long> chargingOrderIds);
 
-	List<Map<String, Object>> getMonthData(List<Long> chargingOrderIds);
+	List<Map<String, Object>> getMonthData(@Param("chargingOrderIds")List<Long> chargingOrderIds);
 
-	List<Map<String, Object>> getYearData(List<Long> chargingOrderIds);
+	List<Map<String, Object>> getYearData(@Param("chargingOrderIds")List<Long> chargingOrderIds);
 
 	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> chargingListNoPage( @Param("req")ChargingListQuery dto, @Param("startTime1")String startTime1, @Param("startTime2")String startTime2, @Param("endTime1")String endTime1, @Param("endTime2")String endTime2);
 
-	List<Map<String, Object>> getByDate(List<Long> chargingOrderIds);
+	List<Map<String, Object>> getByDate(@Param("chargingOrderIds")List<Long> chargingOrderIds);
 
-    List<Map<String, Object>> queryPower(List<Integer> siteIds);
+    List<Map<String, Object>> queryPower(@Param("siteIds")List<Integer> siteIds);
 
 	Map<String, Object> queryPowerLevel(@Param("siteIds") List<Integer> siteIds,@Param("statisticsQueryDto")  ChargingStatisticsQueryDto statisticsQueryDto);
 
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 abb234b..74ee227 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
@@ -292,20 +292,23 @@
 
     </select>
     <select id="chargingOrderGroup" resultType="com.ruoyi.common.core.dto.ChargingOrderGroup">
-        SELECT SUM(charging_capacity) ,site_id
-        FROM t_charging_order
-        GROUP BY site_id
+        SELECT SUM(tc.charging_capacity) as  charging_capacity,tc.site_id
+        FROM t_charging_order tc
+        left join `charging_pile_service`.`t_site` ts on tc.site_id = ts.id
         <where>
             <if test="chargingPercentProvinceDto.date1 != null">
-                AND create_time &gt;= #{chargingPercentProvinceDto.date1}
+                AND tc.create_time &gt;= #{chargingPercentProvinceDto.date1}
             </if>
             <if test="chargingPercentProvinceDto.date2 != null">
-                AND create_time &lt;= #{chargingPercentProvinceDto.date2}
+                AND tc.create_time &lt;= #{chargingPercentProvinceDto.date2}
             </if>
             <if test="chargingPercentProvinceDto.provinceCode != null">
-                AND province_code = #{chargingPercentProvinceDto.provinceCode}
+                AND ts.province_code = #{chargingPercentProvinceDto.provinceCode}
             </if>
+
         </where>
+        GROUP BY site_id
+
 
 
     </select>
@@ -363,7 +366,7 @@
 
     </select>
     <select id="countAll" resultType="java.util.Map">
-        select sum(electrovalence),sum(service_charge),sum(commission_amount),sum(sharing_amount)
+        select sum(electrovalence) as electrovalence,sum(service_charge) as service_charge,sum(commission_amount) as commission_amount,sum(sharing_amount) as sharing_amount
         from t_charging_order
         where create_time &gt;= #{sixBefore} and del_flag = 0 and recharge_payment_status = 2 and  ISNULL(refund_status)
     </select>
@@ -391,6 +394,7 @@
             DATE_FORMAT( create_time, '%Y-%m-%d %H' ) as time,
 	SUM(service_charge) as servicecharge,
 	SUM(electrovalence) as electrovalence,
+    SUM(payment_amount) AS paymentAmount,
     count(1) as orderCount
         FROM
             t_charging_order
@@ -414,6 +418,7 @@
         DATE_FORMAT( create_time, '%Y-%m-%d' ) as time,
         SUM(service_charge) as servicecharge,
         SUM(electrovalence) as electrovalence,
+        SUM(payment_amount) AS paymentAmount,
         count(1) as orderCount
         FROM
         t_charging_order
@@ -437,6 +442,7 @@
         DATE_FORMAT( create_time, '%Y-%m-%d' ) as time,
         SUM(service_charge) as servicecharge,
         SUM(electrovalence) as electrovalence,
+        SUM(payment_amount) AS paymentAmount,
         count(1) as orderCount
         FROM
         t_charging_order
@@ -460,11 +466,13 @@
         DATE_FORMAT( create_time, '%Y-%m-%d' ) as time,
         SUM(service_charge) as servicecharge,
         SUM(electrovalence) as electrovalence,
+        SUM(payment_amount) AS paymentAmount,
+
         count(1) as orderCount
         FROM
         t_charging_order
         <where>
-            del_flag = 0 and recharge_payment_status = 2 and  ISNULL(refund_status) and YEAR(createTime) = YEAR(NOW())
+            del_flag = 0 and recharge_payment_status = 2 and  ISNULL(refund_status) and YEAR(create_time) = YEAR(NOW())
             <if test="chargingOrderIds != null and chargingOrderIds.size() > 0">
                 AND id IN
                 <foreach collection="chargingOrderIds" item="chargingOrderId" open="(" separator="," close=")">
@@ -505,7 +513,7 @@
     <select id="queryPower" resultType="java.util.Map">
         SELECT
             'today' AS data_type,
-            DATE_FORMAT(create_time, '%Y-%m-%d %H') AS TIME,
+            DATE_FORMAT(create_time, '%H') AS TIME,
     SUM(power) AS power
         FROM
             t_charging_order
@@ -527,7 +535,7 @@
 
         SELECT
             'yesterday' AS data_type,
-            DATE_FORMAT(create_time, '%Y-%m-%d %H') AS TIME,
+            DATE_FORMAT(create_time, '%H') AS TIME,
     SUM(power) AS power
         FROM
             t_charging_order
diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TVipOrderMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TVipOrderMapper.xml
index 979c301..14aa79d 100644
--- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TVipOrderMapper.xml
+++ b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TVipOrderMapper.xml
@@ -63,7 +63,7 @@
         t_vip_order
         <where>
             del_flag = 0 AND
-            payment_status = 2 AND
+            payment_status = 2
             <if test="sixBefore != null">
                 AND create_time &gt; #{sixBefore}
             </if>
@@ -72,7 +72,7 @@
         LEFT JOIN `charging_pile_other`.`t_vip` tp on  subquery.vip_id = tp.id
         GROUP BY
         DATE_FORMAT(subquery.create_time, '%Y-%m'),
-        tp.`name`;
+        tp.`name`
 
 
     </select>

--
Gitblit v1.7.1