package com.vincent.rsf.openApi.entity.params; import com.fasterxml.jackson.annotation.JsonAlias; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.AccessLevel; import lombok.Data; import lombok.Setter; import lombok.experimental.Accessors; import org.springframework.format.annotation.DateTimeFormat; import java.util.Date; import java.util.List; /** * 入/出库通知单下发(对接协议 8.3)请求参数。 * 以 8.3 文档字段为主,其他旧字段尽量不用。 */ @Data @Accessors(chain = true) @ApiModel(value = "ErpOpParams", description = "8.3 入/出库通知单下发参数") public class ErpOpParams { @ApiModelProperty(value = "订单编码", required = true) private String orderNo; @ApiModelProperty(value = "单据内码,唯一标识,若没有可补充订单编码", required = true) private String orderInternalCode; @ApiModelProperty(value = "订单类型:1 出库单;2 入库单;3 调拨单", required = true) private Integer orderType; @ApiModelProperty(value = "业务类型,如:采购入库单、销售出库单、调拨申请单等", required = true) private String wkType; @ApiModelProperty(value = "添加时间,支持 yyyy-MM-dd HH:mm:ss 或时间戳(秒/毫秒)") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @Setter(AccessLevel.NONE) private Date businessTime; @ApiModelProperty(value = "创建时间,支持 yyyy-MM-dd HH:mm:ss 或时间戳(秒/毫秒)") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @Setter(AccessLevel.NONE) private Date createTime; @JsonDeserialize(using = FlexibleDateDeserializer.class) public void setBusinessTime(Date businessTime) { this.businessTime = businessTime; } @JsonDeserialize(using = FlexibleDateDeserializer.class) public void setCreateTime(Date createTime) { this.createTime = createTime; } @ApiModelProperty(value = "订单明细", required = true) private List orderItems; @ApiModelProperty("入/出库接驳站点,需要则补充") private String stationId; @ApiModelProperty("操作类型:1 新增(默认);2 修改;3 取消") private Integer operateType; /** 兼容旧字段:与 orderInternalCode 二选一 */ @JsonAlias("orderId") @ApiModelProperty(hidden = true) private Long orderId; }