Pārlūkot izejas kodu

开发电池电量履历和设备状态履历

gao.qiang 1 mēnesi atpakaļ
vecāks
revīzija
50028ea767

+ 47 - 0
business-service/src/main/java/com/ozs/service/entity/vo/DeviceResumeResp.java

@@ -0,0 +1,47 @@
+package com.ozs.service.entity.vo;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ozs.common.annotation.Excel;
+import com.ozs.common.vo.PageVo;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author Administrator
+ * 设备状态履历
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class DeviceResumeResp extends PageVo implements Serializable {
+    private static final long serialVersionUID = 1L;
+    private Integer installMile;
+    @Excel(name = "监控相机安装里程位置(单位KM)")
+    private String installMileName;
+    @Excel(name = "测点名称")
+    private String measurePointName;
+    @Excel(name = "线路名称")
+    private String railwayName;
+    @Excel(name = "所属工务段名称")
+    private String deptName;
+    @Excel(name = "行别")
+    private String lineDir;
+    @Excel(name = "相机编码")
+    private String cameraCode;
+    @Excel(name = "序列号")
+    private String cameraSn;
+    @Excel(name = "线路类型",readConverterExp = "1=高铁,2=普铁")
+    private Integer railwayType;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "新增时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime ;
+    @Excel(name = "相机状态",readConverterExp = "1=正常,2=故障")
+    private String isDisable;
+}

+ 46 - 0
business-service/src/main/java/com/ozs/service/entity/vo/ElectricityResumeResp.java

@@ -0,0 +1,46 @@
+package com.ozs.service.entity.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ozs.common.annotation.Excel;
+import com.ozs.common.vo.PageVo;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author Administrator
+ * 设备状态履历
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class ElectricityResumeResp extends PageVo implements Serializable {
+    private static final long serialVersionUID = 1L;
+    private Integer installMile;
+    @Excel(name = "监控相机安装里程位置(单位KM)")
+    private String installMileName;
+    @Excel(name = "测点名称")
+    private String measurePointName;
+    @Excel(name = "线路名称")
+    private String railwayName;
+    @Excel(name = "所属工务段名称")
+    private String deptName;
+    @Excel(name = "行别")
+    private String lineDir;
+    @Excel(name = "相机编码")
+    private String cameraCode;
+    @Excel(name = "序列号")
+    private String cameraSn;
+    @Excel(name = "线路类型",readConverterExp = "1=高铁,2=普铁")
+    private Integer railwayType;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "新增时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime ;
+    @Excel(name = "电量(%)")
+    private Integer electricity;
+}

+ 4 - 0
business-service/src/main/java/com/ozs/service/mapper/BaseDeviceResumeMapper.java

@@ -3,6 +3,7 @@ package com.ozs.service.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ozs.service.entity.BaseDeviceResume;
 import com.ozs.service.entity.vo.BaseDeviceResumeVo;
+import com.ozs.service.entity.vo.DeviceResumeResp;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -11,4 +12,7 @@ import java.util.List;
 @Mapper
 public interface BaseDeviceResumeMapper extends BaseMapper<BaseDeviceResume> {
     List<BaseDeviceResumeVo> getBaseDeviceResume(@Param("cameraCode")String cameraCode, @Param("startTime")String startTime, @Param("endTime")String endTime);
+
+
+    List<DeviceResumeResp> exportDeviceResume(@Param("cameraCode")String cameraCode, @Param("startTime")String startTime, @Param("endTime")String endTime);
 }

+ 3 - 0
business-service/src/main/java/com/ozs/service/mapper/BaseElectricityResumeMapper.java

@@ -3,6 +3,7 @@ package com.ozs.service.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ozs.service.entity.BaseElectricityResume;
 import com.ozs.service.entity.vo.BaseElectricityResumeVo;
+import com.ozs.service.entity.vo.ElectricityResumeResp;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -11,4 +12,6 @@ import java.util.List;
 @Mapper
 public interface BaseElectricityResumeMapper extends BaseMapper<BaseElectricityResume> {
     List<BaseElectricityResumeVo> getBaseElectricityResume(@Param("cameraCode")String cameraCode, @Param("startTime")String startTime, @Param("endTime")String endTime);
+
+    List<ElectricityResumeResp> exportElectricityResume(@Param("cameraCode")String cameraCode, @Param("startTime")String startTime, @Param("endTime")String endTime);
 }

+ 3 - 0
business-service/src/main/java/com/ozs/service/service/BaseDeviceResumeService.java

@@ -3,9 +3,12 @@ package com.ozs.service.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ozs.service.entity.BaseDeviceResume;
 import com.ozs.service.entity.vo.BaseDeviceResumeVo;
+import com.ozs.service.entity.vo.DeviceResumeResp;
 
 import java.util.List;
 
 public interface BaseDeviceResumeService extends IService<BaseDeviceResume> {
     List<BaseDeviceResumeVo> getBaseDeviceResume(String cameraCode, String startTime, String endTime);
+
+    List<DeviceResumeResp> exportDeviceResume(String cameraCode, String startTime, String endTime);
 }

+ 3 - 0
business-service/src/main/java/com/ozs/service/service/BaseElectricityResumeService.java

@@ -3,9 +3,12 @@ package com.ozs.service.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ozs.service.entity.BaseElectricityResume;
 import com.ozs.service.entity.vo.BaseElectricityResumeVo;
+import com.ozs.service.entity.vo.ElectricityResumeResp;
 
 import java.util.List;
 
 public interface BaseElectricityResumeService  extends IService<BaseElectricityResume> {
     List<BaseElectricityResumeVo> getBaseElectricityResume(String cameraCode, String startTime, String endTime);
+
+    List<ElectricityResumeResp> exportElectricityResume(String cameraCode, String startTime, String endTime);
 }

+ 12 - 0
business-service/src/main/java/com/ozs/service/service/impl/BaseDeviceResumeServiceImpl.java

@@ -5,10 +5,12 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ozs.common.utils.AppendUtils;
 import com.ozs.service.entity.BaseDeviceResume;
 import com.ozs.service.entity.vo.BaseDeviceResumeVo;
+import com.ozs.service.entity.vo.DeviceResumeResp;
 import com.ozs.service.mapper.BaseDeviceResumeMapper;
 import com.ozs.service.service.BaseDeviceResumeService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+
 import java.util.List;
 
 /**
@@ -28,4 +30,14 @@ public class BaseDeviceResumeServiceImpl extends ServiceImpl<BaseDeviceResumeMap
         }
         return baseDeviceResume;
     }
+
+    @Override
+    public List<DeviceResumeResp> exportDeviceResume(String cameraCode, String startTime, String endTime) {
+        List<DeviceResumeResp> deviceResumeRespList = baseDeviceResumeMapper.exportDeviceResume(cameraCode, startTime, endTime);
+        for (DeviceResumeResp deviceResumeResp : deviceResumeRespList) {
+            String mils = AppendUtils.stringAppend(deviceResumeResp.getInstallMile());
+            deviceResumeResp.setInstallMileName(mils);
+        }
+        return deviceResumeRespList;
+    }
 }

+ 15 - 3
business-service/src/main/java/com/ozs/service/service/impl/BaseElectricityResumeServiceImpl.java

@@ -6,6 +6,7 @@ import com.ozs.common.utils.AppendUtils;
 import com.ozs.service.entity.BaseElectricityResume;
 import com.ozs.service.entity.vo.BaseDeviceResumeVo;
 import com.ozs.service.entity.vo.BaseElectricityResumeVo;
+import com.ozs.service.entity.vo.ElectricityResumeResp;
 import com.ozs.service.mapper.BaseElectricityResumeMapper;
 import com.ozs.service.service.BaseElectricityResumeService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -25,10 +26,21 @@ public class BaseElectricityResumeServiceImpl extends ServiceImpl<BaseElectricit
     public List<BaseElectricityResumeVo> getBaseElectricityResume(String cameraCode, String startTime, String endTime) {
         List<BaseElectricityResumeVo> baseElectricityResume = baseElectricityResumeMapper.getBaseElectricityResume(cameraCode, startTime, endTime);
 
-        for (BaseElectricityResumeVo baseDeviceResume : baseElectricityResume) {
-            String installMile = AppendUtils.stringAppend(baseDeviceResume.getInstallMile());
-            baseDeviceResume.setInstallMiles(installMile);
+        for (BaseElectricityResumeVo baseElectricityResumeVo : baseElectricityResume) {
+            String installMile = AppendUtils.stringAppend(baseElectricityResumeVo.getInstallMile());
+            baseElectricityResumeVo.setInstallMiles(installMile);
         }
         return baseElectricityResume;
     }
+
+    @Override
+    public List<ElectricityResumeResp> exportElectricityResume(String cameraCode, String startTime, String endTime) {
+        List<ElectricityResumeResp> baseElectricityResumeVoList = baseElectricityResumeMapper.exportElectricityResume(cameraCode, startTime, endTime);
+
+        for (ElectricityResumeResp electricityResumeResp : baseElectricityResumeVoList) {
+            String installMile = AppendUtils.stringAppend(electricityResumeResp.getInstallMile());
+            electricityResumeResp.setInstallMileName(installMile);
+        }
+        return baseElectricityResumeVoList;
+    }
 }

+ 46 - 0
business-service/src/main/resources/mapper/service/BaseDeviceResumeMapper.xml

@@ -46,4 +46,50 @@
         </where>
         ORDER BY de.create_time desc
     </select>
+    <select id="exportDeviceResume" resultType="com.ozs.service.entity.vo.DeviceResumeResp">
+        SELECT
+        ca.measure_point_name AS measurePointName,
+        ra.railway_name AS railwayName,
+        de.create_time  AS createTime,
+        ca.install_mile AS installMile,
+        pt.dept_name AS deptName,
+        de.camera_code AS cameraCode,
+        ca.camera_sn AS cameraSn,
+        de.is_disable AS isDisable,
+        de.create_time  AS createTime,
+        CASE
+        line_dir
+        WHEN 1 THEN
+        '上行'
+        WHEN 2 THEN
+        '下行'
+        WHEN 3 THEN
+        '上下行'
+        END AS lineDir,
+        ra.railway_type AS railwayType,
+        COUNT(CASE WHEN de.is_disable = 2 THEN 1 END) OVER () AS faultNum
+        FROM
+        base_device_resume AS de
+        LEFT JOIN base_camera_management AS ca ON de.camera_code = ca.camera_code
+        LEFT JOIN base_railway_management AS ra ON ca.railway_code = ra.railway_code
+        LEFT JOIN sys_dept AS pt ON ca.dept_id = pt.dept_id
+        <where>
+            <if test="cameraCode != null and cameraCode != ''">
+                AND de.camera_code=#{cameraCode}
+            </if>
+            <if test="startTime != null and startTime != ''">
+                AND de.create_time &gt;=#{startTime}
+            </if>
+            <if test="startTime == null or startTime == ''">
+                AND de.create_time &gt;= DATE_SUB(NOW(), INTERVAL 24 HOUR)
+            </if>
+            <if test="endTime != null and endTime != ''">
+                AND de.create_time &lt;=#{endTime}
+            </if>
+            <if test="endTime == null and endTime == ''">
+                AND de.create_time &lt;= NOW()
+            </if>
+        </where>
+        ORDER BY de.create_time desc
+    </select>
 </mapper>

+ 45 - 0
business-service/src/main/resources/mapper/service/BaseElectricityResumeMapper.xml

@@ -39,4 +39,49 @@
         </where>
         ORDER BY de.create_time desc
     </select>
+    <select id="exportElectricityResume" resultType="com.ozs.service.entity.vo.ElectricityResumeResp">
+        SELECT
+        ca.measure_point_name AS measurePointName,
+        ra.railway_name AS railwayName,
+        de.create_time  AS createTime,
+        ca.install_mile AS installMile,
+        pt.dept_name AS deptName,
+        de.camera_code AS cameraCode,
+        ca.camera_sn AS cameraSn,
+        de.create_time  AS createTime,
+        de.electricity AS electricity,
+        CASE
+        line_dir
+        WHEN 1 THEN
+        '上行'
+        WHEN 2 THEN
+        '下行'
+        WHEN 3 THEN
+        '上下行'
+        END AS lineDir,
+        ra.railway_type AS railwayType
+        FROM
+        base_electricity_resume AS de
+        LEFT JOIN base_camera_management AS ca ON de.camera_code = ca.camera_code
+        LEFT JOIN base_railway_management AS ra ON ca.railway_code = ra.railway_code
+        LEFT JOIN sys_dept AS pt ON ca.dept_id = pt.dept_id
+        <where>
+            <if test="cameraCode != null and cameraCode != ''">
+                AND de.camera_code=#{cameraCode}
+            </if>
+            <if test="startTime != null and startTime != ''">
+                AND de.create_time &gt;=#{startTime}
+            </if>
+            <if test="startTime == null or startTime == ''">
+                AND de.create_time &gt;= DATE_SUB(NOW(), INTERVAL 24 HOUR)
+            </if>
+            <if test="endTime != null and endTime != ''">
+                AND de.create_time &lt;=#{endTime}
+            </if>
+            <if test="endTime == null and endTime == ''">
+                AND de.create_time &lt;= NOW()
+            </if>
+        </where>
+        ORDER BY de.create_time desc
+    </select>
 </mapper>

+ 19 - 4
hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/BaseDeviceResumeController.java

@@ -5,15 +5,15 @@ import com.ozs.common.annotation.Log;
 import com.ozs.common.core.controller.BaseController;
 import com.ozs.common.core.domain.AjaxResult;
 import com.ozs.common.enums.BusinessType;
+import com.ozs.common.utils.poi.ExcelUtil;
 import com.ozs.service.entity.vo.BaseDeviceResumeVo;
+import com.ozs.service.entity.vo.DeviceResumeResp;
 import com.ozs.service.service.BaseDeviceResumeService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletResponse;
 import java.util.List;
 
 /**
@@ -38,4 +38,19 @@ public class BaseDeviceResumeController extends BaseController {
         List<BaseDeviceResumeVo> baseDevicResumeVoList = baseDeviceResumeService.getBaseDeviceResume(cameraCode, startTime, endTime);
         return AjaxResult.success(baseDevicResumeVoList);
     }
+
+    /**
+     * 导出设备状态履历
+     *
+     * @param response
+     */
+    @GetMapping("/exportDeviceResume")
+    @Log(title = "设备状态履历", businessType = BusinessType.EXPORT)
+    public void exportDeviceResume(HttpServletResponse response, @RequestParam(value = "cameraCode") String cameraCode,
+                                   @RequestParam(value ="startTime", required = false) String startTime,
+                                   @RequestParam(value ="endTime", required = false) String endTime) {
+        List<DeviceResumeResp> deviceResumeRespList = baseDeviceResumeService.exportDeviceResume(cameraCode, startTime, endTime);
+        ExcelUtil<DeviceResumeResp> util = new ExcelUtil<>(DeviceResumeResp.class);
+        util.exportExcel(response, deviceResumeRespList, "设备状态履历数据导出失败");
+    }
 }

+ 20 - 0
hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/BaseElectricityResumeController.java

@@ -5,8 +5,11 @@ import com.ozs.common.annotation.Log;
 import com.ozs.common.core.controller.BaseController;
 import com.ozs.common.core.domain.AjaxResult;
 import com.ozs.common.enums.BusinessType;
+import com.ozs.common.utils.poi.ExcelUtil;
 import com.ozs.service.entity.vo.BaseDeviceResumeVo;
 import com.ozs.service.entity.vo.BaseElectricityResumeVo;
+import com.ozs.service.entity.vo.DeviceResumeResp;
+import com.ozs.service.entity.vo.ElectricityResumeResp;
 import com.ozs.service.service.BaseElectricityResumeService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -15,6 +18,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.servlet.http.HttpServletResponse;
 import java.util.List;
 
 /**
@@ -39,4 +43,20 @@ public class BaseElectricityResumeController extends BaseController {
         List<BaseElectricityResumeVo> baseElectricityResumeVoList = baseElectricityResumeService.getBaseElectricityResume(cameraCode, startTime, endTime);
         return AjaxResult.success(baseElectricityResumeVoList);
     }
+
+
+    /**
+     * 导出电池电量状态履历
+     *
+     * @param response
+     */
+    @GetMapping("/exportElectricityResume")
+    @Log(title = "电池电量状态履历", businessType = BusinessType.EXPORT)
+    public void exportElectricityResume(HttpServletResponse response, @RequestParam(value = "cameraCode") String cameraCode,
+                                   @RequestParam(value ="startTime", required = false) String startTime,
+                                   @RequestParam(value ="endTime", required = false) String endTime) {
+        List<ElectricityResumeResp> electricityResumeRespList = baseElectricityResumeService.exportElectricityResume(cameraCode, startTime, endTime);
+        ExcelUtil<ElectricityResumeResp> util = new ExcelUtil<>(ElectricityResumeResp.class);
+        util.exportExcel(response, electricityResumeRespList, "电池电量状态履历数据导出失败");
+    }
 }