package com.bonus.material.basic.domain;

import com.bonus.common.core.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

/**
* @description 综合查询--保有设备总量查询
* @author ma_sh
* @date   2024/2/26 14:51
*/
@ApiModel(description = "保有设备总量查询")
@Data
public class RetainedEquipmentInfo {

    private static final long serialVersionUID = 2227217051604273598L;

    @ApiModelProperty(value = "是否app 0 是，1 否")
    private Integer isApp;

    @ApiModelProperty(value = "是否导出 0 是，1 否")
    private Integer isExport;

    @ApiModelProperty(value = "主键id")
    private Integer id;

    @ApiModelProperty(value = "仓库信息")
    @Excel(name = "仓库信息")
    private String whHouseName;

    @ApiModelProperty(value = "施工类型")
    @Excel(name = "施工类型")
    private String constructionType;

    @ApiModelProperty(value = "物资类型")
    @Excel(name = "物资类型")
    private String materialType;

    @ApiModelProperty(value = "物资名称")
    @Excel(name = "物资名称")
    private String typeName;

    @ApiModelProperty(value = "规格ID")
    private Integer typeId;

    @ApiModelProperty(value = "规格型号")
    @Excel(name = "规格型号")
    private String typeModelName;

    @ApiModelProperty(value = "计量单位")
    @Excel(name = "计量单位")
    private String unit;

    @ApiModelProperty(value = "在库数量")
    @Excel(name = "在库数量", align = HorizontalAlignment.RIGHT)
    private BigDecimal storeNum;

    @ApiModelProperty(value = "在用数量")
    @Excel(name = "在用数量", align = HorizontalAlignment.RIGHT)
    private BigDecimal usNum;

    @ApiModelProperty(value = "定损数量")
    @Excel(name = "定损数量", align = HorizontalAlignment.RIGHT)
    private BigDecimal dsNum;

    @ApiModelProperty(value = "在修数量")
    @Excel(name = "在修数量", align = HorizontalAlignment.RIGHT)
    private BigDecimal repairNum;

    @ApiModelProperty(value = "修试待审核数量")
    @Excel(name = "修试待审核数量", align = HorizontalAlignment.RIGHT)
    private BigDecimal repairAuditNum;

    @ApiModelProperty(value = "新购待入库")
    @Excel(name = "新购待入库数量", align = HorizontalAlignment.RIGHT)
    private BigDecimal inputNum;

    @ApiModelProperty(value = "修试后待入库")
    @Excel(name = "修试后待入库数量", align = HorizontalAlignment.RIGHT)
    private BigDecimal repairInputNum;

    @ApiModelProperty(value = "待报废数量")
    //@Excel(name = "待报废数量", align = HorizontalAlignment.RIGHT)
    private BigDecimal pendingScrapNum;

    @ApiModelProperty(value = "已审核报废数量")
    @Excel(name = "已审核报废数量", align = HorizontalAlignment.RIGHT)
    private BigDecimal scrapNum;

    @ApiModelProperty(value = "总保有量")
    @Excel(name = "总保有数量", align = HorizontalAlignment.RIGHT)
    private BigDecimal allNum;

    @ApiModelProperty(value = "购置单价")
    private BigDecimal buyPrice;

    @ApiModelProperty(value = "投入总价值")
    @Excel(name = "总保有量资产(万元)", align = HorizontalAlignment.RIGHT)
    private BigDecimal totalPrice;

    @ApiModelProperty(value = "五年以内成新率")
    //@Excel(name = "五年以内成新率")
    private String fiveReplacementRate;

    @ApiModelProperty(value = "五年以内设备数量")
    private BigDecimal fiveReplacementNum;

    @ApiModelProperty(value = "五年至十年成新率")
    //@Excel(name = "五年至十年成新率")
    private String tenReplacementRate;

    @ApiModelProperty(value = "五年至十年设备数量")
    private BigDecimal tenReplacementNum;

    @ApiModelProperty(value = "十年以上成新率")
    //@Excel(name = "十年以上成新率")
    private String tenPlusReplacementRate;

    @ApiModelProperty(value = "十年以上设备数量")
    private BigDecimal tenPlusReplacementNum;

    @ApiModelProperty(value = "管理模式")
    @Excel(name = "管理模式")
    private String manageType;

    @ApiModelProperty(value = "创建者")
    private String createBy;

    @ApiModelProperty(value = "创建时间")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @ApiModelProperty(value = "更新者")
    private String updateBy;

    @ApiModelProperty(value = "更新时间 ")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    @ApiModelProperty(value = "关键字")
    private String keyWord;

    @ApiModelProperty(value = "数据所属组织")
    private Integer companyId;

    /** 1.机具仓储 2.调试仓储 */
    private String maType;

    private String maTypeName;

    @ApiModelProperty(value = "一级类型id")
    private Integer firstTypeId;

    @ApiModelProperty(value = "二级类型id")
    private Integer secondTypeId;

    @ApiModelProperty(value = "三级类型id")
    private Integer thirdTypeId;

    @ApiModelProperty(value = "用户id")
    private Long userId;

    @ApiModelProperty(value = "绑定用户id")
    private Long bindUserId;
}
