Quellcode durchsuchen

超级电源列表、超级电源的数据概览、获取超级电源设置

zhj vor 2 Jahren
Ursprung
Commit
19fc30fbfb

+ 1 - 1
src/main/java/com/welampiot/controller/BroadcastController.java

@@ -28,7 +28,7 @@ import javax.servlet.http.HttpServletRequest;
  */
 @RestController
 @CrossOrigin
-@RequestMapping("/api/broadcast")
+@RequestMapping("/broadcast")
 public class BroadcastController {
     @Autowired
     private BroadcastService broadcastService;

+ 1 - 1
src/main/java/com/welampiot/controller/CableController.java

@@ -24,7 +24,7 @@ import javax.servlet.http.HttpServletRequest;
  */
 @RestController
 @CrossOrigin
-@RequestMapping("/api/cable")
+@RequestMapping("/cable")
 public class CableController {
     @Autowired
     private CableService cableService;

+ 1 - 1
src/main/java/com/welampiot/controller/ChargeController.java

@@ -24,7 +24,7 @@ import javax.servlet.http.HttpServletRequest;
  */
 @RestController
 @CrossOrigin
-@RequestMapping("/api/charge")
+@RequestMapping("/charge")
 public class ChargeController {
     @Autowired
     private ChargeService chargeService;

+ 1 - 1
src/main/java/com/welampiot/controller/CommonController.java

@@ -23,7 +23,7 @@ import java.util.List;
  */
 @RestController
 @CrossOrigin
-@RequestMapping("/api/common")
+@RequestMapping("/common")
 public class CommonController {
 
     @Autowired

+ 1 - 1
src/main/java/com/welampiot/controller/ElectricBoxController.java

@@ -29,7 +29,7 @@ import javax.servlet.http.HttpServletRequest;
  */
 @RestController
 @CrossOrigin
-@RequestMapping("/api/electricBox")
+@RequestMapping("/electricBox")
 public class ElectricBoxController {
     @Autowired
     private ElectricBoxService electricBoxService;

+ 1 - 1
src/main/java/com/welampiot/controller/LoopController.java

@@ -27,7 +27,7 @@ import java.util.List;
  */
 @RestController
 @CrossOrigin
-@RequestMapping("/api/loopController")
+@RequestMapping("/loopController")
 public class LoopController {
 
     @Autowired

+ 1 - 1
src/main/java/com/welampiot/controller/ManholeController.java

@@ -25,7 +25,7 @@ import javax.servlet.http.HttpServletRequest;
  */
 @RestController
 @CrossOrigin
-@RequestMapping("/api/manholeController")
+@RequestMapping("/manholeController")
 public class ManholeController {
 
     @Autowired

+ 1 - 1
src/main/java/com/welampiot/controller/NewLampPoleController.java

@@ -27,7 +27,7 @@ import java.util.List;
  */
 @RestController
 @CrossOrigin
-@RequestMapping("/api/newLampPole")
+@RequestMapping("/newLampPole")
 public class NewLampPoleController {
 
     @Autowired

+ 1 - 1
src/main/java/com/welampiot/controller/ScreenController.java

@@ -24,7 +24,7 @@ import javax.servlet.http.HttpServletRequest;
  */
 @RestController
 @CrossOrigin
-@RequestMapping("/api/screen")
+@RequestMapping("/screen")
 public class ScreenController {
 
     @Autowired

+ 90 - 0
src/main/java/com/welampiot/controller/SuperPowerController.java

@@ -0,0 +1,90 @@
+package com.welampiot.controller;
+
+import com.welampiot.common.BaseResult;
+import com.welampiot.common.InterfaceResultEnum;
+import com.welampiot.dto.SuperPowerDevInfoDTO;
+import com.welampiot.service.SuperPowerDevInfoService;
+import com.welampiot.utils.ToolUtils;
+import com.welampiot.vo.SuperPowerDevInfoVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * ClassName: SuperPowerController
+ * Package: com.welampiot.controller
+ * Description:
+ *
+ * @Author: zhj_Start
+ * @Create: 2023/4/23 - 14:20
+ * @Version: v1.0
+ */
+@RestController
+@CrossOrigin
+@RequestMapping("/superPower")
+public class SuperPowerController {
+    @Autowired
+    private SuperPowerDevInfoService superPowerDevInfoService;
+
+    @Autowired
+    private ToolUtils toolUtils;
+
+    /**
+     * 获取超级电源列表
+     * @param request
+     * @return
+     */
+    @RequestMapping(value = "/getList", method = RequestMethod.POST)
+    public BaseResult<SuperPowerDevInfoDTO> getList(HttpServletRequest request){
+        int page = request.getParameter("page") == null ? 1 : Integer.parseInt(request.getParameter("page"));
+        int count = request.getParameter("count") == null ? 16 : Integer.parseInt(request.getParameter("count"));
+        int online = request.getParameter("online") == null ? 0 : Integer.parseInt(request.getParameter("online"));
+        int version = request.getParameter("version") == null ? 0 : Integer.parseInt(request.getParameter("version"));
+        String keyword = request.getParameter("keyword") == null ? "" : request.getParameter("keyword");
+
+        SuperPowerDevInfoDTO dto = new SuperPowerDevInfoDTO();
+        dto.setPage(count * (page - 1));
+        dto.setCount(count);
+        dto.setOnline(online);
+        dto.setKeyword(keyword);
+        dto.setSectionList(toolUtils.getSectionList(request));
+
+        SuperPowerDevInfoVO vo = superPowerDevInfoService.getListBySuperPowerDevInfoDTO(dto, version);
+        return BaseResult.success(vo);
+    }
+
+    /**
+     * 获取超级电源的数据概览
+     * @param request
+     * @return
+     */
+    @RequestMapping(value = "/powerInfo", method = RequestMethod.POST)
+    public BaseResult<SuperPowerDevInfoDTO> powerInfo(HttpServletRequest request){
+        SuperPowerDevInfoDTO dto = new SuperPowerDevInfoDTO();
+        dto.setSectionList(toolUtils.getSectionList(request));
+        SuperPowerDevInfoVO vo = superPowerDevInfoService.getPowerInfo(dto);
+        return  BaseResult.success(vo);
+    }
+
+    /**
+     * 获取超级电源设置
+     * @param request
+     * @return
+     */
+    @RequestMapping(value = "/powerOutInfo", method = RequestMethod.POST)
+    public BaseResult<SuperPowerDevInfoDTO> powerOutInfo(HttpServletRequest request){
+        int id = request.getParameter("id") == null || request.getParameter("id").length() == 0 ? 0 : Integer.parseInt(request.getParameter("id"));
+        int version = request.getParameter("version") == null ? 0 : Integer.parseInt(request.getParameter("version"));
+        if (id == 0) return toolUtils.response(InterfaceResultEnum.PARAM_FAIL, version);
+        SuperPowerDevInfoDTO dto = new SuperPowerDevInfoDTO();
+        dto.setId(id);
+        dto.setSectionList(toolUtils.getSectionList(request));
+        SuperPowerDevInfoVO vo = superPowerDevInfoService.getPowerOutInfoByDTO(dto);
+        if (vo == null) return toolUtils.response(InterfaceResultEnum.PARAM_FAIL,version);
+        return BaseResult.success(vo);
+    }
+}

+ 1 - 1
src/main/java/com/welampiot/controller/TranshController.java

@@ -24,7 +24,7 @@ import javax.servlet.http.HttpServletRequest;
  */
 @RestController
 @CrossOrigin
-@RequestMapping("/api/transhController")
+@RequestMapping("/transhController")
 public class TranshController {
 
     @Autowired

+ 1 - 1
src/main/java/com/welampiot/controller/WaterImmersionController.java

@@ -27,7 +27,7 @@ import java.text.ParseException;
  */
 @RestController
 @CrossOrigin
-@RequestMapping("/api/waterImmersion")
+@RequestMapping("/waterImmersion")
 public class WaterImmersionController {
     @Autowired
     private WaterImmersionDevInfoService waterImmersionDevInfoService;

+ 30 - 0
src/main/java/com/welampiot/dao/SuperPowerDevInfoDao.java

@@ -0,0 +1,30 @@
+package com.welampiot.dao;
+
+import com.welampiot.dto.SuperPowerDevInfoDTO;
+
+import java.util.List;
+
+/**
+ * ClassName: SuperPowerDevInfoDao
+ * Package: com.welampiot.dao
+ * Description:
+ *
+ * @Author: zhj_Start
+ * @Create: 2023/4/23 - 10:42
+ * @Version: v1.0
+ */
+public interface SuperPowerDevInfoDao {
+    List<SuperPowerDevInfoDTO> getListBySuperPowerDevInfoDTO(SuperPowerDevInfoDTO dto);
+
+    Integer getTotalBySuperPowerDevInfoDTO(SuperPowerDevInfoDTO dto);
+
+    Integer getOnlineTotalBySuperPowerDevInfoDTO(SuperPowerDevInfoDTO dto);
+
+    Integer getFaultTotalBySuperPowerDevInfoDTO(SuperPowerDevInfoDTO dto);
+
+    List<SuperPowerDevInfoDTO> getDayElectricBySuperPowerDevInfoDTO(SuperPowerDevInfoDTO dto);
+
+    List<SuperPowerDevInfoDTO> getTotalElectricBySuperPowerDevInfoDTO(SuperPowerDevInfoDTO dto);
+
+    SuperPowerDevInfoDTO getPowerOutInfoByDTO(SuperPowerDevInfoDTO dto);
+}

+ 338 - 0
src/main/java/com/welampiot/dto/SuperPowerDevInfoDTO.java

@@ -0,0 +1,338 @@
+package com.welampiot.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * ClassName: SuperPowerDevInfoDTO
+ * Package: com.welampiot.dto
+ * Description: 超级电源设备
+ *
+ * @Author: zhj_Start
+ * @Create: 2023/4/23 - 9:41
+ * @Version: v1.0
+ */
+@Data
+public class SuperPowerDevInfoDTO implements Serializable {
+    /** 主键 **/
+    private Integer id;
+
+    /** 灯杆id **/
+    private Integer lampPoleId;
+
+    /** 编号 **/
+    private String number;
+
+    /** 名称 **/
+    private String name;
+
+    /** 型号(0:MFB-350R3A4D) **/
+    private Integer model;
+
+    /** 厂家(0:茂硕)**/
+    private Integer factory;
+
+    /** 在线状态(0:离线 1:在线)**/
+    private Integer status;
+
+    /** 串口(0 3号串口,1 2号串口,2 1号串口)**/
+    private Integer serialPort;
+
+    /** 电网电压(V)**/
+    private String vol;
+
+    /** 输入电流(A)**/
+    private String cur;
+
+    /** 电网频率(Hz)**/
+    private String frequency;
+
+    /** 输入功率(W)**/
+    private String power;
+
+    /** 当日总电量(kWh)**/
+    private String dayElectric;
+
+    /** 总电量 **/
+    private String totalElectric;
+
+    /** AC220V输出1路备注 **/
+    private String remark1;
+
+    /** AC220V输出1路开关状态(0 关,1 开)**/
+    private Integer remark1Status;
+
+    /** AC220V输出1路的总输出电量 **/
+    private Float remark1Electric;
+
+    /** 运行状态(0 等待,1 自检,2 工作,3 告警,4 故障)**/
+    private Integer remark1RunningStatus;
+
+    /** 220V1路输出电流(A)**/
+    private String remark1Cur;
+
+    /** 220V1路输出功率(W)**/
+    private String remark1Power;
+
+    /** 220V1路日总电量 **/
+    private Float remark1DayElectric;
+
+    /** 220V1路总电量(kWh)**/
+    private Float remark1TotalElectric;
+
+    /** AC220V输出2路备注 **/
+    private String remark2;
+
+    /** AC220V输出2路开关状态(0 关,1 开)**/
+    private Integer remark2Status;
+
+    /** AC220V输出2路的总输出电量 **/
+    private Float remark2Electric;
+
+    /** 运行状态(0 等待,1 自检,2 工作,3 告警,4 故障)**/
+    private Integer remark2RunningStatus;
+
+    /** 220V2路输出电流(A)**/
+    private String remark2Cur;
+
+    /** 220V2路输出功率(W)**/
+    private String remark2Power;
+
+    /** 220V2路日总电量 **/
+    private Float remark2DayElectric;
+
+    /** 220V2路总电量(kWh)**/
+    private Float remark2TotalElectric;
+
+    /** AC220V输出3路备注 **/
+    private String remark3;
+
+    /** AC220V输出3路开关状态(0 关,1 开)**/
+    private Integer remark3Status;
+
+    /** AC220V输出3路的总输出电量 **/
+    private Float remark3Electric;
+
+    /** 运行状态(0 等待,1 自检,2 工作,3 告警,4 故障)**/
+    private Integer remark3RunningStatus;
+
+    /** 220V3路输出电流(A)**/
+    private String remark3Cur;
+
+    /** 220V3路输出功率(W)**/
+    private String remark3Power;
+
+    /** 220V3路日总电量 **/
+    private Float remark3DayElectric;
+
+    /** 220V3路总电量(kWh)**/
+    private Float remark3TotalElectric;
+
+    /** AC220V输出4路备注 **/
+    private String remark4;
+
+    /** AC220V输出4路开关状态(0 关,1 开)**/
+    private Integer remark4Status;
+
+    /** AC220V输出4路的总输出电量 **/
+    private Float remark4Electric;
+
+    /** 运行状态(0 等待,1 自检,2 软起,3 正常,4 告警,5 故障)**/
+    private Integer remark4RunningStatus;
+
+    /** 220V4路输出电流(A)**/
+    private String remark4Cur;
+
+    /** 220V4路输出功率(W)**/
+    private String remark4Power;
+
+    /** 220V4路日总电量 **/
+    private Float remark4DayElectric;
+
+    /** 220V4路总电量(kWh)**/
+    private Float remark4TotalElectric;
+
+    /** AC220V输出5路备注 **/
+    private String remark5;
+
+    /** AC220V输出5路开关状态(0 关,1 开)**/
+    private Integer remark5Status;
+
+    /** AC220V输出5路的总输出电量 **/
+    private Float remark5Electric;
+
+    /** 运行状态(0 等待,1 自检,2 软起,3 正常,4 告警,5 故障)**/
+    private Integer remark5RunningStatus;
+
+    /** 220V5路输出电流(A)**/
+    private String remark5Cur;
+
+    /** 220V5路输出功率(W)**/
+    private String remark5Power;
+
+    /** 220V5路日总电量 **/
+    private Float remark5DayElectric;
+
+    /** 220V5路总电量(kWh)**/
+    private Float remark5TotalElectric;
+
+    /** AC220V输出6路备注 **/
+    private String remark6;
+
+    /** AC220V输出6路开关状态(0 关,1 开)**/
+    private Integer remark6Status;
+
+    /** AC220V输出6路的总输出电量 **/
+    private Float remark6Electric;
+
+    /** 运行状态(0 等待,1 自检,2 软起,3 正常,4 告警,5 故障)**/
+    private Integer remark6RunningStatus;
+
+    /** 220V6路输出电流(A)**/
+    private String remark6Cur;
+
+    /** 220V6路输出功率(W)**/
+    private String remark6Power;
+
+    /** 220V6路日总电量 **/
+    private Float remark6DayElectric;
+
+    /** 220V6路总电量(kWh)**/
+    private Float remark6TotalElectric;
+
+    /** AC220V输出7路备注 **/
+    private String remark7;
+
+    /** AC220V输出7路开关状态(0 关,1 开)**/
+    private Integer remark7Status;
+
+    /** AC220V输出7路的总输出电量 **/
+    private Float remark7Electric;
+
+    /** 运行状态(0 等待,1 自检,2 软起,3 正常,4 告警,5 故障)**/
+    private Integer remark7RunningStatus;
+
+    /** 220V7路输出电流(A)**/
+    private String remark7Cur;
+
+    /** 220V7路输出功率(W)**/
+    private String remark7Power;
+
+    /** 220V7路日总电量 **/
+    private Float remark7DayElectric;
+
+    /** 220V7路总电量(kWh)**/
+    private Float remark7TotalElectric;
+
+    /** 故障信息1 **/
+    private String faultInfo1;
+
+    /** 故障信息2 **/
+    private String faultInfo2;
+
+    /** AC220V输出1路输出类型(0 手动,1 自动)**/
+    private Integer type1;
+
+    /** AC220V输出2路输出类型(0 手动,1 自动)**/
+    private Integer type2;
+
+    /** AC220V输出3路输出类型(0 手动,1 自动)**/
+    private Integer type3;
+
+    /** DC48V输出类型(0 手动,1 自动)**/
+    private Integer type4;
+
+    /** DC24V输出1路输出类型(0 手动,1 自动)**/
+    private Integer type5;
+
+    /** DC24V输出2路输出类型(0 手动,1 自动)**/
+    private Integer type6;
+
+    /** DC12V输出类型(0 手动,1 自动)**/
+    private Integer type7;
+
+    /** AC220V输出1路自动闭合时间 **/
+    private String closeTime1;
+
+    /** AC220V输出2路自动闭合时间 **/
+    private String closeTime2;
+
+    /** AC220V输出3路自动闭合时间 **/
+    private String closeTime3;
+
+    /** DC48V自动闭合时间 **/
+    private String closeTime4;
+
+    /** DC24V输出1路自动闭合时间 **/
+    private String closeTime5;
+
+    /** DC24V输出2路自动闭合时间 **/
+    private String closeTime6;
+
+    /** DC12V自动闭合时间 **/
+    private String closeTime7;
+
+    /** AC220V输出1路自动断开时间 **/
+    private String openTime1;
+
+    /** AC220V输出2路自动断开时间 **/
+    private String openTime2;
+
+    /** AC220V输出3路自动断开时间 **/
+    private String openTime3;
+
+    /** DC48V自动断开时间 **/
+    private String openTime4;
+
+    /** DC24V输出1路自动断开时间 **/
+    private String openTime5;
+
+    /** DC24V输出2路自动断开时间 **/
+    private String openTime6;
+
+    /** DC12V自动断开时间 **/
+    private String openTime7;
+
+    /** 巡检命令(0 未下发,1 已下发)**/
+    private Integer patrolCmd;
+
+    /** 创建时间 **/
+    private String createTime;
+
+    /** 更新时间 **/
+    private String updateTime;
+
+    /** 安装时间 **/
+    private String installDate;
+
+    /** 过期时间 **/
+    private String expirationDate;
+
+    private Integer timezone;
+
+    private String section;
+
+    private String area;
+
+    private String chArea;
+
+    private String enArea;
+
+    private String ruArea;
+
+    private String lampPoleName;
+
+    private List<Integer> sectionList;
+
+    private Integer page;
+
+    private Integer count;
+
+    private Integer online;
+
+    private String keyword;
+
+    private static final long serialVersionUID = 1L;
+}

+ 21 - 0
src/main/java/com/welampiot/service/SuperPowerDevInfoService.java

@@ -0,0 +1,21 @@
+package com.welampiot.service;
+
+import com.welampiot.dto.SuperPowerDevInfoDTO;
+import com.welampiot.vo.SuperPowerDevInfoVO;
+
+/**
+ * ClassName: SuperPowerDevInfoService
+ * Package: com.welampiot.service
+ * Description:
+ *
+ * @Author: zhj_Start
+ * @Create: 2023/4/23 - 11:18
+ * @Version: v1.0
+ */
+public interface SuperPowerDevInfoService {
+    SuperPowerDevInfoVO getListBySuperPowerDevInfoDTO(SuperPowerDevInfoDTO dto, Integer version);
+
+    SuperPowerDevInfoVO getPowerInfo(SuperPowerDevInfoDTO dto);
+
+    SuperPowerDevInfoVO getPowerOutInfoByDTO(SuperPowerDevInfoDTO dto);
+}

+ 541 - 0
src/main/java/com/welampiot/service/impl/SuperPowerDevInfoServiceImpl.java

@@ -0,0 +1,541 @@
+package com.welampiot.service.impl;
+
+import com.welampiot.dao.SuperPowerDevInfoDao;
+import com.welampiot.dto.SuperPowerDevInfoDTO;
+import com.welampiot.service.SuperPowerDevInfoService;
+import com.welampiot.vo.SuperPowerDevInfoVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * ClassName: SuperPowerDevInfoServiceImpl
+ * Package: com.welampiot.service.impl
+ * Description:
+ *
+ * @Author: zhj_Start
+ * @Create: 2023/4/23 - 11:21
+ * @Version: v1.0
+ */
+@Service
+public class SuperPowerDevInfoServiceImpl implements SuperPowerDevInfoService {
+
+    @Autowired
+    private SuperPowerDevInfoDao superPowerDevInfoDao;
+
+    @Override
+    public SuperPowerDevInfoVO getListBySuperPowerDevInfoDTO(SuperPowerDevInfoDTO dto, Integer version) {
+        SuperPowerDevInfoVO vo = new SuperPowerDevInfoVO();
+        vo.setTotal(superPowerDevInfoDao.getTotalBySuperPowerDevInfoDTO(dto));
+        List<SuperPowerDevInfoDTO> listByDTO = superPowerDevInfoDao.getListBySuperPowerDevInfoDTO(dto);
+        List<SuperPowerDevInfoDTO> list = new ArrayList<>();
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        listByDTO.forEach(infoDTO ->{
+            //灯杆名
+            if (infoDTO.getLampPoleName() == null){
+                infoDTO.setLampPoleName("");
+            }
+            //区域名
+            if (version == 0){
+                if (infoDTO.getChArea() != null){
+                    infoDTO.setArea(infoDTO.getChArea());
+                }else {
+                    infoDTO.setArea("");
+                }
+            }else if (version == 1){
+                if (infoDTO.getEnArea() != null){
+                    infoDTO.setArea(infoDTO.getEnArea());
+                }else {
+                    infoDTO.setArea("");
+                }
+            }else {
+                if (infoDTO.getRuArea() != null){
+                    infoDTO.setArea(infoDTO.getRuArea());
+                }else {
+                    infoDTO.setArea("");
+                }
+            }
+            //路段名
+            if (infoDTO.getSection() == null){
+                infoDTO.setSection("");
+            }
+            //网络状态(0:离线,1:在线)
+            if (infoDTO.getStatus() != null && infoDTO.getStatus() == 1){
+                infoDTO.setStatus(1);
+            }else {
+                infoDTO.setStatus(0);
+            }
+            //220V1路输出开关状态(0:关,1:开)
+            if (infoDTO.getRemark1Status() != null && infoDTO.getRemark1Status() == 1){
+                infoDTO.setRemark1Status(1);
+            }else {
+                infoDTO.setRemark1Status(0);
+            }
+            //220V2路输出开关状态(0:关,1:开)
+            if (infoDTO.getRemark2Status() != null && infoDTO.getRemark2Status() == 1){
+                infoDTO.setRemark2Status(1);
+            }else {
+                infoDTO.setRemark2Status(0);
+            }
+            //220V3路输出开关状态(0:关,1:开)
+            if (infoDTO.getRemark3Status() != null && infoDTO.getRemark3Status() == 1){
+                infoDTO.setRemark3Status(1);
+            }else {
+                infoDTO.setRemark3Status(0);
+            }
+            //DC48V输出开关状态(0:关,1:开)
+            if (infoDTO.getRemark4Status() != null && infoDTO.getRemark4Status() == 1){
+                infoDTO.setRemark4Status(1);
+            }else {
+                infoDTO.setRemark4Status(0);
+            }
+            //DC24V1路输出开关状态(0:关,1:开)
+            if (infoDTO.getRemark5Status() != null && infoDTO.getRemark5Status() == 1){
+                infoDTO.setRemark5Status(1);
+            }else {
+                infoDTO.setRemark5Status(0);
+            }
+            //DC24V2路输出开关状态(0:关,1:开)
+            if (infoDTO.getRemark6Status() != null && infoDTO.getRemark6Status() == 1){
+                infoDTO.setRemark6Status(1);
+            }else {
+                infoDTO.setRemark6Status(0);
+            }
+            //DC12V输出开关状态(0:关,1:开)
+            if (infoDTO.getRemark7Status() != null && infoDTO.getRemark7Status() == 1){
+                infoDTO.setRemark7Status(1);
+            }else {
+                infoDTO.setRemark7Status(0);
+            }
+            if (infoDTO.getRemark1RunningStatus() != null){
+                switch (infoDTO.getRemark1RunningStatus()){
+                    case 4 :
+                        infoDTO.setRemark1RunningStatus(4);
+                        break;
+                    case 3 :
+                        infoDTO.setRemark1RunningStatus(3);
+                        break;
+                    case 2 :
+                        infoDTO.setRemark1RunningStatus(2);
+                        break;
+                    case 1 :
+                        infoDTO.setRemark1RunningStatus(1);
+                        break;
+                    default:
+                        infoDTO.setRemark1RunningStatus(0);
+                        break;
+                }
+            }else {
+                infoDTO.setRemark1RunningStatus(0);
+            }
+            if (infoDTO.getRemark2RunningStatus() != null){
+                switch (infoDTO.getRemark2RunningStatus()){
+                    case 4 :
+                        infoDTO.setRemark2RunningStatus(4);
+                        break;
+                    case 3 :
+                        infoDTO.setRemark2RunningStatus(3);
+                        break;
+                    case 2 :
+                        infoDTO.setRemark2RunningStatus(2);
+                        break;
+                    case 1 :
+                        infoDTO.setRemark2RunningStatus(1);
+                        break;
+                    default:
+                        infoDTO.setRemark2RunningStatus(0);
+                        break;
+                }
+            }else {
+                infoDTO.setRemark2RunningStatus(0);
+            }
+            if (infoDTO.getRemark3RunningStatus() != null){
+                switch (infoDTO.getRemark3RunningStatus()){
+                    case 4 :
+                        infoDTO.setRemark3RunningStatus(4);
+                        break;
+                    case 3 :
+                        infoDTO.setRemark3RunningStatus(3);
+                        break;
+                    case 2 :
+                        infoDTO.setRemark3RunningStatus(2);
+                        break;
+                    case 1 :
+                        infoDTO.setRemark3RunningStatus(1);
+                        break;
+                    default:
+                        infoDTO.setRemark3RunningStatus(0);
+                        break;
+                }
+            }else {
+                infoDTO.setRemark3RunningStatus(0);
+            }
+            if (infoDTO.getRemark4RunningStatus() != null){
+                switch (infoDTO.getRemark4RunningStatus()){
+                    case 5 :
+                        infoDTO.setRemark4RunningStatus(5);
+                        break;
+                    case 4 :
+                        infoDTO.setRemark4RunningStatus(4);
+                        break;
+                    case 3 :
+                        infoDTO.setRemark4RunningStatus(3);
+                        break;
+                    case 2 :
+                        infoDTO.setRemark4RunningStatus(2);
+                        break;
+                    case 1 :
+                        infoDTO.setRemark4RunningStatus(1);
+                        break;
+                    default:
+                        infoDTO.setRemark4RunningStatus(0);
+                        break;
+                }
+            }else {
+                infoDTO.setRemark4RunningStatus(0);
+            }
+            if (infoDTO.getRemark5RunningStatus() != null){
+                switch (infoDTO.getRemark5RunningStatus()){
+                    case 5 :
+                        infoDTO.setRemark5RunningStatus(5);
+                        break;
+                    case 4 :
+                        infoDTO.setRemark5RunningStatus(4);
+                        break;
+                    case 3 :
+                        infoDTO.setRemark5RunningStatus(3);
+                        break;
+                    case 2 :
+                        infoDTO.setRemark5RunningStatus(2);
+                        break;
+                    case 1 :
+                        infoDTO.setRemark5RunningStatus(1);
+                        break;
+                    default:
+                        infoDTO.setRemark5RunningStatus(0);
+                        break;
+                }
+            }else {
+                infoDTO.setRemark5RunningStatus(0);
+            }
+            if (infoDTO.getRemark6RunningStatus() != null){
+                switch (infoDTO.getRemark6RunningStatus()){
+                    case 5 :
+                        infoDTO.setRemark6RunningStatus(5);
+                        break;
+                    case 4 :
+                        infoDTO.setRemark6RunningStatus(4);
+                        break;
+                    case 3 :
+                        infoDTO.setRemark6RunningStatus(3);
+                        break;
+                    case 2 :
+                        infoDTO.setRemark6RunningStatus(2);
+                        break;
+                    case 1 :
+                        infoDTO.setRemark6RunningStatus(1);
+                        break;
+                    default:
+                        infoDTO.setRemark6RunningStatus(0);
+                        break;
+                }
+            }else {
+                infoDTO.setRemark6RunningStatus(0);
+            }
+            if (infoDTO.getRemark7RunningStatus() != null){
+                switch (infoDTO.getRemark7RunningStatus()){
+                    case 5 :
+                        infoDTO.setRemark7RunningStatus(5);
+                        break;
+                    case 4 :
+                        infoDTO.setRemark7RunningStatus(4);
+                        break;
+                    case 3 :
+                        infoDTO.setRemark7RunningStatus(3);
+                        break;
+                    case 2 :
+                        infoDTO.setRemark7RunningStatus(2);
+                        break;
+                    case 1 :
+                        infoDTO.setRemark7RunningStatus(1);
+                        break;
+                    default:
+                        infoDTO.setRemark7RunningStatus(0);
+                        break;
+                }
+            }else {
+                infoDTO.setRemark7RunningStatus(0);
+            }
+            if (infoDTO.getFaultInfo1() == null){
+                infoDTO.setFaultInfo1("");
+            }
+            if (infoDTO.getFaultInfo2() == null){
+                infoDTO.setFaultInfo2("");
+            }
+            //创建时间
+            if (infoDTO.getCreateTime() != null && !infoDTO.getCreateTime().equals("")){
+                try {
+                    infoDTO.setCreateTime(simpleDateFormat.format(simpleDateFormat.parse(infoDTO.getCreateTime())));
+                } catch (ParseException e) {
+                    throw new RuntimeException(e);
+                }
+            }else {
+                infoDTO.setCreateTime("");
+            }
+            //安装时间
+            if (infoDTO.getInstallDate() != null && !infoDTO.getInstallDate().equals("")){
+                try {
+                    infoDTO.setInstallDate(simpleDateFormat.format(simpleDateFormat.parse(infoDTO.getInstallDate())));
+                } catch (ParseException e) {
+                    throw new RuntimeException(e);
+                }
+            }else {
+                infoDTO.setInstallDate("");
+            }
+            //过期时间
+            if (infoDTO.getExpirationDate() != null && !infoDTO.getExpirationDate().equals("")){
+                try {
+                    infoDTO.setExpirationDate(simpleDateFormat.format(simpleDateFormat.parse(infoDTO.getExpirationDate())));
+                } catch (ParseException e) {
+                    throw new RuntimeException(e);
+                }
+            }else {
+                infoDTO.setExpirationDate("");
+            }
+            //更新时间
+            if (infoDTO.getUpdateTime() != null && !infoDTO.getUpdateTime().equals("")){
+                Date cmdTime;
+                try {
+                    cmdTime = simpleDateFormat.parse(infoDTO.getUpdateTime());
+                } catch (ParseException e) {
+                    throw new RuntimeException(e);
+                }
+                //判断时区,为null默认东八区
+                long timezone = infoDTO.getTimezone() == null ? 8 : infoDTO.getTimezone();
+                long l = cmdTime.getTime() + timezone * 3600 * 1000;
+                cmdTime = new Date(l);
+                infoDTO.setUpdateTime(simpleDateFormat.format(cmdTime));
+            }else {
+                infoDTO.setUpdateTime("");
+            }
+            list.add(infoDTO);
+        });
+        vo.setList(list);
+        return vo;
+    }
+
+    @Override
+    public SuperPowerDevInfoVO getPowerInfo(SuperPowerDevInfoDTO dto) {
+        SuperPowerDevInfoVO vo = new SuperPowerDevInfoVO();
+        //设备总数
+        vo.setDevTotal(superPowerDevInfoDao.getTotalBySuperPowerDevInfoDTO(dto));
+        //在线数
+        vo.setOnlineCount(superPowerDevInfoDao.getOnlineTotalBySuperPowerDevInfoDTO(dto));
+        //设备故障数
+        vo.setFaultCount(superPowerDevInfoDao.getFaultTotalBySuperPowerDevInfoDTO(dto));
+        //当天用电量
+        List<SuperPowerDevInfoDTO> dayElectricByDTO = superPowerDevInfoDao.getDayElectricBySuperPowerDevInfoDTO(dto);
+        Double dayElectric = dayElectricByDTO.stream().mapToDouble(infoDTO -> Float.parseFloat(infoDTO.getDayElectric())).sum();
+        vo.setDayElectric(Float.parseFloat(String.format("%.2f",dayElectric)));
+        //总用电量
+        List<SuperPowerDevInfoDTO> totalElectricByDTO = superPowerDevInfoDao.getTotalElectricBySuperPowerDevInfoDTO(dto);
+        Double totalElectric = totalElectricByDTO.stream().mapToDouble(infoDTO -> Float.parseFloat(infoDTO.getTotalElectric())).sum();
+        vo.setTotalElectric(Float.parseFloat(String.format("%.2f",totalElectric)));
+        return vo;
+    }
+
+    @Override
+    public SuperPowerDevInfoVO getPowerOutInfoByDTO(SuperPowerDevInfoDTO dto) {
+        SuperPowerDevInfoVO vo = new SuperPowerDevInfoVO();
+        SuperPowerDevInfoDTO powerOutInfoDTO = superPowerDevInfoDao.getPowerOutInfoByDTO(dto);
+        if (powerOutInfoDTO == null) return null;
+        if (powerOutInfoDTO.getRemark1() != null){
+            vo.setRemark1(powerOutInfoDTO.getRemark1());
+        }else {
+            vo.setRemark1("");
+        }
+        if (powerOutInfoDTO.getRemark2() != null){
+            vo.setRemark2(powerOutInfoDTO.getRemark2());
+        }else {
+            vo.setRemark2("");
+        }
+        if (powerOutInfoDTO.getRemark3() != null){
+            vo.setRemark3(powerOutInfoDTO.getRemark3());
+        }else {
+            vo.setRemark3("");
+        }
+        if (powerOutInfoDTO.getRemark4() != null){
+            vo.setRemark4(powerOutInfoDTO.getRemark4());
+        }else {
+            vo.setRemark4("");
+        }
+        if (powerOutInfoDTO.getRemark5() != null){
+            vo.setRemark5(powerOutInfoDTO.getRemark5());
+        }else {
+            vo.setRemark5("");
+        }
+        if (powerOutInfoDTO.getRemark6() != null){
+            vo.setRemark6(powerOutInfoDTO.getRemark6());
+        }else {
+            vo.setRemark6("");
+        }
+        if (powerOutInfoDTO.getRemark7() != null){
+            vo.setRemark7(powerOutInfoDTO.getRemark7());
+        }else {
+            vo.setRemark7("");
+        }
+        //220V1路输出开关状态(0:关,1:开)
+        if (powerOutInfoDTO.getRemark1Status() != null && powerOutInfoDTO.getRemark1Status() == 1){
+            vo.setRemark1Status(1);
+        }else {
+            vo.setRemark1Status(0);
+        }
+        //220V2路输出开关状态(0:关,1:开)
+        if (powerOutInfoDTO.getRemark2Status() != null && powerOutInfoDTO.getRemark2Status() == 1){
+            vo.setRemark2Status(1);
+        }else {
+            vo.setRemark2Status(0);
+        }
+        //220V3路输出开关状态(0:关,1:开)
+        if (powerOutInfoDTO.getRemark3Status() != null && powerOutInfoDTO.getRemark3Status() == 1){
+            vo.setRemark3Status(1);
+        }else {
+            vo.setRemark3Status(0);
+        }
+        //DC48V输出开关状态(0:关,1:开)
+        if (powerOutInfoDTO.getRemark4Status() != null && powerOutInfoDTO.getRemark4Status() == 1){
+            vo.setRemark4Status(1);
+        }else {
+            vo.setRemark4Status(0);
+        }
+        //DC24V1路输出开关状态(0:关,1:开)
+        if (powerOutInfoDTO.getRemark5Status() != null && powerOutInfoDTO.getRemark5Status() == 1){
+            vo.setRemark5Status(1);
+        }else {
+            vo.setRemark5Status(0);
+        }
+        //DC24V2路输出开关状态(0:关,1:开)
+        if (powerOutInfoDTO.getRemark6Status() != null && powerOutInfoDTO.getRemark6Status() == 1){
+            vo.setRemark6Status(1);
+        }else {
+            vo.setRemark6Status(0);
+        }
+        //DC12V输出开关状态(0:关,1:开)
+        if (powerOutInfoDTO.getRemark7Status() != null && powerOutInfoDTO.getRemark7Status() == 1){
+            vo.setRemark7Status(1);
+        }else {
+            vo.setRemark7Status(0);
+        }
+        if (powerOutInfoDTO.getType1() != null && powerOutInfoDTO.getType1() == 1){
+            vo.setType1(1);
+        }else {
+            vo.setType1(0);
+        }
+        if (powerOutInfoDTO.getType2() != null && powerOutInfoDTO.getType2() == 1){
+            vo.setType2(1);
+        }else {
+            vo.setType2(0);
+        }
+        if (powerOutInfoDTO.getType3() != null && powerOutInfoDTO.getType3() == 1){
+            vo.setType3(1);
+        }else {
+            vo.setType3(0);
+        }
+        if (powerOutInfoDTO.getType4() != null && powerOutInfoDTO.getType4() == 1){
+            vo.setType4(1);
+        }else {
+            vo.setType4(0);
+        }
+        if (powerOutInfoDTO.getType5() != null && powerOutInfoDTO.getType5() == 1){
+            vo.setType5(1);
+        }else {
+            vo.setType5(0);
+        }
+        if (powerOutInfoDTO.getType6() != null && powerOutInfoDTO.getType6() == 1){
+            vo.setType6(1);
+        }else {
+            vo.setType6(0);
+        }
+        if (powerOutInfoDTO.getType7() != null && powerOutInfoDTO.getType7() == 1){
+            vo.setType7(1);
+        }else {
+            vo.setType7(0);
+        }
+        if (powerOutInfoDTO.getCloseTime1() != null){
+            vo.setCloseTime1(powerOutInfoDTO.getCloseTime1());
+        }else {
+            vo.setCloseTime1("");
+        }
+        if (powerOutInfoDTO.getCloseTime2() != null){
+            vo.setCloseTime2(powerOutInfoDTO.getCloseTime2());
+        }else {
+            vo.setCloseTime2("");
+        }
+        if (powerOutInfoDTO.getCloseTime3() != null){
+            vo.setCloseTime3(powerOutInfoDTO.getCloseTime3());
+        }else {
+            vo.setCloseTime3("");
+        }
+        if (powerOutInfoDTO.getCloseTime4() != null){
+            vo.setCloseTime4(powerOutInfoDTO.getCloseTime4());
+        }else {
+            vo.setCloseTime4("");
+        }
+        if (powerOutInfoDTO.getCloseTime5() != null){
+            vo.setCloseTime5(powerOutInfoDTO.getCloseTime5());
+        }else {
+            vo.setCloseTime5("");
+        }
+        if (powerOutInfoDTO.getCloseTime6() != null){
+            vo.setCloseTime6(powerOutInfoDTO.getCloseTime6());
+        }else {
+            vo.setCloseTime6("");
+        }
+        if (powerOutInfoDTO.getCloseTime7() != null){
+            vo.setCloseTime7(powerOutInfoDTO.getCloseTime7());
+        }else {
+            vo.setCloseTime7("");
+        }
+        if (powerOutInfoDTO.getOpenTime1() != null){
+            vo.setOpenTime1(powerOutInfoDTO.getOpenTime1());
+        }else {
+            vo.setOpenTime1("");
+        }
+        if (powerOutInfoDTO.getOpenTime2() != null){
+            vo.setOpenTime2(powerOutInfoDTO.getOpenTime2());
+        }else {
+            vo.setOpenTime2("");
+        }
+        if (powerOutInfoDTO.getOpenTime3() != null){
+            vo.setOpenTime3(powerOutInfoDTO.getOpenTime3());
+        }else {
+            vo.setOpenTime3("");
+        }
+        if (powerOutInfoDTO.getOpenTime4() != null){
+            vo.setOpenTime4(powerOutInfoDTO.getOpenTime4());
+        }else {
+            vo.setOpenTime4("");
+        }
+        if (powerOutInfoDTO.getOpenTime5() != null){
+            vo.setOpenTime5(powerOutInfoDTO.getOpenTime5());
+        }else {
+            vo.setOpenTime5("");
+        }
+        if (powerOutInfoDTO.getOpenTime6() != null){
+            vo.setOpenTime6(powerOutInfoDTO.getOpenTime6());
+        }else {
+            vo.setOpenTime6("");
+        }
+        if (powerOutInfoDTO.getOpenTime7() != null){
+            vo.setOpenTime7(powerOutInfoDTO.getOpenTime7());
+        }else {
+            vo.setOpenTime7("");
+        }
+        return vo;
+    }
+}

+ 126 - 0
src/main/java/com/welampiot/vo/SuperPowerDevInfoVO.java

@@ -0,0 +1,126 @@
+package com.welampiot.vo;
+
+import com.welampiot.dto.SuperPowerDevInfoDTO;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * ClassName: SuperPowerDevInfoVO
+ * Package: com.welampiot.vo
+ * Description:
+ *
+ * @Author: zhj_Start
+ * @Create: 2023/4/23 - 11:18
+ * @Version: v1.0
+ */
+@Data
+public class SuperPowerDevInfoVO implements Serializable {
+    private Integer total;
+
+    private Integer devTotal;
+
+    private Integer onlineCount;
+
+    private Integer faultCount;
+
+    private Float dayElectric;
+
+    private Float totalElectric;
+
+    private List<SuperPowerDevInfoDTO> list;
+
+    private String remark1;
+
+    private String remark2;
+
+    private String remark3;
+
+    private String remark4;
+
+    private String remark5;
+
+    private String remark6;
+
+    private String remark7;
+
+    private Integer remark1Status;
+
+    private Integer remark2Status;
+
+    private Integer remark3Status;
+
+    private Integer remark4Status;
+
+    private Integer remark5Status;
+
+    private Integer remark6Status;
+
+    private Integer remark7Status;
+
+    /** AC220V输出1路输出类型(0 手动,1 自动)**/
+    private Integer type1;
+
+    /** AC220V输出2路输出类型(0 手动,1 自动)**/
+    private Integer type2;
+
+    /** AC220V输出3路输出类型(0 手动,1 自动)**/
+    private Integer type3;
+
+    /** DC48V输出类型(0 手动,1 自动)**/
+    private Integer type4;
+
+    /** DC24V输出1路输出类型(0 手动,1 自动)**/
+    private Integer type5;
+
+    /** DC24V输出2路输出类型(0 手动,1 自动)**/
+    private Integer type6;
+
+    /** DC12V输出类型(0 手动,1 自动)**/
+    private Integer type7;
+
+    /** AC220V输出1路自动闭合时间 **/
+    private String closeTime1;
+
+    /** AC220V输出2路自动闭合时间 **/
+    private String closeTime2;
+
+    /** AC220V输出3路自动闭合时间 **/
+    private String closeTime3;
+
+    /** DC48V自动闭合时间 **/
+    private String closeTime4;
+
+    /** DC24V输出1路自动闭合时间 **/
+    private String closeTime5;
+
+    /** DC24V输出2路自动闭合时间 **/
+    private String closeTime6;
+
+    /** DC12V自动闭合时间 **/
+    private String closeTime7;
+
+    /** AC220V输出1路自动断开时间 **/
+    private String openTime1;
+
+    /** AC220V输出2路自动断开时间 **/
+    private String openTime2;
+
+    /** AC220V输出3路自动断开时间 **/
+    private String openTime3;
+
+    /** DC48V自动断开时间 **/
+    private String openTime4;
+
+    /** DC24V输出1路自动断开时间 **/
+    private String openTime5;
+
+    /** DC24V输出2路自动断开时间 **/
+    private String openTime6;
+
+    /** DC12V自动断开时间 **/
+    private String openTime7;
+
+    private static final long serialVersionUID = 1L;
+}

+ 117 - 0
src/main/resources/mapper/SuperPowerDevInfoMapper.xml

@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.welampiot.dao.SuperPowerDevInfoDao">
+
+    <select id="getListBySuperPowerDevInfoDTO" resultType="SuperPowerDevInfoDTO">
+        select s1.id,s1.number,s1.name,s1.lamp_pole_id lampPoleId,s2.name as section,gl.chinese_name chArea,
+               s1.updatetime as updateTime,s1.install_date installDate,s1.expiration_date expirationDate,
+               gl.english_name enArea,gl.ru_name ruArea,s1.model,s1.status,s1.remark1_status remark1Status,
+               s1.remark2_status remark2Status,s1.remark3_status remark3Status,s1.remark4_status remark4Status,
+               s1.remark5_status remark5Status,s1.remark6_status remark6Status,s1.remark7_status remark7Status,lp.name lampPoleName,
+               s1.remark1_runnig_status remark1RunningStatus,s1.remark2_runnig_status remark2RunningStaus,s1.remark3_runnig_status remark3RunningStatus,
+               s1.remark4_runnig_status remarkRunningStatus,s1.remark5_runnig_status remark5RunningStatus,s1.remark6_runnig_status remark6RunningStatus,
+               s1.remark7_runnig_status remarkRunningStatus,s1.fault_info1 faultInfo1,s1.fault_info2 faultInfo2,s1.createtime as createTime,s2.timezone
+        from super_power_dev_info s1 left join lamp_pole lp on lp.id = s1.lamp_pole_id
+            left join section s2 on lp.sectionid = s2.id
+            left join global_location gl on s2.pid = gl.id
+        where 1=1
+            <if test="keyword != null and keyword != ''">
+                and (s1.name like '%${keyword}%' or s1.number like '%${keyword}%')
+            </if>
+            <choose>
+                <when test="online == 0">
+                    and s1.status = 0
+                </when>
+                <when test="online == 1">
+                    and s1.status = 1
+                </when>
+            </choose>
+            <if test="sectionList != null and !sectionList.isEmpty()">
+                and lp.sectionid in
+                <foreach collection="sectionList" item="dto" open="(" separator="," close=")">
+                    #{dto}
+                </foreach>
+            </if>
+            order by convert(s1.name using gbk) asc,s1.id desc
+            <if test="page >= 0 and count > 0">
+                limit #{page},#{count}
+            </if>
+    </select>
+
+    <select id="getTotalBySuperPowerDevInfoDTO" resultType="Integer">
+        select count(s1.id) as total
+        from super_power_dev_info s1 left join lamp_pole lp on lp.id = s1.lamp_pole_id
+        <if test="sectionList != null and !sectionList.isEmpty()">
+            where lp.sectionid in
+            <foreach collection="sectionList" item="dto" open="(" separator="," close=")">
+                #{dto}
+            </foreach>
+        </if>
+    </select>
+
+    <select id="getOnlineTotalBySuperPowerDevInfoDTO" resultType="Integer">
+        select count(s1.id) as total
+        from super_power_dev_info s1 left join lamp_pole lp on lp.id = s1.lamp_pole_id
+        where s1.status = 1
+        <if test="sectionList != null and !sectionList.isEmpty()">
+            and lp.sectionid in
+            <foreach collection="sectionList" item="dto" open="(" separator="," close=")">
+                #{dto}
+            </foreach>
+        </if>
+    </select>
+
+    <select id="getFaultTotalBySuperPowerDevInfoDTO" resultType="Integer">
+        select count(s1.id) as total
+        from super_power_dev_info s1 left join lamp_pole lp on lp.id = s1.lamp_pole_id
+        where s1.status = 1
+            and (s1.remark1_runnig_status = 4 or s1.remark2_runnig_status = 4 or s1.remark3_runnig_status = 4 or s1.remark4_runnig_status = 5
+                 or s1.remark5_runnig_status = 5 or s1.remark6_runnig_status = 5 or s1.remark7_runnig_status = 5)
+        <if test="sectionList != null and !sectionList.isEmpty()">
+            and lp.sectionid in
+            <foreach collection="sectionList" item="dto" open="(" separator="," close=")">
+                #{dto}
+            </foreach>
+        </if>
+    </select>
+
+    <select id="getDayElectricBySuperPowerDevInfoDTO" resultType="SuperPowerDevInfoDTO">
+        select s1.id,s1.day_electric dayElectric
+        from super_power_dev_info s1 left join lamp_pole lp on lp.id = s1.lamp_pole_id
+        <if test="sectionList != null and !sectionList.isEmpty()">
+            where lp.sectionid in
+            <foreach collection="sectionList" item="dto" open="(" separator="," close=")">
+                #{dto}
+            </foreach>
+        </if>
+    </select>
+
+    <select id="getTotalElectricBySuperPowerDevInfoDTO" resultType="SuperPowerDevInfoDTO">
+        select s1.id,s1.total_electric totalElectric
+        from super_power_dev_info s1 left join lamp_pole lp on lp.id = s1.lamp_pole_id
+        <if test="sectionList != null and !sectionList.isEmpty()">
+            where lp.sectionid in
+            <foreach collection="sectionList" item="dto" open="(" separator="," close=")">
+                #{dto}
+            </foreach>
+        </if>
+    </select>
+
+    <select id="getPowerOutInfoByDTO" resultType="SuperPowerDevInfoDTO">
+        select s1.remark1,s1.remark2,s1.remark3,s1.remark4,s1.remark5,s1.remark6,s1.remark7,s1.remark1_status remark1Status,
+               s1.remark2_status remark2Status,s1.remark3_status remark3Status,s1.remark4_status remark4Status,s1.remark5_status remark5Status,
+               s1.remark6_status remark6Status,s1.remark7_status remark7Status,s1.type1,s1.type2,s1.type3,s1.type4,s1.type5,s1.type6,s1.type7,
+               s1.close_time1 closeTime1,s1.close_time2 closeTime2,s1.close_time3 closeTime3,s1.close_time4 closeTime4,s1.close_time5 closeTime5,
+               s1.close_time6 closeTime6,s1.close_time7 closeTime7,s1.open_time1 openTime1,s1.open_time2 openTime2,s1.open_time3 openTime3,s1.open_time4 openTime4,
+               s1.open_time5 openTime5,s1.open_time6 openTime6,s1.open_time7 openTime7
+        from super_power_dev_info s1 left join lamp_pole lp on lp.id = s1.lamp_pole_id
+        where s1.id = #{id}
+        <if test="sectionList != null and !sectionList.isEmpty()">
+            and lp.sectionid in
+            <foreach collection="sectionList" item="dto" open="(" separator="," close=")">
+                #{dto}
+            </foreach>
+        </if>
+    </select>
+    
+</mapper>