package com.ruoyi.system.dto.asset; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.io.Serializable; import java.time.LocalDate; import java.util.List; /** * 资产领用申请 DTO */ @Data @ApiModel("资产领用申请DTO") public class OaApprovalApplicationAssetReceiveDTO implements Serializable { private static final long serialVersionUID = 2025091801L; // 公共字段:领用部门、领用人、领用备注 @ApiModelProperty("领用部门ID") @NotNull(message = "领用部门不能为空") private Integer deptId; @ApiModelProperty("领用部门名称") @NotNull(message = "领用部门名称不能为空") private String deptName; @ApiModelProperty("领用人用户ID") @NotNull(message = "领用人不能为空") private Integer applicantUserId; @ApiModelProperty("领用人名称") @NotNull(message = "领用人名称不能为空") private String applicantName; @ApiModelProperty("领用备注") private String applicationReason; @ApiModelProperty("附件URL,多个使用英文逗号拼接") private String attachmentUrl; // 独有字段:事项标题、领用日期、资产类型、预计退还日期、领用资产列表 @ApiModelProperty("事项标题") @NotNull(message = "事项标题不能为空") private String title; @ApiModelProperty("领用日期") @NotNull(message = "领用日期不能为空") @DateTimeFormat(pattern = "yyyy-MM-dd") private LocalDate operateTime; @ApiModelProperty("资产类型ID") @NotNull(message = "资产类型不能为空") private Integer assetTypeId; @ApiModelProperty("预计退还日期,可为空") @DateTimeFormat(pattern = "yyyy-MM-dd") private LocalDate expectReturnDate; @ApiModelProperty("领用资产列表") @NotEmpty(message = "领用资产列表不能为空") private List assetItems; @Data public static class ReceiveAssetItemDTO implements Serializable { private static final long serialVersionUID = 1L; @ApiModelProperty("资产主表ID") @NotNull(message = "资产ID不能为空") private Integer assetMainId; } }