feat: 添加采购交易新增DTO
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,198 @@
|
||||
package com.ruoyi.ccdi.domain.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.DecimalMin;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import jakarta.validation.constraints.Pattern;
|
||||
import jakarta.validation.constraints.Size;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* 采购交易信息新增DTO
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2026-02-06
|
||||
*/
|
||||
@Data
|
||||
@Schema(description = "采购交易信息新增")
|
||||
public class CcdiPurchaseTransactionAddDTO implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** 采购事项ID */
|
||||
@NotBlank(message = "采购事项ID不能为空")
|
||||
@Size(max = 32, message = "采购事项ID长度不能超过32个字符")
|
||||
@Schema(description = "采购事项ID")
|
||||
private String purchaseId;
|
||||
|
||||
/** 采购类别 */
|
||||
@NotBlank(message = "采购类别不能为空")
|
||||
@Size(max = 50, message = "采购类别长度不能超过50个字符")
|
||||
@Schema(description = "采购类别")
|
||||
private String purchaseCategory;
|
||||
|
||||
/** 项目名称 */
|
||||
@Size(max = 200, message = "项目名称长度不能超过200个字符")
|
||||
@Schema(description = "项目名称")
|
||||
private String projectName;
|
||||
|
||||
/** 标的物名称 */
|
||||
@NotBlank(message = "标的物名称不能为空")
|
||||
@Size(max = 200, message = "标的物名称长度不能超过200个字符")
|
||||
@Schema(description = "标的物名称")
|
||||
private String subjectName;
|
||||
|
||||
/** 标的物描述 */
|
||||
@Schema(description = "标的物描述")
|
||||
private String subjectDesc;
|
||||
|
||||
/** 采购数量 */
|
||||
@NotNull(message = "采购数量不能为空")
|
||||
@DecimalMin(value = "0.0001", message = "采购数量必须大于0")
|
||||
@Schema(description = "采购数量")
|
||||
private BigDecimal purchaseQty;
|
||||
|
||||
/** 预算金额 */
|
||||
@NotNull(message = "预算金额不能为空")
|
||||
@DecimalMin(value = "0.01", message = "预算金额必须大于0")
|
||||
@Schema(description = "预算金额")
|
||||
private BigDecimal budgetAmount;
|
||||
|
||||
/** 中标金额 */
|
||||
@DecimalMin(value = "0.01", message = "中标金额必须大于0")
|
||||
@Schema(description = "中标金额")
|
||||
private BigDecimal bidAmount;
|
||||
|
||||
/** 实际采购金额 */
|
||||
@DecimalMin(value = "0.01", message = "实际采购金额必须大于0")
|
||||
@Schema(description = "实际采购金额")
|
||||
private BigDecimal actualAmount;
|
||||
|
||||
/** 合同金额 */
|
||||
@DecimalMin(value = "0.01", message = "合同金额必须大于0")
|
||||
@Schema(description = "合同金额")
|
||||
private BigDecimal contractAmount;
|
||||
|
||||
/** 结算金额 */
|
||||
@DecimalMin(value = "0.01", message = "结算金额必须大于0")
|
||||
@Schema(description = "结算金额")
|
||||
private BigDecimal settlementAmount;
|
||||
|
||||
/** 采购方式 */
|
||||
@NotBlank(message = "采购方式不能为空")
|
||||
@Size(max = 50, message = "采购方式长度不能超过50个字符")
|
||||
@Schema(description = "采购方式")
|
||||
private String purchaseMethod;
|
||||
|
||||
/** 中标供应商名称 */
|
||||
@Size(max = 200, message = "中标供应商名称长度不能超过200个字符")
|
||||
@Schema(description = "中标供应商名称")
|
||||
private String supplierName;
|
||||
|
||||
/** 供应商联系人 */
|
||||
@Size(max = 50, message = "供应商联系人长度不能超过50个字符")
|
||||
@Schema(description = "供应商联系人")
|
||||
private String contactPerson;
|
||||
|
||||
/** 供应商联系电话 */
|
||||
@Pattern(regexp = "^1[3-9]\\d{9}$|^0\\d{2,3}-?\\d{7,8}$", message = "供应商联系电话格式不正确")
|
||||
@Schema(description = "供应商联系电话")
|
||||
private String contactPhone;
|
||||
|
||||
/** 供应商统一信用代码 */
|
||||
@Pattern(regexp = "^[0-9A-HJ-NPQRTUWXY]{2}\\d{6}[0-9A-HJ-NPQRTUWXY]{10}$", message = "供应商统一信用代码格式不正确")
|
||||
@Schema(description = "供应商统一信用代码")
|
||||
private String supplierUscc;
|
||||
|
||||
/** 供应商银行账户 */
|
||||
@Size(max = 50, message = "供应商银行账户长度不能超过50个字符")
|
||||
@Schema(description = "供应商银行账户")
|
||||
private String supplierBankAccount;
|
||||
|
||||
/** 采购申请日期(或立项日期) */
|
||||
@NotNull(message = "采购申请日期不能为空")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@Schema(description = "采购申请日期")
|
||||
private LocalDate applyDate;
|
||||
|
||||
/** 采购计划批准日期 */
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@Schema(description = "采购计划批准日期")
|
||||
private LocalDate planApproveDate;
|
||||
|
||||
/** 采购公告发布日期 */
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@Schema(description = "采购公告发布日期")
|
||||
private LocalDate announceDate;
|
||||
|
||||
/** 开标日期 */
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@Schema(description = "开标日期")
|
||||
private LocalDate bidOpenDate;
|
||||
|
||||
/** 合同签订日期 */
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@Schema(description = "合同签订日期")
|
||||
private LocalDate contractSignDate;
|
||||
|
||||
/** 预计交货日期 */
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@Schema(description = "预计交货日期")
|
||||
private LocalDate expectedDeliveryDate;
|
||||
|
||||
/** 实际交货日期 */
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@Schema(description = "实际交货日期")
|
||||
private LocalDate actualDeliveryDate;
|
||||
|
||||
/** 验收日期 */
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@Schema(description = "验收日期")
|
||||
private LocalDate acceptanceDate;
|
||||
|
||||
/** 结算日期 */
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@Schema(description = "结算日期")
|
||||
private LocalDate settlementDate;
|
||||
|
||||
/** 申请人工号 */
|
||||
@NotBlank(message = "申请人工号不能为空")
|
||||
@Size(max = 7, message = "申请人工号长度不能超过7个字符")
|
||||
@Schema(description = "申请人工号")
|
||||
private String applicantId;
|
||||
|
||||
/** 申请人姓名 */
|
||||
@NotBlank(message = "申请人姓名不能为空")
|
||||
@Size(max = 50, message = "申请人姓名长度不能超过50个字符")
|
||||
@Schema(description = "申请人姓名")
|
||||
private String applicantName;
|
||||
|
||||
/** 申请部门 */
|
||||
@NotBlank(message = "申请部门不能为空")
|
||||
@Size(max = 100, message = "申请部门长度不能超过100个字符")
|
||||
@Schema(description = "申请部门")
|
||||
private String applyDepartment;
|
||||
|
||||
/** 采购负责人工号 */
|
||||
@Size(max = 7, message = "采购负责人工号长度不能超过7个字符")
|
||||
@Schema(description = "采购负责人工号")
|
||||
private String purchaseLeaderId;
|
||||
|
||||
/** 采购负责人姓名 */
|
||||
@Size(max = 50, message = "采购负责人姓名长度不能超过50个字符")
|
||||
@Schema(description = "采购负责人姓名")
|
||||
private String purchaseLeaderName;
|
||||
|
||||
/** 采购部门 */
|
||||
@Size(max = 100, message = "采购部门长度不能超过100个字符")
|
||||
@Schema(description = "采购部门")
|
||||
private String purchaseDepartment;
|
||||
}
|
||||
Reference in New Issue
Block a user