package com.ruoyi.purchase.dto; import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.basic.dto.StorageBlobDTO; import com.ruoyi.basic.dto.StorageBlobVO; import com.ruoyi.purchase.pojo.PurchaseApplicationProduct; 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; /** * 采购申请单 DTO */ @Data public class PurchaseApplicationDto { @Schema(description = "申请单主键") private Long id; @Schema(description = "申请单号") private String applicationNo; @Schema(description = "供应商id") private Long supplierId; @Schema(description = "供应商名称") private String supplierName; @Schema(description = "项目名称") private String projectName; @Schema(description = "销售合同号") private String salesContractNo; @Schema(description = "关联销售台账主表主键") private Long salesLedgerId; @Schema(description = "申请人id") private Long applicantId; @Schema(description = "申请人姓名") private String applicantName; @Schema(description = "申请日期") @JsonFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") private LocalDate applyDate; @Schema(description = "期望到货日期") @JsonFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") private LocalDate expectedArrivalDate; @Schema(description = "申请金额(含税总价)") private BigDecimal contractAmount; @Schema(description = "付款方式") private String paymentMethod; @Schema(description = "备注") private String remarks; @Schema(description = "状态 0草稿 1已生成订单") private Integer status; @Schema(description = "转订单后生成的采购台账id") private Long purchaseLedgerId; @Schema(description = "采购合同号") private String purchaseContractNumber; @Schema(description = "录入人id") private Long recorderId; @Schema(description = "录入日期") @JsonFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") private LocalDate entryDate; @Schema(description = "签订日期") @JsonFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") private LocalDate executionDate; @Schema(description = "最佳到站日期") @JsonFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") private LocalDate bestArrivalDate; @Schema(description = "申请提交时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime applicationSubmitTime; @Schema(description = "采购类别:客存、代储、采购入库、采购直销") private String purchaseCategory; @Schema(description = "物流方式:厂家配送、委外物流、客户自提") private String logisticsMethod; @Schema(description = "提货方式:暂不提货、提货") private String pickupMethod; @Schema(description = "采购油库id") private Long oilDepotId; @Schema(description = "客户名称") private String customerName; @Schema(description = "采购数量(吨)") private Integer purchaseQuantity; @Schema(description = "采购申请订单状态:已申请,未装车 / 以出厂,未入库 / 已入库") private String purchaseOrderStatus; @Schema(description = "附件材料") private List storageBlobDTOS; @Schema(description = "附件材料(详情回填)") private List storageBlobVOS; @Schema(description = "申请日期查询开始(yyyy-MM-dd)") private String startDate; @Schema(description = "申请日期查询结束(yyyy-MM-dd)") private String endDate; @Schema(description = "采购申请产品明细") private List productData; }