feat: 新增停机记录视图与查询导出接口

main
zch 1 month ago
parent 79cb8d1b9b
commit 87bf75370f

@ -0,0 +1,68 @@
package org.dromara.rfid.controller;
import java.util.List;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.web.core.BaseController;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.rfid.domain.vo.RfidReadRecordVo;
import org.dromara.rfid.domain.vo.RfidDowntimeRecordVo;
import org.dromara.rfid.domain.bo.RfidReadRecordBo;
import org.dromara.rfid.service.IRfidReadRecordService;
/**
*
* <p>
* web
* rfid_read_record "停机记录"
* </p>
*
* @author zch
* @date 2026-05-18
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/rfid/downtimeRecord")
public class RfidDowntimeRecordController extends BaseController {
private final IRfidReadRecordService rfidReadRecordService;
/**
*
*/
@SaCheckPermission("rfid:downtimeRecord:list")
@GetMapping("/list")
public TableDataInfo<RfidDowntimeRecordVo> list(RfidReadRecordBo bo, PageQuery pageQuery) {
TableDataInfo<RfidReadRecordVo> result = rfidReadRecordService.queryPageList(bo, pageQuery);
List<RfidDowntimeRecordVo> rows = result.getRows().stream()
.map(RfidDowntimeRecordVo::from)
.toList();
TableDataInfo<RfidDowntimeRecordVo> downtimeResult = new TableDataInfo<>();
downtimeResult.setRows(rows);
downtimeResult.setTotal(result.getTotal());
return downtimeResult;
}
/**
*
*/
@SaCheckPermission("rfid:downtimeRecord:export")
@Log(title = "停机记录", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(RfidReadRecordBo bo, HttpServletResponse response) {
List<RfidReadRecordVo> list = rfidReadRecordService.queryList(bo);
List<RfidDowntimeRecordVo> downtimeList = list.stream()
.map(RfidDowntimeRecordVo::from)
.toList();
ExcelUtil.exportExcel(downtimeList, "停机记录", RfidDowntimeRecordVo.class, response);
}
}

@ -0,0 +1,80 @@
package org.dromara.rfid.domain.vo;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import lombok.Data;
/**
*
* <p>
* web
* rfid_read_record "停机记录"
* </p>
*
* @author zch
* @date 2026-05-18
*/
@Data
@ExcelIgnoreUnannotated
public class RfidDowntimeRecordVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
private Long id;
/**
* idrfid_device.id
*/
private Long deviceId;
/**
* rfid_device.device_code
*/
@ExcelProperty(value = "设备编号")
private String deviceCode;
/**
* rfid_device.device_name
*/
@ExcelProperty(value = "设备名称")
private String deviceName;
/**
* (1-;0-)
*/
@ExcelProperty(value = "读取状态", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "read_status")
private String readStatus;
/**
*
*/
@ExcelProperty(value = "记录时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date recordTime;
/**
* RfidReadRecordVo VO
*/
public static RfidDowntimeRecordVo from(RfidReadRecordVo vo) {
RfidDowntimeRecordVo downtime = new RfidDowntimeRecordVo();
downtime.setId(vo.getId());
downtime.setDeviceId(vo.getDeviceId());
downtime.setDeviceCode(vo.getDeviceCode());
downtime.setDeviceName(vo.getDeviceName());
downtime.setReadStatus(vo.getReadStatus());
downtime.setRecordTime(vo.getRecordTime());
return downtime;
}
}
Loading…
Cancel
Save