PurcInquiryItem.java 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773
  1. package com.uas.ps.inquiry.model;
  2. import com.alibaba.fastjson.annotation.JSONField;
  3. import com.fasterxml.jackson.annotation.JsonIgnore;
  4. import com.uas.ps.entity.Product;
  5. import javax.persistence.*;
  6. import java.util.*;
  7. /**
  8. * 平台新增询价单明细
  9. *
  10. * @author hejq
  11. * @date 2018-01-13 19:19
  12. */
  13. @Entity
  14. @Table(name = "purc$puinquiryitems")
  15. public class PurcInquiryItem {
  16. @Id
  17. @GeneratedValue(strategy = GenerationType.IDENTITY)
  18. @Column(name = "id_id")
  19. private Long id;
  20. /**
  21. * 序号
  22. */
  23. @Column(name = "id_number")
  24. private Short number;
  25. /**
  26. * 询价单
  27. */
  28. @ManyToOne(cascade = CascadeType.ALL, optional = true)
  29. @JoinColumn(name = "id_inid", nullable = false)
  30. private PurcInquiry inquiry;
  31. /**
  32. * 买家采购员UU
  33. */
  34. @Column(name = "id_useruu")
  35. private Long userUU;
  36. /**
  37. * 联系人姓名
  38. */
  39. @Column(name = "id_username")
  40. private String userName;
  41. /**
  42. * 联系人电话
  43. */
  44. @Column(name = "id_usertel")
  45. private String userTel;
  46. /**
  47. * 联系人编号
  48. */
  49. @Column(name = "id_usercode")
  50. private String userCode;
  51. /**
  52. * 产品id
  53. */
  54. @Column(name = "id_prid")
  55. private Long productId;
  56. /**
  57. * 产品
  58. */
  59. // @OneToOne(cascade = {CascadeType.ALL})
  60. // @JoinColumn(name = "id_prid", insertable = false, updatable = false)
  61. @Transient
  62. private Product product;
  63. /**
  64. * ************* 上传的物料信息,因为可能是手动输入的,物料款不存在,需要先进行保存物料 *************
  65. */
  66. /**
  67. * 物料编号
  68. */
  69. @Column(name = "id_prodcode")
  70. private String prodCode;
  71. /**
  72. * 名称
  73. */
  74. @Column(name = "id_prodtitle")
  75. private String prodTitle;
  76. /**
  77. * 规格
  78. */
  79. @Column(name = "id_prodspec")
  80. private String spec;
  81. /**
  82. * 单位
  83. */
  84. @Column(name = "id_unit")
  85. private String unit;
  86. /**
  87. * 型号
  88. */
  89. @Column(name = "id_cmpcode")
  90. private String cmpCode;
  91. /**
  92. * 品牌
  93. */
  94. @Column(name = "id_inbrand")
  95. private String inbrand;
  96. /**
  97. * ******end*******
  98. */
  99. /**
  100. * 币种
  101. */
  102. @Column(name = "id_currency")
  103. private String currency;
  104. /**
  105. * 税率
  106. */
  107. @Column(name = "id_taxrate")
  108. private Float taxrate;
  109. /**
  110. * 备注
  111. */
  112. @Column(name = "id_remark")
  113. private String remark;
  114. /**
  115. * 供应商UU
  116. */
  117. @Column(name = "id_venduu")
  118. private Long vendUU;
  119. /**
  120. * 供应商联系人UU
  121. */
  122. @Column(name = "id_venduseruu")
  123. private Long vendUserUU;
  124. /**
  125. * (买家预先提供的)有效期始
  126. */
  127. @Column(name = "id_fromdate")
  128. private Date fromDate;
  129. /**
  130. * (买家预先提供的)有效期止
  131. */
  132. @Column(name = "id_todate")
  133. private Date toDate;
  134. /**
  135. * (卖家报的)有效期始
  136. */
  137. @Column(name = "id_vendfromdate")
  138. private Date vendFromDate;
  139. /**
  140. * (卖家报的)有效期止
  141. */
  142. @Column(name = "id_vendtodate")
  143. private Date vendToDate;
  144. /**
  145. * (卖家报的)最小订购量
  146. */
  147. @Column(name = "id_minorderqty")
  148. private Double minOrderQty;
  149. /**
  150. * (卖家报的)最小包装量
  151. */
  152. @Column(name = "id_minpackqty")
  153. private Double minPackQty;
  154. /**
  155. * (卖家报的)物料品牌
  156. */
  157. @Column(name = "id_brand")
  158. private String brand;
  159. /**
  160. * (卖家报的)供应商物料编号
  161. */
  162. @Column(name = "id_vendorprodcode")
  163. private String vendorprodcode;
  164. /**
  165. * (卖家报的)交货周期(天数)
  166. */
  167. @Column(name = "id_leadtime")
  168. private Long leadtime;
  169. /**
  170. * 分段报价明细
  171. */
  172. @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
  173. @JoinColumn(name = "ir_idid")
  174. @OrderBy("lapQty")
  175. private List<PurchaseInquiryReply> replies;
  176. /**
  177. * {未回复、已回复}
  178. */
  179. @Column(name = "id_status")
  180. private Short status;
  181. /**
  182. * 是否采纳
  183. */
  184. @Column(name = "id_agreed")
  185. private Short agreed;
  186. /**
  187. * 是否买家已设置分段数
  188. */
  189. @Column(name = "id_custlap")
  190. private Short custLap;
  191. /**
  192. * search项目进行是否已过期时实际根据主表中enddate与当前时间的比较获取,但是数据库无字段会报“标识符无效”的错误
  193. * 所以建立此字段,但是此字段不会赋值。
  194. *
  195. * @return
  196. */
  197. @Column(name = "id_overdue")
  198. private Short overdue;
  199. /**
  200. * 来源ERP或B2B
  201. */
  202. @Column(name = "id_source")
  203. private String source;
  204. /**
  205. * 是否公开
  206. */
  207. @Column(name = "id_isopen")
  208. private Short isOpen;
  209. /**
  210. * 需求数量
  211. */
  212. @Column(name = "id_needquantity")
  213. private Double needquantity;
  214. /**
  215. * 来源id,可能是ERP同步过来的单据
  216. */
  217. @Column(name = "id_sourceid")
  218. private Long sourceid;
  219. /**
  220. * 单据日期,索引过滤需要
  221. */
  222. @Column(name = "id_date")
  223. private Date date;
  224. /**
  225. * 企业uu,公共询价需要这个字段做标识
  226. */
  227. @Transient
  228. private Long enuu;
  229. /**
  230. * 单价预算
  231. */
  232. @Column(name = "id_unitprice")
  233. private Double unitPrice;
  234. /**
  235. * 报价时间
  236. */
  237. @Column(name = "id_offertime")
  238. private Date offerTime;
  239. /**
  240. * 封装
  241. */
  242. @Column(name = "id_sort")
  243. private String sort;
  244. /**
  245. * 产品生产日期
  246. */
  247. @Column(name = "id_producedate")
  248. private String produceDate;
  249. /**
  250. * 物料报价数量(记录多少人或企业对该物料进行报价)
  251. */
  252. @Column(name = "id_offeramount")
  253. private Integer offerAmount;
  254. /**
  255. * 封装
  256. */
  257. @Column(name = "id_encapsulation")
  258. private String encapsulation;
  259. /**
  260. * 截止日期
  261. */
  262. @Column(name = "id_enddate")
  263. private Date endDate;
  264. /**
  265. * 剩余时间
  266. */
  267. @Transient
  268. private Long remainingTime;
  269. /**
  270. * 买家发出公共询价单时录入的币别
  271. */
  272. @Column(name = "id_cust_currency")
  273. private String custCurrency;
  274. public Long getId() {
  275. return id;
  276. }
  277. public void setId(Long id) {
  278. this.id = id;
  279. }
  280. public Short getNumber() {
  281. return number;
  282. }
  283. public void setNumber(Short number) {
  284. this.number = number;
  285. }
  286. @JsonIgnore
  287. @JSONField(serialize = false)
  288. public PurcInquiry getInquiry() {
  289. return inquiry;
  290. }
  291. public void setInquiry(PurcInquiry inquiry) {
  292. this.inquiry = inquiry;
  293. }
  294. public Long getUserUU() {
  295. return userUU;
  296. }
  297. public void setUserUU(Long userUU) {
  298. this.userUU = userUU;
  299. }
  300. public String getUserName() {
  301. return userName;
  302. }
  303. public void setUserName(String userName) {
  304. this.userName = userName;
  305. }
  306. public String getUserTel() {
  307. return userTel;
  308. }
  309. public void setUserTel(String userTel) {
  310. this.userTel = userTel;
  311. }
  312. public Double getUnitPrice() {
  313. return unitPrice;
  314. }
  315. public void setUnitPrice(Double unitPrice) {
  316. this.unitPrice = unitPrice;
  317. }
  318. public Date getOfferTime() {
  319. return offerTime;
  320. }
  321. public void setOfferTime(Date offerTime) {
  322. this.offerTime = offerTime;
  323. }
  324. public String getUserCode() {
  325. return userCode;
  326. }
  327. public void setUserCode(String userCode) {
  328. this.userCode = userCode;
  329. }
  330. public Long getProductId() {
  331. return productId;
  332. }
  333. public void setProductId(Long productId) {
  334. this.productId = productId;
  335. }
  336. public Product getProduct() {
  337. return product;
  338. }
  339. public void setProduct(Product product) {
  340. this.product = product;
  341. }
  342. public String getCurrency() {
  343. return currency;
  344. }
  345. public void setCurrency(String currency) {
  346. this.currency = currency;
  347. }
  348. public Float getTaxrate() {
  349. return taxrate;
  350. }
  351. public void setTaxrate(Float taxrate) {
  352. this.taxrate = taxrate;
  353. }
  354. public String getRemark() {
  355. return remark;
  356. }
  357. public void setRemark(String remark) {
  358. this.remark = remark;
  359. }
  360. public Long getVendUU() {
  361. return vendUU;
  362. }
  363. public void setVendUU(Long vendUU) {
  364. this.vendUU = vendUU;
  365. }
  366. public Long getVendUserUU() {
  367. return vendUserUU;
  368. }
  369. public void setVendUserUU(Long vendUserUU) {
  370. this.vendUserUU = vendUserUU;
  371. }
  372. public Date getFromDate() {
  373. return fromDate;
  374. }
  375. public void setFromDate(Date fromDate) {
  376. this.fromDate = fromDate;
  377. }
  378. public Date getToDate() {
  379. return toDate;
  380. }
  381. public void setToDate(Date toDate) {
  382. this.toDate = toDate;
  383. }
  384. public Date getVendFromDate() {
  385. return vendFromDate;
  386. }
  387. public void setVendFromDate(Date vendFromDate) {
  388. this.vendFromDate = vendFromDate;
  389. }
  390. public Date getVendToDate() {
  391. return vendToDate;
  392. }
  393. public void setVendToDate(Date vendToDate) {
  394. this.vendToDate = vendToDate;
  395. }
  396. public Double getMinOrderQty() {
  397. return minOrderQty;
  398. }
  399. public void setMinOrderQty(Double minOrderQty) {
  400. this.minOrderQty = minOrderQty;
  401. }
  402. public Double getMinPackQty() {
  403. return minPackQty;
  404. }
  405. public void setMinPackQty(Double minPackQty) {
  406. this.minPackQty = minPackQty;
  407. }
  408. public String getBrand() {
  409. return brand;
  410. }
  411. public void setBrand(String brand) {
  412. this.brand = brand;
  413. }
  414. public String getVendorprodcode() {
  415. return vendorprodcode;
  416. }
  417. public void setVendorprodcode(String vendorprodcode) {
  418. this.vendorprodcode = vendorprodcode;
  419. }
  420. public Long getLeadtime() {
  421. return leadtime;
  422. }
  423. public void setLeadtime(Long leadtime) {
  424. this.leadtime = leadtime;
  425. }
  426. public List<PurchaseInquiryReply> getReplies() {
  427. return replies;
  428. }
  429. public void setReplies(List<PurchaseInquiryReply> replies) {
  430. this.replies = replies;
  431. }
  432. public Short getStatus() {
  433. return status;
  434. }
  435. public void setStatus(Short status) {
  436. this.status = status;
  437. }
  438. public Short getAgreed() {
  439. return agreed;
  440. }
  441. public void setAgreed(Short agreed) {
  442. this.agreed = agreed;
  443. }
  444. public Short getCustLap() {
  445. return custLap;
  446. }
  447. public void setCustLap(Short custLap) {
  448. this.custLap = custLap;
  449. }
  450. public Short getOverdue() {
  451. return overdue;
  452. }
  453. public void setOverdue(Short overdue) {
  454. this.overdue = overdue;
  455. }
  456. public String getSource() {
  457. return source;
  458. }
  459. public void setSource(String source) {
  460. this.source = source;
  461. }
  462. public Short getIsOpen() {
  463. return isOpen;
  464. }
  465. public void setIsOpen(Short isOpen) {
  466. this.isOpen = isOpen;
  467. }
  468. public String getProdCode() {
  469. return prodCode;
  470. }
  471. public void setProdCode(String prodCode) {
  472. this.prodCode = prodCode;
  473. }
  474. public String getProdTitle() {
  475. return prodTitle;
  476. }
  477. public void setProdTitle(String prodTitle) {
  478. this.prodTitle = prodTitle;
  479. }
  480. public String getSpec() {
  481. return spec;
  482. }
  483. public void setSpec(String spec) {
  484. this.spec = spec;
  485. }
  486. public String getUnit() {
  487. return unit;
  488. }
  489. public void setUnit(String unit) {
  490. this.unit = unit;
  491. }
  492. public String getCmpCode() {
  493. return cmpCode;
  494. }
  495. public void setCmpCode(String cmpCode) {
  496. this.cmpCode = cmpCode;
  497. }
  498. public String getInbrand() {
  499. return inbrand;
  500. }
  501. public void setInbrand(String inbrand) {
  502. this.inbrand = inbrand;
  503. }
  504. public Double getNeedquantity() {
  505. return needquantity;
  506. }
  507. public void setNeedquantity(Double needquantity) {
  508. this.needquantity = needquantity;
  509. }
  510. public Long getSourceid() {
  511. return sourceid;
  512. }
  513. public void setSourceid(Long sourceid) {
  514. this.sourceid = sourceid;
  515. }
  516. public Date getDate() {
  517. return date;
  518. }
  519. public void setDate(Date date) {
  520. this.date = date;
  521. }
  522. public Long getEnuu() {
  523. return enuu;
  524. }
  525. public void setEnuu(Long enuu) {
  526. this.enuu = enuu;
  527. }
  528. public String getSort() {
  529. return sort;
  530. }
  531. public void setSort(String sort) {
  532. this.sort = sort;
  533. }
  534. public String getProduceDate() {
  535. return produceDate;
  536. }
  537. public void setProduceDate(String produceDate) {
  538. this.produceDate = produceDate;
  539. }
  540. public Integer getOfferAmount() {
  541. return offerAmount;
  542. }
  543. public void setOfferAmount(Integer offerAmount) {
  544. this.offerAmount = offerAmount;
  545. }
  546. public String getEncapsulation() {
  547. return encapsulation;
  548. }
  549. public void setEncapsulation(String encapsulation) {
  550. this.encapsulation = encapsulation;
  551. }
  552. public Date getEndDate() {
  553. return endDate;
  554. }
  555. public void setEndDate(Date endDate) {
  556. this.endDate = endDate;
  557. }
  558. public String getCustCurrency() {
  559. return custCurrency;
  560. }
  561. public void setCustCurrency(String custCurrency) {
  562. this.custCurrency = custCurrency;
  563. }
  564. public Long getRemainingTime() {
  565. if (endDate != null) {
  566. return endDate.getTime() - System.currentTimeMillis();
  567. }
  568. return null;
  569. }
  570. @Override
  571. public String toString() {
  572. return "PurcInquiryItem{" +
  573. "id=" + id +
  574. ", number=" + number +
  575. ", inquiry=" + inquiry +
  576. ", userUU=" + userUU +
  577. ", userName='" + userName + '\'' +
  578. ", userTel='" + userTel + '\'' +
  579. ", userCode='" + userCode + '\'' +
  580. ", productId=" + productId +
  581. ", product=" + product +
  582. ", prodCode='" + prodCode + '\'' +
  583. ", prodTitle='" + prodTitle + '\'' +
  584. ", spec='" + spec + '\'' +
  585. ", unit='" + unit + '\'' +
  586. ", cmpCode='" + cmpCode + '\'' +
  587. ", inbrand='" + inbrand + '\'' +
  588. ", currency='" + currency + '\'' +
  589. ", taxrate=" + taxrate +
  590. ", remark='" + remark + '\'' +
  591. ", vendUU=" + vendUU +
  592. ", vendUserUU=" + vendUserUU +
  593. ", fromDate=" + fromDate +
  594. ", toDate=" + toDate +
  595. ", vendFromDate=" + vendFromDate +
  596. ", vendToDate=" + vendToDate +
  597. ", minOrderQty=" + minOrderQty +
  598. ", minPackQty=" + minPackQty +
  599. ", brand='" + brand + '\'' +
  600. ", vendorprodcode='" + vendorprodcode + '\'' +
  601. ", leadtime=" + leadtime +
  602. ", replies=" + replies +
  603. ", status=" + status +
  604. ", agreed=" + agreed +
  605. ", custLap=" + custLap +
  606. ", overdue=" + overdue +
  607. ", source='" + source + '\'' +
  608. ", isOpen=" + isOpen +
  609. ", needquantity=" + needquantity +
  610. ", sourceid=" + sourceid +
  611. ", date=" + date +
  612. ", enuu=" + enuu +
  613. ", unitPrice=" + unitPrice +
  614. ", offerTime=" + offerTime +
  615. ", sort='" + sort + '\'' +
  616. ", produceDate='" + produceDate + '\'' +
  617. ", offerAmount=" + offerAmount +
  618. ", encapsulation='" + encapsulation + '\'' +
  619. ", endDate=" + endDate +
  620. '}';
  621. }
  622. }