package com.xunhong.erp.turbo.api.biz.dto.cmd;

import com.xunhong.erp.turbo.api.biz.dto.common.OrderCost;
import com.xunhong.erp.turbo.api.biz.dto.common.OrderCostItem;
import com.xunhong.erp.turbo.api.biz.dto.common.OrderPackage;
import com.xunhong.erp.turbo.api.biz.dto.enums.PurchaseOrderTypeEnum;
import com.xunhong.erp.turbo.base.dto.Command;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.List;

/**
 * @author shenyifei
 */
@Data
@Schema(title = "采购订单第三步：人工和辅料等费用信息保存")
@EqualsAndHashCode(callSuper = true)
public class PurchaseOrderStep3Cmd extends Command {

	/**
	 * 订单ID
	 */
	@Schema(title = "采购订单ID", requiredMode = Schema.RequiredMode.REQUIRED, type = "string")
	private Long orderId;

	/**
	 * 步骤标识
	 */
	@Schema(title = "步骤标识")
	private Integer active;

	/**
	 * 工头
	 */
	@Schema(title = "工头")
	private String foreman;

	/**
	 * 采购类型：1_产地采购；2_市场采购；
	 */
	@Schema(title = "采购类型：1_产地采购；2_市场采购；")
	private PurchaseOrderTypeEnum type;

	/**
	 * 费用信息
	 */
	@Schema(title = "采购订单费用信息", requiredMode = Schema.RequiredMode.REQUIRED)
	private List<OrderCost> orderCostList;

	/**
	 * 包装箱信息
	 */
	@Schema(title = "采购订单包装箱信息", requiredMode = Schema.RequiredMode.REQUIRED)
	private List<OrderPackage> orderPackageList;

	/**
	 * 项目信息
	 */
	@Schema(title = "采购订单项目信息", requiredMode = Schema.RequiredMode.REQUIRED)
	private List<OrderCostItem> orderCostItemList;

}
