diff --git a/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TerminalExtController.java b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TerminalExtController.java index 41e92db..c54acdb 100644 --- a/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TerminalExtController.java +++ b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TerminalExtController.java @@ -4,9 +4,11 @@ import com.github.pagehelper.PageInfo; import com.shxy.xymanager_common.base.BaseController; import com.shxy.xymanager_common.base.ResponseReult; import com.shxy.xymanager_common.entity.*; +import com.shxy.xymanager_common.excel.TerminalExcel; import com.shxy.xymanager_common.exception.ApiException; import com.shxy.xymanager_common.model.PhotoDayModel; import com.shxy.xymanager_common.model.TerminalGpsModel; +import com.shxy.xymanager_common.util.EasyExcelUtil; import com.shxy.xymanager_common.vo.TerminalSelectVo; import com.shxy.xymanager_dao.dao.TerminalPositionsDao; import com.shxy.xymanager_dao.dao.TerminalStatusDao; @@ -19,6 +21,8 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; import java.util.List; @RestController @@ -81,6 +85,21 @@ public class TerminalExtController extends BaseController { return ResponseReult.success(result); } + + @GetMapping("exportForMaintain") + @ApiOperation("导出运维") + public void exportForMaintain(TerminalSelectVo vo, HttpServletResponse response) throws Exception { + vo.setPageindex(1); + vo.setPagesize(10000); + List result = terminalExtService.getExtTerminalList(vo); + List list = new ArrayList<>(); + for (View_Dy_Line_Tower_Terminals term : result) { + TerminalExcel item = TerminalExcel.from(term); + list.add(item); + } + EasyExcelUtil.createExcel(response, "运维数据", list, TerminalExcel.class); + } + @GetMapping("listWithAll") @ApiOperation("查询附带全部额外信息") public ResponseReult> listWithAll(Integer dyId, Integer lineId, Integer towerId, String search, diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/excel/TerminalExcel.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/excel/TerminalExcel.java new file mode 100644 index 0000000..22ccbdc --- /dev/null +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/excel/TerminalExcel.java @@ -0,0 +1,143 @@ +package com.shxy.xymanager_common.excel; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.shxy.xymanager_common.entity.MntnStatus; +import com.shxy.xymanager_common.entity.View_Dy_Line_Tower_Terminals; +import lombok.Data; + +import java.util.Date; +import java.util.HashMap; + +@Data +public class TerminalExcel { + + @ColumnWidth(16) + @ExcelProperty(value = "出厂ID") + private String oid; + @ColumnWidth(16) + @ExcelProperty(value = "装置编号") + private String cmdid; + @ColumnWidth(16) + @ExcelProperty(value = "状态") + private String onlinestatus; + @ColumnWidth(16) + @ExcelProperty(value = "最后心跳时间") + private Date lastReportTime; + @ColumnWidth(16) + @ExcelProperty(value = "传图") + private String pic; + @ColumnWidth(16) + @ExcelProperty(value = "规约") + private String protocolName; + @ColumnWidth(16) + @ExcelProperty(value = "电池状态") + private String battery; + @ColumnWidth(16) + @ExcelProperty(value = "心跳次数") + private String numberOfHb; + @ColumnWidth(16) + @ExcelProperty(value = "心跳周期") + private String heartbeatDuration; + @ColumnWidth(16) + @ExcelProperty(value = "CMA消息") + private String recv; + @ColumnWidth(16) + @ExcelProperty(value = "拍照计划/实际") + private String photoTimes; + @ColumnWidth(16) + @ExcelProperty(value = "拍照成功") + private String success; + @ColumnWidth(16) + @ExcelProperty(value = "拍照失败") + private String failure; + @ColumnWidth(16) + @ExcelProperty(value = "卡1信号") + private String signature1; + @ColumnWidth(16) + @ExcelProperty(value = "卡2信号") + private String signature2; + @ColumnWidth(16) + @ExcelProperty(value = "网络错误") + private String networkError; + @ColumnWidth(16) + @ExcelProperty(value = "系统重启") + private String rebootTimes; + @ColumnWidth(16) + @ExcelProperty(value = "I1重启") + private String i1RebootTimes; + @ColumnWidth(16) + @ExcelProperty(value = "SIM卡1") + private String simcard1; + @ColumnWidth(16) + @ExcelProperty(value = "SIM卡2") + private String simcard2; + @ColumnWidth(16) + @ExcelProperty(value = "CMA服务器") + private String cma; + @ColumnWidth(16) + @ExcelProperty(value = "磁盘剩余空间") + private String freeROM; + @ColumnWidth(16) + @ExcelProperty(value = "I1版本") + private String i1Version; + @ColumnWidth(16) + @ExcelProperty(value = "运维版本") + private String maintainVersion; + @ColumnWidth(16) + @ExcelProperty(value = "camera版本") + private String cameraService; + @ColumnWidth(16) + @ExcelProperty(value = "AI版本") + private String aiVersion; + @ColumnWidth(16) + @ExcelProperty(value = "MCU版本") + private String mcu; + @ColumnWidth(16) + @ExcelProperty(value = "装置ip") + private String lastIP; + @ColumnWidth(16) + @ExcelProperty(value = "备注") + private String comment; + + public static TerminalExcel from(View_Dy_Line_Tower_Terminals term) { + TerminalExcel item = new TerminalExcel(); + item.setCmdid(term.getCmdid()); + if (term.getOnlinestatus() != null && term.getOnlinestatus().intValue() == 1) { + item.setOnlinestatus("在线"); + } else { + item.setOnlinestatus("离线"); + } + item.setProtocolName(term.getProtocolName()); + + MntnStatus status = term.getMntnStatus(); + item.setLastReportTime(new Date(status.getRawReportTime() * 1000)); + item.setLastIP(status.getLastIp()); + item.setComment(status.getComment()); + + HashMap map = status.getReportMap(); + item.setPic((String) map.get("pic")); + item.setBattery((String) map.get("battery")); + item.setNumberOfHb((String) map.get("numberOfHb")); + item.setHeartbeatDuration((String) map.get("heartbeatDuration")); + item.setRecv((String) map.get("recv")); + item.setPhotoTimes((String) map.get("photoTimes")); + item.setSuccess((String) map.get("success")); + item.setFailure((String) map.get("failure")); + item.setSignature1((String) map.get("signature1")); + item.setSignature2((String) map.get("signature2")); + item.setNetworkError((String) map.get("networkError")); + item.setRebootTimes((String) map.get("rebootTimes")); + item.setI1RebootTimes((String) map.get("i1RebootTimes")); + item.setSimcard1((String) map.get("simcard1")); + item.setSimcard2((String) map.get("simcard2")); + item.setCma((String) map.get("cma")); + item.setFreeROM((String) map.get("freeROM")); + item.setI1Version((String) map.get("i1Version")); + item.setMaintainVersion((String) map.get("maintainVersion")); + item.setCameraService((String) map.get("cameraService")); + item.setAiVersion((String) map.get("aiVersion")); + item.setMcu((String) map.get("mcu")); + return item; + } +} diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TerminalExtServiceImpl.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TerminalExtServiceImpl.java index bcdc8de..e87d4cf 100644 --- a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TerminalExtServiceImpl.java +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TerminalExtServiceImpl.java @@ -14,6 +14,7 @@ import com.shxy.xymanager_dao.dao.MntnStatusMapper; import com.shxy.xymanager_dao.dao.TerminalsDao; import com.shxy.xymanager_dao.dao.View_Dy_Line_Tower_TerminalsDao; import com.shxy.xymanager_service.service.ActivitiesService; +import com.shxy.xymanager_service.service.CacheService; import com.shxy.xymanager_service.service.TerminalExtService; import com.shxy.xymanager_service.service.UserService; import lombok.extern.slf4j.Slf4j; @@ -26,6 +27,7 @@ import java.math.BigInteger; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Map; @Service @Slf4j @@ -44,6 +46,8 @@ public class TerminalExtServiceImpl implements TerminalExtService { MntnStatusMapper statusMapper; @Resource MntnRawReportsMapper rawReportsMapper; + @Resource + CacheService cacheService; @Override @@ -130,6 +134,7 @@ public class TerminalExtServiceImpl implements TerminalExtService { } private List fillReport(List list, TerminalSelectVo vo) { + Map protocolMap = cacheService.getProtocolMap(); List result = new ArrayList<>(); for (View_Dy_Line_Tower_Terminals item : list) { MntnStatus status = statusMapper.selectByPrimaryKey(item.getId()); @@ -138,6 +143,10 @@ public class TerminalExtServiceImpl implements TerminalExtService { if (status != null) { if (status.match(vo)) { result.add(item); + Protocols protocols = protocolMap.get(item.getProtocol()); + if (protocols != null) { + item.setProtocolName(protocols.getName()); + } } } } else { @@ -145,6 +154,10 @@ public class TerminalExtServiceImpl implements TerminalExtService { status.makeRawReport(); } result.add(item); + Protocols protocols = protocolMap.get(item.getProtocol()); + if (protocols != null) { + item.setProtocolName(protocols.getName()); + } } } return result;