package com.ruoyi.device.dto; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.dto.DateQueryDto; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.List; import com.ruoyi.basic.dto.StorageBlobDTO; import com.ruoyi.basic.dto.StorageBlobVO; /** * 设备台账实体类 */ @Data @TableName("device_ledger") public class DeviceLedgerDto extends DateQueryDto { /** * 主键ID,自增 */ private Long id; /** * 设备名称 */ private String deviceName; /** * 规格型号 */ private String deviceModel; /** * 设备品牌 */ @Schema(description = "设备品牌") private String deviceBrand; /** * 存放位置 */ @Schema(description = "存放位置") private String storageLocation; /** * 供应商名称 */ private String supplierName; @Schema(description = "设备编号") private String uniqueCode; @Schema(description = "出厂编号") private String factoryNumber; @Schema(description = "制造厂商") private String manufacturer; @Schema(description = "资产原值") private BigDecimal originalAssetValue; @Schema(description = "购置日期") @JsonFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") private LocalDate purchaseDate; @Schema(description = "启用日期") @JsonFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") private LocalDate activationDate; @Schema(description = "主要技术参数") private String technicalParameters; @Schema(description = "主要用途") private String mainPurpose; @Schema(description = "责任人") private String responsiblePerson; @Schema(description = "建档日期") @JsonFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") private LocalDate filingDate; /** * 设备附件(用于接收) */ @TableField(exist = false) @Schema(description = "设备附件接收列表") private List storageBlobDTOs; /** * 设备附件(用于返回) */ @TableField(exist = false) @Schema(description = "设备附件展示列表") private List storageBlobVOs; /** * 单位 */ private String unit; /** * 数量 */ private BigDecimal number; /** * 含税单价 */ private BigDecimal taxIncludingPriceUnit; /** * 含税总价 */ private BigDecimal taxIncludingPriceTotal; /** * 税率 */ private BigDecimal taxRate; /** * 不含税总价 */ private BigDecimal unTaxIncludingPriceTotal; /** * 录入时间 */ @TableField(fill = FieldFill.INSERT) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime createTime; /** * 更新时间 */ @TableField(fill = FieldFill.INSERT_UPDATE) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime updateTime; /** * 录入人 */ private String createUser; /** * 更新人 */ private String updateUser; /** * 租户ID */ private Long tenantId; @Schema(description = "状态") private String status; @Schema(description = "计划运行时间") @JsonFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") private LocalDate planRuntimeTime; @Schema(description = "开始运行时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime startRuntimeTime; @Schema(description = "结束运行时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime endRuntimeTime; @Schema(description = "运行时长") private String runtimeDuration; @Schema(description = "是否折旧 1-是 2-否") private Integer isDepr; @Schema(description = "每年折旧金额") private BigDecimal annualDepreciationAmount; @Schema(description = "设备类型") private String type; }