Advertisement
Guest User

Untitled

a guest
May 11th, 2018
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.95 KB | None | 0 0
  1. package com.bss.sistema.genesis.model;
  2.  
  3. import java.io.Serializable;
  4. import java.math.BigDecimal;
  5. import java.time.LocalDate;
  6. import java.util.List;
  7.  
  8. import javax.persistence.Column;
  9. import javax.persistence.Entity;
  10. import javax.persistence.EnumType;
  11. import javax.persistence.Enumerated;
  12. import javax.persistence.GeneratedValue;
  13. import javax.persistence.GenerationType;
  14. import javax.persistence.Id;
  15. import javax.persistence.JoinColumn;
  16. import javax.persistence.ManyToOne;
  17. import javax.persistence.OneToMany;
  18. import javax.persistence.PrePersist;
  19. import javax.persistence.PreUpdate;
  20. import javax.persistence.Table;
  21. import javax.validation.constraints.DecimalMax;
  22. import javax.validation.constraints.DecimalMin;
  23. import javax.validation.constraints.NotNull;
  24. import javax.validation.constraints.Size;
  25.  
  26. import org.hibernate.validator.constraints.NotBlank;
  27.  
  28. @Entity
  29. @Table(name = "proposta") // Vou fazer referencia ao flyway //
  30. public class Proposta implements Serializable {
  31.  
  32. private static final long serialVersionUID = 1L;
  33.  
  34. // Relacionamento Proposta x Produto
  35. @NotNull(message = "O produto é obrigatório")
  36. @ManyToOne
  37. @JoinColumn(name = "codigo_produto")
  38. private Produto produto;
  39.  
  40. // Relacionamento Proposta x Banco
  41. @NotNull(message = "O banco é obrigatório")
  42. @ManyToOne
  43. @JoinColumn(name = "codigo_banco")
  44. private Banco banco;
  45.  
  46. @NotNull(message = "A tabela é obrigatório")
  47. @ManyToOne
  48. @JoinColumn(name = "codigo_tabela")
  49. private Tabela tabela;
  50.  
  51. @Id
  52. @GeneratedValue(strategy = GenerationType.IDENTITY)
  53. private Long codigo;
  54.  
  55. // Padrao de expressao
  56. // @ADE
  57. @NotBlank(message = "A ADE é obrigatória")
  58. @Size(max = 50, message = "O tamanho da ADE deve estar entre 1 e 50")
  59. @Column(unique = true)
  60. private String ade;
  61.  
  62. @NotBlank(message = "A descrição é obrigatória")
  63. @Size(max = 50, message = "O tamanho da descrição deve estar entre 1 e 50")
  64. private String descricao;
  65.  
  66. @NotNull(message = "A origem é obrigatório")
  67. @Enumerated(EnumType.STRING)
  68. private Origem origem;
  69.  
  70. @NotNull(message = "O valor Parcela é obrigatório")
  71. @DecimalMin("0.01")
  72. @DecimalMax(value = "9999999.99", message = "O valor da proposta deve ser menor que R$9.999.999,99")
  73. private BigDecimal valorParcela;
  74.  
  75. @NotNull(message = "O valor Total é obrigatório")
  76. @DecimalMin("0.01")
  77. @DecimalMax(value = "9999999.99", message = "O valor da proposta deve ser menor que R$9.999.999,99")
  78. private BigDecimal valorTotal;
  79.  
  80. @NotNull(message = "O valor Líquido é obrigatório")
  81. @DecimalMin("0.01")
  82. @DecimalMax(value = "9999999.99", message = "O valor da proposta deve ser menor que R$9.999.999,99")
  83. private BigDecimal valorLiquido;
  84.  
  85. @Column(name = "data_proposta")
  86. private LocalDate dataProposta;
  87.  
  88. @ManyToOne
  89. @JoinColumn(name = "codigo_cliente")
  90. private Cliente cliente;
  91.  
  92. @OneToMany(mappedBy = "proposta")
  93. private List<Comissao> comissoes;
  94.  
  95. @PrePersist
  96. @PreUpdate
  97. private void prePersistUpdate() {
  98. descricao = descricao.toUpperCase();
  99. }
  100.  
  101. public Produto getProduto() {
  102. return produto;
  103. }
  104.  
  105. public void setProduto(Produto produto) {
  106. this.produto = produto;
  107. }
  108.  
  109. public Banco getBanco() {
  110. return banco;
  111. }
  112.  
  113. public void setBanco(Banco banco) {
  114. this.banco = banco;
  115. }
  116.  
  117. public Tabela getTabela() {
  118. return tabela;
  119. }
  120.  
  121. public void setTabela(Tabela tabela) {
  122. this.tabela = tabela;
  123. }
  124.  
  125. public Long getCodigo() {
  126. return codigo;
  127. }
  128.  
  129. public void setCodigo(Long codigo) {
  130. this.codigo = codigo;
  131. }
  132.  
  133. public String getAde() {
  134. return ade;
  135. }
  136.  
  137. public void setAde(String ade) {
  138. this.ade = ade;
  139. }
  140.  
  141. public String getDescricao() {
  142. return descricao;
  143. }
  144.  
  145. public void setDescricao(String descricao) {
  146. this.descricao = descricao;
  147. }
  148.  
  149. public Origem getOrigem() {
  150. return origem;
  151. }
  152.  
  153. public void setOrigem(Origem origem) {
  154. this.origem = origem;
  155. }
  156.  
  157. public BigDecimal getValorParcela() {
  158. return valorParcela;
  159. }
  160.  
  161. public void setValorParcela(BigDecimal valorParcela) {
  162. this.valorParcela = valorParcela;
  163. }
  164.  
  165. public BigDecimal getValorTotal() {
  166. return valorTotal;
  167. }
  168.  
  169. public void setValorTotal(BigDecimal valorTotal) {
  170. this.valorTotal = valorTotal;
  171. }
  172.  
  173. public BigDecimal getValorLiquido() {
  174. return valorLiquido;
  175. }
  176.  
  177. public void setValorLiquido(BigDecimal valorLiquido) {
  178. this.valorLiquido = valorLiquido;
  179. }
  180.  
  181. public Cliente getCliente() {
  182. return cliente;
  183. }
  184.  
  185. public void setCliente(Cliente cliente) {
  186. this.cliente = cliente;
  187. }
  188.  
  189. public List<Comissao> getComissoes() {
  190. return comissoes;
  191. }
  192.  
  193. public void setComissoes(List<Comissao> comissoes) {
  194. this.comissoes = comissoes;
  195. }
  196.  
  197. public LocalDate getDataProposta() {
  198. return dataProposta;
  199. }
  200.  
  201. public void setDataProposta(LocalDate dataProposta) {
  202. this.dataProposta = dataProposta;
  203. }
  204.  
  205. @Override
  206. public int hashCode() {
  207. final int prime = 31;
  208. int result = 1;
  209. result = prime * result + ((codigo == null) ? 0 : codigo.hashCode());
  210. return result;
  211. }
  212.  
  213. @Override
  214. public boolean equals(Object obj) {
  215. if (this == obj)
  216. return true;
  217. if (obj == null)
  218. return false;
  219. if (getClass() != obj.getClass())
  220. return false;
  221. Proposta other = (Proposta) obj;
  222. if (codigo == null) {
  223. if (other.codigo != null)
  224. return false;
  225. } else if (!codigo.equals(other.codigo))
  226. return false;
  227. return true;
  228. }
  229.  
  230. public Proposta(Produto produto, Banco banco, Tabela tabela, Long codigo, String ade, String descricao,
  231. Origem origem, BigDecimal valorParcela, BigDecimal valorTotal, BigDecimal valorLiquido, Cliente cliente,
  232. List<Comissao> comissoes) {
  233. super();
  234. this.produto = produto;
  235. this.banco = banco;
  236. this.tabela = tabela;
  237. this.codigo = codigo;
  238. this.ade = ade;
  239. this.descricao = descricao;
  240. this.origem = origem;
  241. this.valorParcela = valorParcela;
  242. this.valorTotal = valorTotal;
  243. this.valorLiquido = valorLiquido;
  244. this.cliente = cliente;
  245. this.comissoes = comissoes;
  246. }
  247.  
  248. public Proposta() {
  249. super();
  250. }
  251.  
  252. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement