TbBusiness.java 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309
  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. public static final String PERMISSION_ZX_PRINT = "tb-business-zx-print";
  50. // ---------- 表中字段 ----------
  51. /**
  52. * 主键
  53. */
  54. private String id;
  55. /**
  56. * 客户id
  57. */
  58. private String customerId;
  59. /**
  60. * 申报单号
  61. */
  62. private String declareNo;
  63. /**
  64. * 客户名称
  65. */
  66. private String customerName;
  67. /**
  68. * 编号
  69. */
  70. private String no;
  71. /**
  72. * 车牌号
  73. */
  74. private String cardNo;
  75. private String countryName;
  76. /**
  77. * 车规格
  78. */
  79. private Double cardSize;
  80. /**
  81. * 载重(kg)
  82. */
  83. private Double netWeight;
  84. /**
  85. * 商品
  86. */
  87. private String goodsName;
  88. private String goodsId;
  89. /**
  90. * 商品编号
  91. */
  92. private String goodsCode;
  93. /**
  94. * 司机名称
  95. */
  96. private String driverName;
  97. /**
  98. * 司机id
  99. */
  100. private String driverId;
  101. /**
  102. * 司机联系号码
  103. */
  104. private String driverPhone;
  105. /**
  106. * 司机身份证
  107. */
  108. private String driverIdCard;
  109. /**
  110. * 支付凭证
  111. */
  112. private String payTicket;
  113. /**
  114. * 预计进边境日期
  115. */
  116. private String expectInDay;
  117. /**
  118. * 实际进边境日期
  119. */
  120. private Date realInDay;
  121. /**
  122. * 实际进境时间
  123. */
  124. private Date realInTime;
  125. /**
  126. * 入场通道
  127. */
  128. private String inChannel;
  129. /**
  130. * 支付状态(1=未支付,2=已支付,3=运营人员确认支付,4部分支付)
  131. */
  132. private Integer payStatus = 1;
  133. /**
  134. * 支付时间
  135. */
  136. private Date payTime;
  137. /**
  138. * 支付方式(1=线下支付,2现金支付,3=微信支付,4=支付宝支付)
  139. */
  140. private Integer payType = 1;
  141. /**
  142. * 支付订单号
  143. */
  144. private String payNo;
  145. private String payBy;
  146. /**
  147. * 离境时间
  148. */
  149. private Date outDayTime;
  150. /**
  151. * 出场通道
  152. */
  153. private String outChannel;
  154. /**
  155. * 停车费用
  156. */
  157. private BigDecimal partMoney=new BigDecimal(0);
  158. private BigDecimal chinaPartMoney=new BigDecimal(0);
  159. /**
  160. * 停车时常(分)
  161. */
  162. private Long partTime;
  163. private Long chinaCarPartTime;
  164. private BigDecimal itemPrice=new BigDecimal(0);
  165. private BigDecimal payMoney=new BigDecimal(0);
  166. private BigDecimal totalMoney=new BigDecimal(0);
  167. private Date createTime;
  168. private String createBy;
  169. private String createByCustomerId;
  170. private Integer confirmInput;
  171. private Date confirmInputTime;
  172. private String confirmInputBy;
  173. private Integer adminConfirmInput;
  174. private Integer adminConfirmPay;
  175. private Date adminConfirmPayTime;
  176. private String adminConfirmPayBy;
  177. private int adminConfirmOut=0;
  178. private int adminConfirmIn=0;
  179. //结账方式(1=现结,2=月结)[j]
  180. private int customerType;
  181. private String chinaCarNo;
  182. private String chinaCarInChannel;
  183. private String chinaCarOutChannel;
  184. private Date chinaCarInTime;
  185. private Date chinaCarOutTime;
  186. /**
  187. * 是否完成 0 1
  188. */
  189. private Integer complete=0;
  190. private String nucleicReport;
  191. private String disinfectReport;
  192. private String checkReport;
  193. private String outReport;
  194. /**
  195. * 业务类型(1=其他业务,2=整车业务)
  196. */
  197. private Integer businessType=2;
  198. private String itemTypeId;
  199. private String operator;
  200. private String operateTime;
  201. private String itemTypeName;
  202. private String owner;
  203. private Integer payStep=2;
  204. private transient String itemJson;
  205. private transient String peopleJson;
  206. private transient String carJson;
  207. /**
  208. * 确认账单操作人
  209. */
  210. private String confirmBy;
  211. private String confirmByAdminId;
  212. @TableField(exist = false)
  213. private List<TbBusinessItem> items = new ArrayList<>();
  214. @TableField(exist = false)
  215. private List<TbBusinessCar> cars = new ArrayList<>();
  216. @TableField(exist = false)
  217. private String carNoStr;
  218. public String getCarNoStr() {
  219. List<String>list=new ArrayList<>();
  220. String carNo=getCardNo();
  221. String chinaCarNo=getChinaCarNo();
  222. if (StrUtil.isNotEmpty(carNo)){
  223. list.add(carNo);
  224. }
  225. if (StrUtil.isNotEmpty(chinaCarNo)){
  226. list.add(chinaCarNo);
  227. }
  228. return StrUtil.join("、",list);
  229. }
  230. @Getter
  231. @AllArgsConstructor
  232. public static enum BusinessType{
  233. NO_BUSINESS(0,"无业务车辆"),
  234. CAR_DISINCLE(1,"其他业务"),
  235. HOLD_CAR(2,"整车业务"),
  236. ;
  237. private Integer code;
  238. private String desc;
  239. }
  240. @Getter
  241. @AllArgsConstructor
  242. public static enum PayStatus{
  243. NO_PAY(1,"未支付"),
  244. HAS_PAY(2,"已支付"),
  245. HAS_PAY_CONFIRM(3,"已支付已确认"),
  246. HAS_PAY_PART(4,"已支付"),
  247. ;
  248. private int code;
  249. private String desc;
  250. }
  251. public void setCardNo(String cardNo) {
  252. this.cardNo = StrUtil.isNotEmpty(cardNo)? cardNo.toUpperCase().trim():"";
  253. }
  254. public void setChinaCarNo(String chinaCarNo) {
  255. this.chinaCarNo = StrUtil.isNotEmpty(chinaCarNo)? chinaCarNo.toUpperCase().trim():"";
  256. }
  257. }