package com.zt.plat.module.qms.resource.device.controller.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import jakarta.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

@Schema(description = "管理后台 - 设备-使用记录新增/修改 Request VO")
@Data
public class DeviceUseRecordSaveReqVO {

    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "17384")
    private Long id;

    @Schema(description = "设备id", example = "5771")
    private Long deviceId;

    @Schema(description = "使用人", example = "王五")
    private String userName;

    @Schema(description = "使用人id", example = "11450")
    private Long userId;

    @Schema(description = "开始使用时间")
//    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime useTimeStart;

    @Schema(description = "结束使用时间")
//    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime useTimeEnd;

    @Schema(description = "使用记录")
    private String useRemark;

    @Schema(description = "检测项目")
    private String useItem;

    @Schema(description = "使用前状态")
    private String stateBefore;

    @Schema(description = "使用中状态（正常/异常）")
    private String stateRun;

    @Schema(description = "使用后状态")
    private String stateAfter;

    @Schema(description = "温度")
    private String temperature;

    @Schema(description = "湿度")
    private String humidity;

    @Schema(description = "数据来源,PC|PAD|PDA")
    private String dataSource;

    @Schema(description = "所属部门")
    private String systemDepartmentCode;

    @Schema(description = "备注")
    private String remark;

    //扩展字段
    @Schema(description = "使用记录明细列表")
    List<DeviceUseRecordDetailSaveReqVO> detailList;

}