package com.zcloud.zcGbsServicer.persistence.dataobject;

import cn.hutool.core.util.IdUtil;
import com.baomidou.mybatisplus.annotation.*;
import com.jjb.saas.framework.repository.basedo.BaseDO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

/**
* web-infrastructure
* @Author makejava
* @Date 2026-01-21 17:23:16
*/
@Data
@TableName("resource_device")
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class ResourceDeviceDO extends BaseDO {
    //业务主键ID
    @ApiModelProperty(value = "业务主键ID")
    private String deviceId;
    //资源类型:2控制室,3泵房(可扩展)
    @ApiModelProperty(value = "资源类型:2控制室,3泵房(可扩展)")
    private Integer bizType;
    //资源业务ID(控制室room_id/泵房pump_room_id)
    @ApiModelProperty(value = "资源业务ID(控制室room_id/泵房pump_room_id)")
    private String bizId;
    //设备名称
    @ApiModelProperty(value = "设备名称")
    private String deviceName;
    //设备数量(控制室常用)
    @ApiModelProperty(value = "设备数量(控制室常用)")
    private Integer deviceQty;
    //设备型号(控制室常用)
    @ApiModelProperty(value = "设备型号(控制室常用)")
    private String deviceModel;
    //设备编号(泵房常用)
    @ApiModelProperty(value = "设备编号(泵房常用)")
    private String deviceCode;
    //设备分类(泵房常用)
    @ApiModelProperty(value = "设备分类(泵房常用)")
    private String deviceCategory;
    //具体位置
    @ApiModelProperty(value = "具体位置")
    private String deviceLocation;
    //负责人单位(泵房常用)
    @ApiModelProperty(value = "负责人单位(泵房常用)")
    private String chargeUnit;
    //设备参数和规格(泵房常用)
    @ApiModelProperty(value = "设备参数和规格(泵房常用)")
    private String paramsSpec;
    //排序
    @ApiModelProperty(value = "排序")
    private Integer sort;

    @ApiModelProperty(value = "删除表示")
    private String deleteEnum;

    public ResourceDeviceDO(String deviceId) {
        this.deviceId = deviceId != null ? deviceId :IdUtil.simpleUUID();
    }

}

