提交基础采购

This commit is contained in:
2025-11-18 16:45:05 +08:00
parent cc9b1c0e92
commit 7c04e13198
77 changed files with 5733 additions and 0 deletions

View File

@@ -0,0 +1,55 @@
package com.klp.erp.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 采购订单明细视图对象
*/
@Data
@ExcelIgnoreUnannotated
public class ErpPurchaseOrderItemVo implements Serializable {
private static final long serialVersionUID = 1L;
@ExcelProperty("明细ID")
private Long itemId;
@ExcelProperty("订单ID")
private Long orderId;
@ExcelProperty("物料类型编码")
private String materialTypeCode;
@ExcelProperty("规格")
private String specification;
@ExcelProperty("采购数量")
private BigDecimal quantity;
@ExcelProperty("单价")
private BigDecimal unitPrice;
@ExcelProperty("金额")
private BigDecimal amount;
@ExcelProperty("当前库存")
private BigDecimal currentStock;
@ExcelProperty("在途数量")
private BigDecimal onTheWay;
@ExcelProperty("销售需求")
private BigDecimal salesDemand;
@ExcelProperty("建议采购数量")
private BigDecimal suggestPurchase;
@ExcelProperty("备注")
private String remark;
}

View File

@@ -0,0 +1,41 @@
package com.klp.erp.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
@Data
@ExcelIgnoreUnannotated
public class ErpPurchaseReceiptVo implements Serializable {
private static final long serialVersionUID = 1L;
@ExcelProperty("收货记录ID")
private Long receiptId;
@ExcelProperty("订单ID")
private Long orderId;
@ExcelProperty("订单明细ID")
private Long itemId;
@ExcelProperty("收货数量")
private BigDecimal receivedQty;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ExcelProperty("收货时间")
private Date receiptTime;
@ExcelProperty("质检结果")
private String qualityResult;
@ExcelProperty("备注")
private String remark;
}

View File

@@ -0,0 +1,35 @@
package com.klp.erp.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
@Data
@ExcelIgnoreUnannotated
public class ErpPurchaseReturnItemVo implements Serializable {
private static final long serialVersionUID = 1L;
@ExcelProperty("退货明细ID")
private Long returnItemId;
@ExcelProperty("退货单ID")
private Long returnId;
@ExcelProperty("订单明细ID")
private Long itemId;
@ExcelProperty("退货数量")
private BigDecimal returnQty;
@ExcelProperty("问题照片")
private String photos;
@ExcelProperty("备注")
private String remark;
}

View File

@@ -0,0 +1,34 @@
package com.klp.erp.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import java.io.Serializable;
@Data
@ExcelIgnoreUnannotated
public class ErpPurchaseReturnVo implements Serializable {
private static final long serialVersionUID = 1L;
@ExcelProperty("退货单ID")
private Long returnId;
@ExcelProperty("订单ID")
private Long orderId;
@ExcelProperty("退货类型")
private String returnType;
@ExcelProperty("退货原因")
private String reason;
@ExcelProperty("退货状态")
private Integer status;
@ExcelProperty("备注")
private String remark;
}

View File

@@ -0,0 +1,47 @@
package com.klp.erp.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 供应商价格视图对象
*/
@Data
@ExcelIgnoreUnannotated
public class ErpSupplierPriceVo implements Serializable {
private static final long serialVersionUID = 1L;
@ExcelProperty("价格ID")
private Long priceId;
@ExcelProperty("供应商ID")
private Long supplierId;
@ExcelProperty("物料类型编码")
private String materialTypeCode;
@ExcelProperty("规格")
private String specification;
@ExcelProperty("价格")
private BigDecimal price;
@JsonFormat(pattern = "yyyy-MM-dd")
@ExcelProperty("生效日期")
private Date validFrom;
@JsonFormat(pattern = "yyyy-MM-dd")
@ExcelProperty("失效日期")
private Date validTo;
@ExcelProperty("备注")
private String remark;
}

View File

@@ -0,0 +1,45 @@
package com.klp.erp.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* 供应商档案视图对象
*/
@Data
@ExcelIgnoreUnannotated
public class ErpSupplierVo implements Serializable {
private static final long serialVersionUID = 1L;
@ExcelProperty("供应商ID")
private Long supplierId;
@ExcelProperty("供应商编码")
private String supplierCode;
@ExcelProperty("供应商名称")
private String name;
@ExcelProperty("供应商类型")
private String type;
@ExcelProperty("信用等级")
private String creditRating;
@ExcelProperty("联系人")
private String contactPerson;
@ExcelProperty("联系电话")
private String contactPhone;
@ExcelProperty("地址")
private String address;
@ExcelProperty("备注")
private String remark;
}

View File

@@ -0,0 +1,21 @@
package com.klp.erp.domain.vo;
import lombok.Data;
/**
* 物料类型下拉视图
*/
@Data
public class MaterialTypeOptionVo {
private String materialTypeCode;
private String specification;
private Long supplierId;
private String supplierName;
private java.math.BigDecimal latestPrice;
}

View File

@@ -0,0 +1,21 @@
package com.klp.erp.domain.vo;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class PurchaseRequirementRawDetailVo {
private Long rawMaterialId;
private String rawMaterialCode;
private String rawMaterialName;
private BigDecimal conversionRate;
private BigDecimal stockWeight;
private Long stockCoilCount;
private BigDecimal inTransitWeight;
private BigDecimal pendingWeight;
private BigDecimal convertedStock;
private BigDecimal convertedInTransit;
private BigDecimal convertedPending;
}

View File

@@ -0,0 +1,35 @@
package com.klp.erp.domain.vo;
import lombok.Data;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
@Data
public class PurchaseRequirementVo {
private Long productId;
private String productCode;
private String productName;
private String specification;
private BigDecimal salesDemand = BigDecimal.ZERO;
private BigDecimal productStockWeight = BigDecimal.ZERO;
private Long productStockCoilCount = 0L;
private BigDecimal rawStockWeight = BigDecimal.ZERO;
private Long rawStockCoilCount = 0L;
private BigDecimal rawStockConverted = BigDecimal.ZERO;
private BigDecimal inTransitWeight = BigDecimal.ZERO;
private BigDecimal inTransitConverted = BigDecimal.ZERO;
private BigDecimal pendingWeight = BigDecimal.ZERO;
private BigDecimal pendingConverted = BigDecimal.ZERO;
private BigDecimal suggestedPurchase = BigDecimal.ZERO;
private List<PurchaseRequirementRawDetailVo> rawDetails = new ArrayList<>();
}