diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/DataOpsExportController.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/DataOpsExportController.java index 197fc63..147524d 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/DataOpsExportController.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/DataOpsExportController.java @@ -1,5 +1,7 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.convert.Convert; import cn.hutool.core.util.StrUtil; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelWriter; @@ -12,10 +14,11 @@ import com.casic.missiles.modular.system.converter.EasyExcelLocalDateConverter; import com.casic.missiles.modular.system.enums.AlarmDataExportEnum; import com.casic.missiles.modular.system.enums.DeviceDataExportEnum; +import com.casic.missiles.modular.system.enums.DeviceRepDataExportEnum; import com.casic.missiles.modular.system.model.Device; +import com.casic.missiles.modular.system.model.DeviceType; import com.casic.missiles.modular.system.service.DeviceDataListService; -import com.casic.missiles.modular.system.service.IBusDeviceSupportService; -import com.casic.missiles.modular.system.service.IDataAnalysisService; +import com.casic.missiles.modular.system.service.IBusDeviceTypeSupportService; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; @@ -23,11 +26,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -38,26 +37,29 @@ @Slf4j @RestController public class DataOpsExportController extends ExportController { - @Resource - private IDataAnalysisService deviceService; + @Resource private AbstractPermissionContext permissionService; @Resource - private IBusDeviceSupportService busDeviceSupportService; + private IBusDeviceTypeSupportService deviceTypeSupportService; @Resource private DeviceDataListService deviceDataListService; @GetMapping(value = "/data/deviceExport") - public void simExport(Integer deviceType) throws IOException { + public void simExport(Integer deviceType) { + DeviceDataExportEnum exportEnum = DeviceDataExportEnum.typeOf(deviceType); if (exportEnum == null) { throw new ServiceException(500, "设备类型不存在"); } - + Map typeMap = getDeviceTypes(); LambdaQueryWrapper query = new LambdaQueryWrapper(); + List> list = deviceDataListService.selectDeviceList(exportEnum, query); + wrapDeviceType(typeMap, list); if (deviceType == 10) { List> listTwo = deviceDataListService.selectDeviceList(DeviceDataExportEnum.DATA_GASLIQUID_1, query); + wrapDeviceType(typeMap, listTwo); List sheetDataList = new ArrayList<>(); SheetData sheetData = new SheetData(); @@ -73,16 +75,53 @@ sheetDataList.add(sheetData); sheetDataList.add(sheetData1); exportMuti(sheetDataList); + } else { export(exportEnum.getDataFieldDefine(), list, exportEnum.getTableName()); } } + private void wrapDeviceType(Map typeMap, List> maps) { + if (CollectionUtil.isNotEmpty(maps)) { + maps.stream().forEach(map -> { + if (map.containsKey("device_type") && map.get("device_type") != null) { + map.put("device_type", typeMap.get(Convert.toStr(map.get("device_type"))).getTypeName()); + } + }); + } + } + + /** + * 设备类型读取 + * + * @return 设备类型 + */ + private Map getDeviceTypes() { + List types = deviceTypeSupportService.list(); + Map typeMap = new HashMap<>(); + types.forEach(type -> typeMap.put(String.valueOf(type.getId()), type)); + return typeMap; + } + @GetMapping(value = "/data/alarmExport") - public void alarmExport(Integer deviceType,String startTime,String endTime){ + public void alarmExport(Integer deviceType, String startTime, String endTime) { //告警统计查询 - List> alarms = deviceDataListService.selectAlarmRecords(deviceType,startTime,endTime); - export(AlarmDataExportEnum.DATA_ALARM.getDefines(),alarms,AlarmDataExportEnum.DATA_ALARM.name()); + Map typeMap = getDeviceTypes(); + List> alarms = deviceDataListService.selectAlarmRecords(deviceType, startTime, endTime); + wrapDeviceType(typeMap, alarms); + export(AlarmDataExportEnum.DATA_ALARM.getDefines(), alarms, AlarmDataExportEnum.DATA_ALARM.name()); + } + + @GetMapping(value = "/data/dataExport") + public void dataExport(Integer deviceType, String startTime, String endTime) { + DeviceRepDataExportEnum exportEnum = DeviceRepDataExportEnum.typeOf(deviceType); + if (exportEnum == null) { + throw new ServiceException(500, "设备类型不能为空"); + } + Map typeMap = getDeviceTypes(); + List> reportDataNums = deviceDataListService.selectReportDataNum(exportEnum, startTime, endTime); + wrapDeviceType(typeMap, reportDataNums); + export(exportEnum.getDefines(), reportDataNums, exportEnum.name()); } @SneakyThrows diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/DataOpsExportController.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/DataOpsExportController.java index 197fc63..147524d 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/DataOpsExportController.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/DataOpsExportController.java @@ -1,5 +1,7 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.convert.Convert; import cn.hutool.core.util.StrUtil; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelWriter; @@ -12,10 +14,11 @@ import com.casic.missiles.modular.system.converter.EasyExcelLocalDateConverter; import com.casic.missiles.modular.system.enums.AlarmDataExportEnum; import com.casic.missiles.modular.system.enums.DeviceDataExportEnum; +import com.casic.missiles.modular.system.enums.DeviceRepDataExportEnum; import com.casic.missiles.modular.system.model.Device; +import com.casic.missiles.modular.system.model.DeviceType; import com.casic.missiles.modular.system.service.DeviceDataListService; -import com.casic.missiles.modular.system.service.IBusDeviceSupportService; -import com.casic.missiles.modular.system.service.IDataAnalysisService; +import com.casic.missiles.modular.system.service.IBusDeviceTypeSupportService; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; @@ -23,11 +26,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -38,26 +37,29 @@ @Slf4j @RestController public class DataOpsExportController extends ExportController { - @Resource - private IDataAnalysisService deviceService; + @Resource private AbstractPermissionContext permissionService; @Resource - private IBusDeviceSupportService busDeviceSupportService; + private IBusDeviceTypeSupportService deviceTypeSupportService; @Resource private DeviceDataListService deviceDataListService; @GetMapping(value = "/data/deviceExport") - public void simExport(Integer deviceType) throws IOException { + public void simExport(Integer deviceType) { + DeviceDataExportEnum exportEnum = DeviceDataExportEnum.typeOf(deviceType); if (exportEnum == null) { throw new ServiceException(500, "设备类型不存在"); } - + Map typeMap = getDeviceTypes(); LambdaQueryWrapper query = new LambdaQueryWrapper(); + List> list = deviceDataListService.selectDeviceList(exportEnum, query); + wrapDeviceType(typeMap, list); if (deviceType == 10) { List> listTwo = deviceDataListService.selectDeviceList(DeviceDataExportEnum.DATA_GASLIQUID_1, query); + wrapDeviceType(typeMap, listTwo); List sheetDataList = new ArrayList<>(); SheetData sheetData = new SheetData(); @@ -73,16 +75,53 @@ sheetDataList.add(sheetData); sheetDataList.add(sheetData1); exportMuti(sheetDataList); + } else { export(exportEnum.getDataFieldDefine(), list, exportEnum.getTableName()); } } + private void wrapDeviceType(Map typeMap, List> maps) { + if (CollectionUtil.isNotEmpty(maps)) { + maps.stream().forEach(map -> { + if (map.containsKey("device_type") && map.get("device_type") != null) { + map.put("device_type", typeMap.get(Convert.toStr(map.get("device_type"))).getTypeName()); + } + }); + } + } + + /** + * 设备类型读取 + * + * @return 设备类型 + */ + private Map getDeviceTypes() { + List types = deviceTypeSupportService.list(); + Map typeMap = new HashMap<>(); + types.forEach(type -> typeMap.put(String.valueOf(type.getId()), type)); + return typeMap; + } + @GetMapping(value = "/data/alarmExport") - public void alarmExport(Integer deviceType,String startTime,String endTime){ + public void alarmExport(Integer deviceType, String startTime, String endTime) { //告警统计查询 - List> alarms = deviceDataListService.selectAlarmRecords(deviceType,startTime,endTime); - export(AlarmDataExportEnum.DATA_ALARM.getDefines(),alarms,AlarmDataExportEnum.DATA_ALARM.name()); + Map typeMap = getDeviceTypes(); + List> alarms = deviceDataListService.selectAlarmRecords(deviceType, startTime, endTime); + wrapDeviceType(typeMap, alarms); + export(AlarmDataExportEnum.DATA_ALARM.getDefines(), alarms, AlarmDataExportEnum.DATA_ALARM.name()); + } + + @GetMapping(value = "/data/dataExport") + public void dataExport(Integer deviceType, String startTime, String endTime) { + DeviceRepDataExportEnum exportEnum = DeviceRepDataExportEnum.typeOf(deviceType); + if (exportEnum == null) { + throw new ServiceException(500, "设备类型不能为空"); + } + Map typeMap = getDeviceTypes(); + List> reportDataNums = deviceDataListService.selectReportDataNum(exportEnum, startTime, endTime); + wrapDeviceType(typeMap, reportDataNums); + export(exportEnum.getDefines(), reportDataNums, exportEnum.name()); } @SneakyThrows diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DeviceDataListMapper.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DeviceDataListMapper.java index a78f2c9..0fef119 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DeviceDataListMapper.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DeviceDataListMapper.java @@ -57,4 +57,6 @@ List> selectDeviceList(@Param("tableName") String tableName,@Param("tableColumns")String tableColumns,@Param("orderColumn")String orderColumn); List> selectAlarmRecords(@Param("deviceType")Integer deviceType,@Param("startTime")String startTime, @Param("endTime")String endTime); + + List> selectReportDataNum(@Param("deviceType")int index,@Param("tableName") String tableName, @Param("startTime")String startTime, @Param("endTime")String endTime); } diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/DataOpsExportController.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/DataOpsExportController.java index 197fc63..147524d 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/DataOpsExportController.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/DataOpsExportController.java @@ -1,5 +1,7 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.convert.Convert; import cn.hutool.core.util.StrUtil; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelWriter; @@ -12,10 +14,11 @@ import com.casic.missiles.modular.system.converter.EasyExcelLocalDateConverter; import com.casic.missiles.modular.system.enums.AlarmDataExportEnum; import com.casic.missiles.modular.system.enums.DeviceDataExportEnum; +import com.casic.missiles.modular.system.enums.DeviceRepDataExportEnum; import com.casic.missiles.modular.system.model.Device; +import com.casic.missiles.modular.system.model.DeviceType; import com.casic.missiles.modular.system.service.DeviceDataListService; -import com.casic.missiles.modular.system.service.IBusDeviceSupportService; -import com.casic.missiles.modular.system.service.IDataAnalysisService; +import com.casic.missiles.modular.system.service.IBusDeviceTypeSupportService; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; @@ -23,11 +26,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -38,26 +37,29 @@ @Slf4j @RestController public class DataOpsExportController extends ExportController { - @Resource - private IDataAnalysisService deviceService; + @Resource private AbstractPermissionContext permissionService; @Resource - private IBusDeviceSupportService busDeviceSupportService; + private IBusDeviceTypeSupportService deviceTypeSupportService; @Resource private DeviceDataListService deviceDataListService; @GetMapping(value = "/data/deviceExport") - public void simExport(Integer deviceType) throws IOException { + public void simExport(Integer deviceType) { + DeviceDataExportEnum exportEnum = DeviceDataExportEnum.typeOf(deviceType); if (exportEnum == null) { throw new ServiceException(500, "设备类型不存在"); } - + Map typeMap = getDeviceTypes(); LambdaQueryWrapper query = new LambdaQueryWrapper(); + List> list = deviceDataListService.selectDeviceList(exportEnum, query); + wrapDeviceType(typeMap, list); if (deviceType == 10) { List> listTwo = deviceDataListService.selectDeviceList(DeviceDataExportEnum.DATA_GASLIQUID_1, query); + wrapDeviceType(typeMap, listTwo); List sheetDataList = new ArrayList<>(); SheetData sheetData = new SheetData(); @@ -73,16 +75,53 @@ sheetDataList.add(sheetData); sheetDataList.add(sheetData1); exportMuti(sheetDataList); + } else { export(exportEnum.getDataFieldDefine(), list, exportEnum.getTableName()); } } + private void wrapDeviceType(Map typeMap, List> maps) { + if (CollectionUtil.isNotEmpty(maps)) { + maps.stream().forEach(map -> { + if (map.containsKey("device_type") && map.get("device_type") != null) { + map.put("device_type", typeMap.get(Convert.toStr(map.get("device_type"))).getTypeName()); + } + }); + } + } + + /** + * 设备类型读取 + * + * @return 设备类型 + */ + private Map getDeviceTypes() { + List types = deviceTypeSupportService.list(); + Map typeMap = new HashMap<>(); + types.forEach(type -> typeMap.put(String.valueOf(type.getId()), type)); + return typeMap; + } + @GetMapping(value = "/data/alarmExport") - public void alarmExport(Integer deviceType,String startTime,String endTime){ + public void alarmExport(Integer deviceType, String startTime, String endTime) { //告警统计查询 - List> alarms = deviceDataListService.selectAlarmRecords(deviceType,startTime,endTime); - export(AlarmDataExportEnum.DATA_ALARM.getDefines(),alarms,AlarmDataExportEnum.DATA_ALARM.name()); + Map typeMap = getDeviceTypes(); + List> alarms = deviceDataListService.selectAlarmRecords(deviceType, startTime, endTime); + wrapDeviceType(typeMap, alarms); + export(AlarmDataExportEnum.DATA_ALARM.getDefines(), alarms, AlarmDataExportEnum.DATA_ALARM.name()); + } + + @GetMapping(value = "/data/dataExport") + public void dataExport(Integer deviceType, String startTime, String endTime) { + DeviceRepDataExportEnum exportEnum = DeviceRepDataExportEnum.typeOf(deviceType); + if (exportEnum == null) { + throw new ServiceException(500, "设备类型不能为空"); + } + Map typeMap = getDeviceTypes(); + List> reportDataNums = deviceDataListService.selectReportDataNum(exportEnum, startTime, endTime); + wrapDeviceType(typeMap, reportDataNums); + export(exportEnum.getDefines(), reportDataNums, exportEnum.name()); } @SneakyThrows diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DeviceDataListMapper.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DeviceDataListMapper.java index a78f2c9..0fef119 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DeviceDataListMapper.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DeviceDataListMapper.java @@ -57,4 +57,6 @@ List> selectDeviceList(@Param("tableName") String tableName,@Param("tableColumns")String tableColumns,@Param("orderColumn")String orderColumn); List> selectAlarmRecords(@Param("deviceType")Integer deviceType,@Param("startTime")String startTime, @Param("endTime")String endTime); + + List> selectReportDataNum(@Param("deviceType")int index,@Param("tableName") String tableName, @Param("startTime")String startTime, @Param("endTime")String endTime); } diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceDataListMapper.xml b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceDataListMapper.xml index 0d55105..edd2703 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceDataListMapper.xml +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceDataListMapper.xml @@ -742,7 +742,10 @@ - - + diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/DataOpsExportController.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/DataOpsExportController.java index 197fc63..147524d 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/DataOpsExportController.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/DataOpsExportController.java @@ -1,5 +1,7 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.convert.Convert; import cn.hutool.core.util.StrUtil; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelWriter; @@ -12,10 +14,11 @@ import com.casic.missiles.modular.system.converter.EasyExcelLocalDateConverter; import com.casic.missiles.modular.system.enums.AlarmDataExportEnum; import com.casic.missiles.modular.system.enums.DeviceDataExportEnum; +import com.casic.missiles.modular.system.enums.DeviceRepDataExportEnum; import com.casic.missiles.modular.system.model.Device; +import com.casic.missiles.modular.system.model.DeviceType; import com.casic.missiles.modular.system.service.DeviceDataListService; -import com.casic.missiles.modular.system.service.IBusDeviceSupportService; -import com.casic.missiles.modular.system.service.IDataAnalysisService; +import com.casic.missiles.modular.system.service.IBusDeviceTypeSupportService; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; @@ -23,11 +26,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -38,26 +37,29 @@ @Slf4j @RestController public class DataOpsExportController extends ExportController { - @Resource - private IDataAnalysisService deviceService; + @Resource private AbstractPermissionContext permissionService; @Resource - private IBusDeviceSupportService busDeviceSupportService; + private IBusDeviceTypeSupportService deviceTypeSupportService; @Resource private DeviceDataListService deviceDataListService; @GetMapping(value = "/data/deviceExport") - public void simExport(Integer deviceType) throws IOException { + public void simExport(Integer deviceType) { + DeviceDataExportEnum exportEnum = DeviceDataExportEnum.typeOf(deviceType); if (exportEnum == null) { throw new ServiceException(500, "设备类型不存在"); } - + Map typeMap = getDeviceTypes(); LambdaQueryWrapper query = new LambdaQueryWrapper(); + List> list = deviceDataListService.selectDeviceList(exportEnum, query); + wrapDeviceType(typeMap, list); if (deviceType == 10) { List> listTwo = deviceDataListService.selectDeviceList(DeviceDataExportEnum.DATA_GASLIQUID_1, query); + wrapDeviceType(typeMap, listTwo); List sheetDataList = new ArrayList<>(); SheetData sheetData = new SheetData(); @@ -73,16 +75,53 @@ sheetDataList.add(sheetData); sheetDataList.add(sheetData1); exportMuti(sheetDataList); + } else { export(exportEnum.getDataFieldDefine(), list, exportEnum.getTableName()); } } + private void wrapDeviceType(Map typeMap, List> maps) { + if (CollectionUtil.isNotEmpty(maps)) { + maps.stream().forEach(map -> { + if (map.containsKey("device_type") && map.get("device_type") != null) { + map.put("device_type", typeMap.get(Convert.toStr(map.get("device_type"))).getTypeName()); + } + }); + } + } + + /** + * 设备类型读取 + * + * @return 设备类型 + */ + private Map getDeviceTypes() { + List types = deviceTypeSupportService.list(); + Map typeMap = new HashMap<>(); + types.forEach(type -> typeMap.put(String.valueOf(type.getId()), type)); + return typeMap; + } + @GetMapping(value = "/data/alarmExport") - public void alarmExport(Integer deviceType,String startTime,String endTime){ + public void alarmExport(Integer deviceType, String startTime, String endTime) { //告警统计查询 - List> alarms = deviceDataListService.selectAlarmRecords(deviceType,startTime,endTime); - export(AlarmDataExportEnum.DATA_ALARM.getDefines(),alarms,AlarmDataExportEnum.DATA_ALARM.name()); + Map typeMap = getDeviceTypes(); + List> alarms = deviceDataListService.selectAlarmRecords(deviceType, startTime, endTime); + wrapDeviceType(typeMap, alarms); + export(AlarmDataExportEnum.DATA_ALARM.getDefines(), alarms, AlarmDataExportEnum.DATA_ALARM.name()); + } + + @GetMapping(value = "/data/dataExport") + public void dataExport(Integer deviceType, String startTime, String endTime) { + DeviceRepDataExportEnum exportEnum = DeviceRepDataExportEnum.typeOf(deviceType); + if (exportEnum == null) { + throw new ServiceException(500, "设备类型不能为空"); + } + Map typeMap = getDeviceTypes(); + List> reportDataNums = deviceDataListService.selectReportDataNum(exportEnum, startTime, endTime); + wrapDeviceType(typeMap, reportDataNums); + export(exportEnum.getDefines(), reportDataNums, exportEnum.name()); } @SneakyThrows diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DeviceDataListMapper.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DeviceDataListMapper.java index a78f2c9..0fef119 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DeviceDataListMapper.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DeviceDataListMapper.java @@ -57,4 +57,6 @@ List> selectDeviceList(@Param("tableName") String tableName,@Param("tableColumns")String tableColumns,@Param("orderColumn")String orderColumn); List> selectAlarmRecords(@Param("deviceType")Integer deviceType,@Param("startTime")String startTime, @Param("endTime")String endTime); + + List> selectReportDataNum(@Param("deviceType")int index,@Param("tableName") String tableName, @Param("startTime")String startTime, @Param("endTime")String endTime); } diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceDataListMapper.xml b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceDataListMapper.xml index 0d55105..edd2703 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceDataListMapper.xml +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceDataListMapper.xml @@ -742,7 +742,10 @@ - - + diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/AlarmDataExportEnum.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/AlarmDataExportEnum.java index be77903..5597d5f 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/AlarmDataExportEnum.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/AlarmDataExportEnum.java @@ -9,6 +9,7 @@ DATA_ALARM(1, "井盖状态", new ArrayList() {{ add(new DataFieldDefine("id", "id")); add(new DataFieldDefine("devcode", "devcode")); + add(new DataFieldDefine("device_type", "device_type")); add(new DataFieldDefine("well_code", "well_code")); add(new DataFieldDefine("position", "position")); add(new DataFieldDefine("alarm_num", "alarm_num")); diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/DataOpsExportController.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/DataOpsExportController.java index 197fc63..147524d 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/DataOpsExportController.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/DataOpsExportController.java @@ -1,5 +1,7 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.convert.Convert; import cn.hutool.core.util.StrUtil; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelWriter; @@ -12,10 +14,11 @@ import com.casic.missiles.modular.system.converter.EasyExcelLocalDateConverter; import com.casic.missiles.modular.system.enums.AlarmDataExportEnum; import com.casic.missiles.modular.system.enums.DeviceDataExportEnum; +import com.casic.missiles.modular.system.enums.DeviceRepDataExportEnum; import com.casic.missiles.modular.system.model.Device; +import com.casic.missiles.modular.system.model.DeviceType; import com.casic.missiles.modular.system.service.DeviceDataListService; -import com.casic.missiles.modular.system.service.IBusDeviceSupportService; -import com.casic.missiles.modular.system.service.IDataAnalysisService; +import com.casic.missiles.modular.system.service.IBusDeviceTypeSupportService; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; @@ -23,11 +26,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -38,26 +37,29 @@ @Slf4j @RestController public class DataOpsExportController extends ExportController { - @Resource - private IDataAnalysisService deviceService; + @Resource private AbstractPermissionContext permissionService; @Resource - private IBusDeviceSupportService busDeviceSupportService; + private IBusDeviceTypeSupportService deviceTypeSupportService; @Resource private DeviceDataListService deviceDataListService; @GetMapping(value = "/data/deviceExport") - public void simExport(Integer deviceType) throws IOException { + public void simExport(Integer deviceType) { + DeviceDataExportEnum exportEnum = DeviceDataExportEnum.typeOf(deviceType); if (exportEnum == null) { throw new ServiceException(500, "设备类型不存在"); } - + Map typeMap = getDeviceTypes(); LambdaQueryWrapper query = new LambdaQueryWrapper(); + List> list = deviceDataListService.selectDeviceList(exportEnum, query); + wrapDeviceType(typeMap, list); if (deviceType == 10) { List> listTwo = deviceDataListService.selectDeviceList(DeviceDataExportEnum.DATA_GASLIQUID_1, query); + wrapDeviceType(typeMap, listTwo); List sheetDataList = new ArrayList<>(); SheetData sheetData = new SheetData(); @@ -73,16 +75,53 @@ sheetDataList.add(sheetData); sheetDataList.add(sheetData1); exportMuti(sheetDataList); + } else { export(exportEnum.getDataFieldDefine(), list, exportEnum.getTableName()); } } + private void wrapDeviceType(Map typeMap, List> maps) { + if (CollectionUtil.isNotEmpty(maps)) { + maps.stream().forEach(map -> { + if (map.containsKey("device_type") && map.get("device_type") != null) { + map.put("device_type", typeMap.get(Convert.toStr(map.get("device_type"))).getTypeName()); + } + }); + } + } + + /** + * 设备类型读取 + * + * @return 设备类型 + */ + private Map getDeviceTypes() { + List types = deviceTypeSupportService.list(); + Map typeMap = new HashMap<>(); + types.forEach(type -> typeMap.put(String.valueOf(type.getId()), type)); + return typeMap; + } + @GetMapping(value = "/data/alarmExport") - public void alarmExport(Integer deviceType,String startTime,String endTime){ + public void alarmExport(Integer deviceType, String startTime, String endTime) { //告警统计查询 - List> alarms = deviceDataListService.selectAlarmRecords(deviceType,startTime,endTime); - export(AlarmDataExportEnum.DATA_ALARM.getDefines(),alarms,AlarmDataExportEnum.DATA_ALARM.name()); + Map typeMap = getDeviceTypes(); + List> alarms = deviceDataListService.selectAlarmRecords(deviceType, startTime, endTime); + wrapDeviceType(typeMap, alarms); + export(AlarmDataExportEnum.DATA_ALARM.getDefines(), alarms, AlarmDataExportEnum.DATA_ALARM.name()); + } + + @GetMapping(value = "/data/dataExport") + public void dataExport(Integer deviceType, String startTime, String endTime) { + DeviceRepDataExportEnum exportEnum = DeviceRepDataExportEnum.typeOf(deviceType); + if (exportEnum == null) { + throw new ServiceException(500, "设备类型不能为空"); + } + Map typeMap = getDeviceTypes(); + List> reportDataNums = deviceDataListService.selectReportDataNum(exportEnum, startTime, endTime); + wrapDeviceType(typeMap, reportDataNums); + export(exportEnum.getDefines(), reportDataNums, exportEnum.name()); } @SneakyThrows diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DeviceDataListMapper.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DeviceDataListMapper.java index a78f2c9..0fef119 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DeviceDataListMapper.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DeviceDataListMapper.java @@ -57,4 +57,6 @@ List> selectDeviceList(@Param("tableName") String tableName,@Param("tableColumns")String tableColumns,@Param("orderColumn")String orderColumn); List> selectAlarmRecords(@Param("deviceType")Integer deviceType,@Param("startTime")String startTime, @Param("endTime")String endTime); + + List> selectReportDataNum(@Param("deviceType")int index,@Param("tableName") String tableName, @Param("startTime")String startTime, @Param("endTime")String endTime); } diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceDataListMapper.xml b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceDataListMapper.xml index 0d55105..edd2703 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceDataListMapper.xml +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceDataListMapper.xml @@ -742,7 +742,10 @@ - - + diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/AlarmDataExportEnum.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/AlarmDataExportEnum.java index be77903..5597d5f 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/AlarmDataExportEnum.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/AlarmDataExportEnum.java @@ -9,6 +9,7 @@ DATA_ALARM(1, "井盖状态", new ArrayList() {{ add(new DataFieldDefine("id", "id")); add(new DataFieldDefine("devcode", "devcode")); + add(new DataFieldDefine("device_type", "device_type")); add(new DataFieldDefine("well_code", "well_code")); add(new DataFieldDefine("position", "position")); add(new DataFieldDefine("alarm_num", "alarm_num")); diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceDataExportEnum.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceDataExportEnum.java index ec34c95..8a9eddb 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceDataExportEnum.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceDataExportEnum.java @@ -103,7 +103,8 @@ this.typeName = typeName; this.tableName = tableName; this.tableColumns = tableColumns; - this.orderColumn = orderColumn;; + this.orderColumn = orderColumn; + ; } public String getTypeName() { @@ -130,7 +131,10 @@ } public List getDataFieldDefine() { - return StrUtil.split(tableColumns, ",").stream().map(column -> new DataFieldDefine(column, column)).collect(Collectors.toList()); + List fieldDefines = StrUtil.split(tableColumns, ",").stream().map(column -> new DataFieldDefine(column, column)).collect(Collectors.toList()); + //导出新增设备类型 + fieldDefines.add(new DataFieldDefine("device_type", "device_type")); + return fieldDefines; } public void setTableColumns(String tableColumns) { diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/DataOpsExportController.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/DataOpsExportController.java index 197fc63..147524d 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/DataOpsExportController.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/DataOpsExportController.java @@ -1,5 +1,7 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.convert.Convert; import cn.hutool.core.util.StrUtil; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelWriter; @@ -12,10 +14,11 @@ import com.casic.missiles.modular.system.converter.EasyExcelLocalDateConverter; import com.casic.missiles.modular.system.enums.AlarmDataExportEnum; import com.casic.missiles.modular.system.enums.DeviceDataExportEnum; +import com.casic.missiles.modular.system.enums.DeviceRepDataExportEnum; import com.casic.missiles.modular.system.model.Device; +import com.casic.missiles.modular.system.model.DeviceType; import com.casic.missiles.modular.system.service.DeviceDataListService; -import com.casic.missiles.modular.system.service.IBusDeviceSupportService; -import com.casic.missiles.modular.system.service.IDataAnalysisService; +import com.casic.missiles.modular.system.service.IBusDeviceTypeSupportService; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; @@ -23,11 +26,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -38,26 +37,29 @@ @Slf4j @RestController public class DataOpsExportController extends ExportController { - @Resource - private IDataAnalysisService deviceService; + @Resource private AbstractPermissionContext permissionService; @Resource - private IBusDeviceSupportService busDeviceSupportService; + private IBusDeviceTypeSupportService deviceTypeSupportService; @Resource private DeviceDataListService deviceDataListService; @GetMapping(value = "/data/deviceExport") - public void simExport(Integer deviceType) throws IOException { + public void simExport(Integer deviceType) { + DeviceDataExportEnum exportEnum = DeviceDataExportEnum.typeOf(deviceType); if (exportEnum == null) { throw new ServiceException(500, "设备类型不存在"); } - + Map typeMap = getDeviceTypes(); LambdaQueryWrapper query = new LambdaQueryWrapper(); + List> list = deviceDataListService.selectDeviceList(exportEnum, query); + wrapDeviceType(typeMap, list); if (deviceType == 10) { List> listTwo = deviceDataListService.selectDeviceList(DeviceDataExportEnum.DATA_GASLIQUID_1, query); + wrapDeviceType(typeMap, listTwo); List sheetDataList = new ArrayList<>(); SheetData sheetData = new SheetData(); @@ -73,16 +75,53 @@ sheetDataList.add(sheetData); sheetDataList.add(sheetData1); exportMuti(sheetDataList); + } else { export(exportEnum.getDataFieldDefine(), list, exportEnum.getTableName()); } } + private void wrapDeviceType(Map typeMap, List> maps) { + if (CollectionUtil.isNotEmpty(maps)) { + maps.stream().forEach(map -> { + if (map.containsKey("device_type") && map.get("device_type") != null) { + map.put("device_type", typeMap.get(Convert.toStr(map.get("device_type"))).getTypeName()); + } + }); + } + } + + /** + * 设备类型读取 + * + * @return 设备类型 + */ + private Map getDeviceTypes() { + List types = deviceTypeSupportService.list(); + Map typeMap = new HashMap<>(); + types.forEach(type -> typeMap.put(String.valueOf(type.getId()), type)); + return typeMap; + } + @GetMapping(value = "/data/alarmExport") - public void alarmExport(Integer deviceType,String startTime,String endTime){ + public void alarmExport(Integer deviceType, String startTime, String endTime) { //告警统计查询 - List> alarms = deviceDataListService.selectAlarmRecords(deviceType,startTime,endTime); - export(AlarmDataExportEnum.DATA_ALARM.getDefines(),alarms,AlarmDataExportEnum.DATA_ALARM.name()); + Map typeMap = getDeviceTypes(); + List> alarms = deviceDataListService.selectAlarmRecords(deviceType, startTime, endTime); + wrapDeviceType(typeMap, alarms); + export(AlarmDataExportEnum.DATA_ALARM.getDefines(), alarms, AlarmDataExportEnum.DATA_ALARM.name()); + } + + @GetMapping(value = "/data/dataExport") + public void dataExport(Integer deviceType, String startTime, String endTime) { + DeviceRepDataExportEnum exportEnum = DeviceRepDataExportEnum.typeOf(deviceType); + if (exportEnum == null) { + throw new ServiceException(500, "设备类型不能为空"); + } + Map typeMap = getDeviceTypes(); + List> reportDataNums = deviceDataListService.selectReportDataNum(exportEnum, startTime, endTime); + wrapDeviceType(typeMap, reportDataNums); + export(exportEnum.getDefines(), reportDataNums, exportEnum.name()); } @SneakyThrows diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DeviceDataListMapper.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DeviceDataListMapper.java index a78f2c9..0fef119 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DeviceDataListMapper.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DeviceDataListMapper.java @@ -57,4 +57,6 @@ List> selectDeviceList(@Param("tableName") String tableName,@Param("tableColumns")String tableColumns,@Param("orderColumn")String orderColumn); List> selectAlarmRecords(@Param("deviceType")Integer deviceType,@Param("startTime")String startTime, @Param("endTime")String endTime); + + List> selectReportDataNum(@Param("deviceType")int index,@Param("tableName") String tableName, @Param("startTime")String startTime, @Param("endTime")String endTime); } diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceDataListMapper.xml b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceDataListMapper.xml index 0d55105..edd2703 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceDataListMapper.xml +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceDataListMapper.xml @@ -742,7 +742,10 @@ - - + diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/AlarmDataExportEnum.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/AlarmDataExportEnum.java index be77903..5597d5f 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/AlarmDataExportEnum.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/AlarmDataExportEnum.java @@ -9,6 +9,7 @@ DATA_ALARM(1, "井盖状态", new ArrayList() {{ add(new DataFieldDefine("id", "id")); add(new DataFieldDefine("devcode", "devcode")); + add(new DataFieldDefine("device_type", "device_type")); add(new DataFieldDefine("well_code", "well_code")); add(new DataFieldDefine("position", "position")); add(new DataFieldDefine("alarm_num", "alarm_num")); diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceDataExportEnum.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceDataExportEnum.java index ec34c95..8a9eddb 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceDataExportEnum.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceDataExportEnum.java @@ -103,7 +103,8 @@ this.typeName = typeName; this.tableName = tableName; this.tableColumns = tableColumns; - this.orderColumn = orderColumn;; + this.orderColumn = orderColumn; + ; } public String getTypeName() { @@ -130,7 +131,10 @@ } public List getDataFieldDefine() { - return StrUtil.split(tableColumns, ",").stream().map(column -> new DataFieldDefine(column, column)).collect(Collectors.toList()); + List fieldDefines = StrUtil.split(tableColumns, ",").stream().map(column -> new DataFieldDefine(column, column)).collect(Collectors.toList()); + //导出新增设备类型 + fieldDefines.add(new DataFieldDefine("device_type", "device_type")); + return fieldDefines; } public void setTableColumns(String tableColumns) { diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceRepDataExportEnum.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceRepDataExportEnum.java new file mode 100644 index 0000000..ca98b06 --- /dev/null +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceRepDataExportEnum.java @@ -0,0 +1,72 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.core.base.model.DataFieldDefine; +import com.casic.missiles.modular.system.dto.DeviceTypeEnum; + +import java.util.ArrayList; +import java.util.List; + +public enum DeviceRepDataExportEnum { + + DATA_WELL(DeviceTypeEnum.Well, "井盖状态监测仪", new ArrayList() {{ + add(new DataFieldDefine("id", "id")); + add(new DataFieldDefine("devcode", "devcode")); + add(new DataFieldDefine("well_code", "well_code")); + add(new DataFieldDefine("device_type", "device_type")); + add(new DataFieldDefine("position", "position")); + add(new DataFieldDefine("data_num", "data_num")); + }}), + DATA_METHANE(DeviceTypeEnum.Methane, "燃气智能监测终端",new ArrayList(){{ + add(new DataFieldDefine("id", "id")); + add(new DataFieldDefine("devcode", "devcode")); + add(new DataFieldDefine("well_code", "well_code")); + add(new DataFieldDefine("device_type", "device_type")); + add(new DataFieldDefine("position", "position")); + add(new DataFieldDefine("data_num", "data_num")); + } + }); + String typeName; + DeviceTypeEnum type; + List defines; + + DeviceRepDataExportEnum(DeviceTypeEnum typeEnum, String typeName, List defines) { + this.type = typeEnum; + this.typeName = typeName; + this.defines = defines; + } + + public static DeviceRepDataExportEnum typeOf(Integer deviceType) { + + DeviceRepDataExportEnum exportEnum = null; + switch (deviceType) { + case 1: exportEnum = DATA_WELL;break; + case 4: exportEnum = DATA_METHANE;break; + } + + return exportEnum; + } + + public String getTypeName() { + return typeName; + } + + public void setTypeName(String typeName) { + this.typeName = typeName; + } + + public DeviceTypeEnum getType() { + return type; + } + + public void setType(DeviceTypeEnum type) { + this.type = type; + } + + public List getDefines() { + return defines; + } + + public void setDefines(List defines) { + this.defines = defines; + } +} diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/DataOpsExportController.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/DataOpsExportController.java index 197fc63..147524d 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/DataOpsExportController.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/DataOpsExportController.java @@ -1,5 +1,7 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.convert.Convert; import cn.hutool.core.util.StrUtil; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelWriter; @@ -12,10 +14,11 @@ import com.casic.missiles.modular.system.converter.EasyExcelLocalDateConverter; import com.casic.missiles.modular.system.enums.AlarmDataExportEnum; import com.casic.missiles.modular.system.enums.DeviceDataExportEnum; +import com.casic.missiles.modular.system.enums.DeviceRepDataExportEnum; import com.casic.missiles.modular.system.model.Device; +import com.casic.missiles.modular.system.model.DeviceType; import com.casic.missiles.modular.system.service.DeviceDataListService; -import com.casic.missiles.modular.system.service.IBusDeviceSupportService; -import com.casic.missiles.modular.system.service.IDataAnalysisService; +import com.casic.missiles.modular.system.service.IBusDeviceTypeSupportService; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; @@ -23,11 +26,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -38,26 +37,29 @@ @Slf4j @RestController public class DataOpsExportController extends ExportController { - @Resource - private IDataAnalysisService deviceService; + @Resource private AbstractPermissionContext permissionService; @Resource - private IBusDeviceSupportService busDeviceSupportService; + private IBusDeviceTypeSupportService deviceTypeSupportService; @Resource private DeviceDataListService deviceDataListService; @GetMapping(value = "/data/deviceExport") - public void simExport(Integer deviceType) throws IOException { + public void simExport(Integer deviceType) { + DeviceDataExportEnum exportEnum = DeviceDataExportEnum.typeOf(deviceType); if (exportEnum == null) { throw new ServiceException(500, "设备类型不存在"); } - + Map typeMap = getDeviceTypes(); LambdaQueryWrapper query = new LambdaQueryWrapper(); + List> list = deviceDataListService.selectDeviceList(exportEnum, query); + wrapDeviceType(typeMap, list); if (deviceType == 10) { List> listTwo = deviceDataListService.selectDeviceList(DeviceDataExportEnum.DATA_GASLIQUID_1, query); + wrapDeviceType(typeMap, listTwo); List sheetDataList = new ArrayList<>(); SheetData sheetData = new SheetData(); @@ -73,16 +75,53 @@ sheetDataList.add(sheetData); sheetDataList.add(sheetData1); exportMuti(sheetDataList); + } else { export(exportEnum.getDataFieldDefine(), list, exportEnum.getTableName()); } } + private void wrapDeviceType(Map typeMap, List> maps) { + if (CollectionUtil.isNotEmpty(maps)) { + maps.stream().forEach(map -> { + if (map.containsKey("device_type") && map.get("device_type") != null) { + map.put("device_type", typeMap.get(Convert.toStr(map.get("device_type"))).getTypeName()); + } + }); + } + } + + /** + * 设备类型读取 + * + * @return 设备类型 + */ + private Map getDeviceTypes() { + List types = deviceTypeSupportService.list(); + Map typeMap = new HashMap<>(); + types.forEach(type -> typeMap.put(String.valueOf(type.getId()), type)); + return typeMap; + } + @GetMapping(value = "/data/alarmExport") - public void alarmExport(Integer deviceType,String startTime,String endTime){ + public void alarmExport(Integer deviceType, String startTime, String endTime) { //告警统计查询 - List> alarms = deviceDataListService.selectAlarmRecords(deviceType,startTime,endTime); - export(AlarmDataExportEnum.DATA_ALARM.getDefines(),alarms,AlarmDataExportEnum.DATA_ALARM.name()); + Map typeMap = getDeviceTypes(); + List> alarms = deviceDataListService.selectAlarmRecords(deviceType, startTime, endTime); + wrapDeviceType(typeMap, alarms); + export(AlarmDataExportEnum.DATA_ALARM.getDefines(), alarms, AlarmDataExportEnum.DATA_ALARM.name()); + } + + @GetMapping(value = "/data/dataExport") + public void dataExport(Integer deviceType, String startTime, String endTime) { + DeviceRepDataExportEnum exportEnum = DeviceRepDataExportEnum.typeOf(deviceType); + if (exportEnum == null) { + throw new ServiceException(500, "设备类型不能为空"); + } + Map typeMap = getDeviceTypes(); + List> reportDataNums = deviceDataListService.selectReportDataNum(exportEnum, startTime, endTime); + wrapDeviceType(typeMap, reportDataNums); + export(exportEnum.getDefines(), reportDataNums, exportEnum.name()); } @SneakyThrows diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DeviceDataListMapper.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DeviceDataListMapper.java index a78f2c9..0fef119 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DeviceDataListMapper.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DeviceDataListMapper.java @@ -57,4 +57,6 @@ List> selectDeviceList(@Param("tableName") String tableName,@Param("tableColumns")String tableColumns,@Param("orderColumn")String orderColumn); List> selectAlarmRecords(@Param("deviceType")Integer deviceType,@Param("startTime")String startTime, @Param("endTime")String endTime); + + List> selectReportDataNum(@Param("deviceType")int index,@Param("tableName") String tableName, @Param("startTime")String startTime, @Param("endTime")String endTime); } diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceDataListMapper.xml b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceDataListMapper.xml index 0d55105..edd2703 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceDataListMapper.xml +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceDataListMapper.xml @@ -742,7 +742,10 @@ - - + diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/AlarmDataExportEnum.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/AlarmDataExportEnum.java index be77903..5597d5f 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/AlarmDataExportEnum.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/AlarmDataExportEnum.java @@ -9,6 +9,7 @@ DATA_ALARM(1, "井盖状态", new ArrayList() {{ add(new DataFieldDefine("id", "id")); add(new DataFieldDefine("devcode", "devcode")); + add(new DataFieldDefine("device_type", "device_type")); add(new DataFieldDefine("well_code", "well_code")); add(new DataFieldDefine("position", "position")); add(new DataFieldDefine("alarm_num", "alarm_num")); diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceDataExportEnum.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceDataExportEnum.java index ec34c95..8a9eddb 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceDataExportEnum.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceDataExportEnum.java @@ -103,7 +103,8 @@ this.typeName = typeName; this.tableName = tableName; this.tableColumns = tableColumns; - this.orderColumn = orderColumn;; + this.orderColumn = orderColumn; + ; } public String getTypeName() { @@ -130,7 +131,10 @@ } public List getDataFieldDefine() { - return StrUtil.split(tableColumns, ",").stream().map(column -> new DataFieldDefine(column, column)).collect(Collectors.toList()); + List fieldDefines = StrUtil.split(tableColumns, ",").stream().map(column -> new DataFieldDefine(column, column)).collect(Collectors.toList()); + //导出新增设备类型 + fieldDefines.add(new DataFieldDefine("device_type", "device_type")); + return fieldDefines; } public void setTableColumns(String tableColumns) { diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceRepDataExportEnum.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceRepDataExportEnum.java new file mode 100644 index 0000000..ca98b06 --- /dev/null +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceRepDataExportEnum.java @@ -0,0 +1,72 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.core.base.model.DataFieldDefine; +import com.casic.missiles.modular.system.dto.DeviceTypeEnum; + +import java.util.ArrayList; +import java.util.List; + +public enum DeviceRepDataExportEnum { + + DATA_WELL(DeviceTypeEnum.Well, "井盖状态监测仪", new ArrayList() {{ + add(new DataFieldDefine("id", "id")); + add(new DataFieldDefine("devcode", "devcode")); + add(new DataFieldDefine("well_code", "well_code")); + add(new DataFieldDefine("device_type", "device_type")); + add(new DataFieldDefine("position", "position")); + add(new DataFieldDefine("data_num", "data_num")); + }}), + DATA_METHANE(DeviceTypeEnum.Methane, "燃气智能监测终端",new ArrayList(){{ + add(new DataFieldDefine("id", "id")); + add(new DataFieldDefine("devcode", "devcode")); + add(new DataFieldDefine("well_code", "well_code")); + add(new DataFieldDefine("device_type", "device_type")); + add(new DataFieldDefine("position", "position")); + add(new DataFieldDefine("data_num", "data_num")); + } + }); + String typeName; + DeviceTypeEnum type; + List defines; + + DeviceRepDataExportEnum(DeviceTypeEnum typeEnum, String typeName, List defines) { + this.type = typeEnum; + this.typeName = typeName; + this.defines = defines; + } + + public static DeviceRepDataExportEnum typeOf(Integer deviceType) { + + DeviceRepDataExportEnum exportEnum = null; + switch (deviceType) { + case 1: exportEnum = DATA_WELL;break; + case 4: exportEnum = DATA_METHANE;break; + } + + return exportEnum; + } + + public String getTypeName() { + return typeName; + } + + public void setTypeName(String typeName) { + this.typeName = typeName; + } + + public DeviceTypeEnum getType() { + return type; + } + + public void setType(DeviceTypeEnum type) { + this.type = type; + } + + public List getDefines() { + return defines; + } + + public void setDefines(List defines) { + this.defines = defines; + } +} diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/DeviceDataListService.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/DeviceDataListService.java index 5bc86fd..cc23845 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/DeviceDataListService.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/DeviceDataListService.java @@ -8,6 +8,7 @@ import com.casic.missiles.modular.system.dto.ExcelModel.*; import com.casic.missiles.modular.system.dto.statistic.*; import com.casic.missiles.modular.system.enums.DeviceDataExportEnum; +import com.casic.missiles.modular.system.enums.DeviceRepDataExportEnum; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.Device; @@ -83,4 +84,13 @@ * @return */ List> selectAlarmRecords(Integer deviceType, String startTime, String endTime); + + /** + * 告警数据导出 + * @param exportEnum 导出配置 + * @param startTime 开始日期 + * @param endTime 结束日期 + * @return + */ + List> selectReportDataNum(DeviceRepDataExportEnum exportEnum, String startTime, String endTime); } \ No newline at end of file diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/DataOpsExportController.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/DataOpsExportController.java index 197fc63..147524d 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/DataOpsExportController.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/DataOpsExportController.java @@ -1,5 +1,7 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.convert.Convert; import cn.hutool.core.util.StrUtil; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelWriter; @@ -12,10 +14,11 @@ import com.casic.missiles.modular.system.converter.EasyExcelLocalDateConverter; import com.casic.missiles.modular.system.enums.AlarmDataExportEnum; import com.casic.missiles.modular.system.enums.DeviceDataExportEnum; +import com.casic.missiles.modular.system.enums.DeviceRepDataExportEnum; import com.casic.missiles.modular.system.model.Device; +import com.casic.missiles.modular.system.model.DeviceType; import com.casic.missiles.modular.system.service.DeviceDataListService; -import com.casic.missiles.modular.system.service.IBusDeviceSupportService; -import com.casic.missiles.modular.system.service.IDataAnalysisService; +import com.casic.missiles.modular.system.service.IBusDeviceTypeSupportService; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; @@ -23,11 +26,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -38,26 +37,29 @@ @Slf4j @RestController public class DataOpsExportController extends ExportController { - @Resource - private IDataAnalysisService deviceService; + @Resource private AbstractPermissionContext permissionService; @Resource - private IBusDeviceSupportService busDeviceSupportService; + private IBusDeviceTypeSupportService deviceTypeSupportService; @Resource private DeviceDataListService deviceDataListService; @GetMapping(value = "/data/deviceExport") - public void simExport(Integer deviceType) throws IOException { + public void simExport(Integer deviceType) { + DeviceDataExportEnum exportEnum = DeviceDataExportEnum.typeOf(deviceType); if (exportEnum == null) { throw new ServiceException(500, "设备类型不存在"); } - + Map typeMap = getDeviceTypes(); LambdaQueryWrapper query = new LambdaQueryWrapper(); + List> list = deviceDataListService.selectDeviceList(exportEnum, query); + wrapDeviceType(typeMap, list); if (deviceType == 10) { List> listTwo = deviceDataListService.selectDeviceList(DeviceDataExportEnum.DATA_GASLIQUID_1, query); + wrapDeviceType(typeMap, listTwo); List sheetDataList = new ArrayList<>(); SheetData sheetData = new SheetData(); @@ -73,16 +75,53 @@ sheetDataList.add(sheetData); sheetDataList.add(sheetData1); exportMuti(sheetDataList); + } else { export(exportEnum.getDataFieldDefine(), list, exportEnum.getTableName()); } } + private void wrapDeviceType(Map typeMap, List> maps) { + if (CollectionUtil.isNotEmpty(maps)) { + maps.stream().forEach(map -> { + if (map.containsKey("device_type") && map.get("device_type") != null) { + map.put("device_type", typeMap.get(Convert.toStr(map.get("device_type"))).getTypeName()); + } + }); + } + } + + /** + * 设备类型读取 + * + * @return 设备类型 + */ + private Map getDeviceTypes() { + List types = deviceTypeSupportService.list(); + Map typeMap = new HashMap<>(); + types.forEach(type -> typeMap.put(String.valueOf(type.getId()), type)); + return typeMap; + } + @GetMapping(value = "/data/alarmExport") - public void alarmExport(Integer deviceType,String startTime,String endTime){ + public void alarmExport(Integer deviceType, String startTime, String endTime) { //告警统计查询 - List> alarms = deviceDataListService.selectAlarmRecords(deviceType,startTime,endTime); - export(AlarmDataExportEnum.DATA_ALARM.getDefines(),alarms,AlarmDataExportEnum.DATA_ALARM.name()); + Map typeMap = getDeviceTypes(); + List> alarms = deviceDataListService.selectAlarmRecords(deviceType, startTime, endTime); + wrapDeviceType(typeMap, alarms); + export(AlarmDataExportEnum.DATA_ALARM.getDefines(), alarms, AlarmDataExportEnum.DATA_ALARM.name()); + } + + @GetMapping(value = "/data/dataExport") + public void dataExport(Integer deviceType, String startTime, String endTime) { + DeviceRepDataExportEnum exportEnum = DeviceRepDataExportEnum.typeOf(deviceType); + if (exportEnum == null) { + throw new ServiceException(500, "设备类型不能为空"); + } + Map typeMap = getDeviceTypes(); + List> reportDataNums = deviceDataListService.selectReportDataNum(exportEnum, startTime, endTime); + wrapDeviceType(typeMap, reportDataNums); + export(exportEnum.getDefines(), reportDataNums, exportEnum.name()); } @SneakyThrows diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DeviceDataListMapper.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DeviceDataListMapper.java index a78f2c9..0fef119 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DeviceDataListMapper.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DeviceDataListMapper.java @@ -57,4 +57,6 @@ List> selectDeviceList(@Param("tableName") String tableName,@Param("tableColumns")String tableColumns,@Param("orderColumn")String orderColumn); List> selectAlarmRecords(@Param("deviceType")Integer deviceType,@Param("startTime")String startTime, @Param("endTime")String endTime); + + List> selectReportDataNum(@Param("deviceType")int index,@Param("tableName") String tableName, @Param("startTime")String startTime, @Param("endTime")String endTime); } diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceDataListMapper.xml b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceDataListMapper.xml index 0d55105..edd2703 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceDataListMapper.xml +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceDataListMapper.xml @@ -742,7 +742,10 @@ - - + diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/AlarmDataExportEnum.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/AlarmDataExportEnum.java index be77903..5597d5f 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/AlarmDataExportEnum.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/AlarmDataExportEnum.java @@ -9,6 +9,7 @@ DATA_ALARM(1, "井盖状态", new ArrayList() {{ add(new DataFieldDefine("id", "id")); add(new DataFieldDefine("devcode", "devcode")); + add(new DataFieldDefine("device_type", "device_type")); add(new DataFieldDefine("well_code", "well_code")); add(new DataFieldDefine("position", "position")); add(new DataFieldDefine("alarm_num", "alarm_num")); diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceDataExportEnum.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceDataExportEnum.java index ec34c95..8a9eddb 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceDataExportEnum.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceDataExportEnum.java @@ -103,7 +103,8 @@ this.typeName = typeName; this.tableName = tableName; this.tableColumns = tableColumns; - this.orderColumn = orderColumn;; + this.orderColumn = orderColumn; + ; } public String getTypeName() { @@ -130,7 +131,10 @@ } public List getDataFieldDefine() { - return StrUtil.split(tableColumns, ",").stream().map(column -> new DataFieldDefine(column, column)).collect(Collectors.toList()); + List fieldDefines = StrUtil.split(tableColumns, ",").stream().map(column -> new DataFieldDefine(column, column)).collect(Collectors.toList()); + //导出新增设备类型 + fieldDefines.add(new DataFieldDefine("device_type", "device_type")); + return fieldDefines; } public void setTableColumns(String tableColumns) { diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceRepDataExportEnum.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceRepDataExportEnum.java new file mode 100644 index 0000000..ca98b06 --- /dev/null +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceRepDataExportEnum.java @@ -0,0 +1,72 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.core.base.model.DataFieldDefine; +import com.casic.missiles.modular.system.dto.DeviceTypeEnum; + +import java.util.ArrayList; +import java.util.List; + +public enum DeviceRepDataExportEnum { + + DATA_WELL(DeviceTypeEnum.Well, "井盖状态监测仪", new ArrayList() {{ + add(new DataFieldDefine("id", "id")); + add(new DataFieldDefine("devcode", "devcode")); + add(new DataFieldDefine("well_code", "well_code")); + add(new DataFieldDefine("device_type", "device_type")); + add(new DataFieldDefine("position", "position")); + add(new DataFieldDefine("data_num", "data_num")); + }}), + DATA_METHANE(DeviceTypeEnum.Methane, "燃气智能监测终端",new ArrayList(){{ + add(new DataFieldDefine("id", "id")); + add(new DataFieldDefine("devcode", "devcode")); + add(new DataFieldDefine("well_code", "well_code")); + add(new DataFieldDefine("device_type", "device_type")); + add(new DataFieldDefine("position", "position")); + add(new DataFieldDefine("data_num", "data_num")); + } + }); + String typeName; + DeviceTypeEnum type; + List defines; + + DeviceRepDataExportEnum(DeviceTypeEnum typeEnum, String typeName, List defines) { + this.type = typeEnum; + this.typeName = typeName; + this.defines = defines; + } + + public static DeviceRepDataExportEnum typeOf(Integer deviceType) { + + DeviceRepDataExportEnum exportEnum = null; + switch (deviceType) { + case 1: exportEnum = DATA_WELL;break; + case 4: exportEnum = DATA_METHANE;break; + } + + return exportEnum; + } + + public String getTypeName() { + return typeName; + } + + public void setTypeName(String typeName) { + this.typeName = typeName; + } + + public DeviceTypeEnum getType() { + return type; + } + + public void setType(DeviceTypeEnum type) { + this.type = type; + } + + public List getDefines() { + return defines; + } + + public void setDefines(List defines) { + this.defines = defines; + } +} diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/DeviceDataListService.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/DeviceDataListService.java index 5bc86fd..cc23845 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/DeviceDataListService.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/DeviceDataListService.java @@ -8,6 +8,7 @@ import com.casic.missiles.modular.system.dto.ExcelModel.*; import com.casic.missiles.modular.system.dto.statistic.*; import com.casic.missiles.modular.system.enums.DeviceDataExportEnum; +import com.casic.missiles.modular.system.enums.DeviceRepDataExportEnum; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.Device; @@ -83,4 +84,13 @@ * @return */ List> selectAlarmRecords(Integer deviceType, String startTime, String endTime); + + /** + * 告警数据导出 + * @param exportEnum 导出配置 + * @param startTime 开始日期 + * @param endTime 结束日期 + * @return + */ + List> selectReportDataNum(DeviceRepDataExportEnum exportEnum, String startTime, String endTime); } \ No newline at end of file diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceDataListServiceImpl.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceDataListServiceImpl.java index cd274a8..e1af1e7 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceDataListServiceImpl.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceDataListServiceImpl.java @@ -12,6 +12,7 @@ import com.casic.missiles.modular.system.dto.DeviceExportDto; import com.casic.missiles.modular.system.dto.statistic.*; import com.casic.missiles.modular.system.enums.DeviceDataExportEnum; +import com.casic.missiles.modular.system.enums.DeviceRepDataExportEnum; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.Device; import com.casic.missiles.modular.system.service.DeviceDataListService; @@ -125,14 +126,17 @@ @Override public List> selectDeviceList(DeviceDataExportEnum exportEnum, LambdaQueryWrapper query) { - return this.baseMapper.selectDeviceList(exportEnum.getTableName(),exportEnum.getTableColumns(),exportEnum.getOrderColumn()); } @Override public List> selectAlarmRecords(Integer deviceType, String startTime, String endTime) { - return this.baseMapper.selectAlarmRecords(deviceType,startTime,endTime); } + @Override + public List> selectReportDataNum(DeviceRepDataExportEnum exportEnum, String startTime, String endTime) { + return this.baseMapper.selectReportDataNum(exportEnum.getType().getIndex(),exportEnum.getType().getTableName(),startTime,endTime); + } + } diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/DataOpsExportController.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/DataOpsExportController.java index 197fc63..147524d 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/DataOpsExportController.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/DataOpsExportController.java @@ -1,5 +1,7 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.convert.Convert; import cn.hutool.core.util.StrUtil; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelWriter; @@ -12,10 +14,11 @@ import com.casic.missiles.modular.system.converter.EasyExcelLocalDateConverter; import com.casic.missiles.modular.system.enums.AlarmDataExportEnum; import com.casic.missiles.modular.system.enums.DeviceDataExportEnum; +import com.casic.missiles.modular.system.enums.DeviceRepDataExportEnum; import com.casic.missiles.modular.system.model.Device; +import com.casic.missiles.modular.system.model.DeviceType; import com.casic.missiles.modular.system.service.DeviceDataListService; -import com.casic.missiles.modular.system.service.IBusDeviceSupportService; -import com.casic.missiles.modular.system.service.IDataAnalysisService; +import com.casic.missiles.modular.system.service.IBusDeviceTypeSupportService; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; @@ -23,11 +26,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -38,26 +37,29 @@ @Slf4j @RestController public class DataOpsExportController extends ExportController { - @Resource - private IDataAnalysisService deviceService; + @Resource private AbstractPermissionContext permissionService; @Resource - private IBusDeviceSupportService busDeviceSupportService; + private IBusDeviceTypeSupportService deviceTypeSupportService; @Resource private DeviceDataListService deviceDataListService; @GetMapping(value = "/data/deviceExport") - public void simExport(Integer deviceType) throws IOException { + public void simExport(Integer deviceType) { + DeviceDataExportEnum exportEnum = DeviceDataExportEnum.typeOf(deviceType); if (exportEnum == null) { throw new ServiceException(500, "设备类型不存在"); } - + Map typeMap = getDeviceTypes(); LambdaQueryWrapper query = new LambdaQueryWrapper(); + List> list = deviceDataListService.selectDeviceList(exportEnum, query); + wrapDeviceType(typeMap, list); if (deviceType == 10) { List> listTwo = deviceDataListService.selectDeviceList(DeviceDataExportEnum.DATA_GASLIQUID_1, query); + wrapDeviceType(typeMap, listTwo); List sheetDataList = new ArrayList<>(); SheetData sheetData = new SheetData(); @@ -73,16 +75,53 @@ sheetDataList.add(sheetData); sheetDataList.add(sheetData1); exportMuti(sheetDataList); + } else { export(exportEnum.getDataFieldDefine(), list, exportEnum.getTableName()); } } + private void wrapDeviceType(Map typeMap, List> maps) { + if (CollectionUtil.isNotEmpty(maps)) { + maps.stream().forEach(map -> { + if (map.containsKey("device_type") && map.get("device_type") != null) { + map.put("device_type", typeMap.get(Convert.toStr(map.get("device_type"))).getTypeName()); + } + }); + } + } + + /** + * 设备类型读取 + * + * @return 设备类型 + */ + private Map getDeviceTypes() { + List types = deviceTypeSupportService.list(); + Map typeMap = new HashMap<>(); + types.forEach(type -> typeMap.put(String.valueOf(type.getId()), type)); + return typeMap; + } + @GetMapping(value = "/data/alarmExport") - public void alarmExport(Integer deviceType,String startTime,String endTime){ + public void alarmExport(Integer deviceType, String startTime, String endTime) { //告警统计查询 - List> alarms = deviceDataListService.selectAlarmRecords(deviceType,startTime,endTime); - export(AlarmDataExportEnum.DATA_ALARM.getDefines(),alarms,AlarmDataExportEnum.DATA_ALARM.name()); + Map typeMap = getDeviceTypes(); + List> alarms = deviceDataListService.selectAlarmRecords(deviceType, startTime, endTime); + wrapDeviceType(typeMap, alarms); + export(AlarmDataExportEnum.DATA_ALARM.getDefines(), alarms, AlarmDataExportEnum.DATA_ALARM.name()); + } + + @GetMapping(value = "/data/dataExport") + public void dataExport(Integer deviceType, String startTime, String endTime) { + DeviceRepDataExportEnum exportEnum = DeviceRepDataExportEnum.typeOf(deviceType); + if (exportEnum == null) { + throw new ServiceException(500, "设备类型不能为空"); + } + Map typeMap = getDeviceTypes(); + List> reportDataNums = deviceDataListService.selectReportDataNum(exportEnum, startTime, endTime); + wrapDeviceType(typeMap, reportDataNums); + export(exportEnum.getDefines(), reportDataNums, exportEnum.name()); } @SneakyThrows diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DeviceDataListMapper.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DeviceDataListMapper.java index a78f2c9..0fef119 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DeviceDataListMapper.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DeviceDataListMapper.java @@ -57,4 +57,6 @@ List> selectDeviceList(@Param("tableName") String tableName,@Param("tableColumns")String tableColumns,@Param("orderColumn")String orderColumn); List> selectAlarmRecords(@Param("deviceType")Integer deviceType,@Param("startTime")String startTime, @Param("endTime")String endTime); + + List> selectReportDataNum(@Param("deviceType")int index,@Param("tableName") String tableName, @Param("startTime")String startTime, @Param("endTime")String endTime); } diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceDataListMapper.xml b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceDataListMapper.xml index 0d55105..edd2703 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceDataListMapper.xml +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceDataListMapper.xml @@ -742,7 +742,10 @@ - - + diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/AlarmDataExportEnum.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/AlarmDataExportEnum.java index be77903..5597d5f 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/AlarmDataExportEnum.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/AlarmDataExportEnum.java @@ -9,6 +9,7 @@ DATA_ALARM(1, "井盖状态", new ArrayList() {{ add(new DataFieldDefine("id", "id")); add(new DataFieldDefine("devcode", "devcode")); + add(new DataFieldDefine("device_type", "device_type")); add(new DataFieldDefine("well_code", "well_code")); add(new DataFieldDefine("position", "position")); add(new DataFieldDefine("alarm_num", "alarm_num")); diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceDataExportEnum.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceDataExportEnum.java index ec34c95..8a9eddb 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceDataExportEnum.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceDataExportEnum.java @@ -103,7 +103,8 @@ this.typeName = typeName; this.tableName = tableName; this.tableColumns = tableColumns; - this.orderColumn = orderColumn;; + this.orderColumn = orderColumn; + ; } public String getTypeName() { @@ -130,7 +131,10 @@ } public List getDataFieldDefine() { - return StrUtil.split(tableColumns, ",").stream().map(column -> new DataFieldDefine(column, column)).collect(Collectors.toList()); + List fieldDefines = StrUtil.split(tableColumns, ",").stream().map(column -> new DataFieldDefine(column, column)).collect(Collectors.toList()); + //导出新增设备类型 + fieldDefines.add(new DataFieldDefine("device_type", "device_type")); + return fieldDefines; } public void setTableColumns(String tableColumns) { diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceRepDataExportEnum.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceRepDataExportEnum.java new file mode 100644 index 0000000..ca98b06 --- /dev/null +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceRepDataExportEnum.java @@ -0,0 +1,72 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.core.base.model.DataFieldDefine; +import com.casic.missiles.modular.system.dto.DeviceTypeEnum; + +import java.util.ArrayList; +import java.util.List; + +public enum DeviceRepDataExportEnum { + + DATA_WELL(DeviceTypeEnum.Well, "井盖状态监测仪", new ArrayList() {{ + add(new DataFieldDefine("id", "id")); + add(new DataFieldDefine("devcode", "devcode")); + add(new DataFieldDefine("well_code", "well_code")); + add(new DataFieldDefine("device_type", "device_type")); + add(new DataFieldDefine("position", "position")); + add(new DataFieldDefine("data_num", "data_num")); + }}), + DATA_METHANE(DeviceTypeEnum.Methane, "燃气智能监测终端",new ArrayList(){{ + add(new DataFieldDefine("id", "id")); + add(new DataFieldDefine("devcode", "devcode")); + add(new DataFieldDefine("well_code", "well_code")); + add(new DataFieldDefine("device_type", "device_type")); + add(new DataFieldDefine("position", "position")); + add(new DataFieldDefine("data_num", "data_num")); + } + }); + String typeName; + DeviceTypeEnum type; + List defines; + + DeviceRepDataExportEnum(DeviceTypeEnum typeEnum, String typeName, List defines) { + this.type = typeEnum; + this.typeName = typeName; + this.defines = defines; + } + + public static DeviceRepDataExportEnum typeOf(Integer deviceType) { + + DeviceRepDataExportEnum exportEnum = null; + switch (deviceType) { + case 1: exportEnum = DATA_WELL;break; + case 4: exportEnum = DATA_METHANE;break; + } + + return exportEnum; + } + + public String getTypeName() { + return typeName; + } + + public void setTypeName(String typeName) { + this.typeName = typeName; + } + + public DeviceTypeEnum getType() { + return type; + } + + public void setType(DeviceTypeEnum type) { + this.type = type; + } + + public List getDefines() { + return defines; + } + + public void setDefines(List defines) { + this.defines = defines; + } +} diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/DeviceDataListService.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/DeviceDataListService.java index 5bc86fd..cc23845 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/DeviceDataListService.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/DeviceDataListService.java @@ -8,6 +8,7 @@ import com.casic.missiles.modular.system.dto.ExcelModel.*; import com.casic.missiles.modular.system.dto.statistic.*; import com.casic.missiles.modular.system.enums.DeviceDataExportEnum; +import com.casic.missiles.modular.system.enums.DeviceRepDataExportEnum; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.Device; @@ -83,4 +84,13 @@ * @return */ List> selectAlarmRecords(Integer deviceType, String startTime, String endTime); + + /** + * 告警数据导出 + * @param exportEnum 导出配置 + * @param startTime 开始日期 + * @param endTime 结束日期 + * @return + */ + List> selectReportDataNum(DeviceRepDataExportEnum exportEnum, String startTime, String endTime); } \ No newline at end of file diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceDataListServiceImpl.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceDataListServiceImpl.java index cd274a8..e1af1e7 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceDataListServiceImpl.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceDataListServiceImpl.java @@ -12,6 +12,7 @@ import com.casic.missiles.modular.system.dto.DeviceExportDto; import com.casic.missiles.modular.system.dto.statistic.*; import com.casic.missiles.modular.system.enums.DeviceDataExportEnum; +import com.casic.missiles.modular.system.enums.DeviceRepDataExportEnum; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.Device; import com.casic.missiles.modular.system.service.DeviceDataListService; @@ -125,14 +126,17 @@ @Override public List> selectDeviceList(DeviceDataExportEnum exportEnum, LambdaQueryWrapper query) { - return this.baseMapper.selectDeviceList(exportEnum.getTableName(),exportEnum.getTableColumns(),exportEnum.getOrderColumn()); } @Override public List> selectAlarmRecords(Integer deviceType, String startTime, String endTime) { - return this.baseMapper.selectAlarmRecords(deviceType,startTime,endTime); } + @Override + public List> selectReportDataNum(DeviceRepDataExportEnum exportEnum, String startTime, String endTime) { + return this.baseMapper.selectReportDataNum(exportEnum.getType().getIndex(),exportEnum.getType().getTableName(),startTime,endTime); + } + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceTypeServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceTypeServiceImpl.java index 57d324f..380723d 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceTypeServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceTypeServiceImpl.java @@ -6,6 +6,7 @@ import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.modular.system.dao.DeviceTypeMapper; import com.casic.missiles.modular.system.model.DeviceType; +import com.casic.missiles.modular.system.service.IBusDeviceTypeSupportService; import com.casic.missiles.modular.system.service.IDeviceTypeService; import lombok.extern.slf4j.Slf4j; import org.springframework.dao.DataAccessException; @@ -26,7 +27,7 @@ */ @Slf4j @Service -public class DeviceTypeServiceImpl extends ServiceImpl implements IDeviceTypeService { +public class DeviceTypeServiceImpl extends ServiceImpl implements IDeviceTypeService, IBusDeviceTypeSupportService { @Override public DeviceType selectDeviceTypeByName(String typeName) { @@ -62,4 +63,8 @@ return responseData; } + @Override + public List list() { + return super.list(); + } } diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/DataOpsExportController.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/DataOpsExportController.java index 197fc63..147524d 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/DataOpsExportController.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/DataOpsExportController.java @@ -1,5 +1,7 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.convert.Convert; import cn.hutool.core.util.StrUtil; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelWriter; @@ -12,10 +14,11 @@ import com.casic.missiles.modular.system.converter.EasyExcelLocalDateConverter; import com.casic.missiles.modular.system.enums.AlarmDataExportEnum; import com.casic.missiles.modular.system.enums.DeviceDataExportEnum; +import com.casic.missiles.modular.system.enums.DeviceRepDataExportEnum; import com.casic.missiles.modular.system.model.Device; +import com.casic.missiles.modular.system.model.DeviceType; import com.casic.missiles.modular.system.service.DeviceDataListService; -import com.casic.missiles.modular.system.service.IBusDeviceSupportService; -import com.casic.missiles.modular.system.service.IDataAnalysisService; +import com.casic.missiles.modular.system.service.IBusDeviceTypeSupportService; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; @@ -23,11 +26,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -38,26 +37,29 @@ @Slf4j @RestController public class DataOpsExportController extends ExportController { - @Resource - private IDataAnalysisService deviceService; + @Resource private AbstractPermissionContext permissionService; @Resource - private IBusDeviceSupportService busDeviceSupportService; + private IBusDeviceTypeSupportService deviceTypeSupportService; @Resource private DeviceDataListService deviceDataListService; @GetMapping(value = "/data/deviceExport") - public void simExport(Integer deviceType) throws IOException { + public void simExport(Integer deviceType) { + DeviceDataExportEnum exportEnum = DeviceDataExportEnum.typeOf(deviceType); if (exportEnum == null) { throw new ServiceException(500, "设备类型不存在"); } - + Map typeMap = getDeviceTypes(); LambdaQueryWrapper query = new LambdaQueryWrapper(); + List> list = deviceDataListService.selectDeviceList(exportEnum, query); + wrapDeviceType(typeMap, list); if (deviceType == 10) { List> listTwo = deviceDataListService.selectDeviceList(DeviceDataExportEnum.DATA_GASLIQUID_1, query); + wrapDeviceType(typeMap, listTwo); List sheetDataList = new ArrayList<>(); SheetData sheetData = new SheetData(); @@ -73,16 +75,53 @@ sheetDataList.add(sheetData); sheetDataList.add(sheetData1); exportMuti(sheetDataList); + } else { export(exportEnum.getDataFieldDefine(), list, exportEnum.getTableName()); } } + private void wrapDeviceType(Map typeMap, List> maps) { + if (CollectionUtil.isNotEmpty(maps)) { + maps.stream().forEach(map -> { + if (map.containsKey("device_type") && map.get("device_type") != null) { + map.put("device_type", typeMap.get(Convert.toStr(map.get("device_type"))).getTypeName()); + } + }); + } + } + + /** + * 设备类型读取 + * + * @return 设备类型 + */ + private Map getDeviceTypes() { + List types = deviceTypeSupportService.list(); + Map typeMap = new HashMap<>(); + types.forEach(type -> typeMap.put(String.valueOf(type.getId()), type)); + return typeMap; + } + @GetMapping(value = "/data/alarmExport") - public void alarmExport(Integer deviceType,String startTime,String endTime){ + public void alarmExport(Integer deviceType, String startTime, String endTime) { //告警统计查询 - List> alarms = deviceDataListService.selectAlarmRecords(deviceType,startTime,endTime); - export(AlarmDataExportEnum.DATA_ALARM.getDefines(),alarms,AlarmDataExportEnum.DATA_ALARM.name()); + Map typeMap = getDeviceTypes(); + List> alarms = deviceDataListService.selectAlarmRecords(deviceType, startTime, endTime); + wrapDeviceType(typeMap, alarms); + export(AlarmDataExportEnum.DATA_ALARM.getDefines(), alarms, AlarmDataExportEnum.DATA_ALARM.name()); + } + + @GetMapping(value = "/data/dataExport") + public void dataExport(Integer deviceType, String startTime, String endTime) { + DeviceRepDataExportEnum exportEnum = DeviceRepDataExportEnum.typeOf(deviceType); + if (exportEnum == null) { + throw new ServiceException(500, "设备类型不能为空"); + } + Map typeMap = getDeviceTypes(); + List> reportDataNums = deviceDataListService.selectReportDataNum(exportEnum, startTime, endTime); + wrapDeviceType(typeMap, reportDataNums); + export(exportEnum.getDefines(), reportDataNums, exportEnum.name()); } @SneakyThrows diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DeviceDataListMapper.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DeviceDataListMapper.java index a78f2c9..0fef119 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DeviceDataListMapper.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DeviceDataListMapper.java @@ -57,4 +57,6 @@ List> selectDeviceList(@Param("tableName") String tableName,@Param("tableColumns")String tableColumns,@Param("orderColumn")String orderColumn); List> selectAlarmRecords(@Param("deviceType")Integer deviceType,@Param("startTime")String startTime, @Param("endTime")String endTime); + + List> selectReportDataNum(@Param("deviceType")int index,@Param("tableName") String tableName, @Param("startTime")String startTime, @Param("endTime")String endTime); } diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceDataListMapper.xml b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceDataListMapper.xml index 0d55105..edd2703 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceDataListMapper.xml +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceDataListMapper.xml @@ -742,7 +742,10 @@ - - + diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/AlarmDataExportEnum.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/AlarmDataExportEnum.java index be77903..5597d5f 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/AlarmDataExportEnum.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/AlarmDataExportEnum.java @@ -9,6 +9,7 @@ DATA_ALARM(1, "井盖状态", new ArrayList() {{ add(new DataFieldDefine("id", "id")); add(new DataFieldDefine("devcode", "devcode")); + add(new DataFieldDefine("device_type", "device_type")); add(new DataFieldDefine("well_code", "well_code")); add(new DataFieldDefine("position", "position")); add(new DataFieldDefine("alarm_num", "alarm_num")); diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceDataExportEnum.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceDataExportEnum.java index ec34c95..8a9eddb 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceDataExportEnum.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceDataExportEnum.java @@ -103,7 +103,8 @@ this.typeName = typeName; this.tableName = tableName; this.tableColumns = tableColumns; - this.orderColumn = orderColumn;; + this.orderColumn = orderColumn; + ; } public String getTypeName() { @@ -130,7 +131,10 @@ } public List getDataFieldDefine() { - return StrUtil.split(tableColumns, ",").stream().map(column -> new DataFieldDefine(column, column)).collect(Collectors.toList()); + List fieldDefines = StrUtil.split(tableColumns, ",").stream().map(column -> new DataFieldDefine(column, column)).collect(Collectors.toList()); + //导出新增设备类型 + fieldDefines.add(new DataFieldDefine("device_type", "device_type")); + return fieldDefines; } public void setTableColumns(String tableColumns) { diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceRepDataExportEnum.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceRepDataExportEnum.java new file mode 100644 index 0000000..ca98b06 --- /dev/null +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceRepDataExportEnum.java @@ -0,0 +1,72 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.core.base.model.DataFieldDefine; +import com.casic.missiles.modular.system.dto.DeviceTypeEnum; + +import java.util.ArrayList; +import java.util.List; + +public enum DeviceRepDataExportEnum { + + DATA_WELL(DeviceTypeEnum.Well, "井盖状态监测仪", new ArrayList() {{ + add(new DataFieldDefine("id", "id")); + add(new DataFieldDefine("devcode", "devcode")); + add(new DataFieldDefine("well_code", "well_code")); + add(new DataFieldDefine("device_type", "device_type")); + add(new DataFieldDefine("position", "position")); + add(new DataFieldDefine("data_num", "data_num")); + }}), + DATA_METHANE(DeviceTypeEnum.Methane, "燃气智能监测终端",new ArrayList(){{ + add(new DataFieldDefine("id", "id")); + add(new DataFieldDefine("devcode", "devcode")); + add(new DataFieldDefine("well_code", "well_code")); + add(new DataFieldDefine("device_type", "device_type")); + add(new DataFieldDefine("position", "position")); + add(new DataFieldDefine("data_num", "data_num")); + } + }); + String typeName; + DeviceTypeEnum type; + List defines; + + DeviceRepDataExportEnum(DeviceTypeEnum typeEnum, String typeName, List defines) { + this.type = typeEnum; + this.typeName = typeName; + this.defines = defines; + } + + public static DeviceRepDataExportEnum typeOf(Integer deviceType) { + + DeviceRepDataExportEnum exportEnum = null; + switch (deviceType) { + case 1: exportEnum = DATA_WELL;break; + case 4: exportEnum = DATA_METHANE;break; + } + + return exportEnum; + } + + public String getTypeName() { + return typeName; + } + + public void setTypeName(String typeName) { + this.typeName = typeName; + } + + public DeviceTypeEnum getType() { + return type; + } + + public void setType(DeviceTypeEnum type) { + this.type = type; + } + + public List getDefines() { + return defines; + } + + public void setDefines(List defines) { + this.defines = defines; + } +} diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/DeviceDataListService.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/DeviceDataListService.java index 5bc86fd..cc23845 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/DeviceDataListService.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/DeviceDataListService.java @@ -8,6 +8,7 @@ import com.casic.missiles.modular.system.dto.ExcelModel.*; import com.casic.missiles.modular.system.dto.statistic.*; import com.casic.missiles.modular.system.enums.DeviceDataExportEnum; +import com.casic.missiles.modular.system.enums.DeviceRepDataExportEnum; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.Device; @@ -83,4 +84,13 @@ * @return */ List> selectAlarmRecords(Integer deviceType, String startTime, String endTime); + + /** + * 告警数据导出 + * @param exportEnum 导出配置 + * @param startTime 开始日期 + * @param endTime 结束日期 + * @return + */ + List> selectReportDataNum(DeviceRepDataExportEnum exportEnum, String startTime, String endTime); } \ No newline at end of file diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceDataListServiceImpl.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceDataListServiceImpl.java index cd274a8..e1af1e7 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceDataListServiceImpl.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceDataListServiceImpl.java @@ -12,6 +12,7 @@ import com.casic.missiles.modular.system.dto.DeviceExportDto; import com.casic.missiles.modular.system.dto.statistic.*; import com.casic.missiles.modular.system.enums.DeviceDataExportEnum; +import com.casic.missiles.modular.system.enums.DeviceRepDataExportEnum; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.Device; import com.casic.missiles.modular.system.service.DeviceDataListService; @@ -125,14 +126,17 @@ @Override public List> selectDeviceList(DeviceDataExportEnum exportEnum, LambdaQueryWrapper query) { - return this.baseMapper.selectDeviceList(exportEnum.getTableName(),exportEnum.getTableColumns(),exportEnum.getOrderColumn()); } @Override public List> selectAlarmRecords(Integer deviceType, String startTime, String endTime) { - return this.baseMapper.selectAlarmRecords(deviceType,startTime,endTime); } + @Override + public List> selectReportDataNum(DeviceRepDataExportEnum exportEnum, String startTime, String endTime) { + return this.baseMapper.selectReportDataNum(exportEnum.getType().getIndex(),exportEnum.getType().getTableName(),startTime,endTime); + } + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceTypeServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceTypeServiceImpl.java index 57d324f..380723d 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceTypeServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceTypeServiceImpl.java @@ -6,6 +6,7 @@ import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.modular.system.dao.DeviceTypeMapper; import com.casic.missiles.modular.system.model.DeviceType; +import com.casic.missiles.modular.system.service.IBusDeviceTypeSupportService; import com.casic.missiles.modular.system.service.IDeviceTypeService; import lombok.extern.slf4j.Slf4j; import org.springframework.dao.DataAccessException; @@ -26,7 +27,7 @@ */ @Slf4j @Service -public class DeviceTypeServiceImpl extends ServiceImpl implements IDeviceTypeService { +public class DeviceTypeServiceImpl extends ServiceImpl implements IDeviceTypeService, IBusDeviceTypeSupportService { @Override public DeviceType selectDeviceTypeByName(String typeName) { @@ -62,4 +63,8 @@ return responseData; } + @Override + public List list() { + return super.list(); + } } diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/dto/DeviceTypeEnum.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/dto/DeviceTypeEnum.java index d4481d2..24954e9 100644 --- a/casic-server-support/src/main/java/com/casic/missiles/modular/system/dto/DeviceTypeEnum.java +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/dto/DeviceTypeEnum.java @@ -2,28 +2,30 @@ public enum DeviceTypeEnum { - Well("井盖状态监测仪", 1), - Liquid("液位监测仪", 2), - WasteGas("有害气体监测仪", 3), - Methane("燃气智能监测终端", 4), - TempHumi("温湿度监测仪", 5), - Dig("开挖监测仪", 6), - WellLocator("井盖定位监测仪", 7), - Noise("噪声记录仪", 8), - TempPressure("温度压力监测仪", 9), - FireHydrant("消防栓防盗水监测仪", 11), - Tube("管盯", 12), - LG("井盖液位一体机", 13), - H2s("硫化氢检测终端", 14); + Well("井盖状态监测仪", 1,"data_wellcover"), + Liquid("液位监测仪", 2,"data_liquid"), + WasteGas("有害气体监测仪", 3,"data_harmful_gas"), + Methane("燃气智能监测终端", 4,"data_gas"), + TempHumi("温湿度监测仪", 5,"data_temp_hum"), + Dig("开挖监测仪", 6,"data_dig"), + WellLocator("井盖定位监测仪", 7,"data_wellcover_loca"), + Noise("噪声记录仪", 8,"data_noise"), + TempPressure("温度压力监测仪", 9,"data_temp_press"), + FireHydrant("消防栓防盗水监测仪", 11,"data_hydrant"), + Tube("管盯", 12,"data_tube"), + LG("井盖液位一体机", 13,"data_wellplus"), + H2s("硫化氢检测终端", 14,"data_h2s"); // 成员变量 private String name; private int index; + private String tableName; // 构造方法 - private DeviceTypeEnum(String name, int index) { + private DeviceTypeEnum(String name, int index, String tableName) { this.name = name; this.index = index; + this.tableName = tableName; } @@ -56,6 +58,14 @@ return null; } + public String getTableName() { + return tableName; + } + + public void setTableName(String tableName) { + this.tableName = tableName; + } + //覆盖方法 @Override public String toString() { diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/DataOpsExportController.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/DataOpsExportController.java index 197fc63..147524d 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/DataOpsExportController.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/DataOpsExportController.java @@ -1,5 +1,7 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.convert.Convert; import cn.hutool.core.util.StrUtil; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelWriter; @@ -12,10 +14,11 @@ import com.casic.missiles.modular.system.converter.EasyExcelLocalDateConverter; import com.casic.missiles.modular.system.enums.AlarmDataExportEnum; import com.casic.missiles.modular.system.enums.DeviceDataExportEnum; +import com.casic.missiles.modular.system.enums.DeviceRepDataExportEnum; import com.casic.missiles.modular.system.model.Device; +import com.casic.missiles.modular.system.model.DeviceType; import com.casic.missiles.modular.system.service.DeviceDataListService; -import com.casic.missiles.modular.system.service.IBusDeviceSupportService; -import com.casic.missiles.modular.system.service.IDataAnalysisService; +import com.casic.missiles.modular.system.service.IBusDeviceTypeSupportService; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; @@ -23,11 +26,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -38,26 +37,29 @@ @Slf4j @RestController public class DataOpsExportController extends ExportController { - @Resource - private IDataAnalysisService deviceService; + @Resource private AbstractPermissionContext permissionService; @Resource - private IBusDeviceSupportService busDeviceSupportService; + private IBusDeviceTypeSupportService deviceTypeSupportService; @Resource private DeviceDataListService deviceDataListService; @GetMapping(value = "/data/deviceExport") - public void simExport(Integer deviceType) throws IOException { + public void simExport(Integer deviceType) { + DeviceDataExportEnum exportEnum = DeviceDataExportEnum.typeOf(deviceType); if (exportEnum == null) { throw new ServiceException(500, "设备类型不存在"); } - + Map typeMap = getDeviceTypes(); LambdaQueryWrapper query = new LambdaQueryWrapper(); + List> list = deviceDataListService.selectDeviceList(exportEnum, query); + wrapDeviceType(typeMap, list); if (deviceType == 10) { List> listTwo = deviceDataListService.selectDeviceList(DeviceDataExportEnum.DATA_GASLIQUID_1, query); + wrapDeviceType(typeMap, listTwo); List sheetDataList = new ArrayList<>(); SheetData sheetData = new SheetData(); @@ -73,16 +75,53 @@ sheetDataList.add(sheetData); sheetDataList.add(sheetData1); exportMuti(sheetDataList); + } else { export(exportEnum.getDataFieldDefine(), list, exportEnum.getTableName()); } } + private void wrapDeviceType(Map typeMap, List> maps) { + if (CollectionUtil.isNotEmpty(maps)) { + maps.stream().forEach(map -> { + if (map.containsKey("device_type") && map.get("device_type") != null) { + map.put("device_type", typeMap.get(Convert.toStr(map.get("device_type"))).getTypeName()); + } + }); + } + } + + /** + * 设备类型读取 + * + * @return 设备类型 + */ + private Map getDeviceTypes() { + List types = deviceTypeSupportService.list(); + Map typeMap = new HashMap<>(); + types.forEach(type -> typeMap.put(String.valueOf(type.getId()), type)); + return typeMap; + } + @GetMapping(value = "/data/alarmExport") - public void alarmExport(Integer deviceType,String startTime,String endTime){ + public void alarmExport(Integer deviceType, String startTime, String endTime) { //告警统计查询 - List> alarms = deviceDataListService.selectAlarmRecords(deviceType,startTime,endTime); - export(AlarmDataExportEnum.DATA_ALARM.getDefines(),alarms,AlarmDataExportEnum.DATA_ALARM.name()); + Map typeMap = getDeviceTypes(); + List> alarms = deviceDataListService.selectAlarmRecords(deviceType, startTime, endTime); + wrapDeviceType(typeMap, alarms); + export(AlarmDataExportEnum.DATA_ALARM.getDefines(), alarms, AlarmDataExportEnum.DATA_ALARM.name()); + } + + @GetMapping(value = "/data/dataExport") + public void dataExport(Integer deviceType, String startTime, String endTime) { + DeviceRepDataExportEnum exportEnum = DeviceRepDataExportEnum.typeOf(deviceType); + if (exportEnum == null) { + throw new ServiceException(500, "设备类型不能为空"); + } + Map typeMap = getDeviceTypes(); + List> reportDataNums = deviceDataListService.selectReportDataNum(exportEnum, startTime, endTime); + wrapDeviceType(typeMap, reportDataNums); + export(exportEnum.getDefines(), reportDataNums, exportEnum.name()); } @SneakyThrows diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DeviceDataListMapper.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DeviceDataListMapper.java index a78f2c9..0fef119 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DeviceDataListMapper.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DeviceDataListMapper.java @@ -57,4 +57,6 @@ List> selectDeviceList(@Param("tableName") String tableName,@Param("tableColumns")String tableColumns,@Param("orderColumn")String orderColumn); List> selectAlarmRecords(@Param("deviceType")Integer deviceType,@Param("startTime")String startTime, @Param("endTime")String endTime); + + List> selectReportDataNum(@Param("deviceType")int index,@Param("tableName") String tableName, @Param("startTime")String startTime, @Param("endTime")String endTime); } diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceDataListMapper.xml b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceDataListMapper.xml index 0d55105..edd2703 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceDataListMapper.xml +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceDataListMapper.xml @@ -742,7 +742,10 @@ - - + diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/AlarmDataExportEnum.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/AlarmDataExportEnum.java index be77903..5597d5f 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/AlarmDataExportEnum.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/AlarmDataExportEnum.java @@ -9,6 +9,7 @@ DATA_ALARM(1, "井盖状态", new ArrayList() {{ add(new DataFieldDefine("id", "id")); add(new DataFieldDefine("devcode", "devcode")); + add(new DataFieldDefine("device_type", "device_type")); add(new DataFieldDefine("well_code", "well_code")); add(new DataFieldDefine("position", "position")); add(new DataFieldDefine("alarm_num", "alarm_num")); diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceDataExportEnum.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceDataExportEnum.java index ec34c95..8a9eddb 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceDataExportEnum.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceDataExportEnum.java @@ -103,7 +103,8 @@ this.typeName = typeName; this.tableName = tableName; this.tableColumns = tableColumns; - this.orderColumn = orderColumn;; + this.orderColumn = orderColumn; + ; } public String getTypeName() { @@ -130,7 +131,10 @@ } public List getDataFieldDefine() { - return StrUtil.split(tableColumns, ",").stream().map(column -> new DataFieldDefine(column, column)).collect(Collectors.toList()); + List fieldDefines = StrUtil.split(tableColumns, ",").stream().map(column -> new DataFieldDefine(column, column)).collect(Collectors.toList()); + //导出新增设备类型 + fieldDefines.add(new DataFieldDefine("device_type", "device_type")); + return fieldDefines; } public void setTableColumns(String tableColumns) { diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceRepDataExportEnum.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceRepDataExportEnum.java new file mode 100644 index 0000000..ca98b06 --- /dev/null +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/enums/DeviceRepDataExportEnum.java @@ -0,0 +1,72 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.core.base.model.DataFieldDefine; +import com.casic.missiles.modular.system.dto.DeviceTypeEnum; + +import java.util.ArrayList; +import java.util.List; + +public enum DeviceRepDataExportEnum { + + DATA_WELL(DeviceTypeEnum.Well, "井盖状态监测仪", new ArrayList() {{ + add(new DataFieldDefine("id", "id")); + add(new DataFieldDefine("devcode", "devcode")); + add(new DataFieldDefine("well_code", "well_code")); + add(new DataFieldDefine("device_type", "device_type")); + add(new DataFieldDefine("position", "position")); + add(new DataFieldDefine("data_num", "data_num")); + }}), + DATA_METHANE(DeviceTypeEnum.Methane, "燃气智能监测终端",new ArrayList(){{ + add(new DataFieldDefine("id", "id")); + add(new DataFieldDefine("devcode", "devcode")); + add(new DataFieldDefine("well_code", "well_code")); + add(new DataFieldDefine("device_type", "device_type")); + add(new DataFieldDefine("position", "position")); + add(new DataFieldDefine("data_num", "data_num")); + } + }); + String typeName; + DeviceTypeEnum type; + List defines; + + DeviceRepDataExportEnum(DeviceTypeEnum typeEnum, String typeName, List defines) { + this.type = typeEnum; + this.typeName = typeName; + this.defines = defines; + } + + public static DeviceRepDataExportEnum typeOf(Integer deviceType) { + + DeviceRepDataExportEnum exportEnum = null; + switch (deviceType) { + case 1: exportEnum = DATA_WELL;break; + case 4: exportEnum = DATA_METHANE;break; + } + + return exportEnum; + } + + public String getTypeName() { + return typeName; + } + + public void setTypeName(String typeName) { + this.typeName = typeName; + } + + public DeviceTypeEnum getType() { + return type; + } + + public void setType(DeviceTypeEnum type) { + this.type = type; + } + + public List getDefines() { + return defines; + } + + public void setDefines(List defines) { + this.defines = defines; + } +} diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/DeviceDataListService.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/DeviceDataListService.java index 5bc86fd..cc23845 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/DeviceDataListService.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/DeviceDataListService.java @@ -8,6 +8,7 @@ import com.casic.missiles.modular.system.dto.ExcelModel.*; import com.casic.missiles.modular.system.dto.statistic.*; import com.casic.missiles.modular.system.enums.DeviceDataExportEnum; +import com.casic.missiles.modular.system.enums.DeviceRepDataExportEnum; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.Device; @@ -83,4 +84,13 @@ * @return */ List> selectAlarmRecords(Integer deviceType, String startTime, String endTime); + + /** + * 告警数据导出 + * @param exportEnum 导出配置 + * @param startTime 开始日期 + * @param endTime 结束日期 + * @return + */ + List> selectReportDataNum(DeviceRepDataExportEnum exportEnum, String startTime, String endTime); } \ No newline at end of file diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceDataListServiceImpl.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceDataListServiceImpl.java index cd274a8..e1af1e7 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceDataListServiceImpl.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceDataListServiceImpl.java @@ -12,6 +12,7 @@ import com.casic.missiles.modular.system.dto.DeviceExportDto; import com.casic.missiles.modular.system.dto.statistic.*; import com.casic.missiles.modular.system.enums.DeviceDataExportEnum; +import com.casic.missiles.modular.system.enums.DeviceRepDataExportEnum; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.Device; import com.casic.missiles.modular.system.service.DeviceDataListService; @@ -125,14 +126,17 @@ @Override public List> selectDeviceList(DeviceDataExportEnum exportEnum, LambdaQueryWrapper query) { - return this.baseMapper.selectDeviceList(exportEnum.getTableName(),exportEnum.getTableColumns(),exportEnum.getOrderColumn()); } @Override public List> selectAlarmRecords(Integer deviceType, String startTime, String endTime) { - return this.baseMapper.selectAlarmRecords(deviceType,startTime,endTime); } + @Override + public List> selectReportDataNum(DeviceRepDataExportEnum exportEnum, String startTime, String endTime) { + return this.baseMapper.selectReportDataNum(exportEnum.getType().getIndex(),exportEnum.getType().getTableName(),startTime,endTime); + } + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceTypeServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceTypeServiceImpl.java index 57d324f..380723d 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceTypeServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceTypeServiceImpl.java @@ -6,6 +6,7 @@ import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.modular.system.dao.DeviceTypeMapper; import com.casic.missiles.modular.system.model.DeviceType; +import com.casic.missiles.modular.system.service.IBusDeviceTypeSupportService; import com.casic.missiles.modular.system.service.IDeviceTypeService; import lombok.extern.slf4j.Slf4j; import org.springframework.dao.DataAccessException; @@ -26,7 +27,7 @@ */ @Slf4j @Service -public class DeviceTypeServiceImpl extends ServiceImpl implements IDeviceTypeService { +public class DeviceTypeServiceImpl extends ServiceImpl implements IDeviceTypeService, IBusDeviceTypeSupportService { @Override public DeviceType selectDeviceTypeByName(String typeName) { @@ -62,4 +63,8 @@ return responseData; } + @Override + public List list() { + return super.list(); + } } diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/dto/DeviceTypeEnum.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/dto/DeviceTypeEnum.java index d4481d2..24954e9 100644 --- a/casic-server-support/src/main/java/com/casic/missiles/modular/system/dto/DeviceTypeEnum.java +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/dto/DeviceTypeEnum.java @@ -2,28 +2,30 @@ public enum DeviceTypeEnum { - Well("井盖状态监测仪", 1), - Liquid("液位监测仪", 2), - WasteGas("有害气体监测仪", 3), - Methane("燃气智能监测终端", 4), - TempHumi("温湿度监测仪", 5), - Dig("开挖监测仪", 6), - WellLocator("井盖定位监测仪", 7), - Noise("噪声记录仪", 8), - TempPressure("温度压力监测仪", 9), - FireHydrant("消防栓防盗水监测仪", 11), - Tube("管盯", 12), - LG("井盖液位一体机", 13), - H2s("硫化氢检测终端", 14); + Well("井盖状态监测仪", 1,"data_wellcover"), + Liquid("液位监测仪", 2,"data_liquid"), + WasteGas("有害气体监测仪", 3,"data_harmful_gas"), + Methane("燃气智能监测终端", 4,"data_gas"), + TempHumi("温湿度监测仪", 5,"data_temp_hum"), + Dig("开挖监测仪", 6,"data_dig"), + WellLocator("井盖定位监测仪", 7,"data_wellcover_loca"), + Noise("噪声记录仪", 8,"data_noise"), + TempPressure("温度压力监测仪", 9,"data_temp_press"), + FireHydrant("消防栓防盗水监测仪", 11,"data_hydrant"), + Tube("管盯", 12,"data_tube"), + LG("井盖液位一体机", 13,"data_wellplus"), + H2s("硫化氢检测终端", 14,"data_h2s"); // 成员变量 private String name; private int index; + private String tableName; // 构造方法 - private DeviceTypeEnum(String name, int index) { + private DeviceTypeEnum(String name, int index, String tableName) { this.name = name; this.index = index; + this.tableName = tableName; } @@ -56,6 +58,14 @@ return null; } + public String getTableName() { + return tableName; + } + + public void setTableName(String tableName) { + this.tableName = tableName; + } + //覆盖方法 @Override public String toString() { diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceTypeSupportService.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceTypeSupportService.java new file mode 100644 index 0000000..877691a --- /dev/null +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceTypeSupportService.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.model.DeviceType; + +import java.util.List; + +/** + * 设备支撑 + * + * @author lwh + */ +public interface IBusDeviceTypeSupportService { + /** + * 获取设备类型集合 + * + * @return 设备列表 + */ + List list(); +} \ No newline at end of file