package com.dk.mdm.model.query.ivt; import cn.afterturn.easypoi.excel.annotation.Excel; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.dk.common.infrastructure.annotaiton.ExportTitle; import com.dk.common.infrastructure.handler.*; import com.dk.common.model.pojo.PageInfo; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import lombok.experimental.Accessors; import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.List; /** * 出库单 */ @Data @Accessors(chain = true) public class OutboundQuery extends PageInfo { /* * 数据库字段 */ /** * 出库单ID */ @ApiModelProperty(value = "出库单ID") @TableField(typeHandler = UuidTypeHandler.class) private String outId; private String addressFull; /** * 出库单号 */ @ApiModelProperty(value = "出库单号") private String outNo; /** * 出库类型 (【系统字典】销售出库、采退出库、其他出库) */ @ApiModelProperty(value = "出库类型 (【系统字典】销售出库、采退出库、其他出库)") private String outType; /** * 出库类型-传入多个 */ @ApiModelProperty(value = "出库类型") @TableField(typeHandler = StringListTypeHandler.class) private List outTypeList; /** * 来源单ID (销售订单、入库退货) */ @ApiModelProperty(value = "来源单ID (销售订单、入库退货)") @TableField(typeHandler = UuidTypeHandler.class) private String fromId; /** * 来源单号 */ @ApiModelProperty(value = "来源单号") private String fromNo; /** * 部门 */ @ApiModelProperty(value = "部门") @TableField(typeHandler = UuidTypeHandler.class) private String orgId; /** * 员工 */ @ApiModelProperty(value = "员工") @TableField(typeHandler = UuidTypeHandler.class) private String staffId; /** * 客户 */ @ApiModelProperty(value = "客户") @TableField(typeHandler = UuidTypeHandler.class) private String cusId; /** * 供应商 */ @ApiModelProperty(value = "供应商") @TableField(typeHandler = UuidTypeHandler.class) private String supId; /** * 出库状态 (【系统字典】) */ @ApiModelProperty(value = "出库状态 (【系统字典】)") private String outStatus; /** * 出库中数量 */ @ApiModelProperty(value = "出库中数量") private BigDecimal outingQty; /** * 出库中金额 */ @ApiModelProperty(value = "出库中金额") private BigDecimal outingAmt; /** * 已出库数量 */ @ApiModelProperty(value = "已出库数量") private BigDecimal outQty; /** * 已出库金额 */ @ApiModelProperty(value = "已出库金额") private BigDecimal outAmt; /** * 已出库退货数量 */ @ApiModelProperty(value = "已出库退货数量") private BigDecimal returnQty; /** * 已出库退货金额 */ @ApiModelProperty(value = "已出库退货金额") private BigDecimal returnAmt; /** * 出库日期 */ @ApiModelProperty(value = "出库日期") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") @TableField(typeHandler = TimestampTypeHandler.class) private LocalDate outDate; /** * 备注 */ @ApiModelProperty(value = "备注") private String remarks; /** * 附件 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...) */ @ApiModelProperty(value = "附件 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)") @TableField(typeHandler = JsonTypeHandler.class) private JSONArray annexPaths; /** * 制单员 */ @ApiModelProperty(value = "制单员") @TableField(typeHandler = UuidTypeHandler.class) private String makeStaff; /** * 制单时间 */ @ApiModelProperty(value = "制单时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @TableField(typeHandler = TimestampTypeHandler.class) private LocalDateTime makeTime; /** * 应收款单 */ @ApiModelProperty(value = "应收款单") @TableField(typeHandler = UuidTypeHandler.class) private String receivableId; /** * 有效标识 (1:正常 0:停用) */ @ApiModelProperty(value = "有效标识 (1:正常 0:停用)") private Boolean flgValid; /** * 小程序的查询条件 */ @ApiModelProperty(value = "小程序的查询条件") private String searchText; /** * 企业ID */ @ApiModelProperty(value = "企业ID") private Integer cpId; @ApiModelProperty(value = "订单单号") private String orderNo; @ApiModelProperty(value = "客户电话") private String cusPhone; @ApiModelProperty(value = "客户名称") private String cusName; @ApiModelProperty(value = "业务部门") private String orgName; @ApiModelProperty(value = "供应商") private String supName; @ApiModelProperty(value = "业务员") private String staffName; @ApiModelProperty(value = "部门List") private List orgIdList; @ApiModelProperty(value = "业务员List") private List staffIdList; @ApiModelProperty(value = "出库状态List") private List outStatusList; @ApiModelProperty(value = "入库原因List") @TableField(typeHandler = UuidListTypeHandler.class) private List outReasonList; @ApiModelProperty(value = "制单时间开始") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private LocalDate makeTimeStart; @ApiModelProperty(value = "制单时间结束") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private LocalDate makeTimeEnd; @ApiModelProperty(value = "出库日期开始") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private LocalDate outDateStart; @ApiModelProperty(value = "出库日期结束") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private LocalDate outDateEnd; @TableField(exist = false) @ApiModelProperty(value = "有效标识 (1:正常 0:停用)") private List flgValidList; @ApiModelProperty(value = "出库类型") @TableField(typeHandler = StringListTypeHandler.class) private List outTypes; /* * 相关属性 * @TableField(exist = false) */ /* * 关联属性 + 查询条件 * @TableField(exist = false) */ private Boolean viewVoidedDocuments; private static final long serialVersionUID = 1L; }