浏览代码

电缆统计数据

zhj 2 年之前
父节点
当前提交
4703ee0a1f

+ 329 - 0
src/main/java/com/welampiot/controller/CableController.java

@@ -1,9 +1,13 @@
 package com.welampiot.controller;
 
 import com.welampiot.common.BaseResult;
+import com.welampiot.common.InterfaceResultEnum;
 import com.welampiot.dto.CableDTO;
+import com.welampiot.dto.CableInfoLogDTO;
+import com.welampiot.service.CableInfoLogService;
 import com.welampiot.service.CableService;
 import com.welampiot.utils.ToolUtils;
+import com.welampiot.vo.CableInfoLogVO;
 import com.welampiot.vo.CableVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.CrossOrigin;
@@ -12,6 +16,9 @@ import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.servlet.http.HttpServletRequest;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.*;
 
 /**
  * ClassName: CableController
@@ -29,6 +36,9 @@ public class CableController {
     @Autowired
     private CableService cableService;
 
+    @Autowired
+    private CableInfoLogService cableInfoLogService;
+
     @Autowired
     private ToolUtils toolUtils;
 
@@ -67,4 +77,323 @@ public class CableController {
         CableVO vo = cableService.getDataByCableDTO(dto);
         return BaseResult.success(vo);
     }
+
+    /**
+     * 获取电缆统计数据
+     * @param request
+     * @return
+     */
+    @RequestMapping(value = "/cableInfo", method = RequestMethod.POST)
+    public BaseResult cableInfo(HttpServletRequest request) throws ParseException {
+        Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
+        Integer deviceId = (Integer) toolUtils.getRequestContent(request,"deviceId",1);
+        if (deviceId == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
+        Integer lampPoleId = (Integer) toolUtils.getRequestContent(request,"lampPoleId",1);
+        if (lampPoleId == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
+        Integer dateType = (Integer) toolUtils.getRequestContent(request,"dateType",1);
+        Integer dataType = (Integer) toolUtils.getRequestContent(request,"dataType",1);
+        Integer timezone = cableInfoLogService.getTimezoneById(deviceId);
+        if (timezone == null) return toolUtils.response(InterfaceResultEnum.PARAM_FAIL,version);
+        long l = System.currentTimeMillis() - timezone * 3600 * 1000;
+        long startTime = 0L;
+        long endTime = 0L;
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        if (dateType == 0){ // 1 天
+            startTime = l - 24 * 3600 * 1000;
+            endTime = l;
+        }else if (dateType == 1){ // 3 天
+            startTime = l - 24 * 3600 * 1000 * 3;
+            endTime = l;
+        }else if (dateType == 2){ // 7 天
+            startTime = l - 24 * 3600 * 1000 * 7;
+            endTime = l;
+        }else if (dateType == 3){ // 14 天
+            startTime = l - 24 * 3600 * 1000 * 14;
+            endTime = l;
+        }else if (dateType == 4){ // 日期选择 最多30天
+            String date = (String) toolUtils.getRequestContent(request,"date",2);
+            if (date.length() == 0) return toolUtils.response(InterfaceResultEnum.LACK_DATE_ERROR,version);
+            List<String> split = Arrays.asList(date.split("/"));
+            System.out.println(split);
+            System.out.println(split.get(0));
+            System.out.println(split.get(1));
+            startTime = simpleDateFormat.parse(split.get(0) + " 00:00:00").getTime();
+            endTime = simpleDateFormat.parse(split.get(1) + " 23:59:59").getTime();
+            if (endTime < startTime) toolUtils.response(InterfaceResultEnum.LACK_DATE_FORMAT_ERROR,version);
+            if (endTime - startTime > 29L *24 * 3600 * 1000) toolUtils.response(InterfaceResultEnum.LACK_DATE_RANGE_ERROR,version);
+            startTime -= timezone * 3600 * 1000;
+            endTime -= timezone * 3600 * 1000;
+        }
+
+        HashMap<String, Integer> objectObjectHashMap = new HashMap<>();
+        long timeT = startTime;
+        int i = 0;
+
+        List<Object> dateList = new ArrayList<>();
+        List<Object> dataList = new ArrayList<>();
+        ArrayList<CableInfoLogDTO> list = new ArrayList<>();
+        simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:00:00");
+        while (timeT < endTime){
+            objectObjectHashMap.put(simpleDateFormat.format(new Date(timeT)),i);
+            dateList.add(simpleDateFormat.format(new Date(timeT + timezone * 3600 * 1000)));
+            dataList.add(0);
+            list.add(null);
+            timeT += 3600 * 1000;
+            i ++;
+        }
+        SimpleDateFormat simpleDateFormat2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        String startDate = simpleDateFormat.format(new Date(startTime));
+        String endDate = simpleDateFormat.format(new Date(endTime));
+        CableInfoLogDTO dto = new CableInfoLogDTO();
+        dto.setCableId(deviceId);
+        dto.setLampPoleId(lampPoleId);
+        dto.setStartDate(startDate);
+        dto.setEndDate(endDate);
+        dto.setDataType(dataType);
+        List<CableInfoLogDTO> cableInfoByDTO = cableInfoLogService.getCableInfoByDTO(dto);
+        for (CableInfoLogDTO cableInfoLogDTO : cableInfoByDTO){
+            Date date = new Date(simpleDateFormat2.parse(cableInfoLogDTO.getUpdateTime()).getTime());
+            String s = simpleDateFormat.format(date);
+            if (objectObjectHashMap.containsKey(s)){
+                Integer integer = objectObjectHashMap.get(s);
+                list.set(integer,cableInfoLogDTO);
+            }
+        }
+        for (CableInfoLogDTO cableInfoLogDTO:list) {
+            if (cableInfoLogDTO != null){
+                Date date = new Date(simpleDateFormat2.parse(cableInfoLogDTO.getUpdateTime()).getTime());
+                String s = simpleDateFormat.format(date);
+                Integer integer = null;
+                if (objectObjectHashMap.containsKey(s)){
+                    integer = objectObjectHashMap.get(s);
+                    list.set(integer,cableInfoLogDTO);
+                }
+                if (dto.getDataType() != null){
+                    switch (dto.getDataType()){
+                        case 0 :
+                            if (cableInfoLogDTO.getManhole1X() != null && !cableInfoLogDTO.getManhole1X().equals("0") && integer != null){
+                                dataList.set(integer,Float.valueOf(cableInfoLogDTO.getManhole1X()));
+                            }
+                            break;
+                        case 1 :
+                            if (cableInfoLogDTO.getManhole1Y() != null && !cableInfoLogDTO.getManhole1Y().equals("0") && integer != null){
+                                dataList.set(integer,Float.valueOf(cableInfoLogDTO.getManhole1Y()));
+                            }
+                            break;
+                        case 2 :
+                            if (cableInfoLogDTO.getManhole1Z() != null && !cableInfoLogDTO.getManhole1Z().equals("0") && integer != null){
+                                dataList.set(integer,Float.valueOf(cableInfoLogDTO.getManhole1Z()));
+                            }
+                            break;
+                        case 3 :
+                            if (cableInfoLogDTO.getManhole1A() != null && cableInfoLogDTO.getManhole1A() != 0 && integer != null){
+                                dataList.set(integer,cableInfoLogDTO.getManhole1A());
+                            }
+                            break;
+                        case 4 :
+                            if (cableInfoLogDTO.getManhole1V() != null && !cableInfoLogDTO.getManhole1V().equals("0") && integer != null){
+                                dataList.set(integer,Float.valueOf(cableInfoLogDTO.getManhole1V()));
+                            }
+                            break;
+                        case 5 :
+                            if (cableInfoLogDTO.getManhole2X() != null && !cableInfoLogDTO.getManhole2X().equals("0") && integer != null){
+                                dataList.set(integer,Float.valueOf(cableInfoLogDTO.getManhole2X()));
+                            }
+                            break;
+                        case 6 :
+                            if (cableInfoLogDTO.getManhole2Y() != null && !cableInfoLogDTO.getManhole2Y().equals("0") && integer != null){
+                                dataList.set(integer,Float.valueOf(cableInfoLogDTO.getManhole2Y()));
+                            }
+                            break;
+                        case 7 :
+                            if (cableInfoLogDTO.getManhole2Z() != null && !cableInfoLogDTO.getManhole2Z().equals("0") && integer != null){
+                                dataList.set(integer,Float.valueOf(cableInfoLogDTO.getManhole2Z()));
+                            }
+                            break;
+                        case 8 :
+                            if (cableInfoLogDTO.getManhole2A() != null && cableInfoLogDTO.getManhole2A() != 0 && integer != null){
+                                dataList.set(integer,cableInfoLogDTO.getManhole2A());
+                            }
+                            break;
+                        case 9 :
+                            if (cableInfoLogDTO.getManhole2V() != null && !cableInfoLogDTO.getManhole2V().equals("0") && integer != null){
+                                dataList.set(integer,Float.valueOf(cableInfoLogDTO.getManhole2V()));
+                            }
+                            break;
+                        case 10 :
+                            if (cableInfoLogDTO.getManhole3X() != null && !cableInfoLogDTO.getManhole3X().equals("0") && integer != null){
+                                dataList.set(integer,Float.valueOf(cableInfoLogDTO.getManhole3X()));
+                            }
+                            break;
+                        case 11 :
+                            if (cableInfoLogDTO.getManhole3Y() != null && !cableInfoLogDTO.getManhole3Y().equals("0") && integer != null){
+                                dataList.set(integer,Float.valueOf(cableInfoLogDTO.getManhole3Y()));
+                            }
+                            break;
+                        case 12 :
+                            if (cableInfoLogDTO.getManhole3Z() != null && !cableInfoLogDTO.getManhole3Z().equals("0") && integer != null){
+                                dataList.set(integer,Float.valueOf(cableInfoLogDTO.getManhole3Z()));
+                            }
+                            break;
+                        case 13 :
+                            if (cableInfoLogDTO.getManhole3A() != null && cableInfoLogDTO.getManhole3A() != 0 && integer != null){
+                                dataList.set(integer,cableInfoLogDTO.getManhole3A());
+                            }
+                            break;
+                        case 14 :
+                            if (cableInfoLogDTO.getManhole3V() != null && !cableInfoLogDTO.getManhole3V().equals("0") && integer != null){
+                                dataList.set(integer,Float.valueOf(cableInfoLogDTO.getManhole3V()));
+                            }
+                            break;
+                        case 15 :
+                            if (cableInfoLogDTO.getManhole4X() != null && !cableInfoLogDTO.getManhole4X().equals("0") && integer != null){
+                                dataList.set(integer,Float.valueOf(cableInfoLogDTO.getManhole4X()));
+                            }
+                            break;
+                        case 16 :
+                            if (cableInfoLogDTO.getManhole4Y() != null && !cableInfoLogDTO.getManhole4Y().equals("0") && integer != null){
+                                dataList.set(integer,Float.valueOf(cableInfoLogDTO.getManhole4Y()));
+                            }
+                            break;
+                        case 17 :
+                            if (cableInfoLogDTO.getManhole4Z() != null && !cableInfoLogDTO.getManhole4Z().equals("0") && integer != null){
+                                dataList.set(integer,Float.valueOf(cableInfoLogDTO.getManhole4Z()));
+                            }
+                            break;
+                        case 18 :
+                            if (cableInfoLogDTO.getManhole4A() != null && cableInfoLogDTO.getManhole4A() != 0 && integer != null){
+                                dataList.set(integer,cableInfoLogDTO.getManhole4A());
+                            }
+                            break;
+                        case 19 :
+                            if (cableInfoLogDTO.getManhole4V() != null && !cableInfoLogDTO.getManhole4V().equals("0") && integer != null){
+                                dataList.set(integer,Float.valueOf(cableInfoLogDTO.getManhole4V()));
+                            }
+                            break;
+                        case 20 :
+                            if (cableInfoLogDTO.getManhole5X() != null && !cableInfoLogDTO.getManhole5X().equals("0") && integer != null){
+                                dataList.set(integer,Float.valueOf(cableInfoLogDTO.getManhole5X()));
+                            }
+                            break;
+                        case 21 :
+                            if (cableInfoLogDTO.getManhole5Y() != null && !cableInfoLogDTO.getManhole5Y().equals("0") && integer != null){
+                                dataList.set(integer,Float.valueOf(cableInfoLogDTO.getManhole5Y()));
+                            }
+                            break;
+                        case 22 :
+                            if (cableInfoLogDTO.getManhole5Z() != null && !cableInfoLogDTO.getManhole5Z().equals("0") && integer != null){
+                                dataList.set(integer,Float.valueOf(cableInfoLogDTO.getManhole5Z()));
+                            }
+                            break;
+                        case 23 :
+                            if (cableInfoLogDTO.getManhole5A() != null && cableInfoLogDTO.getManhole5A() != 0 && integer != null){
+                                dataList.set(integer,cableInfoLogDTO.getManhole5A());
+                            }
+                            break;
+                        case 24 :
+                            if (cableInfoLogDTO.getManhole5V() != null && !cableInfoLogDTO.getManhole5V().equals("0") && integer != null){
+                                dataList.set(integer,Float.valueOf(cableInfoLogDTO.getManhole5V()));
+                            }
+                            break;
+                        case 25 :
+                            if (cableInfoLogDTO.getTemperature1T() != null && !cableInfoLogDTO.getTemperature1T().equals("0") && integer != null){
+                                dataList.set(integer,Float.valueOf(cableInfoLogDTO.getTemperature1T()));
+                            }
+                            break;
+                        case 26 :
+                            if (cableInfoLogDTO.getTemperature1V() != null && !cableInfoLogDTO.getTemperature1V().equals("0") && integer != null){
+                                dataList.set(integer,Float.valueOf(cableInfoLogDTO.getTemperature1V()));
+                            }
+                            break;
+                        case 27 :
+                            if (cableInfoLogDTO.getTemperature1A() != null && cableInfoLogDTO.getTemperature1A() != 0 && integer != null){
+                                dataList.set(integer,cableInfoLogDTO.getTemperature1A());
+                            }
+                            break;
+                        case 28 :
+                            if (cableInfoLogDTO.getTemperature2T() != null && !cableInfoLogDTO.getTemperature2T().equals("0") && integer != null){
+                                dataList.set(integer,Float.valueOf(cableInfoLogDTO.getTemperature2T()));
+                            }
+                            break;
+                        case 29 :
+                            if (cableInfoLogDTO.getTemperature2V() != null && !cableInfoLogDTO.getTemperature2V().equals("0") && integer != null){
+                                dataList.set(integer,Float.valueOf(cableInfoLogDTO.getTemperature2V()));
+                            }
+                            break;
+                        case 30 :
+                            if (cableInfoLogDTO.getTemperature2A() != null && cableInfoLogDTO.getTemperature2A() != 0 && integer != null){
+                                dataList.set(integer,cableInfoLogDTO.getTemperature2A());
+                            }
+                            break;
+                        case 31 :
+                            if (cableInfoLogDTO.getTemperature3T() != null && !cableInfoLogDTO.getTemperature3T().equals("0") && integer != null){
+                                dataList.set(integer,Float.valueOf(cableInfoLogDTO.getTemperature3T()));
+                            }
+                            break;
+                        case 32 :
+                            if (cableInfoLogDTO.getTemperature3V() != null && !cableInfoLogDTO.getTemperature3V().equals("0") && integer != null){
+                                dataList.set(integer,Float.valueOf(cableInfoLogDTO.getTemperature3V()));
+                            }
+                            break;
+                        case 33 :
+                            if (cableInfoLogDTO.getTemperature3A() != null && cableInfoLogDTO.getTemperature3A() != 0 && integer != null){
+                                dataList.set(integer,cableInfoLogDTO.getTemperature3A());
+                            }
+                            break;
+                        case 34 :
+                            if (cableInfoLogDTO.getWaterW() != null && cableInfoLogDTO.getWaterW() != 0 && integer != null){
+                                dataList.set(integer,cableInfoLogDTO.getWaterW());
+                            }
+                            break;
+                        case 35 :
+                            if (cableInfoLogDTO.getWaterV() != null && cableInfoLogDTO.getWaterV().equals("0") && integer != null){
+                                dataList.set(integer,Float.valueOf(cableInfoLogDTO.getWaterV()));
+                            }
+                            break;
+                        case 36 :
+                            if (cableInfoLogDTO.getWaterA() != null && cableInfoLogDTO.getWaterA() != 0 && integer != null){
+                                dataList.set(integer,cableInfoLogDTO.getWaterA());
+                            }
+                            break;
+                        case 37 :
+                            if (cableInfoLogDTO.getCh4() != null && cableInfoLogDTO.getCh4() != 0 && integer != null){
+                                dataList.set(integer,cableInfoLogDTO.getCh4());
+                            }
+                            break;
+                        case 38 :
+                            if (cableInfoLogDTO.getCo() != null && cableInfoLogDTO.getCo() != 0 && integer != null){
+                                dataList.set(integer,cableInfoLogDTO.getCo());
+                            }
+                            break;
+                        case 39 :
+                            if (cableInfoLogDTO.getH2s() != null && cableInfoLogDTO.getH2s() != 0 && integer != null){
+                                dataList.set(integer,cableInfoLogDTO.getH2s());
+                            }
+                            break;
+                        case 40 :
+                            if (cableInfoLogDTO.getO2() != null && cableInfoLogDTO.getO2().equals("0") && integer != null){
+                                dataList.set(integer,Float.valueOf(cableInfoLogDTO.getO2()));
+                            }
+                            break;
+                        case 41 :
+                            if (cableInfoLogDTO.getGasV() != null && cableInfoLogDTO.getGasV().equals("0") && integer != null){
+                                dataList.set(integer,Float.valueOf(cableInfoLogDTO.getGasV()));
+                            }
+                            break;
+                        case 42 :
+                            if (cableInfoLogDTO.getGasA() != null && cableInfoLogDTO.getGasA() != 0 && integer != null){
+                                dataList.set(integer,cableInfoLogDTO.getGasA());
+                            }
+                            break;
+                    }
+                }
+                date = new Date(simpleDateFormat2.parse(cableInfoLogDTO.getUpdateTime()).getTime() + timezone * 3600 * 1000);
+                cableInfoLogDTO.setUpdateTime(simpleDateFormat.format(date));
+            }
+        }
+        CableInfoLogVO cableInfoLogVO = new CableInfoLogVO();
+        cableInfoLogVO.setDateList(dateList);
+        cableInfoLogVO.setDataList(dataList);
+        return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,cableInfoLogVO);
+    }
 }

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

@@ -208,7 +208,6 @@ public class NewLampPoleController {
         WifiInfoLogDTO dto = new WifiInfoLogDTO();
         dto.setWifiId(id);
         dto.setDataType(dataType);
-        dto.setSectionList(toolUtils.getSectionList(request));
         Integer timezone = wifiInfoLogService.getTimezoneById(dto);
         if (timezone == null) return toolUtils.response(InterfaceResultEnum.PARAM_FAIL,version);
         long l = System.currentTimeMillis() - timezone * 3600 * 1000;

+ 21 - 0
src/main/java/com/welampiot/dao/CableInfoLogDao.java

@@ -0,0 +1,21 @@
+package com.welampiot.dao;
+
+import com.welampiot.dto.CableInfoLogDTO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * ClassName: CableInfoLogDao
+ * Package: com.welampiot.dao
+ * Description:
+ *
+ * @Author: zhj_Start
+ * @Create: 2023/4/26 - 15:31
+ * @Version: v1.0
+ */
+public interface CableInfoLogDao {
+    List<CableInfoLogDTO> getCableInfoByDTO(CableInfoLogDTO dto);
+
+    Integer getTimezoneById(@Param("id") Integer id);
+}

+ 160 - 0
src/main/java/com/welampiot/dto/CableInfoLogDTO.java

@@ -0,0 +1,160 @@
+package com.welampiot.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * ClassName: CableDTO
+ * Package: com.welampiot.dto
+ * Description: 电缆日志表
+ *
+ * @Author: zhj_Start
+ * @Create: 2023/4/21 - 10:24
+ * @Version: v1.0
+ */
+@Data
+public class CableInfoLogDTO implements Serializable {
+    /** 主键 **/
+    private Integer id;
+
+    /** 电缆id **/
+    private Integer cableId;
+
+    /** 井盖1X轴角度 **/
+    private  String manhole1X;
+
+    /** 井盖1Y轴角度 **/
+    private  String manhole1Y;
+
+    /** 井盖1Z轴角度 **/
+    private  String manhole1Z;
+
+    /** 井盖1电池电压 **/
+    private String manhole1V;
+
+    /** 井盖1故障状态 **/
+    private Integer manhole1A;
+
+    /** 井盖2X轴角度 **/
+    private  String manhole2X;
+
+    /** 井盖2Y轴角度 **/
+    private  String manhole2Y;
+
+    /** 井盖2Z轴角度 **/
+    private  String manhole2Z;
+
+    /** 井盖2电池电压 **/
+    private String manhole2V;
+
+    /** 井盖2故障状态 **/
+    private Integer manhole2A;
+
+    /** 井盖3X轴角度 **/
+    private  String manhole3X;
+
+    /** 井盖3Y轴角度 **/
+    private  String manhole3Y;
+
+    /** 井盖3Z轴角度 **/
+    private  String manhole3Z;
+
+    /** 井盖3电池电压 **/
+    private String manhole3V;
+
+    /** 井盖3故障状态 **/
+    private Integer manhole3A;
+
+    /** 井盖4X轴角度 **/
+    private  String manhole4X;
+
+    /** 井盖4Y轴角度 **/
+    private  String manhole4Y;
+
+    /** 井盖4Z轴角度 **/
+    private  String manhole4Z;
+
+    /** 井盖4电池电压 **/
+    private String manhole4V;
+
+    /** 井盖4故障状态 **/
+    private Integer manhole4A;
+
+    /** 井盖5X轴角度 **/
+    private  String manhole5X;
+
+    /** 井盖5Y轴角度 **/
+    private  String manhole5Y;
+
+    /** 井盖5Z轴角度 **/
+    private  String manhole5Z;
+
+    /** 井盖5电池电压 **/
+    private String manhole5V;
+
+    /** 井盖5故障状态 **/
+    private Integer manhole5A;
+
+    /** 1号温度值 **/
+    private String temperature1T;
+
+    /** 1号温度电池电压 **/
+    private String temperature1V;
+
+    /** 1号温度告警状态 **/
+    private Integer temperature1A;
+
+    /** 2号温度值 **/
+    private String temperature2T;
+
+    /** 2号温度电池电压 **/
+    private String temperature2V;
+
+    /** 2号温度告警状态 **/
+    private Integer temperature2A;
+
+    /** 3号温度值 **/
+    private String temperature3T;
+
+    /** 3号温度电池电压 **/
+    private String temperature3V;
+
+    /** 3号温度告警状态 **/
+    private Integer temperature3A;
+
+    /** 水浸值 **/
+    private Integer waterW;
+
+    /** 水浸电池电压 **/
+    private String waterV;
+
+    /** 水浸告警状态 **/
+    private Integer waterA;
+
+    private Integer ch4;
+
+    private Integer co;
+
+    private Integer h2s;
+
+    private String o2;
+
+    private String gasV;
+
+    private Integer gasA;
+
+    private String updateTime;
+
+    private Integer lampPoleId;
+
+    private String startDate;
+
+    private String endDate;
+
+    private Integer dataType;
+
+    private Integer timezone;
+
+    private static final long serialVersionUID = 1L;
+}

+ 20 - 0
src/main/java/com/welampiot/service/CableInfoLogService.java

@@ -0,0 +1,20 @@
+package com.welampiot.service;
+
+import com.welampiot.dto.CableInfoLogDTO;
+
+import java.util.List;
+
+/**
+ * ClassName: CableInfoLogService
+ * Package: com.welampiot.service
+ * Description:
+ *
+ * @Author: zhj_Start
+ * @Create: 2023/4/26 - 15:34
+ * @Version: v1.0
+ */
+public interface CableInfoLogService {
+    List<CableInfoLogDTO> getCableInfoByDTO(CableInfoLogDTO dto);
+
+    Integer getTimezoneById(Integer id);
+}

+ 34 - 0
src/main/java/com/welampiot/service/impl/CableInfoLogServiceImpl.java

@@ -0,0 +1,34 @@
+package com.welampiot.service.impl;
+
+import com.welampiot.dao.CableInfoLogDao;
+import com.welampiot.dto.CableInfoLogDTO;
+import com.welampiot.service.CableInfoLogService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * ClassName: CableInfoLogServiceImpl
+ * Package: com.welampiot.service.impl
+ * Description:
+ *
+ * @Author: zhj_Start
+ * @Create: 2023/4/26 - 15:36
+ * @Version: v1.0
+ */
+@Service
+public class CableInfoLogServiceImpl implements CableInfoLogService {
+    @Autowired
+    private CableInfoLogDao cableInfoLogDao;
+
+    @Override
+    public List<CableInfoLogDTO> getCableInfoByDTO(CableInfoLogDTO dto) {
+        return cableInfoLogDao.getCableInfoByDTO(dto);
+    }
+
+    @Override
+    public Integer getTimezoneById(Integer id) {
+        return cableInfoLogDao.getTimezoneById(id);
+    }
+}

+ 24 - 0
src/main/java/com/welampiot/vo/CableInfoLogVO.java

@@ -0,0 +1,24 @@
+package com.welampiot.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * ClassName: CableInfoLogVO
+ * Package: com.welampiot.vo
+ * Description:
+ *
+ * @Author: zhj_Start
+ * @Create: 2023/4/26 - 15:39
+ * @Version: v1.0
+ */
+@Data
+public class CableInfoLogVO implements Serializable {
+    private List<Object> dateList;
+
+    private List<Object> dataList;
+
+    private static final long serialVersionUID = 1L;
+}

+ 33 - 0
src/main/resources/mapper/CableInfoLogMapper.xml

@@ -0,0 +1,33 @@
+<?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.CableInfoLogDao">
+
+    <select id="getCableInfoByDTO" resultType="CableInfoLogDTO">
+        select c.manhole1_X manhole1X,c.manhole1_Y manhole1Y,c.manhole1_Z manhole1Z,c.manhole1_V manhole1V,c.manhole1_A manhole1A,
+               c.manhole2_X manhole2X,c.manhole2_Y manhole2Y,c.manhole2_Z manhole2Z,c.manhole2_V manhole2V,c.manhole2_A manhole2A,
+               c.manhole3_X manhole3X,c.manhole3_Y manhole3Y,c.manhole3_Z manhole3Z,c.manhole3_V manhole3V,c.manhole3_A manhole3A,
+               c.manhole4_X manhole4X,c.manhole4_Y manhole4Y,c.manhole4_Z manhole4Z,c.manhole4_V manhole4V,c.manhole4_A manhole4A,
+               c.manhole5_X manhole5X,c.manhole5_Y manhole5Y,c.manhole5_Z manhole5Z,c.manhole5_V manhole5V,c.manhole5_A manhole5A,
+               c.temperature1_T temperature1T,c.temperature1_V temperature1V,c.temperature1_A temperature1A,c.temperature2_T temperature2T,
+               c.temperature2_V temperature2V,c.temperature2_A temperature2A,c.temperature3_T temperature3T,c.temperature3_V temperature3V,
+               c.temperature3_A temperature3A,c.water_W waterW,c.water_V waterV,c.water_A waterA,c.ch4,c.co,c.h2s,c.o2,c.gas_V gasV,c.gas_A gasA,
+               c.updatetime as updateTime
+        from cable_info_log c left join cable c2 on c2.id = c.cable_id
+        where c.cable_id = #{cableId} and c2.lamp_pole_id = #{lampPoleId}
+            <if test="startDate != null and startDate != ''">
+                and c.updateTime <![CDATA[ >= ]]> #{startDate}
+            </if>
+            <if test="endDate != null and endDate != ''">
+                and c.updatetime <![CDATA[ <= ]]> #{endDate}
+            </if>
+            order by c.updateTime desc
+    </select>
+
+    <select id="getTimezoneById" resultType="Integer">
+        select s.timezone
+        from cable c left join lamp_pole lp on lp.id = c.lamp_pole_id
+        left join section s on lp.sectionid = s.id
+        where c.id = #{id}
+    </select>
+    
+</mapper>

+ 0 - 21
src/main/resources/mapper/WifiInfoLogMapper.xml

@@ -1,21 +1,6 @@
 <?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.WifiInfoLogDao">
-
-<!--    <select id="getWifiOutStatisticsByDTO" resultType="WifiInfoLogDTO">-->
-<!--        select w.updatetime as updateTime,w.voltage,w.current,w.power,w.lna1_cur lna1Cur,w.lna1_vol lna1Vol,-->
-<!--               w.lna2_cur lna2Cur,w.lna2_vol lna2Vol,w.lna3_cur lna3Cur,w.lna3_vol lna3Vol,w.voltageB,w.currentB,-->
-<!--               w.powerB,w.voltageC,w.currentC,w.powerC,w.total_comA totalComA,w.total_comB totalComB,w.total_comC totalComC-->
-<!--        from wifi_info_log w left join wifi on w.wifiid = wifi.id-->
-<!--            left join lamp_pole lp on wifi.lamp_pole_id = lp.id-->
-<!--        where w.wifiid = #{wifiId}-->
-<!--            <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="getWifiOutStatisticsByDTO" resultType="WifiInfoLogDTO">
         select
@@ -56,12 +41,6 @@
         from wifi w left join lamp_pole lp on lp.id = w.lamp_pole_id
         left join section s on lp.sectionid = s.id
         where w.id = #{wifiId}
-        <if test="sectionList != null and !sectionList.isEmpty()">
-            and lp.sectionid in
-            <foreach collection="sectionList" item="dto" open="(" separator="," close=")">
-                #{dto}
-            </foreach>
-        </if>
     </select>
 
 </mapper>