From 0146a1483a3368f75daa6eb03aa42c714943e6b2 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期三, 17 九月 2025 14:11:28 +0800
Subject: [PATCH] Merge branch 'feature_asset'

---
 ruoyi-system/src/main/java/com/ruoyi/system/dto/asset/OaApprovalApplicationStorageGeneralDTO.java |  138 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 138 insertions(+), 0 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/asset/OaApprovalApplicationStorageGeneralDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/asset/OaApprovalApplicationStorageGeneralDTO.java
new file mode 100644
index 0000000..3848cb6
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/asset/OaApprovalApplicationStorageGeneralDTO.java
@@ -0,0 +1,138 @@
+package com.ruoyi.system.dto.asset;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import javax.validation.Valid;
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import javax.validation.constraints.Size;
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.util.List;
+
+/**
+ * 通用资产入库申请DTO
+ *
+ * @author CodeBuddy
+ * @since 2025-09-17
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel(value = "OaApprovalApplicationStorageGeneralDTO", description = "通用资产入库申请DTO")
+public class OaApprovalApplicationStorageGeneralDTO extends OaApprovalApplicationStorageDTO {
+
+    @ApiModelProperty(value = "通用资产明细列表")
+    @Valid
+    @Size(min = 1, message = "资产明细不能为空")
+    private List<GeneralAssetItemDTO> assetItems;
+
+    @Data
+    @ApiModel(value = "GeneralAssetItemDTO", description = "通用资产明细DTO")
+    public static class GeneralAssetItemDTO {
+
+        // 资产主表字段
+        @ApiModelProperty(value = "资产原编码")
+        private String assetOriginalCode;
+
+        @ApiModelProperty(value = "资产名称")
+        @NotBlank(message = "资产名称不能为空")
+        private String assetName;
+
+        @ApiModelProperty(value = "规格型号")
+        private String specificationModel;
+
+        @ApiModelProperty(value = "计量单位")
+        @NotBlank(message = "计量单位不能为空")
+        private String measurementUnit;
+
+        @ApiModelProperty(value = "数量")
+        @NotNull(message = "数量不能为空")
+        private BigDecimal quantity;
+
+        @ApiModelProperty(value = "单价")
+        @NotNull(message = "单价不能为空")
+        private BigDecimal unitPrice;
+
+        @ApiModelProperty(value = "使用年限(年)")
+        private Integer usefulLife;
+
+        @ApiModelProperty(value = "权属单位/部门ID")
+        private Integer ownershipDeptId;
+
+        @ApiModelProperty(value = "使用人")
+        private String userName;
+
+        @ApiModelProperty(value = "使用部门/位置ID")
+        private Integer useDeptId;
+
+        @ApiModelProperty(value = "仓库ID")
+        private Integer warehouseId;
+
+        @ApiModelProperty(value = "仓库名称")
+        private String warehouseName;
+
+        @ApiModelProperty(value = "所在位置")
+        private String address;
+
+        @ApiModelProperty(value = "资产状态")
+        private String assetStatus;
+
+        @ApiModelProperty(value = "备注")
+        private String remarks;
+
+        @ApiModelProperty(value = "入账状态")
+        private String accountingStatus;
+
+        @ApiModelProperty(value = "入账时间")
+        @DateTimeFormat(pattern = "yyyy-MM-dd")
+        private LocalDate accountingDate;
+
+        @ApiModelProperty(value = "会计凭证号")
+        private String accountingVoucherNo;
+
+        @ApiModelProperty(value = "会计科目")
+        private String accountingSubject;
+
+        @ApiModelProperty(value = "入账金额")
+        private BigDecimal accountingAmount;
+
+        // 通用资产扩展表字段
+        @ApiModelProperty(value = "供应商名称")
+        private String supplierName;
+
+        @ApiModelProperty(value = "采购日期")
+        @DateTimeFormat(pattern = "yyyy-MM-dd")
+        private LocalDate purchaseDate;
+
+        @ApiModelProperty(value = "保修期(月)")
+        private Integer warrantyPeriod;
+
+        @ApiModelProperty(value = "保修到期日期")
+        @DateTimeFormat(pattern = "yyyy-MM-dd")
+        private LocalDate warrantyExpireDate;
+
+        @ApiModelProperty(value = "折旧方法")
+        private String depreciationMethod;
+
+        @ApiModelProperty(value = "折旧率")
+        private BigDecimal depreciationRate;
+
+        @ApiModelProperty(value = "净值")
+        private BigDecimal netValue;
+
+        @ApiModelProperty(value = "维护周期(月)")
+        private Integer maintenanceCycle;
+
+        @ApiModelProperty(value = "上次维护日期")
+        @DateTimeFormat(pattern = "yyyy-MM-dd")
+        private LocalDate lastMaintenanceDate;
+
+        @ApiModelProperty(value = "下次维护日期")
+        @DateTimeFormat(pattern = "yyyy-MM-dd")
+        private LocalDate nextMaintenanceDate;
+    }
+}
\ No newline at end of file

--
Gitblit v1.7.1