夏文涛 vor 2 Jahren
Ursprung
Commit
20e9006b2a

+ 1 - 0
src/main/java/com/template/controller/WechatScanLoginController.java

@@ -26,6 +26,7 @@ import com.template.model.pojo.*;
 import com.template.model.result.CommonResult;
 import com.template.model.result.PageUtils;
 import com.template.model.tongji.*;
+import com.template.model.tongji.MonthMeterDetail;
 import com.template.model.vo.AffiliateParentVo;
 import com.template.model.vo.LoginVO;
 import com.template.model.vo.WechatUserVo;

+ 3 - 0
src/main/java/com/template/mapper/WechatScanLoginMapper.java

@@ -1,6 +1,7 @@
 package com.template.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.template.model.pojo.MonthMeterDetail;
 import com.template.model.pojo.SmartUser;
 import com.template.model.tongji.*;
 import org.apache.ibatis.annotations.Param;
@@ -57,6 +58,8 @@ public interface WechatScanLoginMapper extends BaseMapper<SmartUser> {
     // 区域能耗统计
     public List<MeterMonthData> getMeterMonthPage(@Param("meterMonthData")MeterMonthData meterMonthData);
 
+    List<MonthMeterDetail> getMeterMonthPageDatas(@Param("meterMonthData")MeterMonthData meterMonthData);
+
     // 实时抄表
     public List<MeterMonthDataVo> getMeterDayPage(@Param("meterMonthData")MeterMonthData meterMonthData);
 

+ 44 - 0
src/main/java/com/template/model/pojo/MonthMeterDetail.java

@@ -0,0 +1,44 @@
+package com.template.model.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author ceshi
+ * @since 2023-12-04
+ */
+@Data
+public class MonthMeterDetail implements Serializable {
+
+
+    @ApiModelProperty(value = "主键ID")
+    private Integer id;
+
+    @ApiModelProperty(value = "用户ID")
+    private String name;
+
+    @ApiModelProperty(value = "权限组ID")
+    private Integer type;
+
+    @ApiModelProperty(value = "查看部门权限ID 多个部门用逗号隔开")
+    private String date;
+
+    @ApiModelProperty(value = "管理部门权限ID 多个部门用逗号隔开")
+    private Double num;
+
+    private String meterName;
+
+
+}

+ 2 - 0
src/main/java/com/template/services/WechatScanLoginService.java

@@ -65,4 +65,6 @@ public interface WechatScanLoginService {
 
 	// 实时抄表
 	public PageInfo<MeterMonthDataVo> getMeterDayPage(@Param("meterMonthData")MeterMonthData meterMonthData);
+
+	PageInfo<com.template.model.pojo.MonthMeterDetail> getMeterMonthPageDatas(@Param("meterMonthData")MeterMonthData meterMonthData);
 }

+ 7 - 0
src/main/java/com/template/services/impl/WechatScanLoginServiceImpl.java

@@ -319,4 +319,11 @@ public class WechatScanLoginServiceImpl implements WechatScanLoginService {
 		PageInfo<MeterMonthDataVo> meterPageInfo = new PageInfo<>(list);
 		return meterPageInfo;
 	}
+
+	@Override
+	public PageInfo<com.template.model.pojo.MonthMeterDetail> getMeterMonthPageDatas(MeterMonthData meterMonthData) {
+		List<com.template.model.pojo.MonthMeterDetail> list = wechatScanLoginMapper.getMeterMonthPageDatas(meterMonthData);
+		PageInfo<com.template.model.pojo.MonthMeterDetail> meterPageInfo = new PageInfo<>(list);
+		return meterPageInfo;
+	}
 }

+ 47 - 9
src/main/resources/mapper/template/WechatScanLoginMapper.xml

@@ -211,23 +211,61 @@
 
     <!--区域能耗统计-->
     <select id="getMeterMonthPage" resultMap="meterMonthData">
-        select * from (select a.id,a.`name`,a.`date`,a.`num` w_num,b.num as e_num
-           from `month_meter_detail` a,`month_meter_detail` b
-           where a.`type`=0 and b.`type`=1 and a.name=b.`name`
-             and a.`date`=b.`date` ) a
+        <!--        select * from (select a.id,a.`name`,a.`date`,a.`num` w_num,b.num as e_num-->
+        <!--           from `month_meter_detail` a,`month_meter_detail` b-->
+        <!--           where a.`type`=0 and b.`type`=1 and a.name=b.`name`-->
+        <!--             and a.`date`=b.`date` ) a-->
+        <!--        <where>-->
+        <!--            <if test="meterMonthData.date != null and meterMonthData.date != ''"> a.date like concat(#{meterMonthData.date}, '%')</if>-->
+        <!--        </where>-->
+        <!--        order by a.date desc-->
+        select 0 as id, (select d.num from (select sum(num) as num,name,type,date from month_meter_detail
         <where>
-            <if test="meterMonthData.date != null and meterMonthData.date != ''"> a.date like concat(#{meterMonthData.date}, '%')</if>
+            <if test="meterMonthData.date != null and meterMonthData.date != ''">date like
+                concat(#{meterMonthData.date}, '%')
+            </if>
         </where>
-        order by a.date desc
+        group by date,name,type) d where d.name = b.name and d.date = b.date and d.type = 0) as w_num ,(select d.num
+        from (select sum(num) as num,name,type,date from month_meter_detail
+        <where>
+            <if test="meterMonthData.date != null and meterMonthData.date != ''">date like
+                concat(#{meterMonthData.date}, '%')
+            </if>
+        </where>
+        group by date,name,type) d where d.name = b.name and d.date = b.date and d.type = 1) as e_num,b.name,b.date from
+        (select a.name,a.date from (select sum(num) as num,name,type,date from month_meter_detail
+        <where>
+            <if test="meterMonthData.date != null and meterMonthData.date != ''">date like
+                concat(#{meterMonthData.date}, '%')
+            </if>
+        </where>
+        group by date,name,type) a
+        group by a.name,a.date) b
+    </select>
+
+
+    <select id="getMeterMonthPageDatas" resultType="com.template.model.pojo.MonthMeterDetail">
+        select * from month_meter_detail
+        <where>
+            <if test="meterMonthData.date != null and meterMonthData.date != ''">a.date like
+                concat(#{meterMonthData.date}, '%')
+            </if>
+        </where>
+        order by date desc
     </select>
 
     <!--实时抄表-->
     <select id="getMeterDayPage" resultMap="meterMonthDataVo">
-        select smd.id,sm.build_address,sm.address,smd.meter_power,sm.meter_no,smd.create_time from smart_meter_detail smd
+        select smd.id,sm.build_address,sm.address,smd.meter_power,sm.meter_no,smd.create_time from smart_meter_detail
+        smd
         left join smart_meter sm on sm.deleted = 0 and sm.id = smd.meter_id
         where smd.deleted = 0
-        <if test="meterMonthData.date != null and meterMonthData.date != ''"> AND smd.create_time like concat(#{meterMonthData.date}, '%')</if>
-        <if test="meterMonthData.type != null and meterMonthData.type != -1"> AND smd.meter_type = #{meterMonthData.type}</if>
+        <if test="meterMonthData.date != null and meterMonthData.date != ''">AND smd.create_time like
+            concat(#{meterMonthData.date}, '%')
+        </if>
+        <if test="meterMonthData.type != null and meterMonthData.type != -1">AND smd.meter_type =
+            #{meterMonthData.type}
+        </if>
         order by smd.create_time desc
     </select>
 </mapper>