feat: 增加导出运维

dev
huangfeng 1 year ago
parent 8b138eb74a
commit 101165c42d

@ -4,9 +4,11 @@ import com.github.pagehelper.PageInfo;
import com.shxy.xymanager_common.base.BaseController; import com.shxy.xymanager_common.base.BaseController;
import com.shxy.xymanager_common.base.ResponseReult; import com.shxy.xymanager_common.base.ResponseReult;
import com.shxy.xymanager_common.entity.*; 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.exception.ApiException;
import com.shxy.xymanager_common.model.PhotoDayModel; import com.shxy.xymanager_common.model.PhotoDayModel;
import com.shxy.xymanager_common.model.TerminalGpsModel; 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_common.vo.TerminalSelectVo;
import com.shxy.xymanager_dao.dao.TerminalPositionsDao; import com.shxy.xymanager_dao.dao.TerminalPositionsDao;
import com.shxy.xymanager_dao.dao.TerminalStatusDao; import com.shxy.xymanager_dao.dao.TerminalStatusDao;
@ -19,6 +21,8 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.List; import java.util.List;
@RestController @RestController
@ -81,6 +85,21 @@ public class TerminalExtController extends BaseController {
return ResponseReult.success(result); return ResponseReult.success(result);
} }
@GetMapping("exportForMaintain")
@ApiOperation("导出运维")
public void exportForMaintain(TerminalSelectVo vo, HttpServletResponse response) throws Exception {
vo.setPageindex(1);
vo.setPagesize(10000);
List<View_Dy_Line_Tower_Terminals> result = terminalExtService.getExtTerminalList(vo);
List<TerminalExcel> 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") @GetMapping("listWithAll")
@ApiOperation("查询附带全部额外信息") @ApiOperation("查询附带全部额外信息")
public ResponseReult<PageInfo<View_Dy_Line_Tower_Terminals>> listWithAll(Integer dyId, Integer lineId, Integer towerId, String search, public ResponseReult<PageInfo<View_Dy_Line_Tower_Terminals>> listWithAll(Integer dyId, Integer lineId, Integer towerId, String search,

@ -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<String, Object> 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;
}
}

@ -14,6 +14,7 @@ import com.shxy.xymanager_dao.dao.MntnStatusMapper;
import com.shxy.xymanager_dao.dao.TerminalsDao; import com.shxy.xymanager_dao.dao.TerminalsDao;
import com.shxy.xymanager_dao.dao.View_Dy_Line_Tower_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.ActivitiesService;
import com.shxy.xymanager_service.service.CacheService;
import com.shxy.xymanager_service.service.TerminalExtService; import com.shxy.xymanager_service.service.TerminalExtService;
import com.shxy.xymanager_service.service.UserService; import com.shxy.xymanager_service.service.UserService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -26,6 +27,7 @@ import java.math.BigInteger;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map;
@Service @Service
@Slf4j @Slf4j
@ -44,6 +46,8 @@ public class TerminalExtServiceImpl implements TerminalExtService {
MntnStatusMapper statusMapper; MntnStatusMapper statusMapper;
@Resource @Resource
MntnRawReportsMapper rawReportsMapper; MntnRawReportsMapper rawReportsMapper;
@Resource
CacheService cacheService;
@Override @Override
@ -130,6 +134,7 @@ public class TerminalExtServiceImpl implements TerminalExtService {
} }
private List<View_Dy_Line_Tower_Terminals> fillReport(List<View_Dy_Line_Tower_Terminals> list, TerminalSelectVo vo) { private List<View_Dy_Line_Tower_Terminals> fillReport(List<View_Dy_Line_Tower_Terminals> list, TerminalSelectVo vo) {
Map<Integer, Protocols> protocolMap = cacheService.getProtocolMap();
List<View_Dy_Line_Tower_Terminals> result = new ArrayList<>(); List<View_Dy_Line_Tower_Terminals> result = new ArrayList<>();
for (View_Dy_Line_Tower_Terminals item : list) { for (View_Dy_Line_Tower_Terminals item : list) {
MntnStatus status = statusMapper.selectByPrimaryKey(item.getId()); MntnStatus status = statusMapper.selectByPrimaryKey(item.getId());
@ -138,6 +143,10 @@ public class TerminalExtServiceImpl implements TerminalExtService {
if (status != null) { if (status != null) {
if (status.match(vo)) { if (status.match(vo)) {
result.add(item); result.add(item);
Protocols protocols = protocolMap.get(item.getProtocol());
if (protocols != null) {
item.setProtocolName(protocols.getName());
}
} }
} }
} else { } else {
@ -145,6 +154,10 @@ public class TerminalExtServiceImpl implements TerminalExtService {
status.makeRawReport(); status.makeRawReport();
} }
result.add(item); result.add(item);
Protocols protocols = protocolMap.get(item.getProtocol());
if (protocols != null) {
item.setProtocolName(protocols.getName());
}
} }
} }
return result; return result;

Loading…
Cancel
Save