OutboundVO.java 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343
  1. package com.dk.mdm.model.vo.ivt;
  2. import cn.afterturn.easypoi.excel.annotation.Excel;
  3. import com.alibaba.fastjson.JSONArray;
  4. import com.alibaba.fastjson.JSONObject;
  5. import com.baomidou.mybatisplus.annotation.TableField;
  6. import com.baomidou.mybatisplus.annotation.TableName;
  7. import com.dk.common.infrastructure.annotaiton.ExportTitle;
  8. import com.dk.common.infrastructure.handler.JsonTypeHandler;
  9. import com.dk.common.infrastructure.handler.TimestampTypeHandler;
  10. import com.dk.common.infrastructure.handler.UuidTypeHandler;
  11. import com.dk.common.model.pojo.PageInfo;
  12. import com.dk.common.model.vo.AnnexVO;
  13. import com.dk.mdm.model.vo.mac.RecPayItemVO;
  14. import com.fasterxml.jackson.annotation.JsonFormat;
  15. import io.swagger.annotations.ApiModel;
  16. import io.swagger.annotations.ApiModelProperty;
  17. import lombok.AllArgsConstructor;
  18. import lombok.Data;
  19. import lombok.EqualsAndHashCode;
  20. import lombok.NoArgsConstructor;
  21. import lombok.experimental.Accessors;
  22. import java.io.Serializable;
  23. import java.math.BigDecimal;
  24. import java.time.LocalDate;
  25. import java.time.LocalDateTime;
  26. import java.util.List;
  27. import java.util.Map;
  28. /**
  29. * 出库单
  30. */
  31. @Data
  32. @Accessors(chain = true)
  33. public class OutboundVO{
  34. /*
  35. * 数据库字段
  36. */
  37. @ApiModelProperty(value = "收款明细")
  38. private List<RecPayItemVO> itemListRecPayItemVO;
  39. /**
  40. * 收款金额
  41. */
  42. @Excel(name = "收款金额")
  43. @ApiModelProperty(value = "收款金额")
  44. private BigDecimal sumAmtRec;
  45. /**
  46. * 收付款类型 (【系统字典】收款、付款)
  47. */
  48. @Excel(name = "收付款类型 (【系统字典】收款、付款)")
  49. @ApiModelProperty(value = "收付款类型 (【系统字典】收款、付款)")
  50. private String rpType;
  51. /**
  52. * 收付款日期 (账务日期)
  53. */
  54. @Excel(name = "收付款日期 (账务日期)")
  55. @ApiModelProperty(value = "收付款日期 (账务日期)")
  56. @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
  57. @TableField(typeHandler = TimestampTypeHandler.class)
  58. private LocalDate accDate;
  59. /**
  60. * 账务对象ID (账务对象:客户、供应商)
  61. */
  62. @Excel(name = "账务对象ID (账务对象:客户、供应商)")
  63. @ApiModelProperty(value = "账务对象ID (账务对象:客户、供应商)")
  64. @TableField(typeHandler = UuidTypeHandler.class)
  65. private String objectId;
  66. /**
  67. * 出库单ID
  68. */
  69. @ApiModelProperty(value = "出库单ID")
  70. @TableField(typeHandler = UuidTypeHandler.class)
  71. private String outId;
  72. /**
  73. * 入库金额
  74. */
  75. @Excel(name = "入库金额")
  76. @ApiModelProperty(value = "入库金额")
  77. private BigDecimal intoAmt;
  78. /**
  79. * 出库单号
  80. */
  81. @ApiModelProperty(value = "出库单号")
  82. private String outNo;
  83. /**
  84. * 出库类型 (【系统字典】销售出库、采退出库、其他出库)
  85. */
  86. @ApiModelProperty(value = "出库类型 (【系统字典】销售出库、采退出库、其他出库)")
  87. private String outType;
  88. /**
  89. * 来源单ID (销售订单、入库退货)
  90. */
  91. @ApiModelProperty(value = "来源单ID (销售订单、入库退货)")
  92. @TableField(typeHandler = UuidTypeHandler.class)
  93. private String fromId;
  94. /**
  95. * 来源单号
  96. */
  97. @ApiModelProperty(value = "来源单号")
  98. private String fromNo;
  99. /**
  100. * 部门
  101. */
  102. @ApiModelProperty(value = "部门")
  103. @TableField(typeHandler = UuidTypeHandler.class)
  104. private String orgId;
  105. /**
  106. * 员工
  107. */
  108. @ApiModelProperty(value = "员工")
  109. @TableField(typeHandler = UuidTypeHandler.class)
  110. private String staffId;
  111. /**
  112. * 客户
  113. */
  114. @ApiModelProperty(value = "客户")
  115. @TableField(typeHandler = UuidTypeHandler.class)
  116. private String cusId;
  117. /**
  118. * 供应商
  119. */
  120. @ApiModelProperty(value = "供应商")
  121. @TableField(typeHandler = UuidTypeHandler.class)
  122. private String supId;
  123. /**
  124. * 出库状态 (【系统字典】)
  125. */
  126. @ApiModelProperty(value = "出库状态 (【系统字典】)")
  127. private String outStatus;
  128. /**
  129. * 出库中数量
  130. */
  131. @ApiModelProperty(value = "出库中数量")
  132. private BigDecimal outingQty;
  133. /**
  134. * 出库中金额
  135. */
  136. @ApiModelProperty(value = "出库中金额")
  137. private BigDecimal outingAmt;
  138. /**
  139. * 已出库数量
  140. */
  141. @ApiModelProperty(value = "已出库数量")
  142. private BigDecimal outQty;
  143. /**
  144. * 已出库金额
  145. */
  146. @ApiModelProperty(value = "已出库金额")
  147. private BigDecimal outAmt;
  148. /**
  149. * 已出库退货数量
  150. */
  151. @ApiModelProperty(value = "已出库退货数量")
  152. private BigDecimal returnQty;
  153. /**
  154. * 已出库退货金额
  155. */
  156. @ApiModelProperty(value = "已出库退货金额")
  157. private BigDecimal returnAmt;
  158. /**
  159. * 出库日期
  160. */
  161. @ApiModelProperty(value = "出库日期")
  162. @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
  163. @TableField(typeHandler = TimestampTypeHandler.class)
  164. private LocalDate outDate;
  165. /**
  166. * 备注
  167. */
  168. @ApiModelProperty(value = "备注")
  169. private String remarks;
  170. /**
  171. * 附件 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)
  172. */
  173. @ApiModelProperty(value = "附件 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)")
  174. @TableField(typeHandler = JsonTypeHandler.class)
  175. private List<AnnexVO> annexPaths;
  176. /**
  177. * 制单员
  178. */
  179. @ApiModelProperty(value = "制单员")
  180. @TableField(typeHandler = UuidTypeHandler.class)
  181. private String makeStaff;
  182. /**
  183. * 制单时间
  184. */
  185. @ApiModelProperty(value = "制单时间")
  186. @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  187. @TableField(typeHandler = TimestampTypeHandler.class)
  188. private LocalDateTime makeTime;
  189. /**
  190. * 应收款单
  191. */
  192. @ApiModelProperty(value = "应收款单")
  193. @TableField(typeHandler = UuidTypeHandler.class)
  194. private String receivableId;
  195. /**
  196. * 有效标识 (1:正常 0:停用)
  197. */
  198. @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
  199. private Boolean flgValid;
  200. @ApiModelProperty(value = "出库原因")
  201. @TableField(typeHandler = UuidTypeHandler.class)
  202. private String outReason;
  203. /**
  204. * 企业ID
  205. */
  206. @ApiModelProperty(value = "企业ID")
  207. private Integer cpId;
  208. @Excel(name = "自动办理标识")
  209. @ApiModelProperty(value = "自动办理标识")
  210. private Boolean flgAutoHandle;
  211. @Excel(name = "自动办理参数")
  212. @ApiModelProperty(value = "自动办理参数")
  213. private Boolean flgHandleSetting;
  214. @ApiModelProperty(value = "明细")
  215. private List<OutboundItemVO> itemList;
  216. @ApiModelProperty(value = "删除明细")
  217. private List<OutboundItemVO> deleteItemList;
  218. /*
  219. * 相关属性
  220. * @TableField(exist = false)
  221. */
  222. /*
  223. * 关联属性 + 查询条件
  224. * @TableField(exist = false)
  225. */
  226. @ApiModelProperty(value = "自动入库标识")
  227. private Boolean automaticFlg;
  228. @ApiModelProperty(value = "客户电话")
  229. private String cusPhone;
  230. @ApiModelProperty(value = "客户名称")
  231. private String cusName;
  232. @ApiModelProperty(value = "客户来源 (【数据字典】)")
  233. private String cusFrom;
  234. @ApiModelProperty(value = "行政区划 (a1:省 a2:市 a3:区)")
  235. @TableField(typeHandler = JsonTypeHandler.class)
  236. private JSONObject addressArea;
  237. @ApiModelProperty(value = "小区或POI")
  238. private String addressName;
  239. @ApiModelProperty(value = "门牌号")
  240. private String addressNo;
  241. @ApiModelProperty(value = "地址坐标(gcj02) (LAT:纬度的值 LON:经度的值)")
  242. @TableField(typeHandler = JsonTypeHandler.class)
  243. private JSONObject addressGcj02;
  244. @ApiModelProperty(value = "详细地址")
  245. private String addressFull;
  246. @ApiModelProperty(value = "联系人")
  247. private String contactName;
  248. @Excel(name = "联系电话")
  249. @ApiModelProperty(value = "联系电话")
  250. private String contactPhone;
  251. @ApiModelProperty(value = "销售渠道")
  252. @TableField(typeHandler = UuidTypeHandler.class)
  253. private String salesChannel;
  254. @ApiModelProperty(value = "部门明细")
  255. private List<Map<String, Object>> orgList;
  256. @ApiModelProperty(value = "员工明细")
  257. private List<Map<String, Object>> staffList;
  258. @ApiModelProperty(value = "编辑标识")
  259. private Boolean limitEdit;
  260. private static final long serialVersionUID = 1L;
  261. }