Pārlūkot izejas kodu

智诺云设备组件

zhj 2 gadi atpakaļ
vecāks
revīzija
e5648531d3
41 mainītis faili ar 504 papildinājumiem un 13 dzēšanām
  1. 162 3
      src/main/java/com/welampiot/controller/NewLampPoleController2.java
  2. 18 0
      src/main/java/com/welampiot/controller/VideoController.java
  3. 4 0
      src/main/java/com/welampiot/dao/EmergencyInfoLogDao.java
  4. 1 0
      src/main/java/com/welampiot/dao/LampDao.java
  5. 2 0
      src/main/java/com/welampiot/dao/LampInfoCacheByDayDao.java
  6. 2 0
      src/main/java/com/welampiot/dao/LightStripDevDao.java
  7. 2 0
      src/main/java/com/welampiot/dao/ManholeDao.java
  8. 4 0
      src/main/java/com/welampiot/dao/VideoMonitorDao.java
  9. 1 0
      src/main/java/com/welampiot/dao/WifiDao.java
  10. 2 0
      src/main/java/com/welampiot/dto/BroadcastDTO.java
  11. 6 0
      src/main/java/com/welampiot/dto/EnvmonitorDTO.java
  12. 3 1
      src/main/java/com/welampiot/dto/LampInfoCacheByDayDTO.java
  13. 9 0
      src/main/java/com/welampiot/dto/LampInfoDTO.java
  14. 5 0
      src/main/java/com/welampiot/dto/ScreenDTO.java
  15. 7 0
      src/main/java/com/welampiot/dto/WifiDTO.java
  16. 5 0
      src/main/java/com/welampiot/service/EmergencyInfoLogService.java
  17. 2 0
      src/main/java/com/welampiot/service/LampInfoCacheByDayService.java
  18. 1 0
      src/main/java/com/welampiot/service/LampService.java
  19. 3 2
      src/main/java/com/welampiot/service/LightStripDevService.java
  20. 5 4
      src/main/java/com/welampiot/service/ManholeService.java
  21. 2 0
      src/main/java/com/welampiot/service/VideoMonitorService.java
  22. 1 0
      src/main/java/com/welampiot/service/WifiService.java
  23. 10 0
      src/main/java/com/welampiot/service/impl/EmergencyInfoLogServiceImpl.java
  24. 5 0
      src/main/java/com/welampiot/service/impl/LampInfoCacheByDayServiceImpl.java
  25. 5 0
      src/main/java/com/welampiot/service/impl/LampServiceImpl.java
  26. 8 0
      src/main/java/com/welampiot/service/impl/LightStripDevServiceImpl.java
  27. 29 0
      src/main/java/com/welampiot/service/impl/ManholeServiceImpl.java
  28. 10 0
      src/main/java/com/welampiot/service/impl/VideoMonitorServiceImpl.java
  29. 55 0
      src/main/java/com/welampiot/service/impl/WifiServiceImpl.java
  30. 11 0
      src/main/java/com/welampiot/vo/LampPoleDataVO.java
  31. 4 1
      src/main/resources/mapper/BroadcastMapper.xml
  32. 3 1
      src/main/resources/mapper/ChargeMapper.xml
  33. 30 0
      src/main/resources/mapper/EmergencyInfoLogMapper.xml
  34. 3 0
      src/main/resources/mapper/EnvmonitorMapper.xml
  35. 14 0
      src/main/resources/mapper/LampInfoCacheByDayMapper.xml
  36. 15 0
      src/main/resources/mapper/LampMapper.xml
  37. 18 0
      src/main/resources/mapper/LightStripDevMapper.xml
  38. 8 0
      src/main/resources/mapper/ManholeMapper.xml
  39. 4 1
      src/main/resources/mapper/ScreenMapper.xml
  40. 16 0
      src/main/resources/mapper/VideoMonitorMapper.xml
  41. 9 0
      src/main/resources/mapper/WifiMapper.xml

+ 162 - 3
src/main/java/com/welampiot/controller/NewLampPoleController2.java

@@ -1,5 +1,7 @@
 package com.welampiot.controller;
 
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.welampiot.common.BaseResult;
 import com.welampiot.common.InterfaceResultEnum;
 import com.welampiot.dto.*;
@@ -17,9 +19,7 @@ import javax.servlet.http.HttpServletRequest;
 import java.text.DecimalFormat;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 
 /**
  * ClassName: NewLampPoleController2
@@ -58,6 +58,16 @@ public class NewLampPoleController2 {
     private OperationLogService operationLogService;
     @Autowired
     private UserService userService;
+    @Autowired
+    private ScreenService screenService;
+    @Autowired
+    private EnvmonitorService envmonitorService;
+    @Autowired
+    private BroadcastService broadcastService;
+    @Autowired
+    private ManholeService manholeService;
+    @Autowired
+    private LightStripDevService lightStripDevService;
 
     /**
      * 智诺云智慧灯杆列表
@@ -130,6 +140,7 @@ public class NewLampPoleController2 {
 
         // 获取报警列表
         EmergencyInfoLogVO emergencyInfoLogVO = new EmergencyInfoLogVO();
+        emergencyInfoLogVO.setSectionList(toolUtils.getSectionList(request));
         List<EmergencyInfoLogDTO> nowEmList = emergencyInfoLogService.getNowEmergencyInfoLogList(emergencyInfoLogVO);
         List<EmergencyInfoLogDTO> hisEmList = emergencyInfoLogService.getHistoryEmergencyInfoLogList(emergencyInfoLogVO);
         lampPoleDTO.setNowEmList(nowEmList);
@@ -512,4 +523,152 @@ public class NewLampPoleController2 {
         }
         return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,lampPoleDataVO);
     }
+
+    /**
+     * 智诺云设备组件
+     * @param request type,id,lampId
+     * @return 设备组件
+     */
+    @RequestMapping(value = "/lampPoleData", method = RequestMethod.POST)
+    public BaseResult<?> lampPoleData(HttpServletRequest request) throws Exception {
+        Integer version = (Integer) toolUtils.getRequestContent(request, "version", 1);
+        Integer type = (Integer) toolUtils.getRequestContent(request, "type", 1);
+        Integer id = (Integer) toolUtils.getRequestContent(request, "id", 1);
+        Integer lampId = (Integer) toolUtils.getRequestContent(request, "lampId", 1);
+        if (id == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
+
+        LampPoleDataVO lampPoleDataVO = new LampPoleDataVO();
+        if (type == 0) { // 灯控组件
+            LampInfoDTO lampInfoDTO = lampService.getLampOfLampPoleById(id, lampId);
+
+            long startTime = System.currentTimeMillis() - 24L * 3600 * 1000 * 29;
+            long endTime = System.currentTimeMillis();
+            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+            DecimalFormat decimalFormat = new DecimalFormat("0.00");
+            String startDate = simpleDateFormat.format(startTime);
+            String endDate = simpleDateFormat.format(endTime);
+            LampInfoCacheByDayDTO dto = new LampInfoCacheByDayDTO();
+            dto.setLampPoleId(id);
+            dto.setStartDate(startDate);
+            dto.setEndDate(endDate);
+
+            List<Object> dateList = new ArrayList<>();
+            List<Object> eleList = new ArrayList<>();
+            List<Object> saveList = new ArrayList<>();
+            HashMap<String, Integer> objectObjectHashMap = new HashMap<>();
+            long timeT = startTime;
+            int i = 0;
+            while (timeT <= endTime) {
+                objectObjectHashMap.put(simpleDateFormat.format(new Date(timeT)), i);
+                dateList.add(simpleDateFormat.format(new Date(timeT)));
+                eleList.add(0);
+                saveList.add(0);
+                timeT += 3600 * 1000 * 24;
+                i++;
+            }
+
+            List<LampInfoCacheByDayDTO> list = lampInfoCacheByDayService.getNearSaveAndEleList(dto);
+            for (LampInfoCacheByDayDTO dayDTO : list) {
+                Date date = new Date(simpleDateFormat.parse(dto.getUpdateTime()).getTime());
+                String s = simpleDateFormat.format(date);
+                Integer integer = null;
+                if (objectObjectHashMap.containsKey(s)) {
+                    integer = objectObjectHashMap.get(s);
+                }
+
+                // 用电量列表
+                if (dayDTO.getConSum() != null && !dayDTO.getConSum().equals("0") && integer != null) {
+                    Float ele = Float.parseFloat(dto.getConSum());
+                    eleList.set(integer,Float.parseFloat(decimalFormat.format(ele)));
+                }
+                // 省电量列表
+                if (dayDTO.getPowerSave() != null && !dayDTO.getPowerSave().equals("0") && integer != null) {
+                    Float save = Float.parseFloat(dto.getPowerSave());
+                    saveList.set(integer,Float.parseFloat(decimalFormat.format(save)));
+                }
+            }
+
+            lampInfoDTO.setDateList(dateList);
+            lampInfoDTO.setEnergyList(eleList);
+            lampInfoDTO.setPowerSaveList(saveList);
+            lampPoleDataVO.setDataType("lampPoleDataLamp");
+            lampPoleDataVO.setLampData(lampInfoDTO);
+        } else if (type == 1) { // 摄像头
+            VideoMonitorDTO videoMonitorDTO = videoMonitorService.getVideoMonitorByLampPoleId(id);
+            lampPoleDataVO.setVideoData(videoMonitorDTO);
+        } else if (type == 2) { // wifi
+            WifiDTO wifiDTO = wifiService.getWifiByLampPoleId(id);
+            String sendTopic = "", resTopic = "";
+            if (wifiDTO.getModel() == 1 || wifiDTO.getModel() == 5) {
+                sendTopic = "/WEGW2/ReadIn/" + wifiDTO.getNum();
+                resTopic = "/WEGW2/ReadOut/" + wifiDTO.getNum();
+            } else if (wifiDTO.getModel() == 3 || wifiDTO.getModel() == 6) {
+                sendTopic = "/WEGW3/ReadIn/" + wifiDTO.getNum();
+                resTopic = "/WEGW3/ReadOut/" + wifiDTO.getNum();
+            } else if (wifiDTO.getModel() == 0) {
+                sendTopic = "/WEGW/ReadIn/" + wifiDTO.getNum();
+                resTopic = "/WEGW/ReadOut/" + wifiDTO.getNum();
+            }
+            String cmd = "0001B10B";
+            byte[] bytes = toolUtils.hexString2Bytes(cmd);
+            String resCmd = toolUtils.sendMqttCmd(sendTopic, bytes, resTopic);
+            String jsonStr ="{ " + resCmd.substring(bytes.length);
+            JSONObject jsonObject = JSONObject.parseObject(jsonStr);
+            JSONArray deviceList = jsonObject.getJSONArray("BB");
+            List<WifiDeviceDTO> list = new ArrayList<>();
+            for (Object o : deviceList) {
+                JSONObject deviceObject = JSONObject.parseObject(o.toString());
+                WifiDeviceDTO wifiDeviceDTO = JSONObject.toJavaObject(deviceObject, WifiDeviceDTO.class);
+                list.add(wifiDeviceDTO);
+            }
+            wifiDTO.setDeviceList(list);
+            lampPoleDataVO.setDataType("lampPoleDataWifi");
+            lampPoleDataVO.setWifiData(wifiDTO);
+        } else if (type == 4) { // 显示屏
+            ScreenDTO screenDTO = screenService.getScreenByLampPoleId(id);
+            if (screenDTO.getPlayingId() != null) {
+                screenDTO.setProId(screenDTO.getPlayingId());
+            }
+            if (screenDTO.getPlay() != null) {
+                screenDTO.setProName(screenDTO.getPlay());
+            }
+        } else if (type == 5) { // 一键报警
+            List<EmergencyInfoLogDTO> nowEmList = emergencyInfoLogService.getNowLogListByLampPoleId(id);
+            List<EmergencyInfoLogDTO> hisEmList = emergencyInfoLogService.getHisLogListByLampPoleId(id);
+            LampPoleDTO lampPoleDTO = new LampPoleDTO();
+            lampPoleDTO.setNowEmList(nowEmList);
+            lampPoleDTO.setHisEmList(hisEmList);
+            lampPoleDataVO.setDataType("lampPoleDataOneKey");
+            lampPoleDataVO.setOneKeyData(lampPoleDTO);
+        } else if (type == 6) { // 充电桩
+            ChargeDTO chargeDTO = chargeService.getChargeInfoByLampPoleId(id);
+            lampPoleDataVO.setDataType("lampPoleDataCharge");
+            lampPoleDataVO.setChargeData(chargeDTO);
+        } else if (type == 7) { // 气象站
+            EnvmonitorDTO envmonitor = envmonitorService.getEnvmonitorByLampPoleId(id);
+            Double longitude = envmonitor.getLongitude();
+            Double latitude = envmonitor.getLatitude();
+            WeatherDTO weatherInfo = WeatherUtil.getNowWeatherInfo(String.valueOf(longitude), String.valueOf(latitude));
+            envmonitor.setTemp(weatherInfo.getTemp());
+            envmonitor.setWeatherCode(weatherInfo.getIcon());
+            envmonitor.setWeatherText(weatherInfo.getText());
+            envmonitor.setAirCount(weatherInfo.getAqi());
+            envmonitor.setAirLevel(weatherInfo.getLevel());
+            lampPoleDataVO.setDataType("lampPoleDataWeather");
+            lampPoleDataVO.setWeatherData(envmonitor);
+        } else if (type == 9) { // 广播音柱
+            BroadcastDTO broadcastDTO = broadcastService.getBroadcastDTOByLampPoleId(id);
+            lampPoleDataVO.setDataType("lampPoleDataBroadcast");
+            lampPoleDataVO.setBroadcastData(broadcastDTO);
+        } else if (type == 18) { // 倾斜监测
+            ManholeDTO manhole = manholeService.getTiltManholeByLampPoleId(id);
+            lampPoleDataVO.setDataType("lampPoleDataTiltDev");
+            lampPoleDataVO.setTiltDevData(manhole);
+        } else if (type == 20) { // 灯带
+            LightStripDevDTO strip = lightStripDevService.getLightStripByLampPoleId(id);
+            lampPoleDataVO.setDataType("lampPoleDataLightStrip");
+            lampPoleDataVO.setLightStripData(strip);
+        }
+        return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,lampPoleDataVO);
+    }
 }

+ 18 - 0
src/main/java/com/welampiot/controller/VideoController.java

@@ -516,4 +516,22 @@ public class VideoController {
         WebUtils.requestPost(url, param);
         return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version);
     }
+
+    /**
+     * 开关自动巡航
+     * @param request id
+     * @return 开关自动巡航
+     */
+    @RequestMapping(value = "/actionVideoAuto", method = RequestMethod.POST)
+    public BaseResult<?> actionVideoAuto(HttpServletRequest request) {
+        Integer version = (Integer) toolUtils.getRequestContent(request, "version", 1);
+        Integer id = (Integer) toolUtils.getRequestContent(request, "id", 1);
+        Integer status = (Integer) toolUtils.getRequestContent(request, "status", 1);
+        if (id == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
+        VideoMonitorDTO videoMonitorDTO = new VideoMonitorDTO();
+        videoMonitorDTO.setId(id);
+        videoMonitorDTO.setIsAuto(status);
+        videoMonitorService.updateIsAutoStatus(videoMonitorDTO);
+        return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version);
+    }
 }

+ 4 - 0
src/main/java/com/welampiot/dao/EmergencyInfoLogDao.java

@@ -21,4 +21,8 @@ public interface EmergencyInfoLogDao {
     List<EmergencyInfoLogDTO> getNowEmergencyInfoLogList(EmergencyInfoLogVO vo);
 
     List<EmergencyInfoLogDTO> getHistoryEmergencyInfoLogList(EmergencyInfoLogVO vo);
+
+    List<EmergencyInfoLogDTO> getNowLogListByLampPoleId(@Param("lampPoleId") Integer lampPoleId);
+
+    List<EmergencyInfoLogDTO> getHisLogListByLampPoleId(@Param("lampPoleId") Integer lampPoleId);
 }

+ 1 - 0
src/main/java/com/welampiot/dao/LampDao.java

@@ -57,4 +57,5 @@ public interface LampDao {
     int getAlarmCountByVO(LampVO lampVO);
     int getOnlineCountByVO(LampVO lampVO);
     List<LampInfoDTO> getLampSectionAlarmCountTop(LampVO vo);
+    LampInfoDTO getLampOfLampPoleById(@Param("lampPoleId") Integer lampPoleId, @Param("lampId") Integer lampId);
 }

+ 2 - 0
src/main/java/com/welampiot/dao/LampInfoCacheByDayDao.java

@@ -38,4 +38,6 @@ public interface LampInfoCacheByDayDao {
     LampInfoCacheByDayDTO getOneDayConSum(LampInfoCacheByDayDTO dto);
 
     List<LampInfoCacheByDayDTO> getNearDayConSumList(LampInfoCacheByDayDTO dto);
+
+    List<LampInfoCacheByDayDTO> getNearSaveAndEleList(LampInfoCacheByDayDTO dto);
 }

+ 2 - 0
src/main/java/com/welampiot/dao/LightStripDevDao.java

@@ -28,4 +28,6 @@ public interface LightStripDevDao {
     void updateLightStripData(LightStripDevDTO dto);
 
     void deleteLightStripDevData(@Param("id") Integer id);
+
+    LightStripDevDTO getLightStripByLampPoleId(@Param("lampPoleId") Integer lampPoleId);
 }

+ 2 - 0
src/main/java/com/welampiot/dao/ManholeDao.java

@@ -42,4 +42,6 @@ public interface ManholeDao {
     void changeManholeLocationById(ManholeDTO dto);
 
     ManholeDTO getManholeDTOById(@Param("id") Integer id);
+
+    ManholeDTO getTiltManholeByLampPoleId(@Param("lampPoleId") Integer lampPoleId);
 }

+ 4 - 0
src/main/java/com/welampiot/dao/VideoMonitorDao.java

@@ -43,4 +43,8 @@ public interface VideoMonitorDao {
     Integer checkVideoDevId(VideoMonitorDTO dto);
 
     VideoMonitorDTO getTotalCarAndPeople(VideoMonitorVO vo);
+
+    VideoMonitorDTO getVideoMonitorByLampPoleId(@Param("lampPoleId") Integer lampPoleId);
+
+    void updateIsAutoStatus(VideoMonitorDTO dto);
 }

+ 1 - 0
src/main/java/com/welampiot/dao/WifiDao.java

@@ -33,4 +33,5 @@ public interface WifiDao {
     Integer checkWifiData(WifiDTO dto);
     WifiDTO getWifiInfoDetails(WifiDTO dto);
     WifiDTO getTotalWifiCountAndFlow(WifiDTO dto);
+    WifiDTO getWifiByLampPoleId(@Param("lampPoleId") Integer lampPoleId);
 }

+ 2 - 0
src/main/java/com/welampiot/dto/BroadcastDTO.java

@@ -70,6 +70,8 @@ public class BroadcastDTO implements Serializable {
     /** 设别播放素材名 **/
     private String proName;
 
+    private String time;
+
     private String lampPoleName;
 
     private Integer onlineState;

+ 6 - 0
src/main/java/com/welampiot/dto/EnvmonitorDTO.java

@@ -212,5 +212,11 @@ public class EnvmonitorDTO implements Serializable {
 
     List<WeatherRS485DevInfoDTO> devList;
 
+    private String temp;
+    private String weatherCode;
+    private String weatherText;
+    private String airCount;
+    private String airLevel;
+
     private static final long serialVersionUID = 1L;
 }

+ 3 - 1
src/main/java/com/welampiot/dto/LampInfoCacheByDayDTO.java

@@ -17,6 +17,8 @@ import java.util.List;
 public class LampInfoCacheByDayDTO {
     private Integer id;
 
+    private Integer lampPoleId;
+
     private Integer areaId;
 
     private Integer sectionId;
@@ -84,5 +86,5 @@ public class LampInfoCacheByDayDTO {
     private Integer yearLightTime;
     private String newTime;
 
-    private List<Integer> sectionList;
+    private List<?> sectionList;
 }

+ 9 - 0
src/main/java/com/welampiot/dto/LampInfoDTO.java

@@ -18,6 +18,12 @@ public class LampInfoDTO {
     private Integer timezone;
     private int lighteness;
     private Integer status;
+    private String gridVolt;
+    private String girdCurr;
+    private String gridActivePower;
+    private String workTimeTotal;
+    private String usedEnergyTotal;
+    private String powerSave;
     private String gridPF;
     private String name;
     private String voltage;
@@ -86,4 +92,7 @@ public class LampInfoDTO {
     private String startDate;
     private String endDate;
     private Integer total;
+    private List<Object> dateList; // 日期列表
+    private List<Object> energyList; // 用电量列表
+    private List<Object> powerSaveList; // 省电量列表
 }

+ 5 - 0
src/main/java/com/welampiot/dto/ScreenDTO.java

@@ -146,6 +146,11 @@ public class ScreenDTO implements Serializable {
 
     private String widthHeight;
 
+    private String image;
+    private Integer proId;
+    private String proName;
+    private String play;
+
     private String screenImage; // 屏幕截屏图片
 
     private List<Integer> sectionList;

+ 7 - 0
src/main/java/com/welampiot/dto/WifiDTO.java

@@ -300,6 +300,13 @@ public class WifiDTO implements Serializable {
     private static final long serialVersionUID = 1L;
     private Integer version2;
 
+    private List<WifiDeviceDTO> deviceList;
+    private Integer lan0;
+    private Integer lan1;
+    private Integer lan2;
+    private Integer lan3;
+    private Integer lan4;
+
     private Float totalFlaw;
     private Float dayFlaw;
     private String upFlaw;

+ 5 - 0
src/main/java/com/welampiot/service/EmergencyInfoLogService.java

@@ -2,6 +2,7 @@ package com.welampiot.service;
 
 import com.welampiot.dto.EmergencyInfoLogDTO;
 import com.welampiot.vo.EmergencyInfoLogVO;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -20,4 +21,8 @@ public interface EmergencyInfoLogService {
     List<EmergencyInfoLogDTO> getNowEmergencyInfoLogList(EmergencyInfoLogVO vo);
 
     List<EmergencyInfoLogDTO> getHistoryEmergencyInfoLogList(EmergencyInfoLogVO vo);
+
+    List<EmergencyInfoLogDTO> getNowLogListByLampPoleId(@Param("lampPoleId") Integer lampPoleId);
+
+    List<EmergencyInfoLogDTO> getHisLogListByLampPoleId(@Param("lampPoleId") Integer lampPoleId);
 }

+ 2 - 0
src/main/java/com/welampiot/service/LampInfoCacheByDayService.java

@@ -38,4 +38,6 @@ public interface LampInfoCacheByDayService {
     LampInfoCacheByDayDTO getOneDayConSum(LampInfoCacheByDayDTO dto);
 
     List<LampInfoCacheByDayDTO> getNearDayConSumList(LampInfoCacheByDayDTO dto);
+
+    List<LampInfoCacheByDayDTO> getNearSaveAndEleList(LampInfoCacheByDayDTO dto);
 }

+ 1 - 0
src/main/java/com/welampiot/service/LampService.java

@@ -57,4 +57,5 @@ public interface LampService {
     int getAlarmCountByVO(LampVO lampVO);
     int getOnlineCountByVO(LampVO lampVO);
     List<LampInfoDTO> getLampSectionAlarmCountTop(LampVO vo);
+    LampInfoDTO getLampOfLampPoleById(Integer lampPoleId, Integer lampId);
 }

+ 3 - 2
src/main/java/com/welampiot/service/LightStripDevService.java

@@ -2,7 +2,6 @@ package com.welampiot.service;
 
 import com.welampiot.dto.LightStripDevDTO;
 import com.welampiot.vo.LightStripDevVO;
-import org.apache.ibatis.annotations.Param;
 
 /**
  * ClassName: LightStripDevService
@@ -22,5 +21,7 @@ public interface LightStripDevService {
 
     void updateLightStripData(LightStripDevDTO dto);
 
-    void deleteLightStripDevData(@Param("id") Integer id);
+    void deleteLightStripDevData(Integer id);
+
+    LightStripDevDTO getLightStripByLampPoleId(Integer lampPoleId);
 }

+ 5 - 4
src/main/java/com/welampiot/service/ManholeService.java

@@ -2,7 +2,6 @@ package com.welampiot.service;
 
 import com.welampiot.dto.ManholeDTO;
 import com.welampiot.vo.ManholeVO;
-import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -28,11 +27,13 @@ public interface ManholeService {
 
     Integer findByManholeDTO(ManholeDTO dto);
 
-    void deleteManholeDataById(@Param("id") Integer id);
+    void deleteManholeDataById(Integer id);
 
-    void deleteManholeLogDataById(@Param("id") Integer id);
+    void deleteManholeLogDataById(Integer id);
 
     void changeManholeLocationById(ManholeDTO dto);
 
-    ManholeDTO getManholeDTOById(@Param("id") Integer id);
+    ManholeDTO getManholeDTOById(Integer id);
+
+    ManholeDTO getTiltManholeByLampPoleId(Integer lampPoleId);
 }

+ 2 - 0
src/main/java/com/welampiot/service/VideoMonitorService.java

@@ -31,4 +31,6 @@ public interface VideoMonitorService {
     void updateVideoMonitorData(VideoMonitorDTO dto);
     Integer checkVideoDevId(VideoMonitorDTO dto);
     VideoMonitorDTO getTotalCarAndPeople(VideoMonitorVO vo);
+    VideoMonitorDTO getVideoMonitorByLampPoleId(Integer lampPoleId);
+    void updateIsAutoStatus(VideoMonitorDTO dto);
 }

+ 1 - 0
src/main/java/com/welampiot/service/WifiService.java

@@ -35,4 +35,5 @@ public interface WifiService {
     Integer checkWifiData(WifiDTO dto);
     WifiDTO getWifiInfoDetails(WifiDTO dto);
     WifiDTO getTotalWifiCountAndFlow(WifiDTO dto);
+    WifiDTO getWifiByLampPoleId(@Param("lampPoleId") Integer lampPoleId);
 }

+ 10 - 0
src/main/java/com/welampiot/service/impl/EmergencyInfoLogServiceImpl.java

@@ -37,4 +37,14 @@ public class EmergencyInfoLogServiceImpl implements EmergencyInfoLogService {
     public List<EmergencyInfoLogDTO> getHistoryEmergencyInfoLogList(EmergencyInfoLogVO vo) {
         return emergencyInfoLogDao.getHistoryEmergencyInfoLogList(vo);
     }
+
+    @Override
+    public List<EmergencyInfoLogDTO> getNowLogListByLampPoleId(Integer lampPoleId) {
+        return emergencyInfoLogDao.getNowLogListByLampPoleId(lampPoleId);
+    }
+
+    @Override
+    public List<EmergencyInfoLogDTO> getHisLogListByLampPoleId(Integer lampPoleId) {
+        return emergencyInfoLogDao.getHisLogListByLampPoleId(lampPoleId);
+    }
 }

+ 5 - 0
src/main/java/com/welampiot/service/impl/LampInfoCacheByDayServiceImpl.java

@@ -190,4 +190,9 @@ public class LampInfoCacheByDayServiceImpl implements LampInfoCacheByDayService
     public List<LampInfoCacheByDayDTO> getNearDayConSumList(LampInfoCacheByDayDTO dto) {
         return lampInfoCacheByDayDao.getNearDayConSumList(dto);
     }
+
+    @Override
+    public List<LampInfoCacheByDayDTO> getNearSaveAndEleList(LampInfoCacheByDayDTO dto) {
+        return lampInfoCacheByDayDao.getNearSaveAndEleList(dto);
+    }
 }

+ 5 - 0
src/main/java/com/welampiot/service/impl/LampServiceImpl.java

@@ -690,6 +690,11 @@ public class LampServiceImpl implements LampService {
         return lampDao.getLampSectionAlarmCountTop(vo);
     }
 
+    @Override
+    public LampInfoDTO getLampOfLampPoleById(Integer lampPoleId, Integer lampId) {
+        return lampDao.getLampOfLampPoleById(lampPoleId, lampId);
+    }
+
     @Override
     public LampInfoLogNewDTO getComBySectionList(LampVO vo) {
         return lampDao.getComBySectionList(vo);

+ 8 - 0
src/main/java/com/welampiot/service/impl/LightStripDevServiceImpl.java

@@ -279,4 +279,12 @@ public class LightStripDevServiceImpl implements LightStripDevService {
     public void deleteLightStripDevData(Integer id) {
         lightStripDevDao.deleteLightStripDevData(id);
     }
+
+    @Override
+    public LightStripDevDTO getLightStripByLampPoleId(Integer lampPoleId) {
+        LightStripDevDTO dto = lightStripDevDao.getLightStripByLampPoleId(lampPoleId);
+        String content = ToolUtils.getLightStripContent(String.valueOf(dto.getType()), String.valueOf(dto.getMode()));
+        dto.setModeStr(content);
+        return dto;
+    }
 }

+ 29 - 0
src/main/java/com/welampiot/service/impl/ManholeServiceImpl.java

@@ -258,4 +258,33 @@ public class ManholeServiceImpl implements ManholeService {
     public ManholeDTO getManholeDTOById(Integer id) {
         return manholeDao.getManholeDTOById(id);
     }
+
+    @Override
+    public ManholeDTO getTiltManholeByLampPoleId(Integer lampPoleId) {
+        ManholeDTO dto = manholeDao.getTiltManholeByLampPoleId(lampPoleId);
+        String alarmStr1,alarmStr2,alarmStr3,alarmStr4;
+        if (dto.getOpenAlarm() == 1) {
+            alarmStr1 = "打开告警,";
+        } else {
+            alarmStr1 = "打开恢复,";
+        }
+        if (dto.getOverAlarm() == 1) {
+            alarmStr2 = "满溢告警,";
+        } else {
+            alarmStr2 = "满溢恢复,";
+        }
+        if (dto.getAirAlarm() == 1) {
+            alarmStr3 = "气体警告,";
+        } else {
+            alarmStr3 = "气体恢复,";
+        }
+        if (dto.getDisManAlarm() == 1) {
+            alarmStr4 = "拆除警告";
+        } else {
+            alarmStr4 = "拆除恢复";
+        }
+        String alarmInfo = alarmStr1 + alarmStr2 + alarmStr3 + alarmStr4;
+        dto.setAlarmInfo(alarmInfo);
+        return dto;
+    }
 }

+ 10 - 0
src/main/java/com/welampiot/service/impl/VideoMonitorServiceImpl.java

@@ -130,6 +130,16 @@ public class VideoMonitorServiceImpl implements VideoMonitorService {
         return videoMonitorDao.getTotalCarAndPeople(vo);
     }
 
+    @Override
+    public VideoMonitorDTO getVideoMonitorByLampPoleId(Integer lampPoleId) {
+        return videoMonitorDao.getVideoMonitorByLampPoleId(lampPoleId);
+    }
+
+    @Override
+    public void updateIsAutoStatus(VideoMonitorDTO dto) {
+        videoMonitorDao.updateIsAutoStatus(dto);
+    }
+
     @Override
     public VideoMonitorDTO getOneByDevId(String devId) {
         return videoMonitorDao.getOneByDevId(devId);

+ 55 - 0
src/main/java/com/welampiot/service/impl/WifiServiceImpl.java

@@ -207,4 +207,59 @@ public class WifiServiceImpl implements WifiService {
     public WifiDTO getTotalWifiCountAndFlow(WifiDTO dto) {
         return wifiDao.getTotalWifiCountAndFlow(dto);
     }
+
+    @Override
+    public WifiDTO getWifiByLampPoleId(Integer lampPoleId) {
+        WifiDTO dto = wifiDao.getWifiByLampPoleId(lampPoleId);
+        if (dto.getOnline() != null) {
+            dto.setLED1(dto.getOnline());
+        }
+        if (dto.getACI() != null) {
+            dto.setLED8(dto.getACI());
+        }
+        if (dto.getLedStatus() != null && !dto.getLedStatus().isEmpty()) {
+            String ledStatus = dto.getLedStatus();
+            int decimal = Integer.parseInt(ledStatus, 16);
+            String number = String.format("%8s", Integer.toBinaryString(decimal)).replace(' ', '0');
+            char c8 = number.charAt(7); // LED2
+            int number8 = Character.getNumericValue(c8);
+            dto.setLED2(number8);
+            char c7 = number.charAt(6); // LED4
+            int number7 = Character.getNumericValue(c7);
+            dto.setLED4(number7);
+            char c6 = number.charAt(5); // LED3
+            int number6 = Character.getNumericValue(c6);
+            dto.setLED3(number6);
+            char c4 = number.charAt(3); // LED5
+            int number4 = Character.getNumericValue(c4);
+            dto.setLED5(number4);
+            char c3 = number.charAt(2); // LED6
+            int number3 = Character.getNumericValue(c3);
+            dto.setLED6(number3);
+            char c2 = number.charAt(1); // LED7
+            int number2 = Character.getNumericValue(c2);
+            dto.setLED7(number2);
+        }
+        if (dto.getLanStatus() != null && !dto.getLanStatus().isEmpty()) {
+            String lanStatus = dto.getLanStatus();
+            int decimal = Integer.parseInt(lanStatus, 16);
+            String number = String.format("%8s", Integer.toBinaryString(decimal)).replace(' ', '0');
+            char c8 = number.charAt(7); // lan0
+            int number8 = Character.getNumericValue(c8);
+            dto.setLan0(number8);
+            char c7 = number.charAt(6); // lan1
+            int number7 = Character.getNumericValue(c7);
+            dto.setLan1(number7);
+            char c6 = number.charAt(5); // lan2
+            int number6 = Character.getNumericValue(c6);
+            dto.setLan2(number6);
+            char c5 = number.charAt(4); // lan3
+            int number5 = Character.getNumericValue(c5);
+            dto.setLan3(number5);
+            char c4 = number.charAt(3); // lan4
+            int number4 = Character.getNumericValue(c4);
+            dto.setLan4(number4);
+        }
+        return dto;
+    }
 }

+ 11 - 0
src/main/java/com/welampiot/vo/LampPoleDataVO.java

@@ -41,4 +41,15 @@ public class LampPoleDataVO implements Serializable {
     private LampPoleDataDTO dataLogList; // 日志信息列表
 
     private LampPoleInfoVO dataDevCount; // 设备数量信息
+
+    private LampInfoDTO lampData; // 路灯数据
+    private VideoMonitorDTO videoData; // 摄像头数据
+    private WifiDTO wifiData; // WiFi数据
+    private ScreenDTO screenData; // 屏幕数据
+    private LampPoleDTO oneKeyData; // 一键报警数据
+    private ChargeDTO chargeData; // 充电桩数据
+    private EnvmonitorDTO weatherData; // 气象站数据
+    private BroadcastDTO broadcastData; // 广播音柱数据
+    private ManholeDTO tiltDevData; // 倾斜监测数据
+    private LightStripDevDTO lightStripData; // 灯带数据
 }

+ 4 - 1
src/main/resources/mapper/BroadcastMapper.xml

@@ -94,9 +94,12 @@
     </select>
 
     <select id="getBroadcastDTOByLampPoleId" resultType="BroadcastDTO">
-        select b.lamp_pole_id,lp.sectionid as sectionId
+        select b.lamp_pole_id,lp.sectionid as sectionId,b.id,b.itemId as proId,
+               b2.name as proName,b3.time
         from broadcast b
         left join lamp_pole lp on lp.id = b.lamp_pole_id
+        left join broadcast_pro_list b3 on b3.id = b.proId
+        left join broadcast_item b2 on b2.id = b.itemId
         left join section s on lp.sectionid = s.id
         where b.lamp_pole_id = #{lampPoleId}
     </select>

+ 3 - 1
src/main/resources/mapper/ChargeMapper.xml

@@ -136,7 +136,9 @@
     
     <select id="getChargeInfoByLampPoleId" resultType="ChargeDTO">
         select c.type,c.macVoltage,c.power,c.macCurrent,c.voltage,c.current,c.model,c.num,c.chargeModel,
-               c.electricityFee,c.serviceFee,c.connectorCode,c.stationCode,c.createtime as createTime
+               c.electricityFee,c.serviceFee,c.connectorCode,c.stationCode,c.createtime as createTime,
+               c.status,c.bill_amt as billAmt,c.energy,c.starttime as startTime,c.endtime as endTime,
+               c.duration,c.free,c.connectorNum,c.equipmentElectricity,c.macVoltage,c.serviceFee
         from charge c
         where c.lamp_pole_id = #{lampPoleId}
         limit 1

+ 30 - 0
src/main/resources/mapper/EmergencyInfoLogMapper.xml

@@ -57,4 +57,34 @@
         limit 20
     </select>
 
+    <select id="getNowLogListByLampPoleId" resultType="EmergencyInfoLogDTO">
+        select
+        lp.name,
+        e.beginDate as updateTime,
+        s.name as section
+        from emergency_info_log e
+        left join emergency e1 on e.deviceid = e.id
+        left join lamp_pole lp on e1.lamp_pole_id = lp.id
+        left join section s on s.id = lp.sectionid
+        where (e1.status = 2 or e1.status = 3) and lp.id is not null and s.id is not null
+        and lp.id = #{lampPoleId}
+        order by e.beginDate desc
+        limit 10
+    </select>
+
+    <select id="getHisLogListByLampPoleId" resultType="EmergencyInfoLogDTO">
+        select
+        lp.name,
+        e.beginDate as updateTime,
+        s.name as section
+        from emergency_info_log e
+        left join emergency e1 on e.deviceid = e.id
+        left join lamp_pole lp on e1.lamp_pole_id = lp.id
+        left join section s on s.id = lp.sectionid
+        where (e1.status != 2 and e1.status != 3) and lp.id is not null and s.id is not null
+        and lp.id = #{lampPoleId}
+        order by e.beginDate desc
+        limit 20
+    </select>
+
 </mapper>

+ 3 - 0
src/main/resources/mapper/EnvmonitorMapper.xml

@@ -149,6 +149,8 @@
     <select id="getEnvmonitorByLampPoleId" resultType="EnvmonitorDTO">
         select
             e.id,
+            e.longitude,
+            e.latitude,
             e.model,
             e.num,
             e.address,
@@ -163,6 +165,7 @@
             e1.illumination,
             e1.windSpeed,
             e1.windDire,
+            e1.co2,
             e1.updatetime as updateTime,
             n.protocoltype as protocolType
         from

+ 14 - 0
src/main/resources/mapper/LampInfoCacheByDayMapper.xml

@@ -300,4 +300,18 @@
         ORDER BY l.updatetime DESC
     </select>
 
+    <select id="getNearSaveAndEleList" resultType="LampInfoCacheByDayDTO">
+        select l.consum as conSum,
+               l.powerSave,
+               l.updatetime as updateTime
+        from lamp_info_cache_by_day l
+        left join lampinfo l1 on l1.id = l.lampid
+        where l1.lamp_pole_id = #{lampPoleId}
+        and l.updatetime <![CDATA[ <= ]]> #{endDate}
+        <if test="startDate != null and startDate != ''">
+            AND l.updatetime <![CDATA[ >= ]]> #{startDate}
+        </if>
+        order by updateTime desc
+    </select>
+
 </mapper>

+ 15 - 0
src/main/resources/mapper/LampMapper.xml

@@ -1103,4 +1103,19 @@
         LIMIT 10
     </select>
 
+    <!-- 智诺云·智慧灯杆-设备组件:灯控设备组件 -->
+    <select id="getLampOfLampPoleById" resultType="lampInfoDTO">
+        select l.id as lampId,l2.gridvolt as gridVolt,l2.gridcurr as gridCurr,
+               l2.grid_active_power as gridActivePower,l2.gridPF,l2.work_time_total as workTimeTotal,
+               l2.total_gener_energy_cache as usedEnergyTotal,l2.total_ele_save_cache as powerSave,
+               p.name as policyName,l.lighteness
+        from lampinfo l
+        left join lamp_info_log_new l2 on l2.lampid = l.id
+        left join policy p on p.id = l.policyid
+        where l.lamp_pole_id = #{lampPoleId}
+        <if test="lampId != null and lampId != 0">
+            and l.id = #{lampId}
+        </if>
+    </select>
+
 </mapper>

+ 18 - 0
src/main/resources/mapper/LightStripDevMapper.xml

@@ -136,4 +136,22 @@
         where id = #{id};
     </delete>
 
+    <select id="getLightStripByLampPoleId" resultType="LightStripDevDTO">
+        select l.id,l.number,l.name,l.model,l.online,l.online2,l.online3,
+               l.address,l.status,l.color,l.factory,w.model as cloudBoxModel,
+               l.serial_port as serialPort,l.type,l.mode,l.powerSwitch,l.gridVolt,
+               l.gridCurr,l.power,l.freq,l.usedEnergyTotal,l.gridVolt2,l.gridCurr2,
+               l.power2,l.usedEnergyTotal2,l.batVolt,l.batCurr,l.solarPower,
+               l.charge_type as chargeType,l.policyid as policyId,l.switchVol as voltage,
+               l.solarSwitchVol as solarVoltage,lsp.name as policyName,sd.id as mpptDevId,
+               sd.address as mpptDevAddress,sd.type as mpptDevType,sd.serial_port as mpptDevSerialPort,
+               sd.number as mpptDevNumber,sd.name as mpptDevName
+        from light_strip_dev l
+        left join light_strip_policy lsp on lsp.id = l.policyid
+        left join lamp_pole lp on lp.id = l.lamp_pole_id
+        left join solar_dev sd on lp.id = sd.lamp_pole_id
+        left join wifi w on lp.id = w.lamp_pole_id
+        where l.lamp_pole_id = #{lampPoleId}
+    </select>
+
 </mapper>

+ 8 - 0
src/main/resources/mapper/ManholeMapper.xml

@@ -194,4 +194,12 @@
         where m.id = #{id}
     </select>
 
+    <select id="getTiltManholeByLampPoleId" resultType="ManholeDTO">
+        select td.id,td.address,m.online,m.angle,m.openAlarm,m.overAlarm,
+               m.airAlarm,m.dismanAlarm
+        from manhole m
+        left join tilt_dev td on m.address = td.address
+        where td.lamp_pole_id = #{lampPoleId}
+    </select>
+
 </mapper>

+ 4 - 1
src/main/resources/mapper/ScreenMapper.xml

@@ -123,14 +123,17 @@
             s.netStatus,
             s.status,
             s.light,
+            s.maxLight,
             s.volume,
             s.width,
             s.height,
             s.playingid as playingId,
             p.name as play,
-            s.type
+            s.type,
+            vm.image
         from screen s
         LEFT JOIN program p ON s.playingid = p.id
+        LEFT JOIN video_monitor vm on vm.id = s.videoid
         where s.lamp_pole_id = #{lampPoleId}
         limit 1
     </select>

+ 16 - 0
src/main/resources/mapper/VideoMonitorMapper.xml

@@ -401,4 +401,20 @@
         </if>
     </select>
 
+    <select id="getVideoMonitorByLampPoleId" resultType="VideoMonitorDTO">
+        select
+            v.id as videoId,v.is_auto as isAuto,v.rtmpHd,v.rtmp,v.hls,v.hlsHd,
+            v.deviceType,v.net_type as netType
+        from video_monitor v
+        where v.lamp_pole_id = #{lampPoleId}
+    </select>
+
+    <update id="updateIsAutoStatus" parameterType="VideoMonitorDTO">
+        update
+            video_monitor v
+        set
+            v.is_auto = #{isAuto}
+        where v.id = #{id}
+    </update>
+
 </mapper>

+ 9 - 0
src/main/resources/mapper/WifiMapper.xml

@@ -284,4 +284,13 @@
             and lp.areaid = #{areaId}
         </if>
     </select>
+
+    <select id="getWifiByLampPoleId" resultType="WifiDTO">
+        select
+            w.num,w.model,w.status,w.net_type as netType,w.device_count deviceCount,
+            w.flow,w.day_flow as dayFlow,w.day_device_count as dayDeviceCount,w.power,
+            w.lanStatus,w.ledStatus,w.online,w.ACI,w.voltage,w.current,w.power_factor as powerFactor
+        from wifi w
+        where w.lamp_pole_id = #{lampPoleId}
+    </select>
 </mapper>