TbBusiness.java 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300
  1. package com.pj.project.tb_business;
  2. import java.io.Serializable;
  3. import java.math.BigDecimal;
  4. import java.util.ArrayList;
  5. import java.util.Date;
  6. import java.util.List;
  7. import cn.hutool.core.util.StrUtil;
  8. import com.baomidou.mybatisplus.annotation.*;
  9. import com.baomidou.mybatisplus.extension.activerecord.Model;
  10. import com.pj.project.tb_business_car.TbBusinessCar;
  11. import com.pj.project.tb_business_item.TbBusinessItem;
  12. import lombok.AllArgsConstructor;
  13. import lombok.EqualsAndHashCode;
  14. import lombok.Data;
  15. import lombok.Getter;
  16. import lombok.experimental.Accessors;
  17. /**
  18. * Model: tb_business -- 入境登记
  19. *
  20. * @author qzy
  21. */
  22. @Data
  23. @Accessors(chain = true)
  24. @TableName(TbBusiness.TABLE_NAME)
  25. @EqualsAndHashCode(callSuper = false)
  26. public class TbBusiness extends Model<TbBusiness> implements Serializable {
  27. // ---------- 模块常量 ----------
  28. /**
  29. * 序列化版本id
  30. */
  31. private static final long serialVersionUID = 1L;
  32. /**
  33. * 此模块对应的表名
  34. */
  35. public static final String TABLE_NAME = "tb_business";
  36. /**
  37. * 此模块对应的权限码
  38. */
  39. public static final String PERMISSION_CODE = "tb-business";
  40. public static final String PERMISSION_LIST = "tb-business-list";
  41. public static final String PERMISSION_CONFIRM = "tb-business-confirm";
  42. public static final String PERMISSION_PAY = "tb-business-pay";
  43. public static final String PERMISSION_INPUT = "tb-business-add";
  44. public static final String PERMISSION_MANUAL_PAY = "tb-flex-business-pay";
  45. //其他业务
  46. public static final String PERMISSION_FLAX_BUSINESS_ADD = "tb-flex-business-add";
  47. public static final String PERMISSION_FLAX_BUSINESS_EDIT = "tb-flex-business-edit";
  48. // ---------- 表中字段 ----------
  49. /**
  50. * 主键
  51. */
  52. private String id;
  53. /**
  54. * 客户id
  55. */
  56. private String customerId;
  57. /**
  58. * 申报单号
  59. */
  60. private String declareNo;
  61. /**
  62. * 客户名称
  63. */
  64. private String customerName;
  65. /**
  66. * 编号
  67. */
  68. private String no;
  69. /**
  70. * 车牌号
  71. */
  72. private String cardNo;
  73. private String countryName;
  74. /**
  75. * 车规格
  76. */
  77. private Double cardSize;
  78. /**
  79. * 载重(kg)
  80. */
  81. private Double netWeight;
  82. /**
  83. * 商品
  84. */
  85. private String goodsName;
  86. private String goodsId;
  87. /**
  88. * 商品编号
  89. */
  90. private String goodsCode;
  91. /**
  92. * 司机名称
  93. */
  94. private String driverName;
  95. /**
  96. * 司机id
  97. */
  98. private String driverId;
  99. /**
  100. * 司机联系号码
  101. */
  102. private String driverPhone;
  103. /**
  104. * 司机身份证
  105. */
  106. private String driverIdCard;
  107. /**
  108. * 支付凭证
  109. */
  110. private String payTicket;
  111. /**
  112. * 预计进边境日期
  113. */
  114. private String expectInDay;
  115. /**
  116. * 实际进边境日期
  117. */
  118. private Date realInDay;
  119. /**
  120. * 实际进境时间
  121. */
  122. private Date realInTime;
  123. /**
  124. * 入场通道
  125. */
  126. private String inChannel;
  127. /**
  128. * 支付状态(1=未支付,2=已支付,3=运营人员确认支付,4部分支付)
  129. */
  130. private Integer payStatus = 1;
  131. /**
  132. * 支付时间
  133. */
  134. private Date payTime;
  135. /**
  136. * 支付方式(1=线下支付,2现金支付,3=微信支付,4=支付宝支付)
  137. */
  138. private Integer payType = 1;
  139. /**
  140. * 支付订单号
  141. */
  142. private String payNo;
  143. private String payBy;
  144. /**
  145. * 离境时间
  146. */
  147. private Date outDayTime;
  148. /**
  149. * 出场通道
  150. */
  151. private String outChannel;
  152. /**
  153. * 停车费用
  154. */
  155. private BigDecimal partMoney=new BigDecimal(0);
  156. private BigDecimal chinaPartMoney=new BigDecimal(0);
  157. /**
  158. * 停车时常(分)
  159. */
  160. private Long partTime;
  161. private Long chinaCarPartTime;
  162. private BigDecimal itemPrice=new BigDecimal(0);
  163. private BigDecimal payMoney=new BigDecimal(0);
  164. private BigDecimal totalMoney=new BigDecimal(0);
  165. private Date createTime;
  166. private String createBy;
  167. private String createByCustomerId;
  168. private Integer confirmInput;
  169. private Date confirmInputTime;
  170. private String confirmInputBy;
  171. private Integer adminConfirmInput;
  172. private Integer adminConfirmPay;
  173. private Date adminConfirmPayTime;
  174. private String adminConfirmPayBy;
  175. private int adminConfirmOut=0;
  176. private int adminConfirmIn=0;
  177. //结账方式(1=现结,2=月结)[j]
  178. private int customerType;
  179. private String chinaCarNo;
  180. private String chinaCarInChannel;
  181. private String chinaCarOutChannel;
  182. private Date chinaCarInTime;
  183. private Date chinaCarOutTime;
  184. /**
  185. * 是否完成 0 1
  186. */
  187. private Integer complete=0;
  188. private String nucleicReport;
  189. private String disinfectReport;
  190. private String checkReport;
  191. private String outReport;
  192. /**
  193. * 业务类型(1=其他业务,2=整车业务)
  194. */
  195. private Integer businessType=2;
  196. private String itemTypeId;
  197. private String operator;
  198. private String operateTime;
  199. private String itemTypeName;
  200. private String owner;
  201. private Integer payStep=2;
  202. private transient String itemJson;
  203. private transient String peopleJson;
  204. private transient String carJson;
  205. @TableField(exist = false)
  206. private List<TbBusinessItem> items = new ArrayList<>();
  207. @TableField(exist = false)
  208. private List<TbBusinessCar> cars = new ArrayList<>();
  209. @TableField(exist = false)
  210. private String carNoStr;
  211. public String getCarNoStr() {
  212. List<String>list=new ArrayList<>();
  213. String carNo=getCardNo();
  214. String chinaCarNo=getChinaCarNo();
  215. if (StrUtil.isNotEmpty(carNo)){
  216. list.add(carNo);
  217. }
  218. if (StrUtil.isNotEmpty(chinaCarNo)){
  219. list.add(chinaCarNo);
  220. }
  221. return StrUtil.join("、",list);
  222. }
  223. @Getter
  224. @AllArgsConstructor
  225. public static enum BusinessType{
  226. NO_BUSINESS(0,"无业务车辆"),
  227. CAR_DISINCLE(1,"其他业务"),
  228. HOLD_CAR(2,"整车业务"),
  229. ;
  230. private Integer code;
  231. private String desc;
  232. }
  233. @Getter
  234. @AllArgsConstructor
  235. public static enum PayStatus{
  236. NO_PAY(1,"未支付"),
  237. HAS_PAY(2,"已支付"),
  238. HAS_PAY_CONFIRM(3,"已支付已确认"),
  239. HAS_PAY_PART(4,"已支付"),
  240. ;
  241. private int code;
  242. private String desc;
  243. }
  244. public void setCardNo(String cardNo) {
  245. this.cardNo = StrUtil.isNotEmpty(cardNo)? cardNo.toUpperCase().trim():"";
  246. }
  247. public void setChinaCarNo(String chinaCarNo) {
  248. this.chinaCarNo = StrUtil.isNotEmpty(chinaCarNo)? chinaCarNo.toUpperCase().trim():"";
  249. }
  250. }