From 4f3a98f19143865cdc1de4791e8a95d96bd40c65 Mon Sep 17 00:00:00 2001 From: maven <2163098428@qq.com> Date: 星期五, 01 八月 2025 13:27:59 +0800 Subject: [PATCH] yys 密码已重置 --- cnas-device/src/main/java/com/ruoyi/device/controller/DeviceStateController.java | 87 +++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 87 insertions(+), 0 deletions(-) diff --git a/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceStateController.java b/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceStateController.java new file mode 100644 index 0000000..8bea151 --- /dev/null +++ b/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceStateController.java @@ -0,0 +1,87 @@ +package com.ruoyi.device.controller; + +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson2.JSON; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.domain.Result; +import com.ruoyi.common.numgen.NumberGenerator; +import com.ruoyi.device.dto.DeviceStateDto; +import com.ruoyi.device.excel.DeviceStateExport; +import com.ruoyi.device.pojo.DeviceState; +import com.ruoyi.device.service.DeviceStateService; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; +import java.util.Locale; + +/** + * <p> + * 璁惧鍋滅敤/鍚敤 鍓嶇鎺у埗鍣� + * </p> + * + * @author + * @since 2024-09-26 09:51:40 + */ +@RestController +@RequestMapping("/deviceState") +public class DeviceStateController { + + @Autowired + private DeviceStateService deviceStateService; + + @Autowired + private NumberGenerator<DeviceState> numberGenerator; + + @PostMapping("saveDeviceState") + public Result saveIncidentReportData(@RequestBody DeviceState deviceState) { + if (ObjectUtils.isEmpty(deviceState.getProcessNumber())) { + String year = new SimpleDateFormat("yy", Locale.CHINESE).format(new Date()); + String month = new SimpleDateFormat("MM", Locale.CHINESE).format(new Date()); + String processNumber = numberGenerator.generateNumberWithPrefix(3, "DG-TC-23FM " + month + "-" + year + month, DeviceState::getProcessNumber); + deviceState.setProcessNumber(processNumber); + } + deviceStateService.saveOrUpdate(deviceState); + return Result.success(); + } + + @GetMapping("/getDeviceStatePage") + public Result getDeviceStatePage(@RequestParam("deviceId") Integer deviceId, Page page, String processNumber){ + return Result.success(deviceStateService.getDeviceStatePage(deviceId, page, processNumber)); + } + + @DeleteMapping("/deleteDeviceState") + public Result deleteDeviceState(@RequestParam("stateId") Integer stateId){ + return Result.success(deviceStateService.removeById(stateId)); + } + + @GetMapping("/deviceStateExport") + public Result deviceStateExport(@RequestParam("deviceId") Integer deviceId, String processNumber, HttpServletResponse response) throws Exception { + IPage<DeviceStateDto> deviceBorrows = deviceStateService.getDeviceStatePage(deviceId, new Page<>(-1, -1), processNumber); + List<DeviceStateExport> studentList = JSONObject.parseArray(JSON.toJSONString(deviceBorrows.getRecords()), DeviceStateExport.class); + response.setHeader("requestType", "excel"); + response.setHeader("Access-Control-Expose-Headers", "requestType"); + // 璁剧疆鍗曞厓鏍兼牱寮� + // 淇濆瓨鍒扮涓�涓猻heet涓� + EasyExcel.write(response.getOutputStream()) + .head(DeviceStateExport.class) + .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 鑷�傚簲鍒楀 + .sheet("sheet") + .doWrite(studentList); + return Result.success(); + } + + @ApiOperation(value = "璁惧鍚姩/鍋滄瀵煎嚭") + @GetMapping("/exportDeviceStatus") + public void exportDeviceStatus(@RequestParam("processNumber") String processNumber,@RequestParam("deviceId") Integer deviceId, HttpServletResponse response) throws Exception { + deviceStateService.exportDeviceStatus(deviceId, processNumber, response); + } +} -- Gitblit v1.9.3