10 changed files with 993 additions and 0 deletions
			
			
		@ -0,0 +1,97 @@
					 | 
				
			||||
package com.mh.web.controller.report; | 
				
			||||
 | 
				
			||||
import com.alibaba.excel.EasyExcel; | 
				
			||||
import com.mh.common.core.controller.BaseController; | 
				
			||||
import com.mh.common.core.domain.AjaxResult; | 
				
			||||
import com.mh.common.core.domain.dto.MaglevReportSysParamDTO; | 
				
			||||
import com.mh.common.core.domain.entity.ReportSysRunParamHis; | 
				
			||||
import com.mh.common.core.page.TableDataInfo; | 
				
			||||
import com.mh.common.utils.StringUtils; | 
				
			||||
import com.mh.common.utils.file.handle.ExcelFillCellMergeHandler; | 
				
			||||
import com.mh.common.utils.file.handle.ReportSysParamHandler; | 
				
			||||
import com.mh.common.utils.file.handle.RowHeightStyleHandler; | 
				
			||||
import com.mh.system.service.report.IReportSysService; | 
				
			||||
import jakarta.servlet.http.HttpServletResponse; | 
				
			||||
import lombok.extern.slf4j.Slf4j; | 
				
			||||
import org.springframework.beans.BeanUtils; | 
				
			||||
import org.springframework.web.bind.annotation.*; | 
				
			||||
 | 
				
			||||
import java.io.IOException; | 
				
			||||
import java.net.URLEncoder; | 
				
			||||
import java.util.List; | 
				
			||||
import java.util.stream.Collectors; | 
				
			||||
 | 
				
			||||
/** | 
				
			||||
 * @author LJF | 
				
			||||
 * @version 1.0 | 
				
			||||
 * @project NewZhujiang_Server | 
				
			||||
 * @description 系统参数报表 | 
				
			||||
 * @date 2024-05-30 08:45:57 | 
				
			||||
 */ | 
				
			||||
@RestController | 
				
			||||
@RequestMapping("/reportSys") | 
				
			||||
@Slf4j | 
				
			||||
public class ReportSysController extends BaseController { | 
				
			||||
 | 
				
			||||
    private final IReportSysService reportSysService; | 
				
			||||
 | 
				
			||||
    private ReportSysController(IReportSysService reportSysService) { | 
				
			||||
        this.reportSysService = reportSysService; | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    @PostMapping("/list") | 
				
			||||
    public TableDataInfo list(@RequestBody ReportSysRunParamHis reportSysRunParamHis) | 
				
			||||
    { | 
				
			||||
        startPage(); | 
				
			||||
        List<ReportSysRunParamHis> list = reportSysService.selectList(reportSysRunParamHis); | 
				
			||||
        return getDataTable(list); | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    @PutMapping("/edit") | 
				
			||||
    public AjaxResult edit(@RequestBody ReportSysRunParamHis reportSysRunParamHis) | 
				
			||||
    { | 
				
			||||
        return toAjax(reportSysService.updateSysRunParams(reportSysRunParamHis)); | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    @PostMapping("/export") | 
				
			||||
    public void exportExcel(@RequestBody ReportSysRunParamHis reportSysRunParamHis, HttpServletResponse response) { | 
				
			||||
        // 文件名
 | 
				
			||||
        try { | 
				
			||||
            String fileName =  "系统参数运行日志报表.xlsx"; | 
				
			||||
            String deviceNum = (String) reportSysRunParamHis.getParams().get("deviceNum"); | 
				
			||||
            if (!StringUtils.isBlank(deviceNum)) { | 
				
			||||
                if ("2".equals(deviceNum)) { | 
				
			||||
                    fileName = "变频螺杆主机系统参数报表.xlsx"; | 
				
			||||
                } else { | 
				
			||||
                    fileName = "磁悬浮主机系统参数报表.xlsx"; | 
				
			||||
                } | 
				
			||||
            } | 
				
			||||
            // 从数据库获取数据
 | 
				
			||||
            List<ReportSysRunParamHis> list = reportSysService.selectList(reportSysRunParamHis); | 
				
			||||
            if (list != null) { | 
				
			||||
                // 设置响应格式
 | 
				
			||||
                response.setContentType("application/vdn.ms-excel;charset=utf-8"); | 
				
			||||
                response.setHeader("Content-Disposition", "attachment; filename=\"" + URLEncoder.encode(fileName, "UTF-8") + "\""); | 
				
			||||
                response.setCharacterEncoding("UTF-8"); | 
				
			||||
                ExcelFillCellMergeHandler mergePrevCol = new ExcelFillCellMergeHandler(); | 
				
			||||
                int headSize = 3; | 
				
			||||
                List<MaglevReportSysParamDTO> infoDTOS = list.stream().map(info -> { | 
				
			||||
                    MaglevReportSysParamDTO deviceInfoDTO = new MaglevReportSysParamDTO(); | 
				
			||||
                    BeanUtils.copyProperties(info, deviceInfoDTO); | 
				
			||||
                    return deviceInfoDTO; | 
				
			||||
                }).collect(Collectors.toList()); | 
				
			||||
 | 
				
			||||
                // 内容格式
 | 
				
			||||
                EasyExcel.write(response.getOutputStream(), MaglevReportSysParamDTO.class) | 
				
			||||
                        .registerWriteHandler(new ReportSysParamHandler("磁悬浮水冷冷水机组数据运行记录表")) | 
				
			||||
                        .registerWriteHandler(mergePrevCol) | 
				
			||||
                        .registerWriteHandler(new RowHeightStyleHandler()) | 
				
			||||
                        .sheet(fileName.replace(".xlsx", "")) | 
				
			||||
                        .doWrite(infoDTOS); | 
				
			||||
            } | 
				
			||||
        } catch (IOException e) { | 
				
			||||
            throw new RuntimeException("下载报表异常"); | 
				
			||||
        } | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
} | 
				
			||||
@ -0,0 +1,263 @@
					 | 
				
			||||
package com.mh.common.core.domain.dto; | 
				
			||||
 | 
				
			||||
import com.alibaba.excel.annotation.ExcelIgnore; | 
				
			||||
import com.alibaba.excel.annotation.ExcelProperty; | 
				
			||||
import com.alibaba.excel.annotation.write.style.*; | 
				
			||||
import com.alibaba.excel.enums.poi.BorderStyleEnum; | 
				
			||||
import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum; | 
				
			||||
import lombok.Data; | 
				
			||||
import lombok.NoArgsConstructor; | 
				
			||||
import lombok.experimental.Accessors; | 
				
			||||
 | 
				
			||||
import java.math.BigDecimal; | 
				
			||||
 | 
				
			||||
//import java.math.String;
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
/** | 
				
			||||
 * @author LJF | 
				
			||||
 * @version 1.0 | 
				
			||||
 * @project NewZhujiang_Server | 
				
			||||
 * @description 磁悬浮主机系统参数报表 | 
				
			||||
 * @date 2024-05-30 11:00:12 | 
				
			||||
 */ | 
				
			||||
@Data | 
				
			||||
@NoArgsConstructor | 
				
			||||
@Accessors(chain = true) | 
				
			||||
@HeadRowHeight(25) | 
				
			||||
@HeadFontStyle(fontHeightInPoints = 14) | 
				
			||||
@ContentFontStyle(fontHeightInPoints = 13) | 
				
			||||
@ContentRowHeight(25) | 
				
			||||
@ContentStyle( | 
				
			||||
        horizontalAlignment = HorizontalAlignmentEnum.CENTER, | 
				
			||||
        borderBottom = BorderStyleEnum.THIN, | 
				
			||||
        borderLeft = BorderStyleEnum.THIN, | 
				
			||||
        borderRight = BorderStyleEnum.THIN, | 
				
			||||
        borderTop = BorderStyleEnum.THIN | 
				
			||||
) | 
				
			||||
@ColumnWidth(10) | 
				
			||||
public class MaglevReportSysParamDTO { | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 当前时间 | 
				
			||||
     */ | 
				
			||||
    @ColumnWidth(17) | 
				
			||||
    @ExcelProperty(value = {"${deviceType}", "时间", "时间"}, index = 0) | 
				
			||||
    private String curTime; | 
				
			||||
 | 
				
			||||
//    /**
 | 
				
			||||
//     * 班次
 | 
				
			||||
//     */
 | 
				
			||||
//    @ColumnWidth(10)
 | 
				
			||||
//    @ExcelProperty(value = {"${deviceType}", "班次", "班次"}, index = 1)
 | 
				
			||||
//    private String classes;
 | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 冷冻水进水温度℃ | 
				
			||||
     */ | 
				
			||||
    @ColumnWidth(10) | 
				
			||||
    @ExcelProperty(value = {"${deviceType}", "蒸发器", "冷冻水进水温度℃"}, index = 2) | 
				
			||||
    private BigDecimal tempInChillerWater; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 冷冻水出水温度℃ | 
				
			||||
     */ | 
				
			||||
    @ExcelProperty(value = {"${deviceType}", "蒸发器", "冷冻水出水温度℃"}, index = 3) | 
				
			||||
    @ColumnWidth(10) | 
				
			||||
    private BigDecimal tempOutChillerWater; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 设计流量% | 
				
			||||
     */ | 
				
			||||
    @ExcelProperty(value = {"${deviceType}", "蒸发器", "设计流量%"}, index = 4) | 
				
			||||
    @ColumnWidth(10) | 
				
			||||
    private BigDecimal designFlow; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 蒸发器压力kpa | 
				
			||||
     */ | 
				
			||||
    @ExcelProperty(value = {"${deviceType}", "蒸发器", "蒸发器压力kpa"}, index = 5) | 
				
			||||
    @ColumnWidth(10) | 
				
			||||
    private BigDecimal pressEvapSaturation; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 蒸发器饱和温度℃ | 
				
			||||
     */ | 
				
			||||
    @ExcelProperty(value = {"${deviceType}", "蒸发器", "蒸发器饱和温度℃"}, index = 6) | 
				
			||||
    @ColumnWidth(10) | 
				
			||||
    private BigDecimal tempEvapSaturation; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 趋近温度℃ | 
				
			||||
     */ | 
				
			||||
    @ExcelProperty(value = {"${deviceType}", "蒸发器", "趋近温度℃"}, index = 7) | 
				
			||||
    @ColumnWidth(10) | 
				
			||||
    private BigDecimal tempEvapApproaching; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 冷却水进水温度℃ | 
				
			||||
     */ | 
				
			||||
    @ExcelProperty(value = {"${deviceType}", "冷凝器", "冷却水进水温度℃"}, index = 8) | 
				
			||||
    @ColumnWidth(10) | 
				
			||||
    private BigDecimal tempInCoolingWater; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 冷却水出水温度℃ | 
				
			||||
     */ | 
				
			||||
    @ExcelProperty(value = {"${deviceType}", "冷凝器", "冷却水出水温度℃"}, index = 9) | 
				
			||||
    @ColumnWidth(10) | 
				
			||||
    private BigDecimal tempOutCoolingWater; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 冷凝器压力kpa | 
				
			||||
     */ | 
				
			||||
    @ExcelProperty(value = {"${deviceType}", "冷凝器", "冷凝器压力kpa"}, index = 10) | 
				
			||||
    @ColumnWidth(10) | 
				
			||||
    private BigDecimal pressCondenserSaturation; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 冷凝器饱和温度℃ | 
				
			||||
     */ | 
				
			||||
    @ExcelProperty(value = {"${deviceType}", "冷凝器", "冷凝器饱和温度℃"}, index = 11) | 
				
			||||
    @ColumnWidth(10) | 
				
			||||
    private BigDecimal tempCondenserSaturation; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 冷凝器趋近温度℃ | 
				
			||||
     */ | 
				
			||||
    @ExcelProperty(value = {"${deviceType}", "冷凝器", "趋近温度℃"}, index = 12) | 
				
			||||
    @ColumnWidth(10) | 
				
			||||
    private BigDecimal tempCondenserApproaching; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 冷冻水设定值 | 
				
			||||
     */ | 
				
			||||
    @ExcelProperty(value = {"${deviceType}", "系统", "冷冻水设定值℃"}, index = 13) | 
				
			||||
    @ColumnWidth(10) | 
				
			||||
    private BigDecimal setChillerWater; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 冷水机需求% | 
				
			||||
     */ | 
				
			||||
    @ExcelProperty(value = {"${deviceType}", "系统", "冷水机需求%"}, index = 14) | 
				
			||||
    @ColumnWidth(10) | 
				
			||||
    private BigDecimal setLoad; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 总电流A | 
				
			||||
     */ | 
				
			||||
    @ExcelProperty(value = {"${deviceType}", "系统", "总电流A"}, index = 15) | 
				
			||||
    @ColumnWidth(10) | 
				
			||||
    private BigDecimal currentTotal; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 总输入功率kw | 
				
			||||
     */ | 
				
			||||
    @ExcelProperty(value = {"${deviceType}", "系统", "总输入功率kw"}, index = 16) | 
				
			||||
    @ColumnWidth(10) | 
				
			||||
    private BigDecimal inputPowerTotal; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 压缩比 | 
				
			||||
     */ | 
				
			||||
    @ExcelProperty(value = {"${deviceType}", "系统", "压缩比"}, index = 17) | 
				
			||||
    @ColumnWidth(10) | 
				
			||||
    private BigDecimal ratioComp; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 膨胀阀开度% | 
				
			||||
     */ | 
				
			||||
    @ExcelProperty(value = {"${deviceType}", "系统", "膨胀阀开度%"}, index = 18) | 
				
			||||
    @ColumnWidth(10) | 
				
			||||
    private BigDecimal openExv; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 运行中的压缩机数量 | 
				
			||||
     */ | 
				
			||||
    @ExcelProperty(value = {"${deviceType}", "系统", "运行中的压缩机数量"}, index = 19) | 
				
			||||
    @ColumnWidth(10) | 
				
			||||
    private Integer runCompNum; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 冷冻水泵频率hz | 
				
			||||
     */ | 
				
			||||
    @ExcelProperty(value = {"${deviceType}", "冷冻泵", "冷冻水泵频率hz"}, index = 20) | 
				
			||||
    @ColumnWidth(10) | 
				
			||||
    private BigDecimal frequencyChiller; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 冷冻水进水压力kpa | 
				
			||||
     */ | 
				
			||||
    @ExcelProperty(value = {"${deviceType}", "冷冻泵", "冷冻水进水压力kpa"}, index = 21) | 
				
			||||
    @ColumnWidth(10) | 
				
			||||
    private BigDecimal pressInChillerWater; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 冷冻水出水压力kpa | 
				
			||||
     */ | 
				
			||||
    @ExcelProperty(value = {"${deviceType}", "冷冻泵", "冷冻水出水压力kpa"}, index = 22) | 
				
			||||
    @ColumnWidth(10) | 
				
			||||
    private BigDecimal pressOutChillerWater; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 冷却水泵频率hz | 
				
			||||
     */ | 
				
			||||
    @ExcelProperty(value = {"${deviceType}", "冷却泵", "冷却水泵频率hz"}, index = 23) | 
				
			||||
    @ColumnWidth(10) | 
				
			||||
    private BigDecimal frequencyCooling; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 冷却水进水压力kpa | 
				
			||||
     */ | 
				
			||||
    @ExcelProperty(value = {"${deviceType}", "冷却泵", "冷却水进水压力kpa"}, index = 24) | 
				
			||||
    @ColumnWidth(10) | 
				
			||||
    private BigDecimal pressInCoolingWater; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 冷却水出水压力kpa | 
				
			||||
     */ | 
				
			||||
    @ExcelProperty(value = {"${deviceType}", "冷却泵", "冷却水出水压力kpa"}, index = 25) | 
				
			||||
    @ColumnWidth(10) | 
				
			||||
    private BigDecimal pressOutCoolingWater; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 冷却塔频率hz | 
				
			||||
     */ | 
				
			||||
    @ExcelProperty(value = {"${deviceType}", "冷却塔", "冷却塔频率hz"}, index = 26) | 
				
			||||
    private BigDecimal frequencyCoolingTower; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 冷却塔运行数量(原注释可能有误,根据列名调整) | 
				
			||||
     */ | 
				
			||||
    @ExcelProperty(value = {"${deviceType}", "冷却塔", "冷却塔运行数量"}, index = 27) | 
				
			||||
    private Integer runCoolingTower; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 室外温度℃ | 
				
			||||
     */ | 
				
			||||
    @ExcelProperty(value = {"${deviceType}", "室外温度℃", "室外温度℃"}, index = 28) | 
				
			||||
    @ColumnWidth(10) | 
				
			||||
    private BigDecimal tempOutdoor; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 室外湿度% | 
				
			||||
     */ | 
				
			||||
    @ExcelProperty(value = {"${deviceType}", "室外湿度%", "室外湿度%"}, index = 29) | 
				
			||||
    @ColumnWidth(10) | 
				
			||||
    private BigDecimal humidityOutdoor; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 恒压补水罐压力 | 
				
			||||
     */ | 
				
			||||
    @ExcelProperty(value = {"${deviceType}", "恒压补水罐压力MPa", "恒压补水罐压力MPa"}, index = 30) | 
				
			||||
    @ColumnWidth(10) | 
				
			||||
    private BigDecimal pressConstantWaterTank; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 巡查记录人 | 
				
			||||
     */ | 
				
			||||
    @ExcelProperty(value = {"${deviceType}", "巡查记录人", "巡查记录人"}, index = 31) | 
				
			||||
    @ColumnWidth(20) | 
				
			||||
    private String recorder; | 
				
			||||
 | 
				
			||||
} | 
				
			||||
@ -0,0 +1,288 @@
					 | 
				
			||||
package com.mh.common.core.domain.entity; | 
				
			||||
 | 
				
			||||
import com.alibaba.excel.annotation.ExcelProperty; | 
				
			||||
import com.alibaba.excel.annotation.write.style.ColumnWidth; | 
				
			||||
import com.baomidou.mybatisplus.annotation.IdType; | 
				
			||||
import com.baomidou.mybatisplus.annotation.TableField; | 
				
			||||
import com.baomidou.mybatisplus.annotation.TableId; | 
				
			||||
import com.baomidou.mybatisplus.annotation.TableName; | 
				
			||||
import com.fasterxml.jackson.annotation.JsonFormat; | 
				
			||||
import com.fasterxml.jackson.annotation.JsonIgnore; | 
				
			||||
import com.fasterxml.jackson.annotation.JsonInclude; | 
				
			||||
import com.mh.common.core.domain.BaseEntity; | 
				
			||||
import jakarta.persistence.*; | 
				
			||||
import lombok.*; | 
				
			||||
import org.apache.commons.lang3.builder.ToStringBuilder; | 
				
			||||
 | 
				
			||||
import java.math.BigDecimal; | 
				
			||||
import java.time.LocalDate; | 
				
			||||
import java.util.Date; | 
				
			||||
import java.util.Map; | 
				
			||||
 | 
				
			||||
/** | 
				
			||||
 * @author LJF | 
				
			||||
 * @version 1.0 | 
				
			||||
 * @project EEMCS | 
				
			||||
 * @description 系统参数设备运行历史记录 | 
				
			||||
 * @date 2025-08-12 10:44:36 | 
				
			||||
 */ | 
				
			||||
@Data | 
				
			||||
@TableName("report_sys_run_param_his") | 
				
			||||
public class ReportSysRunParamHis extends BaseEntity { | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 自增主键 | 
				
			||||
     */ | 
				
			||||
    @Id | 
				
			||||
    @TableId(value = "id", type = IdType.AUTO) | 
				
			||||
    private Long id; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 主机id | 
				
			||||
     */ | 
				
			||||
    private String hostId; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 日期 | 
				
			||||
     */ | 
				
			||||
    private LocalDate curDate; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 时间(格式建议与数据库存储一致,如 "HH:mm:ss" 或 "yyyy-MM-dd HH:mm:ss") | 
				
			||||
     */ | 
				
			||||
    private String curTime; | 
				
			||||
 | 
				
			||||
//    /**
 | 
				
			||||
//     * 班次
 | 
				
			||||
//     */
 | 
				
			||||
//    private String classes;
 | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 冷冻水进水温度℃ | 
				
			||||
     */ | 
				
			||||
    private BigDecimal tempInChillerWater; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 冷冻水出水温度℃ | 
				
			||||
     */ | 
				
			||||
    private BigDecimal tempOutChillerWater; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 设计流量%(修正列名,原 "design flow" 含空格) | 
				
			||||
     */ | 
				
			||||
    private BigDecimal designFlow; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 蒸发器压力kpa--磁悬浮 | 
				
			||||
     */ | 
				
			||||
    private BigDecimal pressEvapSaturation; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 蒸发器饱和温度℃ | 
				
			||||
     */ | 
				
			||||
    private BigDecimal tempEvapSaturation; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 蒸发器趋近温度℃ | 
				
			||||
     */ | 
				
			||||
    private BigDecimal tempEvapApproaching; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 冷却水进水温度℃ | 
				
			||||
     */ | 
				
			||||
    private BigDecimal tempInCoolingWater; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 冷却水出水温度℃ | 
				
			||||
     */ | 
				
			||||
    private BigDecimal tempOutCoolingWater; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 冷凝器压力kpa--磁悬浮 | 
				
			||||
     */ | 
				
			||||
    private BigDecimal pressCondenserSaturation; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 冷凝器饱和温度℃ | 
				
			||||
     */ | 
				
			||||
    private BigDecimal tempCondenserSaturation; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 冷凝器趋近温度℃ | 
				
			||||
     */ | 
				
			||||
    private BigDecimal tempCondenserApproaching; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 冷冻水设定值℃ | 
				
			||||
     */ | 
				
			||||
    private BigDecimal setChillerWater; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 冷水机需求% | 
				
			||||
     */ | 
				
			||||
    private BigDecimal setLoad; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 总电流% | 
				
			||||
     */ | 
				
			||||
    private BigDecimal currentTotal; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 总输入功率kw | 
				
			||||
     */ | 
				
			||||
    private BigDecimal inputPowerTotal; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 压缩比 | 
				
			||||
     */ | 
				
			||||
    private BigDecimal ratioComp; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 膨胀阀开度% | 
				
			||||
     */ | 
				
			||||
    private BigDecimal openExv; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 运行中的压缩机数量 | 
				
			||||
     */ | 
				
			||||
    private Integer runCompNum; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 冷冻水泵频率hz | 
				
			||||
     */ | 
				
			||||
    private BigDecimal frequencyChiller; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 冷冻水出水压力kpa | 
				
			||||
     */ | 
				
			||||
    private BigDecimal pressOutChillerWater; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 冷冻水进水压力kpa | 
				
			||||
     */ | 
				
			||||
    private BigDecimal pressInChillerWater; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 冷却水泵频率hz | 
				
			||||
     */ | 
				
			||||
    private BigDecimal frequencyCooling; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 冷却水出水压力kpa | 
				
			||||
     */ | 
				
			||||
    private BigDecimal pressOutCoolingWater; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 冷却水进水压力kpa | 
				
			||||
     */ | 
				
			||||
    private BigDecimal pressInCoolingWater; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 冷却塔水泵频率hz | 
				
			||||
     */ | 
				
			||||
    private BigDecimal frequencyCoolingTower; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 冷却塔运行数量(原注释可能有误,根据列名调整) | 
				
			||||
     */ | 
				
			||||
    private Integer runCoolingTower; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 恒压补水罐压力 | 
				
			||||
     */ | 
				
			||||
    private BigDecimal pressConstantWaterTank; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 室外温度℃ | 
				
			||||
     */ | 
				
			||||
    private BigDecimal tempOutdoor; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 室外湿度% | 
				
			||||
     */ | 
				
			||||
    private BigDecimal humidityOutdoor; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 巡查记录人 | 
				
			||||
     */ | 
				
			||||
    private String recorder; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 备注 | 
				
			||||
     */ | 
				
			||||
    private String remark; | 
				
			||||
 | 
				
			||||
    @JsonIgnore | 
				
			||||
    @TableField(exist = false) | 
				
			||||
    private String searchValue; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 请求参数 | 
				
			||||
     */ | 
				
			||||
    @TableField(exist = false) | 
				
			||||
    @JsonInclude(JsonInclude.Include.NON_EMPTY) | 
				
			||||
    private Map<String, Object> params; | 
				
			||||
 | 
				
			||||
    /** 创建者 */ | 
				
			||||
    @TableField(exist = false) | 
				
			||||
    private String createBy; | 
				
			||||
 | 
				
			||||
    /** 创建时间 */ | 
				
			||||
    @TableField(exist = false) | 
				
			||||
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") | 
				
			||||
    private Date createTime; | 
				
			||||
 | 
				
			||||
    /** 更新者 */ | 
				
			||||
    @TableField(exist = false) | 
				
			||||
    private String updateBy; | 
				
			||||
 | 
				
			||||
    /** 更新时间 */ | 
				
			||||
    @TableField(exist = false) | 
				
			||||
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") | 
				
			||||
    private Date updateTime; | 
				
			||||
 | 
				
			||||
    @Override | 
				
			||||
    public String toString() { | 
				
			||||
        return new ToStringBuilder(this) | 
				
			||||
                .append("id", id) | 
				
			||||
                .append("hostId", hostId) | 
				
			||||
                .append("curDate", curDate) | 
				
			||||
                .append("curTime", curTime) | 
				
			||||
                .append("tempInChillerWater", tempInChillerWater) | 
				
			||||
                .append("tempOutChillerWater", tempOutChillerWater) | 
				
			||||
                .append("designFlow", designFlow) | 
				
			||||
                .append("pressEvapSaturation", pressEvapSaturation) | 
				
			||||
                .append("tempEvapSaturation", tempEvapSaturation) | 
				
			||||
                .append("tempEvapApproaching", tempEvapApproaching) | 
				
			||||
                .append("tempInCoolingWater", tempInCoolingWater) | 
				
			||||
                .append("tempOutCoolingWater", tempOutCoolingWater) | 
				
			||||
                .append("pressCondenserSaturation", pressCondenserSaturation) | 
				
			||||
                .append("tempCondenserSaturation", tempCondenserSaturation) | 
				
			||||
                .append("tempCondenserApproaching", tempCondenserApproaching) | 
				
			||||
                .append("setChillerWater", setChillerWater) | 
				
			||||
                .append("setLoad", setLoad) | 
				
			||||
                .append("currentTotal", currentTotal) | 
				
			||||
                .append("inputPowerTotal", inputPowerTotal) | 
				
			||||
                .append("ratioComp", ratioComp) | 
				
			||||
                .append("openExv", openExv) | 
				
			||||
                .append("runCompNum", runCompNum) | 
				
			||||
                .append("frequencyChiller", frequencyChiller) | 
				
			||||
                .append("pressOutChillerWater", pressOutChillerWater) | 
				
			||||
                .append("pressInChillerWater", pressInChillerWater) | 
				
			||||
                .append("frequencyCooling", frequencyCooling) | 
				
			||||
                .append("pressOutCoolingWater", pressOutCoolingWater) | 
				
			||||
                .append("pressInCoolingWater", pressInCoolingWater) | 
				
			||||
                .append("frequencyCoolingTower", frequencyCoolingTower) | 
				
			||||
                .append("runCoolingTower", runCoolingTower) | 
				
			||||
                .append("pressConstantWaterTank", pressConstantWaterTank) | 
				
			||||
                .append("recorder", recorder) | 
				
			||||
                .append("remark", remark) | 
				
			||||
                .append("searchValue", searchValue) | 
				
			||||
                .append("params", params) | 
				
			||||
                .append("createBy", createBy) | 
				
			||||
                .append("createTime", createTime) | 
				
			||||
                .append("updateBy", updateBy) | 
				
			||||
                .append("updateTime", updateTime) | 
				
			||||
                .toString(); | 
				
			||||
    } | 
				
			||||
} | 
				
			||||
@ -0,0 +1,81 @@
					 | 
				
			||||
package com.mh.common.utils.file.handle; | 
				
			||||
 | 
				
			||||
import com.alibaba.excel.metadata.Head; | 
				
			||||
import com.alibaba.excel.metadata.data.WriteCellData; | 
				
			||||
import com.alibaba.excel.write.handler.CellWriteHandler; | 
				
			||||
import com.alibaba.excel.write.metadata.holder.WriteSheetHolder; | 
				
			||||
import com.alibaba.excel.write.metadata.holder.WriteTableHolder; | 
				
			||||
import org.apache.poi.ss.usermodel.Cell; | 
				
			||||
import org.apache.poi.ss.usermodel.Row; | 
				
			||||
import org.apache.poi.ss.usermodel.Sheet; | 
				
			||||
import org.apache.poi.ss.util.CellRangeAddress; | 
				
			||||
 | 
				
			||||
import java.util.HashMap; | 
				
			||||
import java.util.List; | 
				
			||||
import java.util.Map; | 
				
			||||
 | 
				
			||||
/** | 
				
			||||
 * @author LJF | 
				
			||||
 * @version 1.0 | 
				
			||||
 * @project NewZhujiang_Server | 
				
			||||
 * @description 列合并 | 
				
			||||
 * @date 2024-06-03 10:01:07 | 
				
			||||
 */ | 
				
			||||
public class ExcelFillCellMergeHandler implements CellWriteHandler { | 
				
			||||
    private static final String KEY ="%s-%s"; | 
				
			||||
    //所有的合并信息都存在了这个map里面
 | 
				
			||||
    Map<String, Integer> mergeInfo = new HashMap<>(); | 
				
			||||
 | 
				
			||||
    public ExcelFillCellMergeHandler() { | 
				
			||||
    } | 
				
			||||
    public ExcelFillCellMergeHandler(Map<String, Integer> mergeInfo) { | 
				
			||||
        this.mergeInfo = mergeInfo; | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    @Override | 
				
			||||
    public void beforeCellCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, Row row, Head head, Integer integer, Integer integer1, Boolean aBoolean) { | 
				
			||||
 | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    @Override | 
				
			||||
    public void afterCellCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, Cell cell, Head head, Integer integer, Boolean aBoolean) { | 
				
			||||
 | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    @Override | 
				
			||||
    public void afterCellDataConverted(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, WriteCellData<?> cellData, Cell cell, Head head, Integer relativeRowIndex, Boolean isHead) { | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    @Override | 
				
			||||
    public void afterCellDispose(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, List<WriteCellData<?>> cellDataList, Cell cell, Head head, Integer relativeRowIndex, Boolean isHead) { | 
				
			||||
 | 
				
			||||
        //当前行
 | 
				
			||||
        int curRowIndex = cell.getRowIndex(); | 
				
			||||
        //当前列
 | 
				
			||||
        int curColIndex = cell.getColumnIndex(); | 
				
			||||
 | 
				
			||||
        Integer num = mergeInfo.get(String.format(KEY, curRowIndex, curColIndex)); | 
				
			||||
        if(null != num){ | 
				
			||||
            // 合并最后一行 ,列
 | 
				
			||||
            mergeWithPrevCol(writeSheetHolder, cell, curRowIndex, curColIndex,num); | 
				
			||||
        } | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    public void mergeWithPrevCol(WriteSheetHolder writeSheetHolder, Cell cell, int curRowIndex, int curColIndex, int num) { | 
				
			||||
        Sheet sheet = writeSheetHolder.getSheet(); | 
				
			||||
        CellRangeAddress cellRangeAddress = new CellRangeAddress(curRowIndex, curRowIndex, curColIndex, curColIndex + num); | 
				
			||||
        sheet.addMergedRegion(cellRangeAddress); | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    //num从第几列开始增加多少列
 | 
				
			||||
    // curRowIndex 在第几行进行行合并
 | 
				
			||||
    // curColIndex 在第几列进行合并
 | 
				
			||||
    // num 合并多少格
 | 
				
			||||
    // 比如我上图中中心需要在第三行 从0列开始合并三列 所以我可以传入 (3,0,2)
 | 
				
			||||
    public void add (int curRowIndex,  int curColIndex , int num){ | 
				
			||||
        mergeInfo.put(String.format(KEY, curRowIndex, curColIndex),num); | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
} | 
				
			||||
@ -0,0 +1,49 @@
					 | 
				
			||||
package com.mh.common.utils.file.handle; | 
				
			||||
 | 
				
			||||
import com.alibaba.excel.metadata.Head; | 
				
			||||
import com.alibaba.excel.write.handler.CellWriteHandler; | 
				
			||||
import com.alibaba.excel.write.metadata.holder.WriteSheetHolder; | 
				
			||||
import com.alibaba.excel.write.metadata.holder.WriteTableHolder; | 
				
			||||
import org.apache.commons.collections4.CollectionUtils; | 
				
			||||
import org.apache.poi.ss.usermodel.Row; | 
				
			||||
import org.springframework.util.PropertyPlaceholderHelper; | 
				
			||||
 | 
				
			||||
import java.util.List; | 
				
			||||
import java.util.Properties; | 
				
			||||
 | 
				
			||||
/** | 
				
			||||
 * @author LJF | 
				
			||||
 * @version 1.0 | 
				
			||||
 * @project NewZhujiang_Server | 
				
			||||
 * @description 报表handle | 
				
			||||
 * @date 2024-05-31 17:36:38 | 
				
			||||
 */ | 
				
			||||
public class ReportDayAndMonthParamHandler implements CellWriteHandler { | 
				
			||||
 | 
				
			||||
    private final String title; | 
				
			||||
 | 
				
			||||
    private final String value; | 
				
			||||
 | 
				
			||||
    PropertyPlaceholderHelper placeholderHelper = new PropertyPlaceholderHelper("${", "}"); | 
				
			||||
 | 
				
			||||
    public ReportDayAndMonthParamHandler(String value, String title) { | 
				
			||||
        this.title = title; | 
				
			||||
        this.value = value; | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    @Override | 
				
			||||
    public void beforeCellCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, | 
				
			||||
                                 Row row, Head head, Integer integer, Integer integer1, Boolean aBoolean) { | 
				
			||||
        if (head != null) { | 
				
			||||
            List<String> headNameList = head.getHeadNameList(); | 
				
			||||
            if (CollectionUtils.isNotEmpty(headNameList)) { | 
				
			||||
                Properties properties = new Properties(); | 
				
			||||
                properties.setProperty(title, value); | 
				
			||||
                for (int i = 0; i < headNameList.size(); i++) { | 
				
			||||
                    headNameList.set(i, placeholderHelper.replacePlaceholders(headNameList.get(i), properties)); | 
				
			||||
                } | 
				
			||||
            } | 
				
			||||
        } | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
} | 
				
			||||
@ -0,0 +1,46 @@
					 | 
				
			||||
package com.mh.common.utils.file.handle; | 
				
			||||
 | 
				
			||||
import com.alibaba.excel.metadata.Head; | 
				
			||||
import com.alibaba.excel.write.handler.CellWriteHandler; | 
				
			||||
import com.alibaba.excel.write.metadata.holder.WriteSheetHolder; | 
				
			||||
import com.alibaba.excel.write.metadata.holder.WriteTableHolder; | 
				
			||||
import org.apache.commons.collections4.CollectionUtils; | 
				
			||||
import org.apache.poi.ss.usermodel.Row; | 
				
			||||
import org.springframework.util.PropertyPlaceholderHelper; | 
				
			||||
 | 
				
			||||
import java.util.List; | 
				
			||||
import java.util.Properties; | 
				
			||||
 | 
				
			||||
/** | 
				
			||||
 * @author LJF | 
				
			||||
 * @version 1.0 | 
				
			||||
 * @project NewZhujiang_Server | 
				
			||||
 * @description 报表handle | 
				
			||||
 * @date 2024-05-31 17:36:38 | 
				
			||||
 */ | 
				
			||||
public class ReportSysParamHandler implements CellWriteHandler { | 
				
			||||
 | 
				
			||||
    private final String title; | 
				
			||||
 | 
				
			||||
    PropertyPlaceholderHelper placeholderHelper = new PropertyPlaceholderHelper("${", "}"); | 
				
			||||
 | 
				
			||||
    public ReportSysParamHandler(String title) { | 
				
			||||
        this.title = title; | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    @Override | 
				
			||||
    public void beforeCellCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, | 
				
			||||
                                 Row row, Head head, Integer integer, Integer integer1, Boolean aBoolean) { | 
				
			||||
        if (head != null) { | 
				
			||||
            List<String> headNameList = head.getHeadNameList(); | 
				
			||||
            if (CollectionUtils.isNotEmpty(headNameList)) { | 
				
			||||
                Properties properties = new Properties(); | 
				
			||||
                properties.setProperty("deviceType", title); | 
				
			||||
                for (int i = 0; i < headNameList.size(); i++) { | 
				
			||||
                    headNameList.set(i, placeholderHelper.replacePlaceholders(headNameList.get(i), properties)); | 
				
			||||
                } | 
				
			||||
            } | 
				
			||||
        } | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
} | 
				
			||||
@ -0,0 +1,25 @@
					 | 
				
			||||
package com.mh.common.utils.file.handle; | 
				
			||||
 | 
				
			||||
import com.alibaba.excel.write.style.row.AbstractRowHeightStyleStrategy; | 
				
			||||
import org.apache.poi.ss.usermodel.Row; | 
				
			||||
 | 
				
			||||
/** | 
				
			||||
 * @author LJF | 
				
			||||
 * @version 1.0 | 
				
			||||
 * @project NewZhujiang_Server | 
				
			||||
 * @description 处理行高 | 
				
			||||
 * @date 2024-08-09 15:03:37 | 
				
			||||
 */ | 
				
			||||
public class RowHeightStyleHandler extends AbstractRowHeightStyleStrategy { | 
				
			||||
    @Override | 
				
			||||
    protected void setHeadColumnHeight(Row row, int i) { | 
				
			||||
        if (i == 2) { | 
				
			||||
            row.setHeightInPoints(70); | 
				
			||||
        } | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    @Override | 
				
			||||
    protected void setContentColumnHeight(Row row, int i) { | 
				
			||||
 | 
				
			||||
    } | 
				
			||||
} | 
				
			||||
@ -0,0 +1,33 @@
					 | 
				
			||||
package com.mh.system.mapper.report; | 
				
			||||
 | 
				
			||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; | 
				
			||||
import com.mh.common.core.domain.entity.ReportSysRunParamHis; | 
				
			||||
import org.apache.ibatis.annotations.Mapper; | 
				
			||||
import org.apache.ibatis.annotations.Options; | 
				
			||||
import org.apache.ibatis.annotations.Param; | 
				
			||||
import org.apache.ibatis.annotations.Select; | 
				
			||||
import org.apache.ibatis.mapping.StatementType; | 
				
			||||
 | 
				
			||||
import java.util.List; | 
				
			||||
 | 
				
			||||
/** | 
				
			||||
 * @author LJF | 
				
			||||
 * @version 1.0 | 
				
			||||
 * @project NewZhujiang_Server | 
				
			||||
 * @description 系统运行参数服务类 | 
				
			||||
 * @date 2024-05-29 11:23:32 | 
				
			||||
 */ | 
				
			||||
@Mapper | 
				
			||||
public interface ReportSysRunParamHisMapper extends BaseMapper<ReportSysRunParamHis> { | 
				
			||||
 | 
				
			||||
    @Select("exec pro_sys_run_param #{deviceNum,jdbcType=VARCHAR,mode=IN},#{curTime,jdbcType=VARCHAR,mode=IN} ") | 
				
			||||
    @Options(statementType = StatementType.CALLABLE) | 
				
			||||
    void execProSysRunParamHis(@Param("deviceNum") String deviceNum, | 
				
			||||
                               @Param("curTime") String curTime); | 
				
			||||
 | 
				
			||||
    @Select("select * from report_sys_run_param_his where device_num = #{deviceNum} " + | 
				
			||||
            " and cur_time >= #{beginDate} and cur_time <= #{endDate} order by cur_time desc ") | 
				
			||||
    List<ReportSysRunParamHis> findPage(@Param("deviceNum") String deviceNum, | 
				
			||||
                                              @Param("beginDate") String beginDate, | 
				
			||||
                                              @Param("endDate") String endDate); | 
				
			||||
} | 
				
			||||
@ -0,0 +1,21 @@
					 | 
				
			||||
package com.mh.system.service.report; | 
				
			||||
 | 
				
			||||
import com.mh.common.core.domain.entity.ReportSysRunParamHis; | 
				
			||||
 | 
				
			||||
import java.util.List; | 
				
			||||
 | 
				
			||||
/** | 
				
			||||
 * @author LJF | 
				
			||||
 * @version 1.0 | 
				
			||||
 * @project NewZhujiang_Server | 
				
			||||
 * @description 报表服务类 | 
				
			||||
 * @date 2024-05-29 11:20:30 | 
				
			||||
 */ | 
				
			||||
public interface IReportSysService { | 
				
			||||
 | 
				
			||||
    void execProSysRunParamHis(); | 
				
			||||
 | 
				
			||||
    List<ReportSysRunParamHis> selectList(ReportSysRunParamHis reportSysRunParamHis); | 
				
			||||
 | 
				
			||||
    int updateSysRunParams(ReportSysRunParamHis reportSysRunParamHis); | 
				
			||||
} | 
				
			||||
@ -0,0 +1,90 @@
					 | 
				
			||||
package com.mh.system.service.report.impl; | 
				
			||||
 | 
				
			||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | 
				
			||||
import com.github.pagehelper.PageHelper; | 
				
			||||
import com.github.pagehelper.PageInfo; | 
				
			||||
import com.mh.common.core.domain.entity.ReportSysRunParamHis; | 
				
			||||
import com.mh.common.utils.StringUtils; | 
				
			||||
import com.mh.system.mapper.report.ReportSysRunParamHisMapper; | 
				
			||||
import com.mh.system.service.report.IReportSysService; | 
				
			||||
import jakarta.annotation.Resource; | 
				
			||||
import lombok.extern.slf4j.Slf4j; | 
				
			||||
import org.springframework.stereotype.Service; | 
				
			||||
 | 
				
			||||
import java.time.LocalDateTime; | 
				
			||||
import java.time.format.DateTimeFormatter; | 
				
			||||
import java.util.List; | 
				
			||||
 | 
				
			||||
/** | 
				
			||||
 * @author LJF | 
				
			||||
 * @version 1.0 | 
				
			||||
 * @project NewZhujiang_Server | 
				
			||||
 * @description 系统报表服务类实现 | 
				
			||||
 * @date 2024-05-29 11:21:12 | 
				
			||||
 */ | 
				
			||||
@Slf4j | 
				
			||||
@Service | 
				
			||||
public class ReportSysServiceImpl implements IReportSysService { | 
				
			||||
 | 
				
			||||
    @Resource | 
				
			||||
    ReportSysRunParamHisMapper reportSysRunParamHisMapper; | 
				
			||||
 | 
				
			||||
    private static final DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); | 
				
			||||
 | 
				
			||||
    @Override | 
				
			||||
    public int updateSysRunParams(ReportSysRunParamHis reportSysRunParamHis) { | 
				
			||||
        return reportSysRunParamHisMapper.updateById(reportSysRunParamHis); | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    @Override | 
				
			||||
    public void execProSysRunParamHis() { | 
				
			||||
        try { | 
				
			||||
            log.info("执行计算系统参数存储过程"); | 
				
			||||
            // 获取上一个小时的时间
 | 
				
			||||
            // 获取当前日期和时间
 | 
				
			||||
            LocalDateTime now = LocalDateTime.now(); | 
				
			||||
 | 
				
			||||
            // 获取一小时前的日期和时间
 | 
				
			||||
            LocalDateTime oneHourAgo = now.minusHours(1); | 
				
			||||
 | 
				
			||||
            // 格式化日期和时间
 | 
				
			||||
            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); | 
				
			||||
            String formattedOneHourAgo = oneHourAgo.format(formatter); | 
				
			||||
 | 
				
			||||
            // 固定写死三号主机
 | 
				
			||||
//            reportSysRunParamHisMapper.execProSysRunParamHis("2", formattedOneHourAgo.substring(0, 13));
 | 
				
			||||
            reportSysRunParamHisMapper.execProSysRunParamHis("3", formattedOneHourAgo.substring(0, 13)); | 
				
			||||
            log.info("执行计算系统参数执行完成"); | 
				
			||||
        } catch (Exception e) { | 
				
			||||
            log.error("执行计算系统参数存储过程执行失败", e); | 
				
			||||
            throw new RuntimeException(e); | 
				
			||||
        } | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    @Override | 
				
			||||
    public List<ReportSysRunParamHis> selectList(ReportSysRunParamHis reportSysRunParamHis) { | 
				
			||||
        String deviceNum = reportSysRunParamHis.getHostId(); | 
				
			||||
        if (StringUtils.isEmpty(deviceNum)) { | 
				
			||||
            // 默认3号主机
 | 
				
			||||
            deviceNum = "3"; | 
				
			||||
        } | 
				
			||||
        if (reportSysRunParamHis.getParams() == null) { | 
				
			||||
            reportSysRunParamHis.setParams(new java.util.HashMap<>()); | 
				
			||||
        } | 
				
			||||
        String startTime = (String) reportSysRunParamHis.getParams().get("startTime"); | 
				
			||||
        String endTime = (String) reportSysRunParamHis.getParams().get("endTime"); | 
				
			||||
        if (StringUtils.isBlank(startTime)) { | 
				
			||||
            LocalDateTime now = LocalDateTime.now(); | 
				
			||||
            startTime = now.format(dateTimeFormatter).substring(0, 10); | 
				
			||||
            endTime = now.format(dateTimeFormatter).substring(0, 10); | 
				
			||||
        } | 
				
			||||
        startTime = startTime + " 00"; | 
				
			||||
        endTime = endTime + " 23"; | 
				
			||||
        return reportSysRunParamHisMapper.selectList( | 
				
			||||
                new QueryWrapper<ReportSysRunParamHis>() | 
				
			||||
                        .between("cur_time", startTime, endTime) | 
				
			||||
                        .eq("host_id", deviceNum) | 
				
			||||
                        .orderByDesc("cur_time")); | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
} | 
				
			||||
					Loading…
					
					
				
		Reference in new issue