소스 검색

现场档案接口添加2

jichaobo 3 년 전
부모
커밋
b237d6001e

+ 20 - 8
fiveep-controller/src/main/java/com/bizmatics/controller/web/DeviceAttributeController.java

@@ -9,8 +9,6 @@ import com.bizmatics.service.DeviceAttributeService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.List;
-
 /**
  * 设备管理-监控设备
  *
@@ -51,9 +49,9 @@ public class DeviceAttributeController {
     /**
      * 站点管理/设备管理-监控设备-设备列表查询
      *
-     * @param id     device_attribute表主键ID
-     * @param siteId 点位ID
-     * @param size 条数
+     * @param id      device_attribute表主键ID
+     * @param siteId  点位ID
+     * @param size    条数
      * @param current 页数
      * @return
      */
@@ -86,9 +84,23 @@ public class DeviceAttributeController {
      */
     @GetMapping("monitorDeviceList")
     public ApiResult<CommonPage<MonitorDeviceListVO>> monitorDeviceList(@RequestParam(required = false) String siteName,
-                                                                  @RequestParam(value = "size", required = false, defaultValue = "15") int size,
-                                                                  @RequestParam(value = "current", required = false, defaultValue = "1") int current) {
-        return ApiResult.success(deviceAttributeService.monitorDeviceList(siteName,size,current));
+                                                                        @RequestParam(value = "size", required = false, defaultValue = "15") int size,
+                                                                        @RequestParam(value = "current", required = false, defaultValue = "1") int current) {
+        return ApiResult.success(deviceAttributeService.monitorDeviceList(siteName, size, current));
+    }
+
+    /**
+     * 站点管理/设备管理-监控设备-列表导出
+     * @param siteId 站点ID
+     * @param id 监控漫设备ID
+     * @return
+     */
+    @GetMapping("deviceAttributeExport")
+    public ApiResult<String> deviceAttributeExport(@RequestParam int siteId,
+                                                   @RequestParam(value = "id", required = false, defaultValue = "0") int id
+    ) {
+        return ApiResult.success(deviceAttributeService.deviceAttributeExport(id, siteId));
     }
+
 }
 

+ 9 - 18
fiveep-persistence/src/main/resources/mapper/mysql/HtAnalogDataMapper.xml

@@ -193,8 +193,7 @@
         d.id as device_attribute_id
         FROM
         ht_analog_data AS a
-        JOIN device AS b ON a.deviceName = b.device_code
-        JOIN device_analog_variable_list AS c ON b.id = c.communication_equipment
+        JOIN device_analog_variable_list AS c ON a.deviceName = c.device_code
         JOIN device_attribute AS d ON c.monitoring_equipment = d.id
         <where>
                 and a.deviceName IN
@@ -281,8 +280,7 @@
         d.id as device_attribute_id
         FROM
         ht_analog_data AS a
-        JOIN device AS b ON a.deviceName = b.device_code
-        JOIN device_analog_variable_list AS c ON b.id = c.communication_equipment
+        JOIN device_analog_variable_list AS c ON a.deviceName = c.device_code
         JOIN device_attribute AS d ON c.monitoring_equipment = d.id
         <where>
             a.deviceName IN
@@ -370,8 +368,7 @@
         d.id as device_attribute_id
         FROM
         ht_analog_data AS a
-        JOIN device AS b ON a.deviceName = b.device_code
-        JOIN device_analog_variable_list AS c ON b.id = c.communication_equipment
+        JOIN device_analog_variable_list AS c ON a.deviceName = c.device_code
         JOIN device_attribute AS d ON c.monitoring_equipment = d.id
         <where>
             and a.deviceName IN
@@ -458,8 +455,7 @@
         d.id as device_attribute_id
         FROM
         ht_analog_data AS a
-        JOIN device AS b ON a.deviceName = b.device_code
-        JOIN device_analog_variable_list AS c ON b.id = c.communication_equipment
+        JOIN device_analog_variable_list AS c ON a.deviceName = c.device_code
         JOIN device_attribute AS d ON c.monitoring_equipment = d.id
         <where>
             and a.deviceName in
@@ -546,8 +542,7 @@
         d.id as device_attribute_id
         FROM
         ht_analog_data AS a
-        JOIN device AS b ON a.deviceName = b.device_code
-        JOIN device_analog_variable_list AS c ON b.id = c.communication_equipment
+        JOIN device_analog_variable_list AS c ON a.deviceName = c.device_code
         JOIN device_attribute AS d ON c.monitoring_equipment = d.id
         <where>
             and a.deviceName in
@@ -634,8 +629,7 @@
         d.id as device_attribute_id
         FROM
         ht_analog_data AS a
-        JOIN device AS b ON a.deviceName = b.device_code
-        JOIN device_analog_variable_list AS c ON b.id = c.communication_equipment
+        JOIN device_analog_variable_list AS c ON a.deviceName = c.device_code
         JOIN device_attribute AS d ON c.monitoring_equipment = d.id
         <where>
             and a.deviceName in
@@ -722,8 +716,7 @@
         d.id as device_attribute_id
         FROM
         ht_analog_data AS a
-        JOIN device AS b ON a.deviceName = b.device_code
-        JOIN device_analog_variable_list AS c ON b.id = c.communication_equipment
+        JOIN device_analog_variable_list AS c ON a.deviceName = c.device_code
         JOIN device_attribute AS d ON c.monitoring_equipment = d.id
         <where>
             and a.deviceName in
@@ -810,8 +803,7 @@
         d.id as device_attribute_id
         FROM
         ht_analog_data AS a
-        JOIN device AS b ON a.deviceName = b.device_code
-        JOIN device_analog_variable_list AS c ON b.id = c.communication_equipment
+        JOIN device_analog_variable_list AS c ON a.deviceName = c.device_code
         JOIN device_attribute AS d ON c.monitoring_equipment = d.id
         <where>
             and a.deviceName in
@@ -1028,8 +1020,7 @@
         d.id as device_attribute_id
         FROM
         ht_analog_data AS a
-        JOIN device AS b ON a.deviceName = b.device_code
-        JOIN device_analog_variable_list AS c ON b.id = c.communication_equipment
+        JOIN device_analog_variable_list AS c ON a.deviceName = c.device_code
         JOIN device_attribute AS d ON c.monitoring_equipment = d.id
         <where>
             and a.deviceName in

+ 2 - 0
fiveep-service/src/main/java/com/bizmatics/service/DeviceAttributeService.java

@@ -24,4 +24,6 @@ public interface DeviceAttributeService extends CrudService<DeviceAttribute> {
     void deviceNewsDel(int id);
 
     CommonPage<MonitorDeviceListVO> monitorDeviceList(String siteName,Integer size,Integer current);
+
+    String deviceAttributeExport(Integer id, Integer siteId);
 }

+ 56 - 1
fiveep-service/src/main/java/com/bizmatics/service/impl/DeviceAttributeServiceImpl.java

@@ -1,12 +1,17 @@
 package com.bizmatics.service.impl;
 
+import cn.afterturn.easypoi.excel.ExcelExportUtil;
+import cn.afterturn.easypoi.excel.entity.ExportParams;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.bizmatics.common.core.bean.CommonPage;
+import com.bizmatics.common.core.exception.BusinessException;
+import com.bizmatics.common.core.util.BeanMapperUtils;
+import com.bizmatics.common.core.util.FileUtils;
 import com.bizmatics.common.mvc.base.AbstractCrudService;
-import com.bizmatics.model.DeviceAnalogVariableList;
+import com.bizmatics.common.spring.util.GlobalUtils;
 import com.bizmatics.model.DeviceAttribute;
 import com.bizmatics.model.system.SysUser;
 import com.bizmatics.model.vo.MonitorDeviceListVO;
@@ -14,9 +19,15 @@ import com.bizmatics.persistence.mapper.DeviceAttributeMapper;
 import com.bizmatics.service.DeviceAttributeService;
 import com.bizmatics.service.DeviceService;
 import com.bizmatics.service.util.SecurityUtils;
+import com.bizmatics.service.vo.DeviceAttributeExportVO;
+import org.apache.poi.ss.usermodel.Workbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
@@ -79,4 +90,48 @@ public class DeviceAttributeServiceImpl extends AbstractCrudService<DeviceAttrib
         List<MonitorDeviceListVO> monitorDeviceList = baseMapper.monitorDeviceList(siteName,startCurrent,size);
         return new CommonPage<>(monitorDeviceList, total, size,current);
     }
+
+
+    @Override
+    public String deviceAttributeExport(Integer id, Integer siteId) {
+        Integer userId = SecurityUtils.getLoginUser().getUser().getUserId().intValue();
+        Workbook workbook = null;
+        File file = null;
+        try {
+            ExportParams params = new ExportParams(null, "监控设备列表");
+            workbook = ExcelExportUtil.exportBigExcel(params, DeviceAttributeExportVO.class,
+                    (o, i) -> {
+                        Page<DeviceAttribute> page = new Page<DeviceAttribute>(i, 30);
+                        LambdaQueryWrapper<DeviceAttribute> queryWrapper = Wrappers.lambdaQuery();
+                        queryWrapper.eq(DeviceAttribute::getStatus, 1).eq(DeviceAttribute::getSiteId, siteId);
+                        if (id != 0) {
+                            queryWrapper.eq(DeviceAttribute::getId, id);
+                        }
+                        page = this.page(page, queryWrapper);
+                        this.ToCommonPage(page);
+                        return new ArrayList<>(BeanMapperUtils.mapList(page.getRecords(), DeviceAttribute.class, DeviceAttributeExportVO.class));
+                    }, null);
+            if (null != workbook) {
+                file = FileUtils.getFile(GlobalUtils.getTempBaseDir(), String.format("%s-%s.xlsx", "监控设备列表", System.currentTimeMillis() + ""));
+                FileUtils.createFile(file.getAbsolutePath());
+                FileOutputStream allListingFileOutputStream = new FileOutputStream(file);
+                workbook.write(allListingFileOutputStream);
+            } else {
+                throw new BusinessException("表格数据为空");
+            }
+        } catch (Exception e) {
+            log.error("导出文件失败", e);
+            throw new BusinessException("导出文件失败");
+        } finally {
+            if (workbook != null) {
+                try {
+                    workbook.close();
+                } catch (IOException e) {
+                    log.error("===export spec=== 关闭workbook失败", e);
+                }
+            }
+        }
+        return file.getName();
+    }
+
 }

+ 57 - 0
fiveep-service/src/main/java/com/bizmatics/service/vo/DeviceAttributeExportVO.java

@@ -0,0 +1,57 @@
+package com.bizmatics.service.vo;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author yq
+ * @date 2021/7/13 16:21
+ */
+@Data
+public class DeviceAttributeExportVO {
+
+    private Integer id;
+
+    /**
+     * 监控设备编号
+     */
+    @Excel(name = "监控设备编号", height = 6, width = 20)
+    private String monitorDeviceCode;
+    /**
+     * 监控设备名称
+     */
+    @Excel(name = "监控设备名称", height = 6, width = 20)
+    private String monitorDeviceName;
+    /**
+     * 回路表计地址
+     */
+    @Excel(name = "回路表计地址", height = 6, width = 20)
+    private Integer loopMeterAddress;
+    /**
+     * 额定电压(kv)
+     */
+    @Excel(name = "额定电压(kv)", height = 6, width = 20)
+    private Double ratedVoltage;
+
+    /**
+     * 额定电流(A)
+     */
+    @Excel(name = "额定电流(A)", height = 6, width = 20)
+    private Double ratedCurrent;
+    /**
+     * 电流负载率门限
+     */
+    @Excel(name = "电流负载率门限", height = 6, width = 20)
+    private Double currentLoadRate;
+
+    /**
+     * 电能质量分析
+     */
+    @Excel(name = "电能质量分析", height = 6, width = 20)
+    private String qualityAnalysis;
+
+}