Commit 6b2a36df05bd0be80e388d5509aa16f776fe6f6a

Authored by erick.sato
2 parents 4529dde8 42850c0f
Exists in master

Merge branch 'adm-1.15.0' of http://ferramentasgo.centralit.com.br:8080/scm/git/…

…cit-grp-almoxarifado into adm-1.15.0

# Conflicts:
#	cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/EnderecoEstoque.java
#	cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/MaterialEstoque.java
#	cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/MaterialEstoqueFIFOItem.java
#	cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/MaterialLocalEstoque.java
#	cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/MovimentoEstoque.java
Showing 64 changed files with 1639 additions and 2063 deletions   Show diff stats
cit-almoxarifado-api/src/main/java/br/com/centralit/api/dao/LocalEstoqueDao.java
1 package br.com.centralit.api.dao; 1 package br.com.centralit.api.dao;
2 2
3 import br.com.centralit.api.model.EstruturaOrganizacional; 3 import br.com.centralit.api.model.EstruturaOrganizacional;
4 -import br.com.centralit.api.model.LocalEstoque; 4 +import br.com.centralit.api.model.MaterialLocalEstoque;
5 import br.com.centralit.framework.dao.arquitetura.CitGenericDAO; 5 import br.com.centralit.framework.dao.arquitetura.CitGenericDAO;
6 6
7 public interface LocalEstoqueDao extends CitGenericDAO { 7 public interface LocalEstoqueDao extends CitGenericDAO {
@@ -14,5 +14,5 @@ public interface LocalEstoqueDao extends CitGenericDAO { @@ -14,5 +14,5 @@ public interface LocalEstoqueDao extends CitGenericDAO {
14 * @param almoxarifado 14 * @param almoxarifado
15 * @return 15 * @return
16 */ 16 */
17 - LocalEstoque buscarLocalEstoque(EstruturaOrganizacional almoxarifado); 17 + MaterialLocalEstoque buscarLocalEstoque(EstruturaOrganizacional almoxarifado);
18 } 18 }
cit-almoxarifado-api/src/main/java/br/com/centralit/api/dao/MaterialEstoqueDao.java 0 → 100644
@@ -0,0 +1,7 @@ @@ -0,0 +1,7 @@
  1 +package br.com.centralit.api.dao;
  2 +
  3 +import br.com.centralit.framework.dao.arquitetura.CitGenericDAO;
  4 +
  5 +public interface MaterialEstoqueDao extends CitGenericDAO {
  6 +
  7 +}
cit-almoxarifado-api/src/main/java/br/com/centralit/api/dao/MaterialEstoqueSaldoMedioDao.java
@@ -1,47 +0,0 @@ @@ -1,47 +0,0 @@
1 -package br.com.centralit.api.dao;  
2 -  
3 -import java.math.BigDecimal;  
4 -  
5 -import br.com.centralit.api.model.Material;  
6 -import br.com.centralit.api.model.MaterialEstoqueSaldoMedio;  
7 -import br.com.centralit.framework.dao.arquitetura.CitGenericDAO;  
8 -  
9 -public interface MaterialEstoqueSaldoMedioDao extends CitGenericDAO {  
10 -  
11 - /**  
12 - * Recupera os dados do estoque e saldo de um material a partir da análise média  
13 - *  
14 - * @param material Material a se buscar os dados de estoque médio.  
15 - * @return  
16 - */  
17 - public MaterialEstoqueSaldoMedio findByMaterial(Material material);  
18 -  
19 - /**  
20 - * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">2485</a></p>  
21 - *  
22 - * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>  
23 - *  
24 - * Método responsável por buscar o valor unitario do material na quando o sistema esta configurado para trabalhar com a media movel  
25 - *  
26 - * @author juliana.barbosa  
27 - *  
28 - * @param materialId  
29 - * @return  
30 - */  
31 - public BigDecimal buscaValorUnitario(Long materialId);  
32 -  
33 - /**  
34 - * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">2485</a></p>  
35 - *  
36 - * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>  
37 - *  
38 - * Método responsável por buscar o resto do material na quando o sistema esta configurado para trabalhar com a media movel  
39 - *  
40 - * @author juliana.barbosa  
41 - *  
42 - * @param materialId  
43 - * @return  
44 - */  
45 - public BigDecimal buscaValorResto(Long materialId);  
46 -  
47 -}  
cit-almoxarifado-api/src/main/java/br/com/centralit/api/dao/MovimentoEstoqueDao.java
@@ -2,6 +2,7 @@ package br.com.centralit.api.dao; @@ -2,6 +2,7 @@ package br.com.centralit.api.dao;
2 2
3 import java.math.BigDecimal; 3 import java.math.BigDecimal;
4 import java.util.Calendar; 4 import java.util.Calendar;
  5 +import java.util.Collection;
5 import java.util.List; 6 import java.util.List;
6 import java.util.Map; 7 import java.util.Map;
7 8
@@ -9,6 +10,7 @@ import br.com.centralit.api.model.EstruturaOrganizacional; @@ -9,6 +10,7 @@ import br.com.centralit.api.model.EstruturaOrganizacional;
9 import br.com.centralit.api.model.MaterialConsumo; 10 import br.com.centralit.api.model.MaterialConsumo;
10 import br.com.centralit.api.model.MovimentoEstoque; 11 import br.com.centralit.api.model.MovimentoEstoque;
11 import br.com.centralit.framework.dao.arquitetura.CitGenericDAO; 12 import br.com.centralit.framework.dao.arquitetura.CitGenericDAO;
  13 +import br.com.centralit.framework.model.Dominio;
12 import br.com.centralit.framework.model.Organizacao; 14 import br.com.centralit.framework.model.Organizacao;
13 import br.com.centralit.framework.model.arquitetura.PersistentObjectAudit; 15 import br.com.centralit.framework.model.arquitetura.PersistentObjectAudit;
14 16
@@ -131,4 +133,19 @@ public interface MovimentoEstoqueDao extends CitGenericDAO { @@ -131,4 +133,19 @@ public interface MovimentoEstoqueDao extends CitGenericDAO {
131 * @return 133 * @return
132 */ 134 */
133 public BigDecimal buscaQuantidadeMovimentadaMaterialPorReferencia(Long materialId, Calendar dataReferencia, Long organizacaoId); 135 public BigDecimal buscaQuantidadeMovimentadaMaterialPorReferencia(Long materialId, Calendar dataReferencia, Long organizacaoId);
  136 +
  137 + /**
  138 + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p>
  139 + *
  140 + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
  141 + *
  142 + * Método responsável por buscar todos os movimentos por classe de referencia e ID da referencia
  143 + *
  144 + * @author geovane.filho
  145 + *
  146 + * @param classeReferencia
  147 + * @param idReferencia
  148 + * @return
  149 + */
  150 + public Collection<MovimentoEstoque> findAllByClasseReferencia(Dominio classeReferencia, Long idReferencia);
134 } 151 }
cit-almoxarifado-api/src/main/java/br/com/centralit/api/dao/impl/LocalEstoqueDaoHibernate.java
@@ -4,7 +4,7 @@ import org.springframework.stereotype.Repository; @@ -4,7 +4,7 @@ import org.springframework.stereotype.Repository;
4 4
5 import br.com.centralit.api.dao.LocalEstoqueDao; 5 import br.com.centralit.api.dao.LocalEstoqueDao;
6 import br.com.centralit.api.model.EstruturaOrganizacional; 6 import br.com.centralit.api.model.EstruturaOrganizacional;
7 -import br.com.centralit.api.model.LocalEstoque; 7 +import br.com.centralit.api.model.MaterialLocalEstoque;
8 import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl; 8 import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl;
9 import br.com.centralit.framework.dao.arquitetura.SearchSeven; 9 import br.com.centralit.framework.dao.arquitetura.SearchSeven;
10 10
@@ -40,14 +40,14 @@ public class LocalEstoqueDaoHibernate extends CitGenericDAOImpl implements Local @@ -40,14 +40,14 @@ public class LocalEstoqueDaoHibernate extends CitGenericDAOImpl implements Local
40 */ 40 */
41 public LocalEstoqueDaoHibernate() { 41 public LocalEstoqueDaoHibernate() {
42 42
43 - super(LocalEstoque.class); 43 + super(MaterialLocalEstoque.class);
44 } 44 }
45 45
46 /** 46 /**
47 * {@inheritDoc} 47 * {@inheritDoc}
48 */ 48 */
49 @Override 49 @Override
50 - public LocalEstoque buscarLocalEstoque(EstruturaOrganizacional almoxarifado) { 50 + public MaterialLocalEstoque buscarLocalEstoque(EstruturaOrganizacional almoxarifado) {
51 51
52 SearchSeven search = new SearchSeven(); 52 SearchSeven search = new SearchSeven();
53 53
cit-almoxarifado-api/src/main/java/br/com/centralit/api/dao/impl/MaterialEstoqueDaoHibernate.java 0 → 100644
@@ -0,0 +1,16 @@ @@ -0,0 +1,16 @@
  1 +package br.com.centralit.api.dao.impl;
  2 +
  3 +import org.springframework.stereotype.Repository;
  4 +
  5 +import br.com.centralit.api.dao.MaterialEstoqueDao;
  6 +import br.com.centralit.api.model.MaterialEstoque;
  7 +import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl;
  8 +
  9 +@Repository("materialEstoqueDao")
  10 +public class MaterialEstoqueDaoHibernate extends CitGenericDAOImpl implements MaterialEstoqueDao {
  11 +
  12 + public MaterialEstoqueDaoHibernate() {
  13 + super(MaterialEstoque.class);
  14 + }
  15 +
  16 +}
cit-almoxarifado-api/src/main/java/br/com/centralit/api/dao/impl/MaterialEstoqueSaldoMedioDaoHibernate.java
@@ -1,97 +0,0 @@ @@ -1,97 +0,0 @@
1 -package br.com.centralit.api.dao.impl;  
2 -  
3 -import java.math.BigDecimal;  
4 -  
5 -import javax.persistence.NoResultException;  
6 -import javax.persistence.Query;  
7 -  
8 -import org.springframework.stereotype.Repository;  
9 -  
10 -import br.com.centralit.api.dao.MaterialEstoqueSaldoMedioDao;  
11 -import br.com.centralit.api.model.Material;  
12 -import br.com.centralit.api.model.MaterialEstoqueSaldoMedio;  
13 -import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl;  
14 -import br.com.centralit.framework.dao.arquitetura.SearchSeven;  
15 -  
16 -@Repository("materialEstoqueSaldoMedioDao")  
17 -public class MaterialEstoqueSaldoMedioDaoHibernate extends CitGenericDAOImpl implements MaterialEstoqueSaldoMedioDao {  
18 -  
19 - public MaterialEstoqueSaldoMedioDaoHibernate() {  
20 - super(MaterialEstoqueSaldoMedio.class);  
21 - }  
22 -  
23 - @Override  
24 - public MaterialEstoqueSaldoMedio findByMaterial(Material material) {  
25 - SearchSeven search = new SearchSeven();  
26 -  
27 - search.addFilterEqual("material.id", material.getId());  
28 -  
29 - search.setMaxResults(1);  
30 -  
31 - return this.searchUnique(search, MaterialEstoqueSaldoMedio.class);  
32 - }  
33 -  
34 - /**  
35 - * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">2485</a></p>  
36 - *  
37 - * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>  
38 - *  
39 - * Método responsável por buscar o valor unitario do material na quando o sistema esta configurado para trabalhar com a media movel  
40 - *  
41 - * @author juliana.barbosa  
42 - *  
43 - * @param materialId  
44 - * @return  
45 - */  
46 - public BigDecimal buscaValorUnitario(Long materialId){  
47 - Query queryQnt = em().createQuery("SELECT valorunitariomedio FROM MaterialEstoqueSaldoMedio where material.id = :materialId");  
48 - queryQnt.setMaxResults(1);  
49 -  
50 - queryQnt.setParameter("materialId", materialId);  
51 -  
52 - BigDecimal valor = BigDecimal.ZERO;  
53 -  
54 - try {  
55 - valor = (BigDecimal) queryQnt.getSingleResult();  
56 - if (valor == null) {  
57 - valor = BigDecimal.ZERO;  
58 - }  
59 - } catch (NoResultException e) {  
60 - valor = BigDecimal.ZERO;  
61 - }  
62 -  
63 - return valor;  
64 - }  
65 -  
66 - /**  
67 - * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">2485</a></p>  
68 - *  
69 - * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>  
70 - *  
71 - * Método responsável por buscar o resto do material na quando o sistema esta configurado para trabalhar com a media movel  
72 - *  
73 - * @author juliana.barbosa  
74 - *  
75 - * @param materialId  
76 - * @return  
77 - */  
78 - public BigDecimal buscaValorResto(Long materialId){  
79 - Query queryQnt = em().createQuery("SELECT restomedio FROM MaterialEstoqueSaldoMedio where material.id = :materialId");  
80 - queryQnt.setMaxResults(1);  
81 -  
82 - queryQnt.setParameter("materialId", materialId);  
83 -  
84 - BigDecimal resto = BigDecimal.ZERO;  
85 -  
86 - try {  
87 - resto = (BigDecimal) queryQnt.getSingleResult();  
88 - if (resto == null) {  
89 - resto = BigDecimal.ZERO;  
90 - }  
91 - } catch (NoResultException e) {  
92 - resto = BigDecimal.ZERO;  
93 - }  
94 -  
95 - return resto;  
96 - }  
97 -}  
cit-almoxarifado-api/src/main/java/br/com/centralit/api/dao/impl/MovimentoEstoqueDaoHibernate.java
@@ -2,6 +2,7 @@ package br.com.centralit.api.dao.impl; @@ -2,6 +2,7 @@ package br.com.centralit.api.dao.impl;
2 2
3 import java.math.BigDecimal; 3 import java.math.BigDecimal;
4 import java.util.Calendar; 4 import java.util.Calendar;
  5 +import java.util.Collection;
5 import java.util.List; 6 import java.util.List;
6 import java.util.Map; 7 import java.util.Map;
7 8
@@ -17,6 +18,7 @@ import br.com.centralit.api.model.MaterialConsumo; @@ -17,6 +18,7 @@ import br.com.centralit.api.model.MaterialConsumo;
17 import br.com.centralit.api.model.MovimentoEstoque; 18 import br.com.centralit.api.model.MovimentoEstoque;
18 import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl; 19 import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl;
19 import br.com.centralit.framework.dao.arquitetura.SearchSeven; 20 import br.com.centralit.framework.dao.arquitetura.SearchSeven;
  21 +import br.com.centralit.framework.model.Dominio;
20 import br.com.centralit.framework.model.Organizacao; 22 import br.com.centralit.framework.model.Organizacao;
21 import br.com.centralit.framework.model.arquitetura.PersistentObjectAudit; 23 import br.com.centralit.framework.model.arquitetura.PersistentObjectAudit;
22 import br.com.centralit.framework.util.UtilColecao; 24 import br.com.centralit.framework.util.UtilColecao;
@@ -243,4 +245,17 @@ public class MovimentoEstoqueDaoHibernate extends CitGenericDAOImpl implements M @@ -243,4 +245,17 @@ public class MovimentoEstoqueDaoHibernate extends CitGenericDAOImpl implements M
243 245
244 return qnt; 246 return qnt;
245 } 247 }
  248 +
  249 + /**
  250 + * {@inheritDoc}
  251 + */
  252 + @Override
  253 + public Collection<MovimentoEstoque> findAllByClasseReferencia(Dominio classeReferencia, Long idReferencia) {
  254 + SearchSeven search = new SearchSeven();
  255 +
  256 + search.addFilterEqual("dominioClasseReferencia.id", classeReferencia.getId());
  257 + search.addFilterEqual("idClasseReferencia", idReferencia);
  258 +
  259 + return search(search);
  260 + }
246 } 261 }
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/AtendimentoRequisicaoConsumo.java
@@ -13,6 +13,7 @@ import javax.persistence.GenerationType; @@ -13,6 +13,7 @@ import javax.persistence.GenerationType;
13 import javax.persistence.Id; 13 import javax.persistence.Id;
14 import javax.persistence.ManyToOne; 14 import javax.persistence.ManyToOne;
15 import javax.persistence.OneToMany; 15 import javax.persistence.OneToMany;
  16 +import javax.persistence.Table;
16 import javax.persistence.Temporal; 17 import javax.persistence.Temporal;
17 import javax.persistence.TemporalType; 18 import javax.persistence.TemporalType;
18 import javax.persistence.Transient; 19 import javax.persistence.Transient;
@@ -61,6 +62,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize; @@ -61,6 +62,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
61 * 62 *
62 */ 63 */
63 @Entity 64 @Entity
  65 +@Table(name="alm_rc_atendimento")
64 @JsonIgnoreProperties({"$selecionarRequisicoes", "$dataFinalizacao"}) 66 @JsonIgnoreProperties({"$selecionarRequisicoes", "$dataFinalizacao"})
65 public class AtendimentoRequisicaoConsumo extends PersistentObjectAuditOrganizacao { 67 public class AtendimentoRequisicaoConsumo extends PersistentObjectAuditOrganizacao {
66 68
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/AtendimentoRequisicaoConsumoItem.java
@@ -51,7 +51,7 @@ import com.fasterxml.jackson.annotation.JsonView; @@ -51,7 +51,7 @@ import com.fasterxml.jackson.annotation.JsonView;
51 * 51 *
52 */ 52 */
53 @Entity 53 @Entity
54 -@Table(name="AtendimentoReqConsumoItem") 54 +@Table(name="alm_rc_atendimentoitem")
55 @JsonIgnoreProperties({"$info", "$verInfo", "$quantidade"}) 55 @JsonIgnoreProperties({"$info", "$verInfo", "$quantidade"})
56 public class AtendimentoRequisicaoConsumoItem extends PersistentObjectAuditOrganizacao { 56 public class AtendimentoRequisicaoConsumoItem extends PersistentObjectAuditOrganizacao {
57 57
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/BaixaAlmoxarifado.java
@@ -9,6 +9,7 @@ import javax.persistence.Entity; @@ -9,6 +9,7 @@ import javax.persistence.Entity;
9 import javax.persistence.FetchType; 9 import javax.persistence.FetchType;
10 import javax.persistence.ManyToOne; 10 import javax.persistence.ManyToOne;
11 import javax.persistence.OneToMany; 11 import javax.persistence.OneToMany;
  12 +import javax.persistence.Table;
12 import javax.persistence.Temporal; 13 import javax.persistence.Temporal;
13 import javax.persistence.TemporalType; 14 import javax.persistence.TemporalType;
14 15
@@ -58,6 +59,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize; @@ -58,6 +59,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
58 */ 59 */
59 @Audited 60 @Audited
60 @Entity 61 @Entity
  62 +@Table(name="alm_baixa")
61 public class BaixaAlmoxarifado extends Baixa { 63 public class BaixaAlmoxarifado extends Baixa {
62 64
63 /** Atributo serialVersionUID. */ 65 /** Atributo serialVersionUID. */
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/BaixaAlmoxarifadoItem.java
@@ -2,9 +2,7 @@ package br.com.centralit.api.model; @@ -2,9 +2,7 @@ package br.com.centralit.api.model;
2 2
3 import java.math.BigDecimal; 3 import java.math.BigDecimal;
4 import java.util.Calendar; 4 import java.util.Calendar;
5 -import java.util.Collection;  
6 5
7 -import javax.persistence.CascadeType;  
8 import javax.persistence.Column; 6 import javax.persistence.Column;
9 import javax.persistence.Entity; 7 import javax.persistence.Entity;
10 import javax.persistence.FetchType; 8 import javax.persistence.FetchType;
@@ -12,7 +10,7 @@ import javax.persistence.GeneratedValue; @@ -12,7 +10,7 @@ import javax.persistence.GeneratedValue;
12 import javax.persistence.GenerationType; 10 import javax.persistence.GenerationType;
13 import javax.persistence.Id; 11 import javax.persistence.Id;
14 import javax.persistence.ManyToOne; 12 import javax.persistence.ManyToOne;
15 -import javax.persistence.OneToMany; 13 +import javax.persistence.Table;
16 import javax.persistence.Temporal; 14 import javax.persistence.Temporal;
17 import javax.persistence.TemporalType; 15 import javax.persistence.TemporalType;
18 import javax.persistence.Transient; 16 import javax.persistence.Transient;
@@ -62,6 +60,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize; @@ -62,6 +60,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
62 * 60 *
63 */ 61 */
64 @Entity 62 @Entity
  63 +@Table(name="alm_bx_item")
65 @JsonIgnoreProperties({ "descricao", "unidadeArmazenamento", "$selected", "$index", "$checked" }) 64 @JsonIgnoreProperties({ "descricao", "unidadeArmazenamento", "$selected", "$index", "$checked" })
66 public class BaixaAlmoxarifadoItem extends PersistentObjectAudit { 65 public class BaixaAlmoxarifadoItem extends PersistentObjectAudit {
67 66
@@ -104,10 +103,6 @@ public class BaixaAlmoxarifadoItem extends PersistentObjectAudit { @@ -104,10 +103,6 @@ public class BaixaAlmoxarifadoItem extends PersistentObjectAudit {
104 @JsonView({ ViewsAdmMateriais.BaixaAlmoxarifadoEditView.class }) 103 @JsonView({ ViewsAdmMateriais.BaixaAlmoxarifadoEditView.class })
105 private Calendar dataEstorno; 104 private Calendar dataEstorno;
106 105
107 - /** Atributo movimentos. */  
108 - @OneToMany(fetch = FetchType.LAZY, mappedBy = "baixaAlmoxarifadoItem", cascade = CascadeType.ALL)  
109 - private Collection<MovimentoEstoque> movimentos;  
110 -  
111 @Transient 106 @Transient
112 @JsonView({ ViewsAdmMateriais.BaixaAlmoxarifadoEditView.class }) 107 @JsonView({ ViewsAdmMateriais.BaixaAlmoxarifadoEditView.class })
113 private BigDecimal qtdEstoque; 108 private BigDecimal qtdEstoque;
@@ -254,26 +249,6 @@ public class BaixaAlmoxarifadoItem extends PersistentObjectAudit { @@ -254,26 +249,6 @@ public class BaixaAlmoxarifadoItem extends PersistentObjectAudit {
254 } 249 }
255 250
256 /** 251 /**
257 - * Retorna o valor do atributo <code>movimentos</code>  
258 - *  
259 - * @return <code>Collection<MovimentoEstoque></code>  
260 - */  
261 - public Collection<MovimentoEstoque> getMovimentos() {  
262 -  
263 - return movimentos;  
264 - }  
265 -  
266 - /**  
267 - * Define o valor do atributo <code>movimentos</code>.  
268 - *  
269 - * @param movimentos  
270 - */  
271 - public void setMovimentos(Collection<MovimentoEstoque> movimentos) {  
272 -  
273 - this.movimentos = movimentos;  
274 - }  
275 -  
276 - /**  
277 * Retorna o valor do atributo <code>baixaRemocao</code> 252 * Retorna o valor do atributo <code>baixaRemocao</code>
278 * 253 *
279 * @return <code>BaixaAlmoxarifado</code> 254 * @return <code>BaixaAlmoxarifado</code>
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/BemAlmoxarifadoCaracteristica.java
@@ -6,16 +6,16 @@ import javax.persistence.GeneratedValue; @@ -6,16 +6,16 @@ import javax.persistence.GeneratedValue;
6 import javax.persistence.GenerationType; 6 import javax.persistence.GenerationType;
7 import javax.persistence.Id; 7 import javax.persistence.Id;
8 import javax.persistence.ManyToOne; 8 import javax.persistence.ManyToOne;
  9 +import javax.persistence.Table;
9 10
10 -import org.hibernate.envers.AuditTable;  
11 import org.hibernate.envers.Audited; 11 import org.hibernate.envers.Audited;
12 12
13 -import com.fasterxml.jackson.annotation.JsonIgnoreProperties;  
14 -import com.fasterxml.jackson.annotation.JsonView;  
15 -  
16 import br.com.centralit.api.framework.json.ViewsAdmMateriais; 13 import br.com.centralit.api.framework.json.ViewsAdmMateriais;
17 import br.com.centralit.framework.model.arquitetura.PersistentObjectAuditOrganizacao; 14 import br.com.centralit.framework.model.arquitetura.PersistentObjectAuditOrganizacao;
18 15
  16 +import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
  17 +import com.fasterxml.jackson.annotation.JsonView;
  18 +
19 /** 19 /**
20 * <p> 20 * <p>
21 * <img src="http://centralit.com.br/images/logo_central.png"> 21 * <img src="http://centralit.com.br/images/logo_central.png">
@@ -49,8 +49,8 @@ import br.com.centralit.framework.model.arquitetura.PersistentObjectAuditOrganiz @@ -49,8 +49,8 @@ import br.com.centralit.framework.model.arquitetura.PersistentObjectAuditOrganiz
49 * 49 *
50 */ 50 */
51 @Audited 51 @Audited
52 -@AuditTable(value = "BemAlmoxCaract_aud")  
53 @Entity 52 @Entity
  53 +@Table(name="alm_bem_caracteristica")
54 @JsonIgnoreProperties({ "uploadAnexo", "listaDominios" }) 54 @JsonIgnoreProperties({ "uploadAnexo", "listaDominios" })
55 public class BemAlmoxarifadoCaracteristica extends PersistentObjectAuditOrganizacao { 55 public class BemAlmoxarifadoCaracteristica extends PersistentObjectAuditOrganizacao {
56 56
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/CatalogoMaterial.java
@@ -11,6 +11,7 @@ import javax.persistence.GeneratedValue; @@ -11,6 +11,7 @@ import javax.persistence.GeneratedValue;
11 import javax.persistence.GenerationType; 11 import javax.persistence.GenerationType;
12 import javax.persistence.Id; 12 import javax.persistence.Id;
13 import javax.persistence.OneToMany; 13 import javax.persistence.OneToMany;
  14 +import javax.persistence.Table;
14 import javax.persistence.Temporal; 15 import javax.persistence.Temporal;
15 import javax.persistence.TemporalType; 16 import javax.persistence.TemporalType;
16 17
@@ -57,6 +58,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize; @@ -57,6 +58,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
57 * 58 *
58 */ 59 */
59 @Entity 60 @Entity
  61 +@Table(name="alm_catalogomaterial")
60 public class CatalogoMaterial extends PersistentObjectAuditOrganizacao { 62 public class CatalogoMaterial extends PersistentObjectAuditOrganizacao {
61 63
62 /** Atributo serialVersionUID. */ 64 /** Atributo serialVersionUID. */
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/CatalogoMaterialItem.java
@@ -6,6 +6,7 @@ import javax.persistence.GeneratedValue; @@ -6,6 +6,7 @@ import javax.persistence.GeneratedValue;
6 import javax.persistence.GenerationType; 6 import javax.persistence.GenerationType;
7 import javax.persistence.Id; 7 import javax.persistence.Id;
8 import javax.persistence.ManyToOne; 8 import javax.persistence.ManyToOne;
  9 +import javax.persistence.Table;
9 10
10 import br.com.centralit.api.framework.json.ViewsAdmMateriais; 11 import br.com.centralit.api.framework.json.ViewsAdmMateriais;
11 import br.com.centralit.framework.model.arquitetura.PersistentObjectAuditOrganizacao; 12 import br.com.centralit.framework.model.arquitetura.PersistentObjectAuditOrganizacao;
@@ -46,6 +47,7 @@ import com.fasterxml.jackson.annotation.JsonView; @@ -46,6 +47,7 @@ import com.fasterxml.jackson.annotation.JsonView;
46 * 47 *
47 */ 48 */
48 @Entity 49 @Entity
  50 +@Table(name="alm_cm_item")
49 @JsonIgnoreProperties({ "$index" }) 51 @JsonIgnoreProperties({ "$index" })
50 public class CatalogoMaterialItem extends PersistentObjectAuditOrganizacao { 52 public class CatalogoMaterialItem extends PersistentObjectAuditOrganizacao {
51 53
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/CatalogoMaterialUnidadeConsumidoraRequisitanteItem.java
@@ -47,7 +47,7 @@ import com.fasterxml.jackson.annotation.JsonView; @@ -47,7 +47,7 @@ import com.fasterxml.jackson.annotation.JsonView;
47 * 47 *
48 */ 48 */
49 @Entity 49 @Entity
50 -@Table(name="CatMaterialUnidadeConsReqItem") 50 +@Table(name="alm_cm_undreqitem")
51 @JsonIgnoreProperties({ "$index" }) 51 @JsonIgnoreProperties({ "$index" })
52 public class CatalogoMaterialUnidadeConsumidoraRequisitanteItem extends PersistentObjectAuditOrganizacao { 52 public class CatalogoMaterialUnidadeConsumidoraRequisitanteItem extends PersistentObjectAuditOrganizacao {
53 53
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/ConfiguracaoNotificacaoRessuprimento.java
@@ -53,7 +53,7 @@ import com.fasterxml.jackson.annotation.JsonView; @@ -53,7 +53,7 @@ import com.fasterxml.jackson.annotation.JsonView;
53 * 53 *
54 */ 54 */
55 @Entity 55 @Entity
56 -@Table(name="ConfigNotificacaoRessuprimento") 56 +@Table(name="alm_not_ressuprimento")
57 public class ConfiguracaoNotificacaoRessuprimento extends PersistentObjectAuditOrganizacao { 57 public class ConfiguracaoNotificacaoRessuprimento extends PersistentObjectAuditOrganizacao {
58 58
59 /** Atributo serialVersionUID. */ 59 /** Atributo serialVersionUID. */
@@ -87,7 +87,7 @@ public class ConfiguracaoNotificacaoRessuprimento extends PersistentObjectAuditO @@ -87,7 +87,7 @@ public class ConfiguracaoNotificacaoRessuprimento extends PersistentObjectAuditO
87 /** Atributo localEstoque. */ 87 /** Atributo localEstoque. */
88 @ManyToOne(fetch = FetchType.LAZY, optional = false) 88 @ManyToOne(fetch = FetchType.LAZY, optional = false)
89 @JsonView({ ViewsAlmoxarifado.ConfiguracaoRessuprimentoListView.class, ViewsAlmoxarifado.ConfiguracaoRessuprimentoEditView.class }) 89 @JsonView({ ViewsAlmoxarifado.ConfiguracaoRessuprimentoListView.class, ViewsAlmoxarifado.ConfiguracaoRessuprimentoEditView.class })
90 - private LocalEstoque localEstoque; 90 + private MaterialLocalEstoque localEstoque;
91 91
92 /** Atributo notificacao. */ 92 /** Atributo notificacao. */
93 @ManyToOne(fetch = FetchType.EAGER, optional = false) 93 @ManyToOne(fetch = FetchType.EAGER, optional = false)
@@ -198,7 +198,7 @@ public class ConfiguracaoNotificacaoRessuprimento extends PersistentObjectAuditO @@ -198,7 +198,7 @@ public class ConfiguracaoNotificacaoRessuprimento extends PersistentObjectAuditO
198 * 198 *
199 * @return <code>LocalEstoque</code> 199 * @return <code>LocalEstoque</code>
200 */ 200 */
201 - public LocalEstoque getLocalEstoque() { 201 + public MaterialLocalEstoque getLocalEstoque() {
202 202
203 return localEstoque; 203 return localEstoque;
204 } 204 }
@@ -208,7 +208,7 @@ public class ConfiguracaoNotificacaoRessuprimento extends PersistentObjectAuditO @@ -208,7 +208,7 @@ public class ConfiguracaoNotificacaoRessuprimento extends PersistentObjectAuditO
208 * 208 *
209 * @param localEstoque 209 * @param localEstoque
210 */ 210 */
211 - public void setLocalEstoque(LocalEstoque localEstoque) { 211 + public void setLocalEstoque(MaterialLocalEstoque localEstoque) {
212 212
213 this.localEstoque = localEstoque; 213 this.localEstoque = localEstoque;
214 } 214 }
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/ConfiguracaoNotificacaoRessuprimentoGrupo.java
@@ -50,7 +50,7 @@ import com.fasterxml.jackson.annotation.JsonView; @@ -50,7 +50,7 @@ import com.fasterxml.jackson.annotation.JsonView;
50 * 50 *
51 */ 51 */
52 @Entity 52 @Entity
53 -@Table(name="ConfigNotificacaoRessupGrupo") 53 +@Table(name="alm_not_res_grupo")
54 @JsonIgnoreProperties({ "$checked" }) 54 @JsonIgnoreProperties({ "$checked" })
55 public class ConfiguracaoNotificacaoRessuprimentoGrupo extends PersistentObjectAuditOrganizacao { 55 public class ConfiguracaoNotificacaoRessuprimentoGrupo extends PersistentObjectAuditOrganizacao {
56 56
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/ConfiguracaoNotificacaoRessuprimentoUsuario.java
@@ -50,7 +50,7 @@ import com.fasterxml.jackson.annotation.JsonView; @@ -50,7 +50,7 @@ import com.fasterxml.jackson.annotation.JsonView;
50 * 50 *
51 */ 51 */
52 @Entity 52 @Entity
53 -@Table(name="ConfigNotificacaoRessupUsuario") 53 +@Table(name="alm_not_res_usuario")
54 @JsonIgnoreProperties({ "$checked" }) 54 @JsonIgnoreProperties({ "$checked" })
55 public class ConfiguracaoNotificacaoRessuprimentoUsuario extends PersistentObjectAuditOrganizacao { 55 public class ConfiguracaoNotificacaoRessuprimentoUsuario extends PersistentObjectAuditOrganizacao {
56 56
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/Devolucao.java
@@ -12,6 +12,7 @@ import javax.persistence.GenerationType; @@ -12,6 +12,7 @@ import javax.persistence.GenerationType;
12 import javax.persistence.Id; 12 import javax.persistence.Id;
13 import javax.persistence.ManyToOne; 13 import javax.persistence.ManyToOne;
14 import javax.persistence.OneToMany; 14 import javax.persistence.OneToMany;
  15 +import javax.persistence.Table;
15 import javax.persistence.Temporal; 16 import javax.persistence.Temporal;
16 import javax.persistence.TemporalType; 17 import javax.persistence.TemporalType;
17 18
@@ -58,6 +59,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize; @@ -58,6 +59,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
58 * 59 *
59 */ 60 */
60 @Entity 61 @Entity
  62 +@Table(name="alm_devolucao")
61 public class Devolucao extends PersistentObjectAuditOrganizacao { 63 public class Devolucao extends PersistentObjectAuditOrganizacao {
62 64
63 /** Atributo serialVersionUID. */ 65 /** Atributo serialVersionUID. */
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/DevolucaoDocumento.java
@@ -3,10 +3,12 @@ package br.com.centralit.api.model; @@ -3,10 +3,12 @@ package br.com.centralit.api.model;
3 import javax.persistence.Entity; 3 import javax.persistence.Entity;
4 import javax.persistence.FetchType; 4 import javax.persistence.FetchType;
5 import javax.persistence.ManyToOne; 5 import javax.persistence.ManyToOne;
  6 +import javax.persistence.Table;
6 7
7 import com.fasterxml.jackson.annotation.JsonIgnoreProperties; 8 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
8 9
9 @Entity 10 @Entity
  11 +@Table(name="alm_dev_documento")
10 @JsonIgnoreProperties({ "uploadsDocumento", "$uuid", "$checked", "$index" }) 12 @JsonIgnoreProperties({ "uploadsDocumento", "$uuid", "$checked", "$index" })
11 public class DevolucaoDocumento extends Documento { 13 public class DevolucaoDocumento extends Documento {
12 14
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/DevolucaoItem.java
@@ -8,6 +8,7 @@ import javax.persistence.GeneratedValue; @@ -8,6 +8,7 @@ import javax.persistence.GeneratedValue;
8 import javax.persistence.GenerationType; 8 import javax.persistence.GenerationType;
9 import javax.persistence.Id; 9 import javax.persistence.Id;
10 import javax.persistence.ManyToOne; 10 import javax.persistence.ManyToOne;
  11 +import javax.persistence.Table;
11 12
12 import com.fasterxml.jackson.annotation.JsonView; 13 import com.fasterxml.jackson.annotation.JsonView;
13 14
@@ -48,6 +49,7 @@ import br.com.centralit.framework.model.arquitetura.PersistentObjectAuditOrganiz @@ -48,6 +49,7 @@ import br.com.centralit.framework.model.arquitetura.PersistentObjectAuditOrganiz
48 * 49 *
49 */ 50 */
50 @Entity 51 @Entity
  52 +@Table(name="alm_dev_item")
51 public class DevolucaoItem extends PersistentObjectAuditOrganizacao { 53 public class DevolucaoItem extends PersistentObjectAuditOrganizacao {
52 54
53 /** Atributo serialVersionUID. */ 55 /** Atributo serialVersionUID. */
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/DevolucaoObservacao.java
@@ -3,6 +3,7 @@ package br.com.centralit.api.model; @@ -3,6 +3,7 @@ package br.com.centralit.api.model;
3 import javax.persistence.Entity; 3 import javax.persistence.Entity;
4 import javax.persistence.FetchType; 4 import javax.persistence.FetchType;
5 import javax.persistence.ManyToOne; 5 import javax.persistence.ManyToOne;
  6 +import javax.persistence.Table;
6 7
7 /** 8 /**
8 * <p> 9 * <p>
@@ -37,6 +38,7 @@ import javax.persistence.ManyToOne; @@ -37,6 +38,7 @@ import javax.persistence.ManyToOne;
37 * 38 *
38 */ 39 */
39 @Entity 40 @Entity
  41 +@Table(name="alm_dev_observacao")
40 public class DevolucaoObservacao extends Observacao { 42 public class DevolucaoObservacao extends Observacao {
41 43
42 /** Atributo serialVersionUID. */ 44 /** Atributo serialVersionUID. */
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/EntradaAlmoxarifado.java
1 package br.com.centralit.api.model; 1 package br.com.centralit.api.model;
2 2
  3 +import java.math.BigDecimal;
  4 +import java.util.ArrayList;
  5 +import java.util.Calendar;
3 import java.util.Collection; 6 import java.util.Collection;
4 7
5 import javax.persistence.CascadeType; 8 import javax.persistence.CascadeType;
6 import javax.persistence.Column; 9 import javax.persistence.Column;
7 import javax.persistence.Entity; 10 import javax.persistence.Entity;
8 import javax.persistence.FetchType; 11 import javax.persistence.FetchType;
  12 +import javax.persistence.GeneratedValue;
  13 +import javax.persistence.GenerationType;
  14 +import javax.persistence.Id;
9 import javax.persistence.ManyToOne; 15 import javax.persistence.ManyToOne;
10 import javax.persistence.OneToMany; 16 import javax.persistence.OneToMany;
  17 +import javax.persistence.Table;
  18 +import javax.persistence.Temporal;
  19 +import javax.persistence.TemporalType;
11 20
12 import org.hibernate.envers.AuditJoinTable; 21 import org.hibernate.envers.AuditJoinTable;
13 import org.hibernate.envers.Audited; 22 import org.hibernate.envers.Audited;
  23 +import org.hibernate.envers.NotAudited;
14 24
15 import br.com.centralit.api.framework.json.ViewsAdmMateriais; 25 import br.com.centralit.api.framework.json.ViewsAdmMateriais;
  26 +import br.com.centralit.framework.json.JsonCalendarSimpleDateDeserializer;
  27 +import br.com.centralit.framework.json.JsonCalendarSimpleDateSerializer;
  28 +import br.com.centralit.framework.json.MoneyDeserializer;
  29 +import br.com.centralit.framework.json.Views;
16 import br.com.centralit.framework.model.Dominio; 30 import br.com.centralit.framework.model.Dominio;
  31 +import br.com.centralit.framework.model.arquitetura.PersistentObjectAuditOrganizacao;
  32 +import br.com.centralit.framework.util.UtilObjeto;
17 33
  34 +import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
18 import com.fasterxml.jackson.annotation.JsonView; 35 import com.fasterxml.jackson.annotation.JsonView;
  36 +import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
  37 +import com.fasterxml.jackson.databind.annotation.JsonSerialize;
19 38
20 /** 39 /**
21 * <p> 40 * <p>
@@ -51,10 +70,96 @@ import com.fasterxml.jackson.annotation.JsonView; @@ -51,10 +70,96 @@ import com.fasterxml.jackson.annotation.JsonView;
51 */ 70 */
52 @Audited 71 @Audited
53 @Entity 72 @Entity
54 -public class EntradaAlmoxarifado extends Entrada { 73 +@Table(name = "alm_entrada")
  74 +@JsonIgnoreProperties({ "$checked", "$selected" })
  75 +public class EntradaAlmoxarifado extends PersistentObjectAuditOrganizacao implements Cloneable {
55 76
56 /** Atributo serialVersionUID. */ 77 /** Atributo serialVersionUID. */
57 private static final long serialVersionUID = 6267732497145774401L; 78 private static final long serialVersionUID = 6267732497145774401L;
  79 +
  80 + /** Atributo id. */
  81 + @Id
  82 +// @SequenceGenerator(name = "entrada_id_seq", sequenceName = "entrada_id_seq")
  83 +// @GeneratedValue(strategy = GenerationType.AUTO, generator = "entrada_id_seq")
  84 + @GeneratedValue(strategy = GenerationType.AUTO)
  85 + @JsonView({ Views.GenericView.class })
  86 + private Long id;
  87 +
  88 + /** Atributo dataReferencia. */
  89 + @Column(name = "dataReferencia", nullable = false, updatable = false)
  90 + @Temporal(TemporalType.TIMESTAMP)
  91 + @JsonSerialize(using = JsonCalendarSimpleDateSerializer.class)
  92 + @JsonDeserialize(using = JsonCalendarSimpleDateDeserializer.class)
  93 + @JsonView({ Views.EntradaListView.class })
  94 + private Calendar dataReferencia;
  95 +
  96 + /** Atributo dataContabil. */
  97 + @Column(name = "dataContabil", nullable = true)
  98 + @Temporal(TemporalType.TIMESTAMP)
  99 + @JsonSerialize(using = JsonCalendarSimpleDateSerializer.class)
  100 + @JsonDeserialize(using = JsonCalendarSimpleDateDeserializer.class)
  101 + @JsonView({ Views.EntradaListView.class, Views.BemPatrimonialEditView.class, Views.BemPatrimonialListView.class, Views.BemPatrimonialAutoCompleteView.class, Views.GenericView.class })
  102 + private Calendar dataContabil;
  103 +
  104 + /** Atributo dataRecebimento. */
  105 + @Column(name = "dataRecebimento", nullable = true)
  106 + @Temporal(TemporalType.TIMESTAMP)
  107 + @JsonSerialize(using = JsonCalendarSimpleDateSerializer.class)
  108 + @JsonDeserialize(using = JsonCalendarSimpleDateDeserializer.class)
  109 + @JsonView({ Views.EntradaListView.class, Views.BemPatrimonialEditView.class })
  110 + private Calendar dataRecebimento;
  111 +
  112 + /** Atributo codigo. */
  113 + @Column(length = 30)
  114 + @GeneratedValue(strategy = GenerationType.AUTO)
  115 + @JsonView({ Views.EntradaAutoCompleteView.class })
  116 + private String codigo;
  117 +
  118 + /** Atributo valorTotalNota. */
  119 + @Column(precision = 20, scale = 2)
  120 + @JsonDeserialize(using = MoneyDeserializer.class)
  121 + @JsonView({ Views.EntradaListView.class })
  122 + private BigDecimal valorTotalNota;
  123 +
  124 + /** Atributo dominioTipoEntrada. */
  125 + @ManyToOne(fetch = FetchType.LAZY, optional = false)
  126 + @JsonView({ Views.EntradaAutoCompleteView.class })
  127 + private Dominio dominioTipoEntrada;
  128 +
  129 + @ManyToOne(fetch = FetchType.LAZY, optional = false)
  130 + @JsonView({ Views.EntradaListView.class })
  131 + private Dominio dominioTipoRecebimento;
  132 +
  133 + /** Atributo fornecedor. */
  134 + @NotAudited
  135 + @ManyToOne(fetch = FetchType.LAZY, optional = false)
  136 + @JsonView({ Views.EntradaListView.class })
  137 + private Parceiro fornecedor;
  138 +
  139 + /** Atributo observacoes. */
  140 + @NotAudited
  141 + @OneToMany(fetch = FetchType.LAZY, mappedBy = "entrada", cascade = CascadeType.ALL, orphanRemoval = true)
  142 + @JsonView({ Views.EntradaEditView.class })
  143 + private Collection<EntradaAlmoxarifadoObservacao> observacoes;
  144 +
  145 + /** Atributo documentos. */
  146 + @OneToMany(fetch = FetchType.LAZY, mappedBy = "entrada", cascade = CascadeType.ALL, orphanRemoval = true)
  147 + @JsonView({ Views.EntradaEditView.class })
  148 + private Collection<EntradaAlmoxarifadoDocumento> documentos;
  149 +
  150 + /** Atributo codigo. */
  151 + @Column(length = 30)
  152 + private String codigoAsi;
  153 +
  154 + /** Atributo entrada concluida. */
  155 + @Column(name = "isentradaconcluida")
  156 + @JsonView({ Views.EntradaListView.class })
  157 + private Boolean isEntradaConcluida;
  158 +
  159 + /** Atributo entrada contabilizada. */
  160 + @Column(name = "iscontabilizada")
  161 + @JsonView({ Views.EntradaListView.class })
  162 + private Boolean isContabilizada;
58 163
59 /** Atributo estruturaOrganizacional. */ 164 /** Atributo estruturaOrganizacional. */
60 @ManyToOne(fetch = FetchType.LAZY, optional = false) 165 @ManyToOne(fetch = FetchType.LAZY, optional = false)
@@ -69,7 +174,7 @@ public class EntradaAlmoxarifado extends Entrada { @@ -69,7 +174,7 @@ public class EntradaAlmoxarifado extends Entrada {
69 @AuditJoinTable 174 @AuditJoinTable
70 @OneToMany(fetch = FetchType.LAZY, mappedBy = "entrada", cascade = CascadeType.ALL, orphanRemoval = true) 175 @OneToMany(fetch = FetchType.LAZY, mappedBy = "entrada", cascade = CascadeType.ALL, orphanRemoval = true)
71 @JsonView({ ViewsAdmMateriais.EntradaAlmoxarifadoEditView.class }) 176 @JsonView({ ViewsAdmMateriais.EntradaAlmoxarifadoEditView.class })
72 - private Collection<EntradaAlmoxarifadoItem> entradasIten; 177 + private Collection<EntradaAlmoxarifadoItem> entradasItem;
73 178
74 @ManyToOne(fetch = FetchType.LAZY, optional = false) 179 @ManyToOne(fetch = FetchType.LAZY, optional = false)
75 @JsonView({ ViewsAdmMateriais.EntradaAlmoxarifadoEditView.class }) 180 @JsonView({ ViewsAdmMateriais.EntradaAlmoxarifadoEditView.class })
@@ -80,6 +185,312 @@ public class EntradaAlmoxarifado extends Entrada { @@ -80,6 +185,312 @@ public class EntradaAlmoxarifado extends Entrada {
80 private EstruturaOrganizacional unidadeRequisitante; 185 private EstruturaOrganizacional unidadeRequisitante;
81 186
82 /** 187 /**
  188 + * Retorna o valor do atributo <code>id</code>
  189 + *
  190 + * @return <code>Long</code>
  191 + */
  192 + public Long getId() {
  193 +
  194 + return id;
  195 + }
  196 +
  197 + /**
  198 + * Define o valor do atributo <code>id</code>.
  199 + *
  200 + * @param id
  201 + */
  202 + public void setId(Long id) {
  203 +
  204 + this.id = id;
  205 + }
  206 +
  207 + /**
  208 + * Retorna o valor do atributo <code>observacoes</code>
  209 + *
  210 + * @return <code>Collection<EntradaObservacao></code>
  211 + */
  212 + public Collection<EntradaAlmoxarifadoObservacao> getObservacoes() {
  213 +
  214 + if (!UtilObjeto.isReferencia(observacoes)) {
  215 +
  216 + this.observacoes = new ArrayList<EntradaAlmoxarifadoObservacao>();
  217 + }
  218 +
  219 + return observacoes;
  220 + }
  221 +
  222 + /**
  223 + * Define o valor do atributo <code>observacoes</code>.
  224 + *
  225 + * @param observacoes
  226 + */
  227 + public void setObservacoes(Collection<EntradaAlmoxarifadoObservacao> observacoes) {
  228 +
  229 + this.observacoes = observacoes;
  230 + }
  231 +
  232 + /**
  233 + * Retorna o valor do atributo <code>documentos</code>
  234 + *
  235 + * @return <code>Collection<EntradaDocumento></code>
  236 + */
  237 + public Collection<EntradaAlmoxarifadoDocumento> getDocumentos() {
  238 +
  239 + if (!UtilObjeto.isReferencia(documentos)) {
  240 +
  241 + this.documentos = new ArrayList<EntradaAlmoxarifadoDocumento>();
  242 + }
  243 +
  244 + return documentos;
  245 + }
  246 +
  247 + /**
  248 + * Define o valor do atributo <code>documentos</code>.
  249 + *
  250 + * @param documentos
  251 + */
  252 + public void setDocumentos(Collection<EntradaAlmoxarifadoDocumento> documentos) {
  253 +
  254 + this.documentos = documentos;
  255 + }
  256 +
  257 + /**
  258 + * Retorna o valor do atributo <code>dataContabil</code>
  259 + *
  260 + * @return <code>Calendar</code>
  261 + */
  262 + public Calendar getDataContabil() {
  263 +
  264 + return dataContabil;
  265 + }
  266 +
  267 + /**
  268 + * Define o valor do atributo <code>dataContabil</code>.
  269 + *
  270 + * @param dataContabil
  271 + */
  272 + public void setDataContabil(Calendar dataContabil) {
  273 +
  274 + this.dataContabil = dataContabil;
  275 + }
  276 +
  277 + /**
  278 + * Retorna o valor do atributo <code>dataRecebimento</code>
  279 + *
  280 + * @return <code>Calendar</code>
  281 + */
  282 + public Calendar getDataRecebimento() {
  283 +
  284 + return dataRecebimento;
  285 + }
  286 +
  287 + /**
  288 + * Define o valor do atributo <code>dataRecebimento</code>.
  289 + *
  290 + * @param dataRecebimento
  291 + */
  292 + public void setDataRecebimento(Calendar dataRecebimento) {
  293 +
  294 + this.dataRecebimento = dataRecebimento;
  295 + }
  296 +
  297 + /**
  298 + * Retorna o valor do atributo <code>codigo</code>
  299 + *
  300 + * @return <code>String</code>
  301 + */
  302 + public String getCodigo() {
  303 +
  304 + return codigo;
  305 + }
  306 +
  307 + /**
  308 + * Define o valor do atributo <code>codigo</code>.
  309 + *
  310 + * @param codigo
  311 + */
  312 + public void setCodigo(String codigo) {
  313 +
  314 + this.codigo = codigo;
  315 + }
  316 +
  317 + /**
  318 + * Retorna o valor do atributo <code>valorTotalNota</code>
  319 + *
  320 + * @return <code>BigDecimal</code>
  321 + */
  322 + public BigDecimal getValorTotalNota() {
  323 +
  324 + return valorTotalNota;
  325 + }
  326 +
  327 + /**
  328 + * Define o valor do atributo <code>valorTotalNota</code>.
  329 + *
  330 + * @param valorTotalNota
  331 + */
  332 + public void setValorTotalNota(BigDecimal valorTotalNota) {
  333 +
  334 + this.valorTotalNota = valorTotalNota;
  335 + }
  336 +
  337 + /**
  338 + * Retorna o valor do atributo <code>dominioTipoEntrada</code>
  339 + *
  340 + * @return <code>Dominio</code>
  341 + */
  342 + public Dominio getDominioTipoEntrada() {
  343 +
  344 + return dominioTipoEntrada;
  345 + }
  346 +
  347 + /**
  348 + * Define o valor do atributo <code>dominioTipoEntrada</code>.
  349 + *
  350 + * @param dominioTipoEntrada
  351 + */
  352 + public void setDominioTipoEntrada(Dominio dominioTipoEntrada) {
  353 +
  354 + this.dominioTipoEntrada = dominioTipoEntrada;
  355 + }
  356 +
  357 + /**
  358 + * Retorna o valor do atributo <code>fornecedor</code>
  359 + *
  360 + * @return <code>Parceiro</code>
  361 + */
  362 + public Parceiro getFornecedor() {
  363 +
  364 + return fornecedor;
  365 + }
  366 +
  367 + /**
  368 + * Define o valor do atributo <code>fornecedor</code>.
  369 + *
  370 + * @param fornecedor
  371 + */
  372 + public void setFornecedor(Parceiro fornecedor) {
  373 +
  374 + this.fornecedor = fornecedor;
  375 + }
  376 +
  377 + /**
  378 + * Retorna o valor do atributo <code>dominioTipoRecebimento</code>
  379 + *
  380 + * @return <code>Dominio</code>
  381 + */
  382 + public Dominio getDominioTipoRecebimento() {
  383 +
  384 + return dominioTipoRecebimento;
  385 + }
  386 +
  387 + /**
  388 + * Define o valor do atributo <code>dominioTipoRecebimento</code>.
  389 + *
  390 + * @param dominioTipoRecebimento
  391 + */
  392 + public void setDominioTipoRecebimento(Dominio dominioTipoRecebimento) {
  393 +
  394 + this.dominioTipoRecebimento = dominioTipoRecebimento;
  395 + }
  396 +
  397 + /**
  398 + * Retorna o valor do atributo <code>dataReferencia</code>
  399 + *
  400 + * @return <code>Calendar</code>
  401 + */
  402 + public Calendar getDataReferencia() {
  403 +
  404 + return dataReferencia;
  405 + }
  406 +
  407 + /**
  408 + * Retorna o valor do atributo <code>codigoAsi</code>
  409 + *
  410 + * @return <code>String</code>
  411 + */
  412 + public String getCodigoAsi() {
  413 +
  414 + return codigoAsi;
  415 + }
  416 +
  417 + /**
  418 + * Define o valor do atributo <code>codigoAsi</code>.
  419 + *
  420 + * @param codigoAsi
  421 + */
  422 + public void setCodigoAsi(String codigoAsi) {
  423 +
  424 + this.codigoAsi = codigoAsi;
  425 + }
  426 +
  427 + /**
  428 + * Define o valor do atributo <code>dataReferencia</code>.
  429 + *
  430 + * @param dataReferencia
  431 + */
  432 + public void setDataReferencia(Calendar dataReferencia) {
  433 +
  434 + this.dataReferencia = dataReferencia;
  435 + }
  436 +
  437 + /**
  438 + * Define o valor do atributo <code>isEntradaConcluida</code>.
  439 + *
  440 + * @param isEntradaConcluida
  441 + */
  442 + public void setIsEntradaConcluida(Boolean isEntradaConcluida) {
  443 +
  444 + this.isEntradaConcluida = isEntradaConcluida;
  445 + }
  446 +
  447 + /**
  448 + * Retorna o valor do atributo <code>isEntradaConcluida</code>
  449 + *
  450 + * @return <code>IsEntradaConcluida</code>
  451 + */
  452 + public Boolean getIsEntradaConcluida() {
  453 +
  454 + return isEntradaConcluida;
  455 + }
  456 +
  457 + /**
  458 + * Define o valor do atributo <code>isContabilizada</code>.
  459 + *
  460 + * @param isContabilizada
  461 + */
  462 + public void setIsContabilizada(Boolean isContabilizada) {
  463 +
  464 + this.isContabilizada = isContabilizada;
  465 + }
  466 +
  467 + /**
  468 + * Retorna o valor do atributo <code>isContabilizada</code>
  469 + *
  470 + * @return <code>IsContabilizada</code>
  471 + */
  472 + public Boolean getIsContabilizada() {
  473 +
  474 + return isContabilizada;
  475 + }
  476 +
  477 + /**
  478 + * {@inheritDoc}
  479 + */
  480 + @Override
  481 + public EntradaAlmoxarifado clone() {
  482 +
  483 + try {
  484 +
  485 + return (EntradaAlmoxarifado) super.clone();
  486 +
  487 + } catch (CloneNotSupportedException ex) {
  488 +
  489 + return this;
  490 + }
  491 + }
  492 +
  493 + /**
83 * Retorna o valor do atributo <code>almoxarifado</code> 494 * Retorna o valor do atributo <code>almoxarifado</code>
84 * 495 *
85 * @return <code>EstruturaOrganizacional</code> 496 * @return <code>EstruturaOrganizacional</code>
@@ -124,9 +535,9 @@ public class EntradaAlmoxarifado extends Entrada { @@ -124,9 +535,9 @@ public class EntradaAlmoxarifado extends Entrada {
124 * 535 *
125 * @return <code>Collection<EntradaItemAlmoxarifado></code> 536 * @return <code>Collection<EntradaItemAlmoxarifado></code>
126 */ 537 */
127 - public Collection<EntradaAlmoxarifadoItem> getEntradasIten() { 538 + public Collection<EntradaAlmoxarifadoItem> getEntradasItem() {
128 539
129 - return entradasIten; 540 + return entradasItem;
130 } 541 }
131 542
132 /** 543 /**
@@ -134,9 +545,9 @@ public class EntradaAlmoxarifado extends Entrada { @@ -134,9 +545,9 @@ public class EntradaAlmoxarifado extends Entrada {
134 * 545 *
135 * @param entradasIten 546 * @param entradasIten
136 */ 547 */
137 - public void setEntradasIten(Collection<EntradaAlmoxarifadoItem> entradasIten) { 548 + public void setEntradasItem(Collection<EntradaAlmoxarifadoItem> entradasItem) {
138 549
139 - this.entradasIten = entradasIten; 550 + this.entradasItem = entradasItem;
140 } 551 }
141 552
142 public Dominio getDominioFinalidade() { 553 public Dominio getDominioFinalidade() {
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/EntradaAlmoxarifadoDocumento.java 0 → 100644
@@ -0,0 +1,89 @@ @@ -0,0 +1,89 @@
  1 +package br.com.centralit.api.model;
  2 +
  3 +import javax.persistence.Entity;
  4 +import javax.persistence.FetchType;
  5 +import javax.persistence.ManyToOne;
  6 +import javax.persistence.Table;
  7 +
  8 +import org.hibernate.envers.Audited;
  9 +
  10 +import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
  11 +
  12 +/**
  13 + *
  14 + * <p><img src="http://centralit.com.br/images/logo_central.png"></p>
  15 + *
  16 + * <p><b>Company: </b> Central IT - Governança Corporativa - </p>
  17 + *
  18 + * <p><b>Title: </b></p>
  19 + *
  20 + * <p><b>Description: </b></p>
  21 + *
  22 + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p>
  23 + *
  24 + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
  25 + *
  26 + * @since 27/04/2016 - 17:31:20
  27 + *
  28 + * @version 1.0.0
  29 + *
  30 + * @author geovane.filho
  31 + *
  32 + */
  33 +@Audited
  34 +@Entity
  35 +@Table(name = "alm_en_documento")
  36 +@JsonIgnoreProperties({ "uploadsDocumento", "$uuid", "$checked", "$index", "size", "name", "$error" })
  37 +public class EntradaAlmoxarifadoDocumento extends Documento {
  38 +
  39 + /** Atributo serialVersionUID. */
  40 + private static final long serialVersionUID = 4810063162923776584L;
  41 +
  42 + /** Atributo entrada. */
  43 + @ManyToOne(fetch = FetchType.LAZY, optional = true)
  44 + private EntradaAlmoxarifado entrada;
  45 +
  46 + @ManyToOne(fetch = FetchType.LAZY, optional = true)
  47 + private EntradaAlmoxarifado entradaInativo;
  48 +
  49 + /**
  50 + * Retorna o valor do atributo <code>entrada</code>
  51 + *
  52 + * @return <code>Entrada</code>
  53 + */
  54 + public EntradaAlmoxarifado getEntrada() {
  55 +
  56 + return entrada;
  57 + }
  58 +
  59 + /**
  60 + * Define o valor do atributo <code>entrada</code>.
  61 + *
  62 + * @param entrada
  63 + */
  64 + public void setEntrada(EntradaAlmoxarifado entrada) {
  65 +
  66 + this.entrada = entrada;
  67 + }
  68 +
  69 + /**
  70 + * Retorna o valor do atributo <code>entradaInativo</code>
  71 + *
  72 + * @return <code>Entrada</code>
  73 + */
  74 + public EntradaAlmoxarifado getEntradaInativo() {
  75 +
  76 + return entradaInativo;
  77 + }
  78 +
  79 + /**
  80 + * Define o valor do atributo <code>entradaInativo</code>.
  81 + *
  82 + * @param entradaInativo
  83 + */
  84 + public void setEntradaInativo(EntradaAlmoxarifado entradaInativo) {
  85 +
  86 + this.entradaInativo = entradaInativo;
  87 + }
  88 +
  89 +}
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/EntradaAlmoxarifadoItem.java
@@ -13,6 +13,7 @@ import javax.persistence.GenerationType; @@ -13,6 +13,7 @@ import javax.persistence.GenerationType;
13 import javax.persistence.Id; 13 import javax.persistence.Id;
14 import javax.persistence.ManyToOne; 14 import javax.persistence.ManyToOne;
15 import javax.persistence.OneToMany; 15 import javax.persistence.OneToMany;
  16 +import javax.persistence.Table;
16 import javax.persistence.Temporal; 17 import javax.persistence.Temporal;
17 import javax.persistence.TemporalType; 18 import javax.persistence.TemporalType;
18 19
@@ -64,6 +65,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize; @@ -64,6 +65,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
64 */ 65 */
65 @Audited 66 @Audited
66 @Entity 67 @Entity
  68 +@Table(name = "alm_en_entradaitem")
67 @JsonIgnoreProperties({ "$quantidadeEntrada", "uuid", "$validarPrecoMedio" }) 69 @JsonIgnoreProperties({ "$quantidadeEntrada", "uuid", "$validarPrecoMedio" })
68 public class EntradaAlmoxarifadoItem extends PersistentObjectAudit { 70 public class EntradaAlmoxarifadoItem extends PersistentObjectAudit {
69 71
@@ -88,29 +90,22 @@ public class EntradaAlmoxarifadoItem extends PersistentObjectAudit { @@ -88,29 +90,22 @@ public class EntradaAlmoxarifadoItem extends PersistentObjectAudit {
88 @ManyToOne(fetch = FetchType.LAZY, optional = false) 90 @ManyToOne(fetch = FetchType.LAZY, optional = false)
89 @JsonView({ ViewsAdmMateriais.EntradaAlmoxarifadoEditView.class }) 91 @JsonView({ ViewsAdmMateriais.EntradaAlmoxarifadoEditView.class })
90 private MaterialConsumo material; 92 private MaterialConsumo material;
91 -  
92 - /** Atributo quantidade. */ 93 +
  94 + /** Atributo material. */
  95 + @AuditJoinTable
  96 + @ManyToOne(fetch = FetchType.LAZY, optional = false)
93 @JsonView({ ViewsAdmMateriais.EntradaAlmoxarifadoEditView.class }) 97 @JsonView({ ViewsAdmMateriais.EntradaAlmoxarifadoEditView.class })
94 - private BigDecimal quantidade; 98 + private MaterialLocalEstoque materialLocalEstoque;
95 99
96 /** Atributo quantidade. */ 100 /** Atributo quantidade. */
97 @JsonView({ ViewsAdmMateriais.EntradaAlmoxarifadoEditView.class }) 101 @JsonView({ ViewsAdmMateriais.EntradaAlmoxarifadoEditView.class })
98 - private BigDecimal quantidadeSaldo;  
99 -  
100 - /** Atributo quantidadeDominioTipoUnidadeEntrada. >>> Fator de conversão da unidade */  
101 - @Column(name = "quantidadetipounidadeentrada")  
102 - @JsonView({ ViewsAdmMateriais.EntradaAlmoxarifadoEditView.class })  
103 - private BigDecimal quantidadeDominioTipoUnidadeEntrada; 102 + private BigDecimal quantidade;
104 103
105 /** Atributo valorUnitario. */ 104 /** Atributo valorUnitario. */
106 @Column(precision = 20, scale = 4) 105 @Column(precision = 20, scale = 4)
107 @JsonView({ ViewsAdmMateriais.EntradaAlmoxarifadoEditView.class }) 106 @JsonView({ ViewsAdmMateriais.EntradaAlmoxarifadoEditView.class })
108 private BigDecimal valorUnitario; 107 private BigDecimal valorUnitario;
109 108
110 - /** Atributo valorSobra. */  
111 - @Column(precision = 20, scale = 4)  
112 - private BigDecimal valorSobra;  
113 -  
114 /** Atributo valorTotal. */ 109 /** Atributo valorTotal. */
115 @Column(precision = 20, scale = 4) 110 @Column(precision = 20, scale = 4)
116 @JsonView({ ViewsAdmMateriais.EntradaAlmoxarifadoEditView.class }) 111 @JsonView({ ViewsAdmMateriais.EntradaAlmoxarifadoEditView.class })
@@ -157,65 +152,46 @@ public class EntradaAlmoxarifadoItem extends PersistentObjectAudit { @@ -157,65 +152,46 @@ public class EntradaAlmoxarifadoItem extends PersistentObjectAudit {
157 this.id = id; 152 this.id = id;
158 } 153 }
159 154
  155 +
160 /** 156 /**
161 - * Retorna o valor do atributo <code>dataValidade</code> 157 + * Retorna o valor do atributo <code>materialLocalEstoque</code>
162 * 158 *
163 - * @return <code>Calendar</code> 159 + * @return <code>MaterialLocalEstoque</code>
164 */ 160 */
165 - public Calendar getDataValidade() {  
166 -  
167 - return dataValidade;  
168 - }  
169 -  
170 - /**  
171 - * Define o valor do atributo <code>dataValidade</code>.  
172 - *  
173 - * @param dataValidade  
174 - */  
175 - public void setDataValidade(Calendar dataValidade) {  
176 -  
177 - this.dataValidade = dataValidade; 161 + public MaterialLocalEstoque getMaterialLocalEstoque() {
  162 +
  163 + return materialLocalEstoque;
178 } 164 }
179 165
  166 +
180 /** 167 /**
181 - * Retorna o valor do atributo <code>quantidadeDominioTipoUnidadeEntrada</code> 168 + * Define o valor do atributo <code>materialLocalEstoque</code>.
182 * 169 *
183 - * @return <code>BigDecimal</code> 170 + * @param materialLocalEstoque
184 */ 171 */
185 - public BigDecimal getQuantidadeDominioTipoUnidadeEntrada() {  
186 -  
187 - return quantidadeDominioTipoUnidadeEntrada; 172 + public void setMaterialLocalEstoque(MaterialLocalEstoque materialLocalEstoque) {
  173 +
  174 + this.materialLocalEstoque = materialLocalEstoque;
188 } 175 }
189 176
190 /** 177 /**
191 - * Define o valor do atributo <code>quantidadeDominioTipoUnidadeEntrada</code>.  
192 - *  
193 - * @param quantidadeDominioTipoUnidadeEntrada  
194 - */  
195 - public void setQuantidadeDominioTipoUnidadeEntrada(BigDecimal quantidadeDominioTipoUnidadeEntrada) {  
196 -  
197 - this.quantidadeDominioTipoUnidadeEntrada = quantidadeDominioTipoUnidadeEntrada;  
198 - }  
199 -  
200 - /**  
201 - * Retorna o valor do atributo <code>valorSobra</code> 178 + * Retorna o valor do atributo <code>dataValidade</code>
202 * 179 *
203 - * @return <code>BigDecimal</code> 180 + * @return <code>Calendar</code>
204 */ 181 */
205 - public BigDecimal getValorSobra() {  
206 -  
207 - return valorSobra == null ? BigDecimal.ZERO : valorSobra; 182 + public Calendar getDataValidade() {
208 183
  184 + return dataValidade;
209 } 185 }
210 186
211 /** 187 /**
212 - * Define o valor do atributo <code>valorSobra</code>. 188 + * Define o valor do atributo <code>dataValidade</code>.
213 * 189 *
214 - * @param valorSobra 190 + * @param dataValidade
215 */ 191 */
216 - public void setValorSobra(BigDecimal valorSobra) { 192 + public void setDataValidade(Calendar dataValidade) {
217 193
218 - this.valorSobra = valorSobra; 194 + this.dataValidade = dataValidade;
219 } 195 }
220 196
221 /** 197 /**
@@ -359,26 +335,6 @@ public class EntradaAlmoxarifadoItem extends PersistentObjectAudit { @@ -359,26 +335,6 @@ public class EntradaAlmoxarifadoItem extends PersistentObjectAudit {
359 } 335 }
360 336
361 /** 337 /**
362 - * Retorna o valor do atributo <code>quantidadeSaldo</code>  
363 - *  
364 - * @return <code>BigDecimal</code>  
365 - */  
366 - public BigDecimal getQuantidadeSaldo() {  
367 -  
368 - return quantidadeSaldo == null ? BigDecimal.ZERO : quantidadeSaldo;  
369 - }  
370 -  
371 - /**  
372 - * Define o valor do atributo <code>quantidadeSaldo</code>.  
373 - *  
374 - * @param quantidadeSaldo  
375 - */  
376 - public void setQuantidadeSaldo(BigDecimal quantidadeSaldo) {  
377 -  
378 - this.quantidadeSaldo = quantidadeSaldo;  
379 - }  
380 -  
381 - /**  
382 * Retorna o valor do atributo <code>entradaInativo</code> 338 * Retorna o valor do atributo <code>entradaInativo</code>
383 * 339 *
384 * @return <code>EntradaAlmoxarifado</code> 340 * @return <code>EntradaAlmoxarifado</code>
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/EntradaAlmoxarifadoObservacao.java 0 → 100644
@@ -0,0 +1,60 @@ @@ -0,0 +1,60 @@
  1 +package br.com.centralit.api.model;
  2 +
  3 +import javax.persistence.Entity;
  4 +import javax.persistence.FetchType;
  5 +import javax.persistence.ManyToOne;
  6 +import javax.persistence.Table;
  7 +
  8 +/**
  9 + *
  10 + * <p><img src="http://centralit.com.br/images/logo_central.png"></p>
  11 + *
  12 + * <p><b>Company: </b> Central IT - Governança Corporativa - </p>
  13 + *
  14 + * <p><b>Title: </b></p>
  15 + *
  16 + * <p><b>Description: </b></p>
  17 + *
  18 + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p>
  19 + *
  20 + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
  21 + *
  22 + * @since 27/04/2016 - 17:31:26
  23 + *
  24 + * @version 1.0.0
  25 + *
  26 + * @author geovane.filho
  27 + *
  28 + */
  29 +@Entity
  30 +@Table(name = "alm_en_observacao")
  31 +public class EntradaAlmoxarifadoObservacao extends Observacao {
  32 +
  33 + /** Atributo serialVersionUID. */
  34 + private static final long serialVersionUID = 78579413846779181L;
  35 +
  36 + /** Atributo entrada. */
  37 + @ManyToOne(fetch = FetchType.LAZY, optional = false)
  38 + private EntradaAlmoxarifado entrada;
  39 +
  40 + /**
  41 + * Retorna o valor do atributo <code>entrada</code>
  42 + *
  43 + * @return <code>Entrada</code>
  44 + */
  45 + public EntradaAlmoxarifado getEntrada() {
  46 +
  47 + return entrada;
  48 + }
  49 +
  50 + /**
  51 + * Define o valor do atributo <code>entrada</code>.
  52 + *
  53 + * @param entrada
  54 + */
  55 + public void setEntrada(EntradaAlmoxarifado entrada) {
  56 +
  57 + this.entrada = entrada;
  58 + }
  59 +
  60 +}
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/Estoque.java
@@ -12,6 +12,8 @@ import javax.persistence.OneToMany; @@ -12,6 +12,8 @@ import javax.persistence.OneToMany;
12 import javax.persistence.OneToOne; 12 import javax.persistence.OneToOne;
13 import javax.persistence.Table; 13 import javax.persistence.Table;
14 14
  15 +import org.hibernate.envers.Audited;
  16 +
15 import br.com.centralit.api.framework.json.ViewsAdmMateriais; 17 import br.com.centralit.api.framework.json.ViewsAdmMateriais;
16 import br.com.centralit.api.framework.json.ViewsAlmoxarifado; 18 import br.com.centralit.api.framework.json.ViewsAlmoxarifado;
17 import br.com.centralit.framework.json.Views; 19 import br.com.centralit.framework.json.Views;
@@ -52,6 +54,7 @@ import com.fasterxml.jackson.annotation.JsonView; @@ -52,6 +54,7 @@ import com.fasterxml.jackson.annotation.JsonView;
52 * @author geovane.filho 54 * @author geovane.filho
53 * 55 *
54 */ 56 */
  57 +@Audited
55 @Entity 58 @Entity
56 @Table(name = "alm_estoque") 59 @Table(name = "alm_estoque")
57 public class Estoque extends PersistentObjectAuditOrganizacao { 60 public class Estoque extends PersistentObjectAuditOrganizacao {
@@ -68,7 +71,7 @@ public class Estoque extends PersistentObjectAuditOrganizacao { @@ -68,7 +71,7 @@ public class Estoque extends PersistentObjectAuditOrganizacao {
68 /** Atributo almoxarifado. */ 71 /** Atributo almoxarifado. */
69 @OneToOne(fetch = FetchType.LAZY, optional = false) 72 @OneToOne(fetch = FetchType.LAZY, optional = false)
70 @JsonView({ ViewsAdmMateriais.LocalEstoqueAutoCompleteView.class, 73 @JsonView({ ViewsAdmMateriais.LocalEstoqueAutoCompleteView.class,
71 - ViewsAlmoxarifado.ConfiguracaoRessuprimentoEditView.class, Views.MaterialConsultaInfo.class, ViewsAdmMateriais.EnderecoEstoqueView.class }) 74 + ViewsAlmoxarifado.ConfiguracaoRessuprimentoEditView.class, Views.MaterialConsultaInfo.class })
72 private EstruturaOrganizacional almoxarifado; 75 private EstruturaOrganizacional almoxarifado;
73 76
74 /** Atributo locais. */ 77 /** Atributo locais. */
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/EstruturaOrganizacionalAlmoxarifado.java
@@ -49,7 +49,7 @@ import com.fasterxml.jackson.annotation.JsonView; @@ -49,7 +49,7 @@ import com.fasterxml.jackson.annotation.JsonView;
49 * 49 *
50 */ 50 */
51 @Entity 51 @Entity
52 -@Table(name = "EstruturaOrganizacionalAlmox") 52 +@Table(name="alm_eo_almoxarifado")
53 public class EstruturaOrganizacionalAlmoxarifado extends PersistentObjectAudit implements Comparable<EstruturaOrganizacionalAlmoxarifado>, Cloneable { 53 public class EstruturaOrganizacionalAlmoxarifado extends PersistentObjectAudit implements Comparable<EstruturaOrganizacionalAlmoxarifado>, Cloneable {
54 54
55 /** Atributo serialVersionUID. */ 55 /** Atributo serialVersionUID. */
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/LocalEstoque.java
@@ -1,134 +0,0 @@ @@ -1,134 +0,0 @@
1 -package br.com.centralit.api.model;  
2 -  
3 -import java.util.Collection;  
4 -  
5 -import javax.persistence.CascadeType;  
6 -import javax.persistence.Entity;  
7 -import javax.persistence.FetchType;  
8 -import javax.persistence.GeneratedValue;  
9 -import javax.persistence.GenerationType;  
10 -import javax.persistence.Id;  
11 -import javax.persistence.OneToMany;  
12 -import javax.persistence.OneToOne;  
13 -  
14 -import br.com.centralit.api.framework.json.ViewsAdmMateriais;  
15 -import br.com.centralit.api.framework.json.ViewsAlmoxarifado;  
16 -import br.com.centralit.framework.json.Views;  
17 -import br.com.centralit.framework.model.arquitetura.PersistentObjectAuditOrganizacao;  
18 -  
19 -import com.fasterxml.jackson.annotation.JsonView;  
20 -  
21 -/**  
22 - * <p>  
23 - * <img src="http://centralit.com.br/images/logo_central.png">  
24 - * </p>  
25 - *  
26 - * <p>  
27 - * <b>Company: </b> Central IT - Governança Corporativa -  
28 - * </p>  
29 - *  
30 - * <p>  
31 - * <b>Title: </b>  
32 - * </p>  
33 - *  
34 - * <p>  
35 - * <b>Description: </b>  
36 - * </p>  
37 - *  
38 - * <p>  
39 - * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>  
40 - * </p>  
41 - *  
42 - * <p>  
43 - * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>  
44 - * </p>  
45 - *  
46 - * @since 21/05/2015 - 10:10:16  
47 - *  
48 - * @version 1.0.0  
49 - *  
50 - * @author rogerio.costa  
51 - *  
52 - */  
53 -@Entity  
54 -public class LocalEstoque extends PersistentObjectAuditOrganizacao {  
55 -  
56 - /** Atributo serialVersionUID. */  
57 - private static final long serialVersionUID = 583158275027529648L;  
58 -  
59 - /** Atributo id. */  
60 - @Id  
61 - @GeneratedValue(strategy = GenerationType.AUTO)  
62 - @JsonView({ Views.GenericView.class })  
63 - private Long id;  
64 -  
65 - /** Atributo almoxarifado. */  
66 - @OneToOne(fetch = FetchType.LAZY, optional = false)  
67 - @JsonView({ ViewsAdmMateriais.LocalEstoqueAutoCompleteView.class, ViewsAlmoxarifado.ConfiguracaoRessuprimentoEditView.class, Views.MaterialConsultaInfo.class})  
68 - private EstruturaOrganizacional almoxarifado;  
69 -  
70 - /** Atributo historicoSaldo. */  
71 - @OneToMany(fetch = FetchType.LAZY, mappedBy = "localEstoque", cascade = CascadeType.ALL)  
72 - private Collection<MaterialEstoqueSaldo> historicoSaldo;  
73 -  
74 - /**  
75 - * Retorna o valor do atributo <code>id</code>  
76 - *  
77 - * @return <code>Long</code>  
78 - */  
79 - public Long getId() {  
80 -  
81 - return id;  
82 - }  
83 -  
84 - /**  
85 - * Define o valor do atributo <code>id</code>.  
86 - *  
87 - * @param id  
88 - */  
89 - public void setId(Long id) {  
90 -  
91 - this.id = id;  
92 - }  
93 -  
94 - /**  
95 - * Retorna o valor do atributo <code>almoxarifado</code>  
96 - *  
97 - * @return <code>EstruturaOrganizacional</code>  
98 - */  
99 - public EstruturaOrganizacional getAlmoxarifado() {  
100 -  
101 - return almoxarifado;  
102 - }  
103 -  
104 - /**  
105 - * Define o valor do atributo <code>almoxarifado</code>.  
106 - *  
107 - * @param almoxarifado  
108 - */  
109 - public void setAlmoxarifado(EstruturaOrganizacional almoxarifado) {  
110 -  
111 - this.almoxarifado = almoxarifado;  
112 - }  
113 -  
114 - /**  
115 - * Retorna o valor do atributo <code>historicoSaldo</code>  
116 - *  
117 - * @return <code>Collection<LocalEstoqueSaldo></code>  
118 - */  
119 - public Collection<MaterialEstoqueSaldo> getHistoricoSaldo() {  
120 -  
121 - return historicoSaldo;  
122 - }  
123 -  
124 - /**  
125 - * Define o valor do atributo <code>historicoSaldo</code>.  
126 - *  
127 - * @param historicoSaldo  
128 - */  
129 - public void setHistoricoSaldo(Collection<MaterialEstoqueSaldo> historicoSaldo) {  
130 -  
131 - this.historicoSaldo = historicoSaldo;  
132 - }  
133 -  
134 -}  
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/MaterialEstoque.java
@@ -14,6 +14,8 @@ import javax.persistence.OneToMany; @@ -14,6 +14,8 @@ import javax.persistence.OneToMany;
14 import javax.persistence.OneToOne; 14 import javax.persistence.OneToOne;
15 import javax.persistence.Table; 15 import javax.persistence.Table;
16 16
  17 +import org.hibernate.envers.Audited;
  18 +
17 import br.com.centralit.framework.model.arquitetura.PersistentObjectAuditOrganizacao; 19 import br.com.centralit.framework.model.arquitetura.PersistentObjectAuditOrganizacao;
18 20
19 /** 21 /**
@@ -37,6 +39,7 @@ import br.com.centralit.framework.model.arquitetura.PersistentObjectAuditOrganiz @@ -37,6 +39,7 @@ import br.com.centralit.framework.model.arquitetura.PersistentObjectAuditOrganiz
37 * @author geovane.filho 39 * @author geovane.filho
38 * 40 *
39 */ 41 */
  42 +@Audited
40 @Entity 43 @Entity
41 @Table(name = "alm_materialestoque") 44 @Table(name = "alm_materialestoque")
42 public class MaterialEstoque extends PersistentObjectAuditOrganizacao { 45 public class MaterialEstoque extends PersistentObjectAuditOrganizacao {
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/MaterialEstoqueFIFOItem.java
@@ -12,6 +12,8 @@ import javax.persistence.ManyToOne; @@ -12,6 +12,8 @@ import javax.persistence.ManyToOne;
12 import javax.persistence.OneToOne; 12 import javax.persistence.OneToOne;
13 import javax.persistence.Table; 13 import javax.persistence.Table;
14 14
  15 +import org.hibernate.envers.Audited;
  16 +
15 import br.com.centralit.framework.model.arquitetura.PersistentObjectAuditOrganizacao; 17 import br.com.centralit.framework.model.arquitetura.PersistentObjectAuditOrganizacao;
16 18
17 /** 19 /**
@@ -35,6 +37,7 @@ import br.com.centralit.framework.model.arquitetura.PersistentObjectAuditOrganiz @@ -35,6 +37,7 @@ import br.com.centralit.framework.model.arquitetura.PersistentObjectAuditOrganiz
35 * @author geovane.filho 37 * @author geovane.filho
36 * 38 *
37 */ 39 */
  40 +@Audited
38 @Entity 41 @Entity
39 @Table(name = "alm_me_fifoitem") 42 @Table(name = "alm_me_fifoitem")
40 public class MaterialEstoqueFIFOItem extends PersistentObjectAuditOrganizacao { 43 public class MaterialEstoqueFIFOItem extends PersistentObjectAuditOrganizacao {
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/MaterialEstoqueSaldo.java
@@ -2,9 +2,7 @@ package br.com.centralit.api.model; @@ -2,9 +2,7 @@ package br.com.centralit.api.model;
2 2
3 import java.math.BigDecimal; 3 import java.math.BigDecimal;
4 import java.util.Calendar; 4 import java.util.Calendar;
5 -import java.util.Collection;  
6 5
7 -import javax.persistence.CascadeType;  
8 import javax.persistence.Column; 6 import javax.persistence.Column;
9 import javax.persistence.Entity; 7 import javax.persistence.Entity;
10 import javax.persistence.FetchType; 8 import javax.persistence.FetchType;
@@ -12,7 +10,7 @@ import javax.persistence.GeneratedValue; @@ -12,7 +10,7 @@ import javax.persistence.GeneratedValue;
12 import javax.persistence.GenerationType; 10 import javax.persistence.GenerationType;
13 import javax.persistence.Id; 11 import javax.persistence.Id;
14 import javax.persistence.ManyToOne; 12 import javax.persistence.ManyToOne;
15 -import javax.persistence.OneToMany; 13 +import javax.persistence.Table;
16 import javax.persistence.Temporal; 14 import javax.persistence.Temporal;
17 import javax.persistence.TemporalType; 15 import javax.persistence.TemporalType;
18 16
@@ -59,6 +57,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize; @@ -59,6 +57,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
59 * 57 *
60 */ 58 */
61 @Entity 59 @Entity
  60 +@Table(name = "alm_me_saldo")
62 public class MaterialEstoqueSaldo extends PersistentObjectAuditOrganizacao { 61 public class MaterialEstoqueSaldo extends PersistentObjectAuditOrganizacao {
63 62
64 /** Atributo serialVersionUID. */ 63 /** Atributo serialVersionUID. */
@@ -87,7 +86,7 @@ public class MaterialEstoqueSaldo extends PersistentObjectAuditOrganizacao { @@ -87,7 +86,7 @@ public class MaterialEstoqueSaldo extends PersistentObjectAuditOrganizacao {
87 /** Atributo localEstoque. */ 86 /** Atributo localEstoque. */
88 @ManyToOne(fetch = FetchType.LAZY, optional = true) 87 @ManyToOne(fetch = FetchType.LAZY, optional = true)
89 @JsonView({ Views.MaterialConsultaInfo.class }) 88 @JsonView({ Views.MaterialConsultaInfo.class })
90 - private LocalEstoque localEstoque; 89 + private MaterialLocalEstoque localEstoque;
91 90
92 /** Atributo material. */ 91 /** Atributo material. */
93 @ManyToOne(fetch = FetchType.LAZY, optional = true) 92 @ManyToOne(fetch = FetchType.LAZY, optional = true)
@@ -103,11 +102,6 @@ public class MaterialEstoqueSaldo extends PersistentObjectAuditOrganizacao { @@ -103,11 +102,6 @@ public class MaterialEstoqueSaldo extends PersistentObjectAuditOrganizacao {
103 @JsonView({ Views.MaterialConsultaInfo.class }) 102 @JsonView({ Views.MaterialConsultaInfo.class })
104 private UnidadeMedida unidadeMedidaMaterial; 103 private UnidadeMedida unidadeMedidaMaterial;
105 104
106 - /** Atributo historicoSaldo. */  
107 - @OneToMany(fetch = FetchType.LAZY, mappedBy = "materialEstoqueSaldo", cascade = CascadeType.ALL)  
108 - @JsonView({ Views.MaterialConsultaInfo.class })  
109 - private Collection<MovimentoEstoque> movimentos;  
110 -  
111 /** 105 /**
112 * Retorna o valor do atributo <code>id</code> 106 * Retorna o valor do atributo <code>id</code>
113 * 107 *
@@ -153,7 +147,7 @@ public class MaterialEstoqueSaldo extends PersistentObjectAuditOrganizacao { @@ -153,7 +147,7 @@ public class MaterialEstoqueSaldo extends PersistentObjectAuditOrganizacao {
153 * 147 *
154 * @return <code>LocalEstoque</code> 148 * @return <code>LocalEstoque</code>
155 */ 149 */
156 - public LocalEstoque getLocalEstoque() { 150 + public MaterialLocalEstoque getLocalEstoque() {
157 151
158 return localEstoque; 152 return localEstoque;
159 } 153 }
@@ -163,7 +157,7 @@ public class MaterialEstoqueSaldo extends PersistentObjectAuditOrganizacao { @@ -163,7 +157,7 @@ public class MaterialEstoqueSaldo extends PersistentObjectAuditOrganizacao {
163 * 157 *
164 * @param localEstoque 158 * @param localEstoque
165 */ 159 */
166 - public void setLocalEstoque(LocalEstoque localEstoque) { 160 + public void setLocalEstoque(MaterialLocalEstoque localEstoque) {
167 161
168 this.localEstoque = localEstoque; 162 this.localEstoque = localEstoque;
169 } 163 }
@@ -209,26 +203,6 @@ public class MaterialEstoqueSaldo extends PersistentObjectAuditOrganizacao { @@ -209,26 +203,6 @@ public class MaterialEstoqueSaldo extends PersistentObjectAuditOrganizacao {
209 } 203 }
210 204
211 /** 205 /**
212 - * Retorna o valor do atributo <code>movimentos</code>  
213 - *  
214 - * @return <code>Collection<MovimentoEstoque></code>  
215 - */  
216 - public Collection<MovimentoEstoque> getMovimentos() {  
217 -  
218 - return movimentos;  
219 - }  
220 -  
221 - /**  
222 - * Define o valor do atributo <code>movimentos</code>.  
223 - *  
224 - * @param movimentos  
225 - */  
226 - public void setMovimentos(Collection<MovimentoEstoque> movimentos) {  
227 -  
228 - this.movimentos = movimentos;  
229 - }  
230 -  
231 - /**  
232 * Retorna o valor do atributo <code>tipoFechamento</code> 206 * Retorna o valor do atributo <code>tipoFechamento</code>
233 * 207 *
234 * @return <code>Dominio</code> 208 * @return <code>Dominio</code>
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/MaterialEstoqueSaldoMedio.java
@@ -1,204 +0,0 @@ @@ -1,204 +0,0 @@
1 -package br.com.centralit.api.model;  
2 -  
3 -import java.math.BigDecimal;  
4 -  
5 -import javax.persistence.Column;  
6 -import javax.persistence.Entity;  
7 -import javax.persistence.GeneratedValue;  
8 -import javax.persistence.GenerationType;  
9 -import javax.persistence.Id;  
10 -import javax.persistence.OneToOne;  
11 -  
12 -import com.fasterxml.jackson.annotation.JsonView;  
13 -  
14 -import br.com.centralit.api.framework.json.ViewsAdmMateriais;  
15 -import br.com.centralit.framework.json.Views;  
16 -import br.com.centralit.framework.model.arquitetura.PersistentObjectAuditOrganizacao;  
17 -  
18 -/**  
19 - * <p>  
20 - * <img src="http://centralit.com.br/images/logo_central.png">  
21 - * </p>  
22 - *  
23 - * <p>  
24 - * <b>Company: </b> Central IT - Governança Corporativa -  
25 - * </p>  
26 - *  
27 - * <p>  
28 - * <b>Title: Material Estoque Saldo Medio</b>  
29 - * </p>  
30 - *  
31 - * <p>  
32 - * <b>Description: Saldo médio de um material em estoque</b>  
33 - * </p>  
34 - *  
35 - * <p>  
36 - * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>  
37 - * </p>  
38 - *  
39 - * <p>  
40 - * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>  
41 - * </p>  
42 - *  
43 - * @since 22/06/2015 - 16:12:33  
44 - *  
45 - * @version 1.0.0  
46 - *  
47 - * @author geovane.filho  
48 - *  
49 - */  
50 -@Entity  
51 -public class MaterialEstoqueSaldoMedio extends PersistentObjectAuditOrganizacao {  
52 -  
53 - private static final long serialVersionUID = -9108177938688790640L;  
54 -  
55 - /** Atributo id. */  
56 - @Id  
57 - @GeneratedValue(strategy = GenerationType.AUTO)  
58 - private Long id;  
59 -  
60 - /** Atributo material. */  
61 - @OneToOne(optional = false)  
62 - private Material material;  
63 -  
64 - /** Atributo quantidade. */  
65 - @Column(precision = 20, scale = 4)  
66 - @JsonView({ Views.MaterialConsultaInfo.class })  
67 - private BigDecimal quantidadeAtual;  
68 -  
69 - /** Atributo valorFechado. */  
70 - @Column(precision = 20, scale = 4)  
71 - @JsonView({ Views.MaterialConsultaInfo.class })  
72 - private BigDecimal valorUnitarioMedio;  
73 -  
74 - /** Atributo restoMedio. */  
75 - @Column(precision = 20, scale = 4)  
76 - @JsonView({ Views.MaterialConsultaInfo.class })  
77 - private BigDecimal restoMedio;  
78 -  
79 - /**  
80 - *  
81 - * Responsável pela criação de novas instâncias desta classe.  
82 - */  
83 - protected MaterialEstoqueSaldoMedio() {  
84 - super();  
85 - }  
86 -  
87 - /**  
88 - *  
89 - * Responsável pela criação de novas instâncias desta classe com seus atributos obrigatorios.  
90 - */  
91 - public MaterialEstoqueSaldoMedio(Material material, BigDecimal quantidadeAtual, BigDecimal valorUnitarioMedio, BigDecimal restoMedio) {  
92 - super();  
93 - this.material = material;  
94 - this.quantidadeAtual = quantidadeAtual;  
95 - this.valorUnitarioMedio = valorUnitarioMedio;  
96 - this.restoMedio = restoMedio;  
97 - }  
98 -  
99 - /**  
100 - *  
101 - * Responsável pela criação de novas instâncias desta classe definindo o material e zerando os atributos de controle de estoque  
102 - */  
103 - public MaterialEstoqueSaldoMedio(Material material) {  
104 - super();  
105 - this.material = material;  
106 - this.quantidadeAtual = BigDecimal.ZERO;  
107 - this.valorUnitarioMedio = BigDecimal.ZERO;  
108 - this.restoMedio = BigDecimal.ZERO;  
109 - }  
110 -  
111 - /**  
112 - * Retorna o valor do atributo <code>material</code>  
113 - *  
114 - * @return <code>Material</code>  
115 - */  
116 - public Material getMaterial() {  
117 - return material;  
118 - }  
119 -  
120 - /**  
121 - * Define o valor do atributo <code>material</code>.  
122 - *  
123 - * @param material  
124 - */  
125 - public void setMaterial(Material material) {  
126 - this.material = material;  
127 - }  
128 -  
129 - /**  
130 - * Retorna o valor do atributo <code>quantidadeAtual</code>  
131 - *  
132 - * @return <code>BigDecimal</code>  
133 - */  
134 - public BigDecimal getQuantidadeAtual() {  
135 - return quantidadeAtual;  
136 - }  
137 -  
138 - /**  
139 - * Define o valor do atributo <code>quantidadeAtual</code>.  
140 - *  
141 - * @param quantidadeAtual  
142 - */  
143 - public void setQuantidadeAtual(BigDecimal quantidadeAtual) {  
144 - this.quantidadeAtual = quantidadeAtual;  
145 - }  
146 -  
147 - /**  
148 - * Retorna o valor do atributo <code>valorUnitarioMedio</code>  
149 - *  
150 - * @return <code>BigDecimal</code>  
151 - */  
152 - public BigDecimal getValorUnitarioMedio() {  
153 - return valorUnitarioMedio;  
154 - }  
155 -  
156 - /**  
157 - * Define o valor do atributo <code>valorUnitarioMedio</code>.  
158 - *  
159 - * @param valorUnitarioMedio  
160 - */  
161 - public void setValorUnitarioMedio(BigDecimal valorUnitarioMedio) {  
162 - this.valorUnitarioMedio = valorUnitarioMedio;  
163 - }  
164 -  
165 - /**  
166 - * Retorna o valor do atributo <code>id</code>  
167 - *  
168 - * @return <code>Long</code>  
169 - */  
170 - @Override  
171 - public Long getId() {  
172 -  
173 - return id;  
174 - }  
175 -  
176 - /**  
177 - * Define o valor do atributo <code>id</code>.  
178 - *  
179 - * @param id  
180 - */  
181 - public void setId(Long id) {  
182 -  
183 - this.id = id;  
184 - }  
185 -  
186 - /**  
187 - * Retorna o valor do atributo <code>restoMedio</code>  
188 - *  
189 - * @return <code>BigDecimal</code>  
190 - */  
191 - public BigDecimal getRestoMedio() {  
192 - return restoMedio;  
193 - }  
194 -  
195 - /**  
196 - * Define o valor do atributo <code>restoMedio</code>.  
197 - *  
198 - * @param restoMedio  
199 - */  
200 - public void setRestoMedio(BigDecimal restoMedio) {  
201 - this.restoMedio = restoMedio;  
202 - }  
203 -  
204 -}  
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/MaterialLocalEstoque.java
@@ -11,38 +11,27 @@ import javax.persistence.ManyToOne; @@ -11,38 +11,27 @@ import javax.persistence.ManyToOne;
11 import javax.persistence.OneToOne; 11 import javax.persistence.OneToOne;
12 import javax.persistence.Table; 12 import javax.persistence.Table;
13 13
14 -import com.fasterxml.jackson.annotation.JsonView; 14 +import org.hibernate.envers.Audited;
15 15
16 -import br.com.centralit.api.framework.json.ViewsAdmMateriais;  
17 import br.com.centralit.framework.json.Views; 16 import br.com.centralit.framework.json.Views;
18 import br.com.centralit.framework.model.arquitetura.PersistentObjectAuditOrganizacao; 17 import br.com.centralit.framework.model.arquitetura.PersistentObjectAuditOrganizacao;
19 18
  19 +import com.fasterxml.jackson.annotation.JsonView;
  20 +
20 /** 21 /**
21 * 22 *
22 - * <p>  
23 - * <img src="http://centralit.com.br/images/logo_central.png">  
24 - * </p> 23 + * <p><img src="http://centralit.com.br/images/logo_central.png"></p>
25 * 24 *
26 - * <p>  
27 - * <b>Company: </b> Central IT - Governança Corporativa -  
28 - * </p> 25 + * <p><b>Company: </b> Central IT - Governança Corporativa - </p>
29 * 26 *
30 - * <p>  
31 - * <b>Title: </b>  
32 - * </p> 27 + * <p><b>Title: </b></p>
33 * 28 *
34 - * <p>  
35 - * <b>Description: </b>  
36 - * </p> 29 + * <p><b>Description: </b></p>
37 * 30 *
38 - * <p>  
39 - * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>  
40 - * </p> 31 + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p>
41 * 32 *
42 - * <p>  
43 - * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>  
44 - * </p>  
45 - * 33 + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
  34 + *
46 * @since 29/04/2016 - 09:06:28 35 * @since 29/04/2016 - 09:06:28
47 * 36 *
48 * @version 1.0.0 37 * @version 1.0.0
@@ -50,6 +39,7 @@ import br.com.centralit.framework.model.arquitetura.PersistentObjectAuditOrganiz @@ -50,6 +39,7 @@ import br.com.centralit.framework.model.arquitetura.PersistentObjectAuditOrganiz
50 * @author geovane.filho 39 * @author geovane.filho
51 * 40 *
52 */ 41 */
  42 +@Audited
53 @Entity 43 @Entity
54 @Table(name = "alm_me_localestoque") 44 @Table(name = "alm_me_localestoque")
55 public class MaterialLocalEstoque extends PersistentObjectAuditOrganizacao { 45 public class MaterialLocalEstoque extends PersistentObjectAuditOrganizacao {
@@ -62,30 +52,28 @@ public class MaterialLocalEstoque extends PersistentObjectAuditOrganizacao { @@ -62,30 +52,28 @@ public class MaterialLocalEstoque extends PersistentObjectAuditOrganizacao {
62 @GeneratedValue(strategy = GenerationType.AUTO) 52 @GeneratedValue(strategy = GenerationType.AUTO)
63 @JsonView({ Views.GenericView.class }) 53 @JsonView({ Views.GenericView.class })
64 private Long id; 54 private Long id;
65 - 55 +
66 /** Atributo materialEstoque. */ 56 /** Atributo materialEstoque. */
67 @OneToOne(fetch = FetchType.LAZY, optional = false) 57 @OneToOne(fetch = FetchType.LAZY, optional = false)
68 - @JsonView({ ViewsAdmMateriais.EnderecoEstoqueView.class })  
69 private MaterialEstoque materialEstoque; 58 private MaterialEstoque materialEstoque;
70 - 59 +
71 /** Atributo materialEstoqueInativo. */ 60 /** Atributo materialEstoqueInativo. */
72 @ManyToOne(fetch = FetchType.LAZY, optional = true) 61 @ManyToOne(fetch = FetchType.LAZY, optional = true)
73 private MaterialEstoque materialEstoqueInativo; 62 private MaterialEstoque materialEstoqueInativo;
74 - 63 +
75 /** Atributo endereco. */ 64 /** Atributo endereco. */
76 @OneToOne(fetch = FetchType.LAZY, optional = false) 65 @OneToOne(fetch = FetchType.LAZY, optional = false)
77 private EnderecoEstoque endereco; 66 private EnderecoEstoque endereco;
78 - 67 +
79 /** Atributo enderecoInativo. */ 68 /** Atributo enderecoInativo. */
80 @ManyToOne(fetch = FetchType.LAZY, optional = true) 69 @ManyToOne(fetch = FetchType.LAZY, optional = true)
81 private EnderecoEstoque enderecoInativo; 70 private EnderecoEstoque enderecoInativo;
82 - 71 +
83 /** Atributo quantidade. */ 72 /** Atributo quantidade. */
84 - @JsonView({ ViewsAdmMateriais.EnderecoEstoqueView.class })  
85 private BigDecimal quantidade; 73 private BigDecimal quantidade;
86 - 74 +
87 /** Atributo unidadeMedidaEntrada. */ 75 /** Atributo unidadeMedidaEntrada. */
88 - @ManyToOne(fetch = FetchType.LAZY, optional = false) 76 + @ManyToOne(fetch = FetchType.LAZY, optional = false)
89 private UnidadeMedida unidadeMedidaEntrada; 77 private UnidadeMedida unidadeMedidaEntrada;
90 78
91 /** 79 /**
@@ -107,44 +95,48 @@ public class MaterialLocalEstoque extends PersistentObjectAuditOrganizacao { @@ -107,44 +95,48 @@ public class MaterialLocalEstoque extends PersistentObjectAuditOrganizacao {
107 95
108 this.id = id; 96 this.id = id;
109 } 97 }
110 - 98 +
111 /** 99 /**
112 * Retorna o valor do atributo <code>endereco</code> 100 * Retorna o valor do atributo <code>endereco</code>
113 * 101 *
114 * @return <code>EnderecoEstoque</code> 102 * @return <code>EnderecoEstoque</code>
115 */ 103 */
116 public EnderecoEstoque getEndereco() { 104 public EnderecoEstoque getEndereco() {
117 - 105 +
118 return endereco; 106 return endereco;
119 } 107 }
120 108
  109 +
121 /** 110 /**
122 * Define o valor do atributo <code>endereco</code>. 111 * Define o valor do atributo <code>endereco</code>.
123 * 112 *
124 - * @param endereco 113 + * @param endereco
125 */ 114 */
126 public void setEndereco(EnderecoEstoque endereco) { 115 public void setEndereco(EnderecoEstoque endereco) {
127 - 116 +
128 this.endereco = endereco; 117 this.endereco = endereco;
129 } 118 }
130 119
  120 +
  121 +
131 /** 122 /**
132 * Retorna o valor do atributo <code>enderecoInativo</code> 123 * Retorna o valor do atributo <code>enderecoInativo</code>
133 * 124 *
134 * @return <code>EnderecoEstoque</code> 125 * @return <code>EnderecoEstoque</code>
135 */ 126 */
136 public EnderecoEstoque getEnderecoInativo() { 127 public EnderecoEstoque getEnderecoInativo() {
137 - 128 +
138 return enderecoInativo; 129 return enderecoInativo;
139 } 130 }
140 131
  132 +
141 /** 133 /**
142 * Define o valor do atributo <code>enderecoInativo</code>. 134 * Define o valor do atributo <code>enderecoInativo</code>.
143 * 135 *
144 - * @param enderecoInativo 136 + * @param enderecoInativo
145 */ 137 */
146 public void setEnderecoInativo(EnderecoEstoque enderecoInativo) { 138 public void setEnderecoInativo(EnderecoEstoque enderecoInativo) {
147 - 139 +
148 this.enderecoInativo = enderecoInativo; 140 this.enderecoInativo = enderecoInativo;
149 } 141 }
150 142
@@ -154,77 +146,84 @@ public class MaterialLocalEstoque extends PersistentObjectAuditOrganizacao { @@ -154,77 +146,84 @@ public class MaterialLocalEstoque extends PersistentObjectAuditOrganizacao {
154 * @return <code>BigDecimal</code> 146 * @return <code>BigDecimal</code>
155 */ 147 */
156 public BigDecimal getQuantidade() { 148 public BigDecimal getQuantidade() {
157 - 149 +
158 return quantidade; 150 return quantidade;
159 } 151 }
160 152
  153 +
161 /** 154 /**
162 * Define o valor do atributo <code>quantidade</code>. 155 * Define o valor do atributo <code>quantidade</code>.
163 * 156 *
164 - * @param quantidade 157 + * @param quantidade
165 */ 158 */
166 public void setQuantidade(BigDecimal quantidade) { 159 public void setQuantidade(BigDecimal quantidade) {
167 - 160 +
168 this.quantidade = quantidade; 161 this.quantidade = quantidade;
169 } 162 }
170 163
  164 +
171 /** 165 /**
172 * Retorna o valor do atributo <code>unidadeMedidaEntrada</code> 166 * Retorna o valor do atributo <code>unidadeMedidaEntrada</code>
173 * 167 *
174 * @return <code>UnidadeMedida</code> 168 * @return <code>UnidadeMedida</code>
175 */ 169 */
176 public UnidadeMedida getUnidadeMedidaEntrada() { 170 public UnidadeMedida getUnidadeMedidaEntrada() {
177 - 171 +
178 return unidadeMedidaEntrada; 172 return unidadeMedidaEntrada;
179 } 173 }
180 174
  175 +
181 /** 176 /**
182 * Define o valor do atributo <code>unidadeMedidaEntrada</code>. 177 * Define o valor do atributo <code>unidadeMedidaEntrada</code>.
183 * 178 *
184 - * @param unidadeMedidaEntrada 179 + * @param unidadeMedidaEntrada
185 */ 180 */
186 public void setUnidadeMedidaEntrada(UnidadeMedida unidadeMedidaEntrada) { 181 public void setUnidadeMedidaEntrada(UnidadeMedida unidadeMedidaEntrada) {
187 - 182 +
188 this.unidadeMedidaEntrada = unidadeMedidaEntrada; 183 this.unidadeMedidaEntrada = unidadeMedidaEntrada;
189 } 184 }
190 185
  186 +
191 /** 187 /**
192 * Retorna o valor do atributo <code>materialEstoque</code> 188 * Retorna o valor do atributo <code>materialEstoque</code>
193 * 189 *
194 * @return <code>MaterialEstoque</code> 190 * @return <code>MaterialEstoque</code>
195 */ 191 */
196 public MaterialEstoque getMaterialEstoque() { 192 public MaterialEstoque getMaterialEstoque() {
197 - 193 +
198 return materialEstoque; 194 return materialEstoque;
199 } 195 }
200 196
  197 +
201 /** 198 /**
202 * Define o valor do atributo <code>materialEstoque</code>. 199 * Define o valor do atributo <code>materialEstoque</code>.
203 * 200 *
204 - * @param materialEstoque 201 + * @param materialEstoque
205 */ 202 */
206 public void setMaterialEstoque(MaterialEstoque materialEstoque) { 203 public void setMaterialEstoque(MaterialEstoque materialEstoque) {
207 - 204 +
208 this.materialEstoque = materialEstoque; 205 this.materialEstoque = materialEstoque;
209 } 206 }
210 207
  208 +
211 /** 209 /**
212 * Retorna o valor do atributo <code>materialEstoqueInativo</code> 210 * Retorna o valor do atributo <code>materialEstoqueInativo</code>
213 * 211 *
214 * @return <code>MaterialEstoque</code> 212 * @return <code>MaterialEstoque</code>
215 */ 213 */
216 public MaterialEstoque getMaterialEstoqueInativo() { 214 public MaterialEstoque getMaterialEstoqueInativo() {
217 - 215 +
218 return materialEstoqueInativo; 216 return materialEstoqueInativo;
219 } 217 }
220 218
  219 +
221 /** 220 /**
222 * Define o valor do atributo <code>materialEstoqueInativo</code>. 221 * Define o valor do atributo <code>materialEstoqueInativo</code>.
223 * 222 *
224 - * @param materialEstoqueInativo 223 + * @param materialEstoqueInativo
225 */ 224 */
226 public void setMaterialEstoqueInativo(MaterialEstoque materialEstoqueInativo) { 225 public void setMaterialEstoqueInativo(MaterialEstoque materialEstoqueInativo) {
227 - 226 +
228 this.materialEstoqueInativo = materialEstoqueInativo; 227 this.materialEstoqueInativo = materialEstoqueInativo;
229 } 228 }
230 229
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/MovimentoEstoque.java
@@ -9,11 +9,13 @@ import javax.persistence.FetchType; @@ -9,11 +9,13 @@ import javax.persistence.FetchType;
9 import javax.persistence.GeneratedValue; 9 import javax.persistence.GeneratedValue;
10 import javax.persistence.GenerationType; 10 import javax.persistence.GenerationType;
11 import javax.persistence.Id; 11 import javax.persistence.Id;
12 -import javax.persistence.JoinColumn;  
13 import javax.persistence.ManyToOne; 12 import javax.persistence.ManyToOne;
  13 +import javax.persistence.Table;
14 import javax.persistence.Temporal; 14 import javax.persistence.Temporal;
15 import javax.persistence.TemporalType; 15 import javax.persistence.TemporalType;
16 16
  17 +import org.hibernate.envers.Audited;
  18 +
17 import br.com.centralit.framework.json.JsonCalendarSimpleDateDeserializer; 19 import br.com.centralit.framework.json.JsonCalendarSimpleDateDeserializer;
18 import br.com.centralit.framework.json.JsonCalendarSimpleDateSerializer; 20 import br.com.centralit.framework.json.JsonCalendarSimpleDateSerializer;
19 import br.com.centralit.framework.json.Views; 21 import br.com.centralit.framework.json.Views;
@@ -25,38 +27,29 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -25,38 +27,29 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
25 import com.fasterxml.jackson.databind.annotation.JsonSerialize; 27 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
26 28
27 /** 29 /**
28 - * <p>  
29 - * <img src="http://centralit.com.br/images/logo_central.png">  
30 - * </p>  
31 - *  
32 - * <p>  
33 - * <b>Company: </b> Central IT - Governança Corporativa -  
34 - * </p> 30 + *
  31 + * <p><img src="http://centralit.com.br/images/logo_central.png"></p>
35 * 32 *
36 - * <p>  
37 - * <b>Title: </b>  
38 - * </p> 33 + * <p><b>Company: </b> Central IT - Governança Corporativa - </p>
39 * 34 *
40 - * <p>  
41 - * <b>Description: </b>  
42 - * </p> 35 + * <p><b>Title: </b></p>
43 * 36 *
44 - * <p>  
45 - * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>  
46 - * </p> 37 + * <p><b>Description: </b></p>
  38 + *
  39 + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p>
47 * 40 *
48 - * <p>  
49 - * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>  
50 - * </p>  
51 - *  
52 - * @since 21/05/2015 - 09:56:41 41 + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
  42 + *
  43 + * @since 29/04/2016 - 16:22:59
53 * 44 *
54 * @version 1.0.0 45 * @version 1.0.0
55 * 46 *
56 - * @author rogerio.costa 47 + * @author geovane.filho
57 * 48 *
58 */ 49 */
  50 +@Audited
59 @Entity 51 @Entity
  52 +@Table(name = "alm_me_movimentoestoque")
60 public class MovimentoEstoque extends PersistentObjectAuditOrganizacao { 53 public class MovimentoEstoque extends PersistentObjectAuditOrganizacao {
61 54
62 /** Atributo serialVersionUID. */ 55 /** Atributo serialVersionUID. */
@@ -66,73 +59,51 @@ public class MovimentoEstoque extends PersistentObjectAuditOrganizacao { @@ -66,73 +59,51 @@ public class MovimentoEstoque extends PersistentObjectAuditOrganizacao {
66 @Id 59 @Id
67 @GeneratedValue(strategy = GenerationType.AUTO) 60 @GeneratedValue(strategy = GenerationType.AUTO)
68 private Long id; 61 private Long id;
69 - 62 +
  63 + /** Atributo material. */
  64 + @ManyToOne(fetch = FetchType.LAZY, optional = false)
  65 + @JsonView({ Views.MaterialConsultaInfo.class })
  66 + private MaterialConsumo material;
  67 +
  68 + /** Atributo materialEstoque. */
  69 + @ManyToOne(fetch = FetchType.LAZY, optional = true)
  70 + private MaterialEstoque materialEstoque;
  71 +
  72 + /** Atributo materialLocalEstoque. */
  73 + @ManyToOne(fetch = FetchType.LAZY, optional = true)
  74 + private MaterialLocalEstoque materialLocalEstoque;
  75 +
70 /** Atributo dataMovimento. */ 76 /** Atributo dataMovimento. */
71 - @Column(name = "dataMovimento", nullable = true) 77 + @Column(name = "dataMovimento", nullable = false)
72 @Temporal(TemporalType.TIMESTAMP) 78 @Temporal(TemporalType.TIMESTAMP)
73 @JsonSerialize(using = JsonCalendarSimpleDateSerializer.class) 79 @JsonSerialize(using = JsonCalendarSimpleDateSerializer.class)
74 @JsonDeserialize(using = JsonCalendarSimpleDateDeserializer.class) 80 @JsonDeserialize(using = JsonCalendarSimpleDateDeserializer.class)
75 - @JsonView({ Views.MaterialConsultaInfo.class })  
76 private Calendar dataMovimento; 81 private Calendar dataMovimento;
77 - 82 +
78 /** Atributo quantidade. */ 83 /** Atributo quantidade. */
79 - @JsonView({ Views.MaterialConsultaInfo.class })  
80 private BigDecimal quantidade; 84 private BigDecimal quantidade;
81 85
82 /** Atributo valor. */ 86 /** Atributo valor. */
83 @Column(precision = 20, scale = 4) 87 @Column(precision = 20, scale = 4)
84 - @JsonView({ Views.MaterialConsultaInfo.class })  
85 private BigDecimal valorFIFO; 88 private BigDecimal valorFIFO;
86 89
87 /** Atributo valor. */ 90 /** Atributo valor. */
88 @Column(precision = 20, scale = 4) 91 @Column(precision = 20, scale = 4)
89 - @JsonView({ Views.MaterialConsultaInfo.class })  
90 private BigDecimal valorMedia; 92 private BigDecimal valorMedia;
91 93
92 /** Atributo tipoMovimento. */ 94 /** Atributo tipoMovimento. */
93 @ManyToOne(fetch = FetchType.LAZY, optional = false) 95 @ManyToOne(fetch = FetchType.LAZY, optional = false)
94 @JsonView({ Views.MaterialConsultaInfo.class }) 96 @JsonView({ Views.MaterialConsultaInfo.class })
95 private Dominio tipoMovimento; 97 private Dominio tipoMovimento;
96 -  
97 - /** Atributo localEstoque. */  
98 - @ManyToOne(fetch = FetchType.LAZY, optional = false)  
99 - @JsonView({ Views.MaterialConsultaInfo.class })  
100 - private LocalEstoque localEstoque;  
101 -  
102 - /** Atributo material. */  
103 - @ManyToOne(fetch = FetchType.LAZY, optional = false)  
104 - @JsonView({ Views.MaterialConsultaInfo.class })  
105 - private Material material;  
106 - 98 +
  99 + /** Atributo dominioClasseReferencia. */
107 @ManyToOne(fetch = FetchType.LAZY, optional = true) 100 @ManyToOne(fetch = FetchType.LAZY, optional = true)
108 - @JsonView({ Views.MaterialConsultaInfo.class })  
109 - private MaterialEstoqueSaldo materialEstoqueSaldo; 101 + private Dominio dominioClasseReferencia;
110 102
111 - /** Atributo baixaAlmoxarifado. */  
112 - @ManyToOne(fetch = FetchType.LAZY, optional = true)  
113 - @JsonView({ Views.MaterialConsultaInfo.class })  
114 - private BaixaAlmoxarifadoItem baixaAlmoxarifadoItem;  
115 -  
116 - /** Atributo devolucao. */  
117 - @ManyToOne(fetch = FetchType.LAZY, optional = true)  
118 - @JsonView({ Views.MaterialConsultaInfo.class })  
119 - private DevolucaoItem devolucaoItem;  
120 -  
121 - /** Atributo entrada. */  
122 - @ManyToOne(fetch = FetchType.LAZY, optional = true)  
123 - @JsonView({ Views.MaterialConsultaInfo.class })  
124 - private EntradaAlmoxarifadoItem entradaAlmoxarifadoItem;  
125 -  
126 - /** Atributo requisicao. */  
127 - @ManyToOne(fetch = FetchType.LAZY, optional = true)  
128 - @JoinColumn(name = "atendimentoreqconsumoitem_id")  
129 - @JsonView({ Views.MaterialConsultaInfo.class })  
130 - private AtendimentoRequisicaoConsumoItem atendimentoRequisicaoConsumoItem;  
131 -  
132 - /** Atributo materialEstoque. */  
133 - @ManyToOne(fetch = FetchType.LAZY, optional = true)  
134 - private MaterialEstoque materialEstoque; 103 + @Column()
  104 + private Long idClasseReferencia;
135 105
  106 +
136 /** 107 /**
137 * Responsável pela criação de novas instâncias desta classe. 108 * Responsável pela criação de novas instâncias desta classe.
138 */ 109 */
@@ -150,8 +121,7 @@ public class MovimentoEstoque extends PersistentObjectAuditOrganizacao { @@ -150,8 +121,7 @@ public class MovimentoEstoque extends PersistentObjectAuditOrganizacao {
150 * @param valorMedia 121 * @param valorMedia
151 * @param tipoMovimento 122 * @param tipoMovimento
152 */ 123 */
153 - public MovimentoEstoque(Calendar dataMovimento, BigDecimal quantidade, BigDecimal valorFIFO, BigDecimal valorMedia,  
154 - Dominio tipoMovimento) { 124 + public MovimentoEstoque( Calendar dataMovimento, BigDecimal quantidade, BigDecimal valorFIFO, BigDecimal valorMedia, Dominio tipoMovimento ) {
155 125
156 super(); 126 super();
157 this.dataMovimento = dataMovimento; 127 this.dataMovimento = dataMovimento;
@@ -169,41 +139,42 @@ public class MovimentoEstoque extends PersistentObjectAuditOrganizacao { @@ -169,41 +139,42 @@ public class MovimentoEstoque extends PersistentObjectAuditOrganizacao {
169 * @param valorFIFO 139 * @param valorFIFO
170 * @param valorMedia 140 * @param valorMedia
171 * @param tipoMovimento 141 * @param tipoMovimento
172 - * @param localEstoque 142 + * @param materialEstoque
173 * @param material 143 * @param material
174 */ 144 */
175 - public MovimentoEstoque(Calendar dataMovimento, BigDecimal quantidade, BigDecimal valorFIFO, BigDecimal valorMedia,  
176 - Dominio tipoMovimento, LocalEstoque localEstoque, Material material) { 145 + public MovimentoEstoque(Calendar dataMovimento, BigDecimal quantidade, BigDecimal valorFIFO, BigDecimal valorMedia, Dominio tipoMovimento, MaterialEstoque materialEstoque,
  146 + MaterialConsumo material) {
177 147
178 this(dataMovimento, quantidade, valorFIFO, valorMedia, tipoMovimento); 148 this(dataMovimento, quantidade, valorFIFO, valorMedia, tipoMovimento);
179 - this.localEstoque = localEstoque; 149 + this.materialEstoque = materialEstoque;
180 this.material = material; 150 this.material = material;
181 } 151 }
182 152
183 /** 153 /**
  154 + *
184 * Responsável pela criação de novas instâncias desta classe. 155 * Responsável pela criação de novas instâncias desta classe.
185 - *  
186 * @param dataMovimento 156 * @param dataMovimento
187 * @param quantidade 157 * @param quantidade
188 * @param valorFIFO 158 * @param valorFIFO
189 * @param valorMedia 159 * @param valorMedia
190 * @param tipoMovimento 160 * @param tipoMovimento
191 - * @param baixaAlmoxarifadoItem 161 + * @param classeReferencia
  162 + * @param idClasseReferencia
  163 + * @param materialEstoque
  164 + * @param material
192 */ 165 */
193 - public MovimentoEstoque(Calendar dataMovimento, BigDecimal quantidade, BigDecimal valorFIFO, BigDecimal valorMedia,  
194 - Dominio tipoMovimento, BaixaAlmoxarifadoItem baixaAlmoxarifadoItem, LocalEstoque localEstoque,  
195 - Material material, EntradaAlmoxarifadoItem entradaAlmoxarifadoItem) { 166 + public MovimentoEstoque(Calendar dataMovimento, BigDecimal quantidade, BigDecimal valorFIFO, BigDecimal valorMedia, Dominio tipoMovimento, Dominio classeReferencia, Long idClasseReferencia,
  167 + MaterialEstoque materialEstoque, MaterialConsumo material) {
196 168
197 this.dataMovimento = dataMovimento; 169 this.dataMovimento = dataMovimento;
198 this.quantidade = quantidade; 170 this.quantidade = quantidade;
199 this.valorFIFO = valorFIFO; 171 this.valorFIFO = valorFIFO;
200 this.valorMedia = valorMedia; 172 this.valorMedia = valorMedia;
201 this.tipoMovimento = tipoMovimento; 173 this.tipoMovimento = tipoMovimento;
202 - this.baixaAlmoxarifadoItem = baixaAlmoxarifadoItem;  
203 - this.localEstoque = localEstoque; 174 + this.materialEstoque = materialEstoque;
204 this.material = material; 175 this.material = material;
205 - this.entradaAlmoxarifadoItem = entradaAlmoxarifadoItem;  
206 - 176 + this.dominioClasseReferencia = classeReferencia;
  177 + this.idClasseReferencia = idClasseReferencia;
207 } 178 }
208 179
209 /** 180 /**
@@ -267,51 +238,11 @@ public class MovimentoEstoque extends PersistentObjectAuditOrganizacao { @@ -267,51 +238,11 @@ public class MovimentoEstoque extends PersistentObjectAuditOrganizacao {
267 } 238 }
268 239
269 /** 240 /**
270 - * Retorna o valor do atributo <code>atendimentoRequisicaoConsumoItem</code>  
271 - *  
272 - * @return <code>AtendimentoRequisicaoConsumoItem</code>  
273 - */  
274 - public AtendimentoRequisicaoConsumoItem getAtendimentoRequisicaoConsumoItem() {  
275 -  
276 - return atendimentoRequisicaoConsumoItem;  
277 - }  
278 -  
279 - /**  
280 - * Define o valor do atributo <code>atendimentoRequisicaoConsumoItem</code>.  
281 - *  
282 - * @param atendimentoRequisicaoConsumoItem  
283 - */  
284 - public void setAtendimentoRequisicaoConsumoItem(AtendimentoRequisicaoConsumoItem atendimentoRequisicaoConsumoItem) {  
285 -  
286 - this.atendimentoRequisicaoConsumoItem = atendimentoRequisicaoConsumoItem;  
287 - }  
288 -  
289 - /**  
290 - * Retorna o valor do atributo <code>localEstoque</code>  
291 - *  
292 - * @return <code>LocalEstoque</code>  
293 - */  
294 - public LocalEstoque getLocalEstoque() {  
295 -  
296 - return localEstoque;  
297 - }  
298 -  
299 - /**  
300 - * Define o valor do atributo <code>localEstoque</code>.  
301 - *  
302 - * @param localEstoque  
303 - */  
304 - public void setLocalEstoque(LocalEstoque localEstoque) {  
305 -  
306 - this.localEstoque = localEstoque;  
307 - }  
308 -  
309 - /**  
310 * Retorna o valor do atributo <code>material</code> 241 * Retorna o valor do atributo <code>material</code>
311 * 242 *
312 * @return <code>Material</code> 243 * @return <code>Material</code>
313 */ 244 */
314 - public Material getMaterial() { 245 + public MaterialConsumo getMaterial() {
315 246
316 return material; 247 return material;
317 } 248 }
@@ -321,7 +252,7 @@ public class MovimentoEstoque extends PersistentObjectAuditOrganizacao { @@ -321,7 +252,7 @@ public class MovimentoEstoque extends PersistentObjectAuditOrganizacao {
321 * 252 *
322 * @param material 253 * @param material
323 */ 254 */
324 - public void setMaterial(Material material) { 255 + public void setMaterial(MaterialConsumo material) {
325 256
326 this.material = material; 257 this.material = material;
327 } 258 }
@@ -347,131 +278,132 @@ public class MovimentoEstoque extends PersistentObjectAuditOrganizacao { @@ -347,131 +278,132 @@ public class MovimentoEstoque extends PersistentObjectAuditOrganizacao {
347 } 278 }
348 279
349 /** 280 /**
350 - * Retorna o valor do atributo <code>baixaAlmoxarifadoItem</code> 281 + * Retorna o valor do atributo <code>valorFIFO</code>
351 * 282 *
352 - * @return <code>BaixaAlmoxarifadoItem</code> 283 + * @return <code>BigDecimal</code>
353 */ 284 */
354 - public BaixaAlmoxarifadoItem getBaixaAlmoxarifadoItem() { 285 + public BigDecimal getValorFIFO() {
355 286
356 - return baixaAlmoxarifadoItem; 287 + return valorFIFO;
357 } 288 }
358 289
359 /** 290 /**
360 - * Define o valor do atributo <code>baixaAlmoxarifadoItem</code>. 291 + * Define o valor do atributo <code>valorFIFO</code>.
361 * 292 *
362 - * @param baixaAlmoxarifadoItem 293 + * @param valorFIFO
363 */ 294 */
364 - public void setBaixaAlmoxarifadoItem(BaixaAlmoxarifadoItem baixaAlmoxarifadoItem) { 295 + public void setValorFIFO(BigDecimal valorFIFO) {
365 296
366 - this.baixaAlmoxarifadoItem = baixaAlmoxarifadoItem; 297 + this.valorFIFO = valorFIFO;
367 } 298 }
368 299
369 /** 300 /**
370 - * Retorna o valor do atributo <code>devolucaoItem</code> 301 + * Retorna o valor do atributo <code>valorMedia</code>
371 * 302 *
372 - * @return <code>DevolucaoItem</code> 303 + * @return <code>BigDecimal</code>
373 */ 304 */
374 - public DevolucaoItem getDevolucaoItem() { 305 + public BigDecimal getValorMedia() {
375 306
376 - return devolucaoItem; 307 + return valorMedia;
377 } 308 }
378 309
379 /** 310 /**
380 - * Define o valor do atributo <code>devolucaoItem</code>. 311 + * Define o valor do atributo <code>valorMedia</code>.
381 * 312 *
382 - * @param devolucaoItem 313 + * @param valorMedia
383 */ 314 */
384 - public void setDevolucaoItem(DevolucaoItem devolucaoItem) { 315 + public void setValorMedia(BigDecimal valorMedia) {
385 316
386 - this.devolucaoItem = devolucaoItem; 317 + this.valorMedia = valorMedia;
387 } 318 }
388 319
  320 +
389 /** 321 /**
390 - * Retorna o valor do atributo <code>entradaAlmoxarifadoItem</code> 322 + * Retorna o valor do atributo <code>materialEstoque</code>
391 * 323 *
392 - * @return <code>EntradaAlmoxarifadoItem</code> 324 + * @return <code>MaterialEstoque</code>
393 */ 325 */
394 - public EntradaAlmoxarifadoItem getEntradaAlmoxarifadoItem() {  
395 -  
396 - return entradaAlmoxarifadoItem; 326 + public MaterialEstoque getMaterialEstoque() {
  327 +
  328 + return materialEstoque;
397 } 329 }
398 330
  331 +
399 /** 332 /**
400 - * Define o valor do atributo <code>entradaAlmoxarifadoItem</code>. 333 + * Define o valor do atributo <code>materialEstoque</code>.
401 * 334 *
402 - * @param entradaAlmoxarifadoItem 335 + * @param materialEstoque
403 */ 336 */
404 - public void setEntradaAlmoxarifadoItem(EntradaAlmoxarifadoItem entradaAlmoxarifadoItem) {  
405 -  
406 - this.entradaAlmoxarifadoItem = entradaAlmoxarifadoItem; 337 + public void setMaterialEstoque(MaterialEstoque materialEstoque) {
  338 +
  339 + this.materialEstoque = materialEstoque;
407 } 340 }
408 341
  342 +
409 /** 343 /**
410 - * Retorna o valor do atributo <code>materialEstoqueSaldo</code> 344 + * Retorna o valor do atributo <code>dominioClasseReferencia</code>
411 * 345 *
412 - * @return <code>MaterialEstoqueSaldo</code> 346 + * @return <code>Dominio</code>
413 */ 347 */
414 - public MaterialEstoqueSaldo getMaterialEstoqueSaldo() {  
415 -  
416 - return materialEstoqueSaldo; 348 + public Dominio getDominioClasseReferencia() {
  349 +
  350 + return dominioClasseReferencia;
417 } 351 }
418 352
  353 +
419 /** 354 /**
420 - * Define o valor do atributo <code>materialEstoqueSaldo</code>. 355 + * Define o valor do atributo <code>dominioClasseReferencia</code>.
421 * 356 *
422 - * @param materialEstoqueSaldo 357 + * @param dominioClasseReferencia
423 */ 358 */
424 - public void setMaterialEstoqueSaldo(MaterialEstoqueSaldo materialEstoqueSaldo) {  
425 -  
426 - this.materialEstoqueSaldo = materialEstoqueSaldo; 359 + public void setDominioClasseReferencia(Dominio dominioClasseReferencia) {
  360 +
  361 + this.dominioClasseReferencia = dominioClasseReferencia;
427 } 362 }
428 363
  364 +
429 /** 365 /**
430 - * Retorna o valor do atributo <code>valorFIFO</code> 366 + * Retorna o valor do atributo <code>idClasseReferencia</code>
431 * 367 *
432 - * @return <code>BigDecimal</code> 368 + * @return <code>Long</code>
433 */ 369 */
434 - public BigDecimal getValorFIFO() {  
435 -  
436 - return valorFIFO; 370 + public Long getIdClasseReferencia() {
  371 +
  372 + return idClasseReferencia;
437 } 373 }
438 374
  375 +
439 /** 376 /**
440 - * Define o valor do atributo <code>valorFIFO</code>. 377 + * Define o valor do atributo <code>idClasseReferencia</code>.
441 * 378 *
442 - * @param valorFIFO 379 + * @param idClasseReferencia
443 */ 380 */
444 - public void setValorFIFO(BigDecimal valorFIFO) {  
445 -  
446 - this.valorFIFO = valorFIFO; 381 + public void setIdClasseReferencia(Long idClasseReferencia) {
  382 +
  383 + this.idClasseReferencia = idClasseReferencia;
447 } 384 }
448 385
  386 +
449 /** 387 /**
450 - * Retorna o valor do atributo <code>valorMedia</code> 388 + * Retorna o valor do atributo <code>materialLocalEstoque</code>
451 * 389 *
452 - * @return <code>BigDecimal</code> 390 + * @return <code>MaterialLocalEstoque</code>
453 */ 391 */
454 - public BigDecimal getValorMedia() {  
455 -  
456 - return valorMedia; 392 + public MaterialLocalEstoque getMaterialLocalEstoque() {
  393 +
  394 + return materialLocalEstoque;
457 } 395 }
458 396
  397 +
459 /** 398 /**
460 - * Define o valor do atributo <code>valorMedia</code>. 399 + * Define o valor do atributo <code>materialLocalEstoque</code>.
461 * 400 *
462 - * @param valorMedia 401 + * @param materialLocalEstoque
463 */ 402 */
464 - public void setValorMedia(BigDecimal valorMedia) {  
465 -  
466 - this.valorMedia = valorMedia; 403 + public void setMaterialLocalEstoque(MaterialLocalEstoque materialLocalEstoque) {
  404 +
  405 + this.materialLocalEstoque = materialLocalEstoque;
467 } 406 }
468 407
469 - public MaterialEstoque getMaterialEstoque() {  
470 - return materialEstoque;  
471 - }  
472 -  
473 - public void setMaterialEstoque(MaterialEstoque materialEstoque) {  
474 - this.materialEstoque = materialEstoque;  
475 - }  
476 408
477 } 409 }
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/RequisicaoConsumo.java
@@ -12,6 +12,7 @@ import javax.persistence.GenerationType; @@ -12,6 +12,7 @@ import javax.persistence.GenerationType;
12 import javax.persistence.Id; 12 import javax.persistence.Id;
13 import javax.persistence.ManyToOne; 13 import javax.persistence.ManyToOne;
14 import javax.persistence.OneToMany; 14 import javax.persistence.OneToMany;
  15 +import javax.persistence.Table;
15 import javax.persistence.Temporal; 16 import javax.persistence.Temporal;
16 import javax.persistence.TemporalType; 17 import javax.persistence.TemporalType;
17 18
@@ -61,6 +62,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize; @@ -61,6 +62,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
61 * 62 *
62 */ 63 */
63 @Entity 64 @Entity
  65 +@Table(name="alm_requisicaoconsumo")
64 @JsonIgnoreProperties({"$checked"}) 66 @JsonIgnoreProperties({"$checked"})
65 public class RequisicaoConsumo extends PersistentObjectAuditOrganizacao { 67 public class RequisicaoConsumo extends PersistentObjectAuditOrganizacao {
66 68
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/RequisicaoConsumoItem.java
@@ -8,6 +8,7 @@ import javax.persistence.GeneratedValue; @@ -8,6 +8,7 @@ import javax.persistence.GeneratedValue;
8 import javax.persistence.GenerationType; 8 import javax.persistence.GenerationType;
9 import javax.persistence.Id; 9 import javax.persistence.Id;
10 import javax.persistence.ManyToOne; 10 import javax.persistence.ManyToOne;
  11 +import javax.persistence.Table;
11 12
12 import br.com.centralit.api.framework.json.ViewsAdmMateriais; 13 import br.com.centralit.api.framework.json.ViewsAdmMateriais;
13 import br.com.centralit.api.framework.json.ViewsAlmoxarifado; 14 import br.com.centralit.api.framework.json.ViewsAlmoxarifado;
@@ -52,6 +53,7 @@ import com.fasterxml.jackson.annotation.JsonView; @@ -52,6 +53,7 @@ import com.fasterxml.jackson.annotation.JsonView;
52 */ 53 */
53 @JsonIgnoreProperties({ "$quantidadeAtendida", "$quantidadeADevolver", "$TIPO_DECIMAL", "$index" }) 54 @JsonIgnoreProperties({ "$quantidadeAtendida", "$quantidadeADevolver", "$TIPO_DECIMAL", "$index" })
54 @Entity 55 @Entity
  56 +@Table(name="alm_rc_item")
55 public class RequisicaoConsumoItem extends PersistentObjectAuditOrganizacao { 57 public class RequisicaoConsumoItem extends PersistentObjectAuditOrganizacao {
56 58
57 /** Atributo serialVersionUID. */ 59 /** Atributo serialVersionUID. */
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/RequisicaoObservacao.java
@@ -3,6 +3,7 @@ package br.com.centralit.api.model; @@ -3,6 +3,7 @@ package br.com.centralit.api.model;
3 import javax.persistence.Entity; 3 import javax.persistence.Entity;
4 import javax.persistence.FetchType; 4 import javax.persistence.FetchType;
5 import javax.persistence.ManyToOne; 5 import javax.persistence.ManyToOne;
  6 +import javax.persistence.Table;
6 7
7 /** 8 /**
8 * <p> 9 * <p>
@@ -37,6 +38,7 @@ import javax.persistence.ManyToOne; @@ -37,6 +38,7 @@ import javax.persistence.ManyToOne;
37 * 38 *
38 */ 39 */
39 @Entity 40 @Entity
  41 +@Table(name="alm_rc_observacao")
40 public class RequisicaoObservacao extends Observacao { 42 public class RequisicaoObservacao extends Observacao {
41 43
42 /** Atributo serialVersionUID. */ 44 /** Atributo serialVersionUID. */
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/LocalEstoqueService.java
@@ -1,36 +0,0 @@ @@ -1,36 +0,0 @@
1 -package br.com.centralit.api.service;  
2 -  
3 -import br.com.centralit.api.model.EstruturaOrganizacional;  
4 -import br.com.centralit.api.model.LocalEstoque;  
5 -import br.com.centralit.framework.service.arquitetura.GenericService;  
6 -  
7 -public interface LocalEstoqueService extends GenericService<LocalEstoque, Long> {  
8 -  
9 - /**  
10 - * Método responsável por  
11 - *  
12 - * @author wilker.machado  
13 - *  
14 - * @param almoxarifado  
15 - * @return  
16 - */  
17 - LocalEstoque buscarLocalEstoque(EstruturaOrganizacional almoxarifado);  
18 -  
19 - /**  
20 - * <p>  
21 - * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>  
22 - * </p>  
23 - *  
24 - * <p>  
25 - * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>  
26 - * </p>  
27 - *  
28 - * Método responsável por salvar local estoque almoxarifado  
29 - *  
30 - * @author rogerio.cassimiro  
31 - *  
32 - * @param idEstruturaAlmoxarifado  
33 - * @return LocalEstoque  
34 - */  
35 - LocalEstoque saveLocalEstoqueAlmoxarifado(String idEstruturaAlmoxarifado);  
36 -}  
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/MaterialEstoqueSaldoMedioService.java
@@ -1,144 +0,0 @@ @@ -1,144 +0,0 @@
1 -/**  
2 - *  
3 - */  
4 -package br.com.centralit.api.service;  
5 -  
6 -import java.math.BigDecimal;  
7 -  
8 -import br.com.centralit.api.model.Material;  
9 -import br.com.centralit.api.model.MaterialConsumo;  
10 -import br.com.centralit.api.model.MaterialEstoqueSaldoMedio;  
11 -import br.com.centralit.framework.service.arquitetura.GenericService;  
12 -  
13 -/**  
14 - * <p>  
15 - * <img src="http://centralit.com.br/images/logo_central.png">  
16 - * </p>  
17 - *  
18 - * <p>  
19 - * <b>Company: </b> Central IT - Governança Corporativa -  
20 - * </p>  
21 - *  
22 - * <p>  
23 - * <b>Title: </b>  
24 - * </p>  
25 - *  
26 - * <p>  
27 - * <b>Description: </b>  
28 - * </p>  
29 - *  
30 - * @since 23/06/2015 - 17:51:55  
31 - *  
32 - * @version 1.0.0  
33 - *  
34 - * @author geovane.filho  
35 - *  
36 - */  
37 -public interface MaterialEstoqueSaldoMedioService extends GenericService<MaterialEstoqueSaldoMedio, Long> {  
38 -  
39 - /**  
40 - * <p>  
41 - * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>  
42 - * </p>  
43 - *  
44 - * <p>  
45 - * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>  
46 - * </p>  
47 - *  
48 - * Método responsável por atualizar o saldo do estoque de um material  
49 - *  
50 - * @author geovane.filho  
51 - *  
52 - * @param material Material a se atualizar o saldo médio do estoque  
53 - * @param quantidade Quantidade de material a se adicionar  
54 - * @param valorTotal Valor total dos materiais que estão sendo adicionados  
55 - */  
56 - public void atualizaMaterialEstoque(Material material, BigDecimal quantidade, BigDecimal valorTotal);  
57 -  
58 - /**  
59 - * <p>  
60 - * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>  
61 - * </p>  
62 - *  
63 - * <p>  
64 - * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>  
65 - * </p>  
66 - *  
67 - * Método responsável por trazer o estoque atual de material baseado na análise de estoque por Média Móvel.  
68 - *  
69 - * @author geovane.filho  
70 - *  
71 - * @param material Material a se buscar o estoque atual.  
72 - * @return  
73 - */  
74 - public MaterialEstoqueSaldoMedio findByMaterial(Material material);  
75 -  
76 - /**  
77 - * <p>  
78 - * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>  
79 - * </p>  
80 - *  
81 - * <p>  
82 - * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>  
83 - * </p>  
84 - *  
85 - * Método responsável por realizar um movimento de saida no saldo de estoque baseado na análise de estoque por média móvel.  
86 - *  
87 - * @author geovane.filho  
88 - *  
89 - * @param materialConsumo Material a se buscar o valor a ser movimentado pela analise de estoque baseado na Média Móvel.  
90 - * @param quantidadeMovimentada Quantidade de material sendo movimentado.  
91 - *  
92 - * @return Valor monetário da quantidade movimentada na saida.  
93 - */  
94 - public BigDecimal realizaMovimentoSaida(MaterialConsumo materialConsumo, BigDecimal quantidadeMovimentada);  
95 -  
96 - /**  
97 - * <p>  
98 - * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>  
99 - * </p>  
100 - *  
101 - * <p>  
102 - * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>  
103 - * </p>  
104 - *  
105 - * Método responsável por realizar um movimento de devolução no saldo de estoque baseado na análise de estoque por média móvel.  
106 - *  
107 - * @author geovane.filho  
108 - *  
109 - * @param materialConsumo Material a se buscar o valor a ser movimentado pela analise de estoque baseado na Média Móvel.  
110 - * @param quantidadeMovimentada Quantidade de material sendo movimentado.  
111 - *  
112 - * @return Valor monetário da quantidade movimentada na devolução.  
113 - */  
114 - public BigDecimal realizaMovimentoDevolucao(MaterialConsumo materialConsumo, BigDecimal quantidadeMovimentada);  
115 -  
116 - /**  
117 - * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">2485</a></p>  
118 - *  
119 - * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>  
120 - *  
121 - * Método responsável por buscar o valor unitario do material na quando o sistema esta configurado para trabalhar com a media movel  
122 - *  
123 - * @author juliana.barbosa  
124 - *  
125 - * @param materialId  
126 - * @return  
127 - */  
128 - public BigDecimal buscaValorUnitario(Long materialId);  
129 -  
130 - /**  
131 - * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">2485</a></p>  
132 - *  
133 - * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>  
134 - *  
135 - * Método responsável por buscar o resto do material na quando o sistema esta configurado para trabalhar com a media movel  
136 - *  
137 - * @author juliana.barbosa  
138 - *  
139 - * @param materialId  
140 - * @return  
141 - */  
142 - public BigDecimal buscaValorResto(Long materialId);  
143 -  
144 -}  
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/MaterialEstoqueService.java 0 → 100644
@@ -0,0 +1,8 @@ @@ -0,0 +1,8 @@
  1 +package br.com.centralit.api.service;
  2 +
  3 +import br.com.centralit.api.model.MaterialEstoque;
  4 +import br.com.centralit.framework.service.arquitetura.GenericService;
  5 +
  6 +public interface MaterialEstoqueService extends GenericService<MaterialEstoque, Long> {
  7 +
  8 +}
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/MaterialLocalEstoqueService.java 0 → 100644
@@ -0,0 +1,18 @@ @@ -0,0 +1,18 @@
  1 +package br.com.centralit.api.service;
  2 +
  3 +import br.com.centralit.api.model.EstruturaOrganizacional;
  4 +import br.com.centralit.api.model.MaterialLocalEstoque;
  5 +import br.com.centralit.framework.service.arquitetura.GenericService;
  6 +
  7 +public interface MaterialLocalEstoqueService extends GenericService<MaterialLocalEstoque, Long> {
  8 +
  9 + /**
  10 + * Método responsável por
  11 + *
  12 + * @author wilker.machado
  13 + *
  14 + * @param almoxarifado
  15 + * @return
  16 + */
  17 + MaterialLocalEstoque buscarLocalEstoque(EstruturaOrganizacional almoxarifado);
  18 +}
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/MovimentoEstoqueService.java
@@ -2,6 +2,7 @@ package br.com.centralit.api.service; @@ -2,6 +2,7 @@ package br.com.centralit.api.service;
2 2
3 import java.math.BigDecimal; 3 import java.math.BigDecimal;
4 import java.util.Calendar; 4 import java.util.Calendar;
  5 +import java.util.Collection;
5 import java.util.List; 6 import java.util.List;
6 7
7 import br.com.centralit.api.model.AtendimentoRequisicaoConsumo; 8 import br.com.centralit.api.model.AtendimentoRequisicaoConsumo;
@@ -13,6 +14,7 @@ import br.com.centralit.api.model.EntradaAlmoxarifado; @@ -13,6 +14,7 @@ import br.com.centralit.api.model.EntradaAlmoxarifado;
13 import br.com.centralit.api.model.EstruturaOrganizacional; 14 import br.com.centralit.api.model.EstruturaOrganizacional;
14 import br.com.centralit.api.model.MaterialConsumo; 15 import br.com.centralit.api.model.MaterialConsumo;
15 import br.com.centralit.api.model.MovimentoEstoque; 16 import br.com.centralit.api.model.MovimentoEstoque;
  17 +import br.com.centralit.framework.model.Dominio;
16 import br.com.centralit.framework.model.arquitetura.PersistentObjectAudit; 18 import br.com.centralit.framework.model.arquitetura.PersistentObjectAudit;
17 import br.com.centralit.framework.service.arquitetura.GenericService; 19 import br.com.centralit.framework.service.arquitetura.GenericService;
18 20
@@ -192,4 +194,19 @@ public interface MovimentoEstoqueService extends GenericService&lt;MovimentoEstoque @@ -192,4 +194,19 @@ public interface MovimentoEstoqueService extends GenericService&lt;MovimentoEstoque
192 */ 194 */
193 public void removerMovimentosDevolucao(DevolucaoItem entity); 195 public void removerMovimentosDevolucao(DevolucaoItem entity);
194 196
  197 + /**
  198 + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p>
  199 + *
  200 + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
  201 + *
  202 + * Método responsável por buscar todos os movimentos por classe de referencia e ID
  203 + *
  204 + * @author geovane.filho
  205 + *
  206 + * @param classeReferencia
  207 + * @param idReferencia
  208 + * @return
  209 + */
  210 + public Collection<MovimentoEstoque> findAllByClasseReferencia(Dominio classeReferencia, Long idReferencia);
  211 +
195 } 212 }
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/BaixaAlmoxarifadoItemServiceImpl.java
@@ -12,7 +12,7 @@ import org.springframework.validation.Validator; @@ -12,7 +12,7 @@ import org.springframework.validation.Validator;
12 import br.com.centralit.api.dao.BaixaAlmoxarifadoItemDao; 12 import br.com.centralit.api.dao.BaixaAlmoxarifadoItemDao;
13 import br.com.centralit.api.model.BaixaAlmoxarifado; 13 import br.com.centralit.api.model.BaixaAlmoxarifado;
14 import br.com.centralit.api.model.BaixaAlmoxarifadoItem; 14 import br.com.centralit.api.model.BaixaAlmoxarifadoItem;
15 -import br.com.centralit.api.model.DominioAlmoxarifado; 15 +import br.com.centralit.api.model.DominioMaterial;
16 import br.com.centralit.api.model.MovimentoEstoque; 16 import br.com.centralit.api.model.MovimentoEstoque;
17 import br.com.centralit.api.service.BaixaAlmoxarifadoItemService; 17 import br.com.centralit.api.service.BaixaAlmoxarifadoItemService;
18 import br.com.centralit.api.service.BaixaAlmoxarifadoService; 18 import br.com.centralit.api.service.BaixaAlmoxarifadoService;
@@ -122,10 +122,13 @@ public class BaixaAlmoxarifadoItemServiceImpl extends GenericServiceImpl&lt;BaixaAl @@ -122,10 +122,13 @@ public class BaixaAlmoxarifadoItemServiceImpl extends GenericServiceImpl&lt;BaixaAl
122 baixaAlmoxarifadoItem = this.getReference(baixaAlmoxarifadoItem.getId()); 122 baixaAlmoxarifadoItem = this.getReference(baixaAlmoxarifadoItem.getId());
123 123
124 baixaAlmoxarifadoItem.setDataEstorno(dataEstorno); 124 baixaAlmoxarifadoItem.setDataEstorno(dataEstorno);
  125 +
  126 + Dominio classeReferencia = this.dominioService.findByChaveAndCodigo(DominioMaterial.CLASSE_REFERENCIA, DominioMaterial.REFERENCIA_BAIXA_ALMOXARIFADO_ITEM);
  127 + Collection<MovimentoEstoque> movimentos = this.movimentoEstoqueService.findAllByClasseReferencia(classeReferencia, baixaAlmoxarifadoItem.getId());
125 128
126 - if (!UtilColecao.isVazio(baixaAlmoxarifadoItem.getMovimentos())) { 129 + if (!UtilColecao.isVazio(movimentos)) {
127 130
128 - this.movimentoEstoqueService.removeList((List<MovimentoEstoque>) baixaAlmoxarifadoItem.getMovimentos()); 131 + this.movimentoEstoqueService.removeList((List<MovimentoEstoque>) movimentos);
129 132
130 } 133 }
131 this.contaContabilMovimentoService.removerMovimentosBaixa(baixaAlmoxarifadoItem.getId()); 134 this.contaContabilMovimentoService.removerMovimentosBaixa(baixaAlmoxarifadoItem.getId());
@@ -197,12 +200,16 @@ public class BaixaAlmoxarifadoItemServiceImpl extends GenericServiceImpl&lt;BaixaAl @@ -197,12 +200,16 @@ public class BaixaAlmoxarifadoItemServiceImpl extends GenericServiceImpl&lt;BaixaAl
197 200
198 @Override 201 @Override
199 public void removeList(List<BaixaAlmoxarifadoItem> listEntity) { 202 public void removeList(List<BaixaAlmoxarifadoItem> listEntity) {
  203 +
  204 + Dominio classeReferencia = this.dominioService.findByChaveAndCodigo(DominioMaterial.CLASSE_REFERENCIA, DominioMaterial.REFERENCIA_BAIXA_ALMOXARIFADO_ITEM);
200 205
201 for (BaixaAlmoxarifadoItem baixaAlmoxarifadoItem : listEntity) { 206 for (BaixaAlmoxarifadoItem baixaAlmoxarifadoItem : listEntity) {
  207 +
  208 + Collection<MovimentoEstoque> movimentos = this.movimentoEstoqueService.findAllByClasseReferencia(classeReferencia, baixaAlmoxarifadoItem.getId());
202 209
203 - if (!UtilColecao.isVazio(baixaAlmoxarifadoItem.getMovimentos())) { 210 + if (!UtilColecao.isVazio(movimentos)) {
204 211
205 - this.movimentoEstoqueService.removeList((List<MovimentoEstoque>) baixaAlmoxarifadoItem.getMovimentos()); 212 + this.movimentoEstoqueService.removeList((List<MovimentoEstoque>) movimentos);
206 } 213 }
207 this.contaContabilMovimentoService.removerMovimentosBaixa(baixaAlmoxarifadoItem.getId()); 214 this.contaContabilMovimentoService.removerMovimentosBaixa(baixaAlmoxarifadoItem.getId());
208 } 215 }
@@ -212,12 +219,16 @@ public class BaixaAlmoxarifadoItemServiceImpl extends GenericServiceImpl&lt;BaixaAl @@ -212,12 +219,16 @@ public class BaixaAlmoxarifadoItemServiceImpl extends GenericServiceImpl&lt;BaixaAl
212 219
213 @Override 220 @Override
214 public boolean removeById(Long id) { 221 public boolean removeById(Long id) {
  222 +
  223 + Dominio classeReferencia = this.dominioService.findByChaveAndCodigo(DominioMaterial.CLASSE_REFERENCIA, DominioMaterial.REFERENCIA_BAIXA_ALMOXARIFADO_ITEM);
215 224
216 BaixaAlmoxarifadoItem baixaAlmoxarifadoItem = this.find(id); 225 BaixaAlmoxarifadoItem baixaAlmoxarifadoItem = this.find(id);
  226 +
  227 + Collection<MovimentoEstoque> movimentos = this.movimentoEstoqueService.findAllByClasseReferencia(classeReferencia, baixaAlmoxarifadoItem.getId());
217 228
218 - if (!UtilColecao.isVazio(baixaAlmoxarifadoItem.getMovimentos())) { 229 + if (!UtilColecao.isVazio(movimentos)) {
219 230
220 - this.movimentoEstoqueService.removeList((List<MovimentoEstoque>) baixaAlmoxarifadoItem.getMovimentos()); 231 + this.movimentoEstoqueService.removeList((List<MovimentoEstoque>) movimentos);
221 } 232 }
222 233
223 this.contaContabilMovimentoService.removerMovimentosBaixa(id); 234 this.contaContabilMovimentoService.removerMovimentosBaixa(id);
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/BaixaAlmoxarifadoServiceImpl.java
1 -package br.com.centralit.api.service.impl;  
2 -  
3 -import java.math.BigDecimal;  
4 -import java.util.List;  
5 -  
6 -import org.springframework.beans.factory.annotation.Autowired;  
7 -import org.springframework.beans.factory.annotation.Qualifier;  
8 -import org.springframework.stereotype.Service;  
9 -import org.springframework.validation.Validator;  
10 -  
11 -import br.com.centralit.api.dao.BaixaAlmoxarifadoDao;  
12 -import br.com.centralit.api.model.BaixaAlmoxarifado;  
13 -import br.com.centralit.api.model.BaixaAlmoxarifadoItem;  
14 -import br.com.centralit.api.model.BaixaDocumento;  
15 -import br.com.centralit.api.model.BaixaObservacao;  
16 -import br.com.centralit.api.model.DominioAlmoxarifado;  
17 -import br.com.centralit.api.service.BaixaAlmoxarifadoItemService;  
18 -import br.com.centralit.api.service.BaixaAlmoxarifadoService;  
19 -import br.com.centralit.api.service.ConfiguracaoParametroSistemaService;  
20 -import br.com.centralit.api.service.DominioService;  
21 -import br.com.centralit.api.service.EntradaAlmoxarifadoItemService;  
22 -import br.com.centralit.api.service.EstruturaOrganizacionalService;  
23 -import br.com.centralit.api.service.InternacionalizacaoService;  
24 -import br.com.centralit.api.service.MaterialConsumoService;  
25 -import br.com.centralit.api.service.MaterialEstoqueSaldoMedioService;  
26 -import br.com.centralit.api.service.MovimentoEstoqueService;  
27 -import br.com.centralit.api.service.ParceiroService;  
28 -import br.com.centralit.api.service.RequisicaoConsumoService;  
29 -import br.com.centralit.api.service.UsuarioService;  
30 -import br.com.centralit.framework.exception.BusinessException;  
31 -import br.com.centralit.framework.exception.CodigoErro;  
32 -import br.com.centralit.framework.model.Dominio;  
33 -import br.com.centralit.framework.service.arquitetura.GenericServiceImpl;  
34 -import br.com.centralit.framework.util.UtilColecao;  
35 -import br.com.centralit.framework.util.UtilObjeto;  
36 -  
37 -/**  
38 - * <p>  
39 - * <img src="http://centralit.com.br/images/logo_central.png">  
40 - * </p>  
41 - *  
42 - * <p>  
43 - * <b>Company: </b> Central IT - Governança Corporativa -  
44 - * </p>  
45 - *  
46 - * <p>  
47 - * <b>Title: </b>  
48 - * </p>  
49 - *  
50 - * <p>  
51 - * <b>Description: </b>  
52 - * </p>  
53 - *  
54 - * <p>  
55 - * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>  
56 - * </p>  
57 - *  
58 - * <p>  
59 - * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>  
60 - * </p>  
61 - *  
62 - * @since 18/06/2015 - 17:40:42  
63 - *  
64 - * @version 1.0.0  
65 - *  
66 - * @author rogerio.costa  
67 - *  
68 - */  
69 -@Service("baixaAlmoxarifadoService")  
70 -public class BaixaAlmoxarifadoServiceImpl extends GenericServiceImpl<BaixaAlmoxarifado, Long> implements BaixaAlmoxarifadoService {  
71 -  
72 - private static final String VALIDACAO_QUANTIDADE_SUPERIOR_SALDO = "VALIDACAO.QUANTIDADE_SUPERIOR_SALDO";  
73 -  
74 - private static final String VALIDACAO_REMOCAO_BAIXA_ALMOXARIFADO = "VALIDACAO.REMOCAO_EDICAO_BAIXA_ALMOXARIFADO";  
75 -  
76 - /** Atributo baixaAlmoxarifadoDao. */  
77 - private final BaixaAlmoxarifadoDao baixaAlmoxarifadoDao;  
78 -  
79 - /** Atributo parceiroService. */  
80 - @Autowired  
81 - private ParceiroService parceiroService;  
82 -  
83 - /** Atributo dominioService. */  
84 - @Autowired  
85 - private DominioService dominioService;  
86 -  
87 - /** Atributo usuarioService. */  
88 - @Autowired  
89 - private UsuarioService usuarioService;  
90 -  
91 - /** Atributo usuarioService. */  
92 - @Autowired  
93 - private MaterialConsumoService materialConsumoService;  
94 -  
95 - /** Atributo movimentoEstoqueService. */  
96 - @Autowired  
97 - private MovimentoEstoqueService movimentoEstoqueService;  
98 -  
99 - /** Atributo estruturaOrganizacionalService. */  
100 - @Autowired  
101 - private EstruturaOrganizacionalService estruturaOrganizacionalService;  
102 -  
103 - /** Atributo requisicaoConsumoService. */  
104 - @Autowired  
105 - private RequisicaoConsumoService requisicaoConsumoService;  
106 -  
107 - /** Atributo baixaAlmoxarifadoItemService. */  
108 - @Autowired  
109 - private BaixaAlmoxarifadoItemService baixaAlmoxarifadoItemService;  
110 -  
111 - @Autowired  
112 - private EntradaAlmoxarifadoItemService entradaAlmoxarifadoItemService;  
113 -  
114 - @Autowired  
115 - private MaterialEstoqueSaldoMedioService materialEstoqueSaldoMedioService;  
116 -  
117 - @Autowired  
118 - private ConfiguracaoParametroSistemaService configuracaoParametroSistemaService;  
119 -  
120 - @Autowired  
121 - private InternacionalizacaoService internacionalizacaoService;  
122 -  
123 - private Dominio idioma;  
124 -  
125 - @Autowired  
126 - public BaixaAlmoxarifadoServiceImpl( final BaixaAlmoxarifadoDao baixaAlmoxarifadoDao, @Qualifier("baixaAlmoxarifadoValidator") final Validator validator ) {  
127 -  
128 - this.dao = baixaAlmoxarifadoDao;  
129 - this.baixaAlmoxarifadoDao = baixaAlmoxarifadoDao;  
130 - this.validator = validator;  
131 - }  
132 -  
133 - @Override  
134 - public BaixaAlmoxarifado save(BaixaAlmoxarifado entity) {  
135 -  
136 - this.validarEntidade(entity, this.validator);  
137 -  
138 - this.montarObjetoBaixa(entity);  
139 -  
140 - entity = super.save(entity);  
141 -  
142 - configurarNumeroBaixa(entity);  
143 -  
144 - salvaTotaisBaixaItem(entity);  
145 -  
146 - entity = super.save(entity);  
147 -  
148 - //Esse metodo gera os movimentos no estoque no contabil  
149 - this.movimentoEstoqueService.gerarMovimentoBaixa(entity);  
150 -  
151 - return entity;  
152 - }  
153 -  
154 - @Override  
155 - public BaixaAlmoxarifado merge(BaixaAlmoxarifado entity) {  
156 -  
157 - this.validarEntidade(entity, this.validator);  
158 -  
159 - this.montarObjetoBaixa(entity);  
160 -  
161 - salvaTotaisBaixaItem(entity);  
162 -  
163 - entity = super.merge(entity);  
164 -  
165 - this.movimentoEstoqueService.atualizarMovimentoBaixa(entity);  
166 -  
167 - return entity;  
168 - }  
169 -  
170 - /**  
171 - * <p>  
172 - * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>  
173 - * </p>  
174 - *  
175 - * <p>  
176 - * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>  
177 - * </p>  
178 - *  
179 - * Método responsável por estornar a baixa  
180 - *  
181 - * @author rogerio.costa  
182 - *  
183 - * @return  
184 - */  
185 - @Override  
186 - public void estornar(final BaixaAlmoxarifado baixaAlmoxarifado) {  
187 -  
188 - this.baixaAlmoxarifadoItemService.estornarItens(baixaAlmoxarifado.getBaixaItens());  
189 -  
190 - }  
191 -  
192 - /**  
193 - * <p>  
194 - * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>  
195 - * </p>  
196 - *  
197 - * <p>  
198 - * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>  
199 - * </p>  
200 - *  
201 - * Método responsável por  
202 - *  
203 - * @author rogerio.costa  
204 - *  
205 - * @param baixa  
206 - */  
207 - private void montarObjetoBaixa(final BaixaAlmoxarifado baixa) {  
208 -  
209 - baixa.setDominioSituacaoEstorno(this.dominioService.findByChaveAndCodigo(Dominio.TIPO_STATUS_BAIXA_ESTORNO, Dominio.TIPO_STATUS_SEM_ESTORNO));  
210 -  
211 - // pode existir ou nao o destino, caso exista retira o erro de transient  
212 - if (UtilObjeto.isReferencia(baixa.getDestino())) {  
213 -  
214 - baixa.setDestino(this.parceiroService.find(baixa.getDestino().getId()));  
215 - }  
216 -  
217 - // pode existir ou nao o portador, caso exista retira o erro de transient  
218 - if (UtilObjeto.isReferencia(baixa.getAlmoxarifado())) {  
219 -  
220 - baixa.setAlmoxarifado(this.estruturaOrganizacionalService.find(baixa.getAlmoxarifado().getId()));  
221 - }  
222 -  
223 - Dominio dominioTipoBaixa = this.dominioService.findByChaveAndNome(Dominio.TIPO_BAIXA_ALMOXARIFADO, baixa.getDominioTipoBaixa().getNome());  
224 -  
225 - baixa.setDominioTipoBaixa(UtilObjeto.isReferencia(dominioTipoBaixa) ? dominioTipoBaixa : baixa.getDominioTipoBaixa());  
226 -  
227 - // cria vinculo da baixa com as observações  
228 -  
229 - if (UtilObjeto.isReferencia(baixa.getObservacoes())) {  
230 -  
231 - for (final BaixaObservacao obs : baixa.getObservacoes()) {  
232 -  
233 - obs.setAutor(this.usuarioService.find(obs.getAutor().getId()));  
234 -  
235 - obs.setBaixa(baixa);  
236 - }  
237 - }  
238 -  
239 - // cria vinculo da baixa com aos documentos  
240 - if (UtilObjeto.isReferencia(baixa.getDocumentos())) {  
241 -  
242 - for (final BaixaDocumento doc : baixa.getDocumentos()) {  
243 -  
244 - doc.setDominioTipoDocumento(this.dominioService.find(doc.getDominioTipoDocumento().getId()));  
245 -  
246 - if (UtilObjeto.isReferencia(doc.getEmitente())) {  
247 -  
248 - doc.setEmitente(this.parceiroService.find(doc.getEmitente().getId()));  
249 - }  
250 -  
251 - doc.setBaixa(baixa);  
252 -  
253 - }  
254 - }  
255 -  
256 - if (!UtilColecao.isVazio(baixa.getBaixaItens())) {  
257 -  
258 - // cria vinculo da baixa com as baixaItens  
259 - for (final BaixaAlmoxarifadoItem baixaItem : baixa.getBaixaItens()) {  
260 -  
261 - this.validarQtdItemAlmoxarifado(baixaItem);  
262 -  
263 - baixaItem.setBaixaAlmoxarifado(baixa);  
264 -  
265 - baixaItem.setMaterialConsumo(this.materialConsumoService.getReference(baixaItem.getMaterialConsumo().getId()));  
266 - }  
267 - }  
268 -  
269 - if(UtilObjeto.isReferencia(baixa.getId()) && baixa.getOrganizacao() == null){  
270 - baixa.setOrganizacao(this.find(baixa.getId()).getOrganizacao());  
271 - }  
272 -  
273 - }  
274 -  
275 - /**  
276 - * <p>  
277 - * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>  
278 - * </p>  
279 - *  
280 - * <p>  
281 - * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>  
282 - * </p>  
283 - *  
284 - * Método responsável por validara qtd do itemAlmoxarifado  
285 - *  
286 - * @author rogerio.costa  
287 - *  
288 - * @param baixaItem  
289 - */  
290 - private void validarQtdItemAlmoxarifado(final BaixaAlmoxarifadoItem baixaItem) {  
291 -  
292 - if (UtilObjeto.isReferencia(baixaItem.getId())) {  
293 -  
294 - final BaixaAlmoxarifadoItem itemAtual = this.baixaAlmoxarifadoItemService.getReference(baixaItem.getId());  
295 -  
296 - if (itemAtual.getQuantidade().compareTo(baixaItem.getQtdEstoque()) > 0 && baixaItem.getQuantidade().compareTo(itemAtual.getQuantidade()) > 0) {  
297 -  
298 - if (itemAtual.getQuantidade().add(baixaItem.getQtdEstoque()).compareTo(baixaItem.getQuantidade()) > 0) {  
299 -  
300 - throw new BusinessException(this.internacionalizacaoService.getTranslate(BaixaAlmoxarifadoServiceImpl.VALIDACAO_QUANTIDADE_SUPERIOR_SALDO, this.getIdioma()), CodigoErro.REGRA_NEGOCIO.getValue());  
301 -  
302 - } else {  
303 - if (baixaItem.getQuantidade().compareTo(itemAtual.getQuantidade().add(baixaItem.getQtdEstoque())) > 0) {  
304 -  
305 - throw new BusinessException(this.internacionalizacaoService.getTranslate(BaixaAlmoxarifadoServiceImpl.VALIDACAO_QUANTIDADE_SUPERIOR_SALDO, this.getIdioma()), CodigoErro.REGRA_NEGOCIO.getValue());  
306 - }  
307 - }  
308 - } else if (baixaItem.getQuantidade().compareTo(baixaItem.getQtdEstoque()) > 0 && baixaItem.getQuantidade().compareTo(itemAtual.getQuantidade().add(baixaItem.getQtdEstoque())) > 0) {  
309 -  
310 - throw new BusinessException(this.internacionalizacaoService.getTranslate(BaixaAlmoxarifadoServiceImpl.VALIDACAO_QUANTIDADE_SUPERIOR_SALDO, this.getIdioma()), CodigoErro.REGRA_NEGOCIO.getValue());  
311 - }  
312 - } else {  
313 -  
314 - if (baixaItem.getQuantidade().compareTo(baixaItem.getQtdEstoque()) > 0) {  
315 -  
316 - throw new BusinessException(this.internacionalizacaoService.getTranslate(BaixaAlmoxarifadoServiceImpl.VALIDACAO_QUANTIDADE_SUPERIOR_SALDO, this.getIdioma()), CodigoErro.REGRA_NEGOCIO.getValue());  
317 - }  
318 - }  
319 - }  
320 -  
321 - @Override  
322 - public boolean removeById(final Long id) {  
323 -  
324 - this.verificarVinculoRequisicaoPosteriorRemocao(id);  
325 -  
326 - final BaixaAlmoxarifado baixaAlmoxarifado = this.getReference(id);  
327 -  
328 - this.baixaAlmoxarifadoItemService.removeList((List<BaixaAlmoxarifadoItem>) baixaAlmoxarifado.getBaixaItens());  
329 -  
330 - return super.removeById(id);  
331 - }  
332 -  
333 - /**  
334 - * <p>  
335 - * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>  
336 - * </p>  
337 - *  
338 - * <p>  
339 - * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>  
340 - * </p>  
341 - *  
342 - * Método responsável por  
343 - *  
344 - * @author rogerio.costa  
345 - *  
346 - * @param entity  
347 - */  
348 - @Override  
349 - public void obterQtdEstoque(final BaixaAlmoxarifado entity) {  
350 -  
351 - this.baixaAlmoxarifadoItemService.obterQtdEstoque(entity.getBaixaItens());  
352 -  
353 - }  
354 -  
355 - /**  
356 - * <p>  
357 - * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>  
358 - * </p>  
359 - *  
360 - * <p>  
361 - * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>  
362 - * </p>  
363 - *  
364 - * Método responsável por  
365 - *  
366 - * @author rogerio.costa  
367 - *  
368 - */  
369 - @Override  
370 - public void verificarVinculoRequisicaoPosteriorRemocao(final Long idBaixa) {  
371 -  
372 - final BaixaAlmoxarifado baixaAlmoxarifado = this.getReference(idBaixa);  
373 -  
374 - if (!UtilColecao.isVazio(baixaAlmoxarifado.getBaixaItens())) {  
375 -  
376 - for (final BaixaAlmoxarifadoItem item : baixaAlmoxarifado.getBaixaItens()) {  
377 -  
378 - final boolean contemVinculoRequisicao = this.requisicaoConsumoService.contemVinculoMaterialPorDataEAlmoxarifado(item.getMaterialConsumo().getId(), baixaAlmoxarifado.getAlmoxarifado().getId(), baixaAlmoxarifado.getDataBaixa());  
379 -  
380 - if (contemVinculoRequisicao) {  
381 -  
382 - throw new BusinessException(BaixaAlmoxarifadoServiceImpl.VALIDACAO_REMOCAO_BAIXA_ALMOXARIFADO, CodigoErro.REGRA_NEGOCIO.getValue());  
383 - }  
384 - }  
385 -  
386 - }  
387 -  
388 - }  
389 -  
390 - /**  
391 - * <p>  
392 - * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>  
393 - * </p>  
394 - *  
395 - * <p>  
396 - * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>  
397 - * </p>  
398 - *  
399 - * Método responsável por settar o atributo numeroBaixa.  
400 - *  
401 - * @author luis.camargo  
402 - *  
403 - * @param entity  
404 - */  
405 - private void configurarNumeroBaixa(BaixaAlmoxarifado entity) {  
406 -  
407 - BaixaAlmoxarifado ultimoRegistro =  
408 - (BaixaAlmoxarifado) baixaAlmoxarifadoDao.buscarUltimoRegistroComOrdenadoParametrizada("numeroBaixa", entity.getOrganizacao().getId());  
409 -  
410 - Long sequencial = null;  
411 - if (UtilObjeto.isReferencia(ultimoRegistro)) {  
412 - sequencial = ultimoRegistro.getNumeroBaixa() == null ? null : Long.parseLong(ultimoRegistro.getNumeroBaixa());  
413 - }  
414 - String codigo = configuracaoParametroSistemaService.gerarNumeroIdentificacao(sequencial, entity.getOrganizacao());  
415 -  
416 - entity.setNumeroBaixa(codigo);  
417 - }  
418 -  
419 - private void salvaTotaisBaixaItem(BaixaAlmoxarifado baixa){  
420 - if (!UtilColecao.isVazio(baixa.getBaixaItens())) {  
421 -  
422 - // salva os totais na baixa conforme metodo de avalicao monetaria  
423 - for (final BaixaAlmoxarifadoItem baixaItem : baixa.getBaixaItens()) {  
424 -  
425 - String tipoAvaliacao = this.configuracaoParametroSistemaService.getParametro("TIPO_AVALIACAO_MONETARIA_ESTOQUE", baixa.getOrganizacao().getId()).getValor();  
426 -  
427 - if (tipoAvaliacao.equals(DominioAlmoxarifado.TIPO_AVALIACAO_MONETARIA_FIFO_NOME)){  
428 - BigDecimal valorMovimentoFIFO = this.entradaAlmoxarifadoItemService.realizaMovimentoSaida(baixaItem.getMaterialConsumo(), baixaItem.getQuantidade());  
429 - baixaItem.setTotal(valorMovimentoFIFO);  
430 - }else{  
431 - BigDecimal valorMovimentoMediaMovel = this.materialEstoqueSaldoMedioService.realizaMovimentoSaida(baixaItem.getMaterialConsumo(), baixaItem.getQuantidade());  
432 - baixaItem.setTotal(valorMovimentoMediaMovel);  
433 - }  
434 - }  
435 - }  
436 - }  
437 -  
438 - public Dominio getIdioma() {  
439 - if(!UtilObjeto.isReferencia(idioma)){  
440 - idioma = this.dominioService.findByChaveAndCodigo("tipoIdioma", Dominio.TIPO_IDIOMA_PT_BR_CODIGO);  
441 - }  
442 - return idioma;  
443 - }  
444 -  
445 -} 1 +package br.com.centralit.api.service.impl;
  2 +
  3 +import java.math.BigDecimal;
  4 +import java.util.List;
  5 +
  6 +import org.springframework.beans.factory.annotation.Autowired;
  7 +import org.springframework.beans.factory.annotation.Qualifier;
  8 +import org.springframework.stereotype.Service;
  9 +import org.springframework.validation.Validator;
  10 +
  11 +import br.com.centralit.api.dao.BaixaAlmoxarifadoDao;
  12 +import br.com.centralit.api.model.BaixaAlmoxarifado;
  13 +import br.com.centralit.api.model.BaixaAlmoxarifadoItem;
  14 +import br.com.centralit.api.model.BaixaDocumento;
  15 +import br.com.centralit.api.model.BaixaObservacao;
  16 +import br.com.centralit.api.model.DominioAlmoxarifado;
  17 +import br.com.centralit.api.service.BaixaAlmoxarifadoItemService;
  18 +import br.com.centralit.api.service.BaixaAlmoxarifadoService;
  19 +import br.com.centralit.api.service.ConfiguracaoParametroSistemaService;
  20 +import br.com.centralit.api.service.DominioService;
  21 +import br.com.centralit.api.service.EntradaAlmoxarifadoItemService;
  22 +import br.com.centralit.api.service.EstruturaOrganizacionalService;
  23 +import br.com.centralit.api.service.InternacionalizacaoService;
  24 +import br.com.centralit.api.service.MaterialConsumoService;
  25 +import br.com.centralit.api.service.MovimentoEstoqueService;
  26 +import br.com.centralit.api.service.ParceiroService;
  27 +import br.com.centralit.api.service.RequisicaoConsumoService;
  28 +import br.com.centralit.api.service.UsuarioService;
  29 +import br.com.centralit.framework.exception.BusinessException;
  30 +import br.com.centralit.framework.exception.CodigoErro;
  31 +import br.com.centralit.framework.model.Dominio;
  32 +import br.com.centralit.framework.service.arquitetura.GenericServiceImpl;
  33 +import br.com.centralit.framework.util.UtilColecao;
  34 +import br.com.centralit.framework.util.UtilObjeto;
  35 +
  36 +/**
  37 + * <p>
  38 + * <img src="http://centralit.com.br/images/logo_central.png">
  39 + * </p>
  40 + *
  41 + * <p>
  42 + * <b>Company: </b> Central IT - Governança Corporativa -
  43 + * </p>
  44 + *
  45 + * <p>
  46 + * <b>Title: </b>
  47 + * </p>
  48 + *
  49 + * <p>
  50 + * <b>Description: </b>
  51 + * </p>
  52 + *
  53 + * <p>
  54 + * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>
  55 + * </p>
  56 + *
  57 + * <p>
  58 + * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
  59 + * </p>
  60 + *
  61 + * @since 18/06/2015 - 17:40:42
  62 + *
  63 + * @version 1.0.0
  64 + *
  65 + * @author rogerio.costa
  66 + *
  67 + */
  68 +@Service("baixaAlmoxarifadoService")
  69 +public class BaixaAlmoxarifadoServiceImpl extends GenericServiceImpl<BaixaAlmoxarifado, Long> implements BaixaAlmoxarifadoService {
  70 +
  71 + private static final String VALIDACAO_QUANTIDADE_SUPERIOR_SALDO = "VALIDACAO.QUANTIDADE_SUPERIOR_SALDO";
  72 +
  73 + private static final String VALIDACAO_REMOCAO_BAIXA_ALMOXARIFADO = "VALIDACAO.REMOCAO_EDICAO_BAIXA_ALMOXARIFADO";
  74 +
  75 + /** Atributo baixaAlmoxarifadoDao. */
  76 + private final BaixaAlmoxarifadoDao baixaAlmoxarifadoDao;
  77 +
  78 + /** Atributo parceiroService. */
  79 + @Autowired
  80 + private ParceiroService parceiroService;
  81 +
  82 + /** Atributo dominioService. */
  83 + @Autowired
  84 + private DominioService dominioService;
  85 +
  86 + /** Atributo usuarioService. */
  87 + @Autowired
  88 + private UsuarioService usuarioService;
  89 +
  90 + /** Atributo usuarioService. */
  91 + @Autowired
  92 + private MaterialConsumoService materialConsumoService;
  93 +
  94 + /** Atributo movimentoEstoqueService. */
  95 + @Autowired
  96 + private MovimentoEstoqueService movimentoEstoqueService;
  97 +
  98 + /** Atributo estruturaOrganizacionalService. */
  99 + @Autowired
  100 + private EstruturaOrganizacionalService estruturaOrganizacionalService;
  101 +
  102 + /** Atributo requisicaoConsumoService. */
  103 + @Autowired
  104 + private RequisicaoConsumoService requisicaoConsumoService;
  105 +
  106 + /** Atributo baixaAlmoxarifadoItemService. */
  107 + @Autowired
  108 + private BaixaAlmoxarifadoItemService baixaAlmoxarifadoItemService;
  109 +
  110 + @Autowired
  111 + private EntradaAlmoxarifadoItemService entradaAlmoxarifadoItemService;
  112 +
  113 + @Autowired
  114 + private ConfiguracaoParametroSistemaService configuracaoParametroSistemaService;
  115 +
  116 + @Autowired
  117 + private InternacionalizacaoService internacionalizacaoService;
  118 +
  119 + private Dominio idioma;
  120 +
  121 + @Autowired
  122 + public BaixaAlmoxarifadoServiceImpl( final BaixaAlmoxarifadoDao baixaAlmoxarifadoDao, @Qualifier("baixaAlmoxarifadoValidator") final Validator validator ) {
  123 +
  124 + this.dao = baixaAlmoxarifadoDao;
  125 + this.baixaAlmoxarifadoDao = baixaAlmoxarifadoDao;
  126 + this.validator = validator;
  127 + }
  128 +
  129 + @Override
  130 + public BaixaAlmoxarifado save(BaixaAlmoxarifado entity) {
  131 +
  132 + this.validarEntidade(entity, this.validator);
  133 +
  134 + this.montarObjetoBaixa(entity);
  135 +
  136 + entity = super.save(entity);
  137 +
  138 + configurarNumeroBaixa(entity);
  139 +
  140 + salvaTotaisBaixaItem(entity);
  141 +
  142 + entity = super.save(entity);
  143 +
  144 + //Esse metodo gera os movimentos no estoque no contabil
  145 + this.movimentoEstoqueService.gerarMovimentoBaixa(entity);
  146 +
  147 + return entity;
  148 + }
  149 +
  150 + @Override
  151 + public BaixaAlmoxarifado merge(BaixaAlmoxarifado entity) {
  152 +
  153 + this.validarEntidade(entity, this.validator);
  154 +
  155 + this.montarObjetoBaixa(entity);
  156 +
  157 + salvaTotaisBaixaItem(entity);
  158 +
  159 + entity = super.merge(entity);
  160 +
  161 + this.movimentoEstoqueService.atualizarMovimentoBaixa(entity);
  162 +
  163 + return entity;
  164 + }
  165 +
  166 + /**
  167 + * <p>
  168 + * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>
  169 + * </p>
  170 + *
  171 + * <p>
  172 + * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
  173 + * </p>
  174 + *
  175 + * Método responsável por estornar a baixa
  176 + *
  177 + * @author rogerio.costa
  178 + *
  179 + * @return
  180 + */
  181 + @Override
  182 + public void estornar(final BaixaAlmoxarifado baixaAlmoxarifado) {
  183 +
  184 + this.baixaAlmoxarifadoItemService.estornarItens(baixaAlmoxarifado.getBaixaItens());
  185 +
  186 + }
  187 +
  188 + /**
  189 + * <p>
  190 + * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>
  191 + * </p>
  192 + *
  193 + * <p>
  194 + * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
  195 + * </p>
  196 + *
  197 + * Método responsável por
  198 + *
  199 + * @author rogerio.costa
  200 + *
  201 + * @param baixa
  202 + */
  203 + private void montarObjetoBaixa(final BaixaAlmoxarifado baixa) {
  204 +
  205 + baixa.setDominioSituacaoEstorno(this.dominioService.findByChaveAndCodigo(Dominio.TIPO_STATUS_BAIXA_ESTORNO, Dominio.TIPO_STATUS_SEM_ESTORNO));
  206 +
  207 + // pode existir ou nao o destino, caso exista retira o erro de transient
  208 + if (UtilObjeto.isReferencia(baixa.getDestino())) {
  209 +
  210 + baixa.setDestino(this.parceiroService.find(baixa.getDestino().getId()));
  211 + }
  212 +
  213 + // pode existir ou nao o portador, caso exista retira o erro de transient
  214 + if (UtilObjeto.isReferencia(baixa.getAlmoxarifado())) {
  215 +
  216 + baixa.setAlmoxarifado(this.estruturaOrganizacionalService.find(baixa.getAlmoxarifado().getId()));
  217 + }
  218 +
  219 + Dominio dominioTipoBaixa = this.dominioService.findByChaveAndNome(Dominio.TIPO_BAIXA_ALMOXARIFADO, baixa.getDominioTipoBaixa().getNome());
  220 +
  221 + baixa.setDominioTipoBaixa(UtilObjeto.isReferencia(dominioTipoBaixa) ? dominioTipoBaixa : baixa.getDominioTipoBaixa());
  222 +
  223 + // cria vinculo da baixa com as observações
  224 +
  225 + if (UtilObjeto.isReferencia(baixa.getObservacoes())) {
  226 +
  227 + for (final BaixaObservacao obs : baixa.getObservacoes()) {
  228 +
  229 + obs.setAutor(this.usuarioService.find(obs.getAutor().getId()));
  230 +
  231 + obs.setBaixa(baixa);
  232 + }
  233 + }
  234 +
  235 + // cria vinculo da baixa com aos documentos
  236 + if (UtilObjeto.isReferencia(baixa.getDocumentos())) {
  237 +
  238 + for (final BaixaDocumento doc : baixa.getDocumentos()) {
  239 +
  240 + doc.setDominioTipoDocumento(this.dominioService.find(doc.getDominioTipoDocumento().getId()));
  241 +
  242 + if (UtilObjeto.isReferencia(doc.getEmitente())) {
  243 +
  244 + doc.setEmitente(this.parceiroService.find(doc.getEmitente().getId()));
  245 + }
  246 +
  247 + doc.setBaixa(baixa);
  248 +
  249 + }
  250 + }
  251 +
  252 + if (!UtilColecao.isVazio(baixa.getBaixaItens())) {
  253 +
  254 + // cria vinculo da baixa com as baixaItens
  255 + for (final BaixaAlmoxarifadoItem baixaItem : baixa.getBaixaItens()) {
  256 +
  257 + this.validarQtdItemAlmoxarifado(baixaItem);
  258 +
  259 + baixaItem.setBaixaAlmoxarifado(baixa);
  260 +
  261 + baixaItem.setMaterialConsumo(this.materialConsumoService.getReference(baixaItem.getMaterialConsumo().getId()));
  262 + }
  263 + }
  264 +
  265 + if(UtilObjeto.isReferencia(baixa.getId()) && baixa.getOrganizacao() == null){
  266 + baixa.setOrganizacao(this.find(baixa.getId()).getOrganizacao());
  267 + }
  268 +
  269 + }
  270 +
  271 + /**
  272 + * <p>
  273 + * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>
  274 + * </p>
  275 + *
  276 + * <p>
  277 + * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
  278 + * </p>
  279 + *
  280 + * Método responsável por validara qtd do itemAlmoxarifado
  281 + *
  282 + * @author rogerio.costa
  283 + *
  284 + * @param baixaItem
  285 + */
  286 + private void validarQtdItemAlmoxarifado(final BaixaAlmoxarifadoItem baixaItem) {
  287 +
  288 + if (UtilObjeto.isReferencia(baixaItem.getId())) {
  289 +
  290 + final BaixaAlmoxarifadoItem itemAtual = this.baixaAlmoxarifadoItemService.getReference(baixaItem.getId());
  291 +
  292 + if (itemAtual.getQuantidade().compareTo(baixaItem.getQtdEstoque()) > 0 && baixaItem.getQuantidade().compareTo(itemAtual.getQuantidade()) > 0) {
  293 +
  294 + if (itemAtual.getQuantidade().add(baixaItem.getQtdEstoque()).compareTo(baixaItem.getQuantidade()) > 0) {
  295 +
  296 + throw new BusinessException(this.internacionalizacaoService.getTranslate(BaixaAlmoxarifadoServiceImpl.VALIDACAO_QUANTIDADE_SUPERIOR_SALDO, this.getIdioma()), CodigoErro.REGRA_NEGOCIO.getValue());
  297 +
  298 + } else {
  299 + if (baixaItem.getQuantidade().compareTo(itemAtual.getQuantidade().add(baixaItem.getQtdEstoque())) > 0) {
  300 +
  301 + throw new BusinessException(this.internacionalizacaoService.getTranslate(BaixaAlmoxarifadoServiceImpl.VALIDACAO_QUANTIDADE_SUPERIOR_SALDO, this.getIdioma()), CodigoErro.REGRA_NEGOCIO.getValue());
  302 + }
  303 + }
  304 + } else if (baixaItem.getQuantidade().compareTo(baixaItem.getQtdEstoque()) > 0 && baixaItem.getQuantidade().compareTo(itemAtual.getQuantidade().add(baixaItem.getQtdEstoque())) > 0) {
  305 +
  306 + throw new BusinessException(this.internacionalizacaoService.getTranslate(BaixaAlmoxarifadoServiceImpl.VALIDACAO_QUANTIDADE_SUPERIOR_SALDO, this.getIdioma()), CodigoErro.REGRA_NEGOCIO.getValue());
  307 + }
  308 + } else {
  309 +
  310 + if (baixaItem.getQuantidade().compareTo(baixaItem.getQtdEstoque()) > 0) {
  311 +
  312 + throw new BusinessException(this.internacionalizacaoService.getTranslate(BaixaAlmoxarifadoServiceImpl.VALIDACAO_QUANTIDADE_SUPERIOR_SALDO, this.getIdioma()), CodigoErro.REGRA_NEGOCIO.getValue());
  313 + }
  314 + }
  315 + }
  316 +
  317 + @Override
  318 + public boolean removeById(final Long id) {
  319 +
  320 + this.verificarVinculoRequisicaoPosteriorRemocao(id);
  321 +
  322 + final BaixaAlmoxarifado baixaAlmoxarifado = this.getReference(id);
  323 +
  324 + this.baixaAlmoxarifadoItemService.removeList((List<BaixaAlmoxarifadoItem>) baixaAlmoxarifado.getBaixaItens());
  325 +
  326 + return super.removeById(id);
  327 + }
  328 +
  329 + /**
  330 + * <p>
  331 + * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>
  332 + * </p>
  333 + *
  334 + * <p>
  335 + * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
  336 + * </p>
  337 + *
  338 + * Método responsável por
  339 + *
  340 + * @author rogerio.costa
  341 + *
  342 + * @param entity
  343 + */
  344 + @Override
  345 + public void obterQtdEstoque(final BaixaAlmoxarifado entity) {
  346 +
  347 + this.baixaAlmoxarifadoItemService.obterQtdEstoque(entity.getBaixaItens());
  348 +
  349 + }
  350 +
  351 + /**
  352 + * <p>
  353 + * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>
  354 + * </p>
  355 + *
  356 + * <p>
  357 + * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
  358 + * </p>
  359 + *
  360 + * Método responsável por
  361 + *
  362 + * @author rogerio.costa
  363 + *
  364 + */
  365 + @Override
  366 + public void verificarVinculoRequisicaoPosteriorRemocao(final Long idBaixa) {
  367 +
  368 + final BaixaAlmoxarifado baixaAlmoxarifado = this.getReference(idBaixa);
  369 +
  370 + if (!UtilColecao.isVazio(baixaAlmoxarifado.getBaixaItens())) {
  371 +
  372 + for (final BaixaAlmoxarifadoItem item : baixaAlmoxarifado.getBaixaItens()) {
  373 +
  374 + final boolean contemVinculoRequisicao = this.requisicaoConsumoService.contemVinculoMaterialPorDataEAlmoxarifado(item.getMaterialConsumo().getId(), baixaAlmoxarifado.getAlmoxarifado().getId(), baixaAlmoxarifado.getDataBaixa());
  375 +
  376 + if (contemVinculoRequisicao) {
  377 +
  378 + throw new BusinessException(BaixaAlmoxarifadoServiceImpl.VALIDACAO_REMOCAO_BAIXA_ALMOXARIFADO, CodigoErro.REGRA_NEGOCIO.getValue());
  379 + }
  380 + }
  381 +
  382 + }
  383 +
  384 + }
  385 +
  386 + /**
  387 + * <p>
  388 + * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>
  389 + * </p>
  390 + *
  391 + * <p>
  392 + * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
  393 + * </p>
  394 + *
  395 + * Método responsável por settar o atributo numeroBaixa.
  396 + *
  397 + * @author luis.camargo
  398 + *
  399 + * @param entity
  400 + */
  401 + private void configurarNumeroBaixa(BaixaAlmoxarifado entity) {
  402 +
  403 + BaixaAlmoxarifado ultimoRegistro =
  404 + (BaixaAlmoxarifado) baixaAlmoxarifadoDao.buscarUltimoRegistroComOrdenadoParametrizada("numeroBaixa", entity.getOrganizacao().getId());
  405 +
  406 + Long sequencial = null;
  407 + if (UtilObjeto.isReferencia(ultimoRegistro)) {
  408 + sequencial = ultimoRegistro.getNumeroBaixa() == null ? null : Long.parseLong(ultimoRegistro.getNumeroBaixa());
  409 + }
  410 + String codigo = configuracaoParametroSistemaService.gerarNumeroIdentificacao(sequencial, entity.getOrganizacao());
  411 +
  412 + entity.setNumeroBaixa(codigo);
  413 + }
  414 +
  415 + private void salvaTotaisBaixaItem(BaixaAlmoxarifado baixa){
  416 + if (!UtilColecao.isVazio(baixa.getBaixaItens())) {
  417 +
  418 + // salva os totais na baixa conforme metodo de avalicao monetaria
  419 + for (final BaixaAlmoxarifadoItem baixaItem : baixa.getBaixaItens()) {
  420 +
  421 + String tipoAvaliacao = this.configuracaoParametroSistemaService.getParametro("TIPO_AVALIACAO_MONETARIA_ESTOQUE", baixa.getOrganizacao().getId()).getValor();
  422 +
  423 + if (tipoAvaliacao.equals(DominioAlmoxarifado.TIPO_AVALIACAO_MONETARIA_FIFO_NOME)){
  424 + BigDecimal valorMovimentoFIFO = this.entradaAlmoxarifadoItemService.realizaMovimentoSaida(baixaItem.getMaterialConsumo(), baixaItem.getQuantidade());
  425 + baixaItem.setTotal(valorMovimentoFIFO);
  426 + }else{
  427 + //BigDecimal valorMovimentoMediaMovel = this.materialEstoqueSaldoMedioService.realizaMovimentoSaida(baixaItem.getMaterialConsumo(), baixaItem.getQuantidade());
  428 + //baixaItem.setTotal(valorMovimentoMediaMovel);
  429 + }
  430 + }
  431 + }
  432 + }
  433 +
  434 + public Dominio getIdioma() {
  435 + if(!UtilObjeto.isReferencia(idioma)){
  436 + idioma = this.dominioService.findByChaveAndCodigo("tipoIdioma", Dominio.TIPO_IDIOMA_PT_BR_CODIGO);
  437 + }
  438 + return idioma;
  439 + }
  440 +
  441 +}
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/ConfiguracaoNotificacaoRessuprimentoServiceImpl.java
@@ -423,7 +423,7 @@ public class ConfiguracaoNotificacaoRessuprimentoServiceImpl extends GenericServ @@ -423,7 +423,7 @@ public class ConfiguracaoNotificacaoRessuprimentoServiceImpl extends GenericServ
423 423
424 BigDecimal qtdMaterialEstoque = this.materialConsumoService.getQuantidadeAtualMaterial(config.getMaterialConsumo().getId(), Long.parseLong(idOrganizacao)); 424 BigDecimal qtdMaterialEstoque = this.materialConsumoService.getQuantidadeAtualMaterial(config.getMaterialConsumo().getId(), Long.parseLong(idOrganizacao));
425 425
426 - mensagemConfiguracao.append(ESTOQUE).append(config.getLocalEstoque().getAlmoxarifado().getCodigoENome()) 426 + mensagemConfiguracao.append(ESTOQUE).append(config.getLocalEstoque().getEndereco().getEstoque().getAlmoxarifado().getCodigoENome())
427 .append(MATERIAL).append(config.getMaterialConsumo().getCodigoEDescricao()) 427 .append(MATERIAL).append(config.getMaterialConsumo().getCodigoEDescricao())
428 .append(QUANTIDADE).append(qtdMaterialEstoque).append("<br/><br/>"); 428 .append(QUANTIDADE).append(qtdMaterialEstoque).append("<br/><br/>");
429 } 429 }
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/EntradaAlmoxarifadoItemServiceImpl.java
@@ -195,12 +195,13 @@ public class EntradaAlmoxarifadoItemServiceImpl extends GenericServiceImpl&lt;Entra @@ -195,12 +195,13 @@ public class EntradaAlmoxarifadoItemServiceImpl extends GenericServiceImpl&lt;Entra
195 195
196 /** 196 /**
197 * {@inheritDoc} 197 * {@inheritDoc}
  198 + * TODO implementar com nova regra
198 */ 199 */
199 @Override 200 @Override
200 public BigDecimal realizaMovimentoSaida(MaterialConsumo materialConsumo, BigDecimal quantidadeMovimentada) { 201 public BigDecimal realizaMovimentoSaida(MaterialConsumo materialConsumo, BigDecimal quantidadeMovimentada) {
201 BigDecimal retorno = BigDecimal.ZERO; 202 BigDecimal retorno = BigDecimal.ZERO;
202 203
203 - Collection<EntradaAlmoxarifadoItem> entradaAlmoxarifadoItems = this.obterEntradaItemComSaldoPorMaterial(materialConsumo.getId()); 204 + /*Collection<EntradaAlmoxarifadoItem> entradaAlmoxarifadoItems = this.obterEntradaItemComSaldoPorMaterial(materialConsumo.getId());
204 205
205 for (EntradaAlmoxarifadoItem itemEntrada : entradaAlmoxarifadoItems) { 206 for (EntradaAlmoxarifadoItem itemEntrada : entradaAlmoxarifadoItems) {
206 if (itemEntrada.getQuantidadeSaldo().compareTo(quantidadeMovimentada) > 0) { 207 if (itemEntrada.getQuantidadeSaldo().compareTo(quantidadeMovimentada) > 0) {
@@ -219,19 +220,20 @@ public class EntradaAlmoxarifadoItemServiceImpl extends GenericServiceImpl&lt;Entra @@ -219,19 +220,20 @@ public class EntradaAlmoxarifadoItemServiceImpl extends GenericServiceImpl&lt;Entra
219 itemEntrada.setQuantidadeSaldo(BigDecimal.ZERO); 220 itemEntrada.setQuantidadeSaldo(BigDecimal.ZERO);
220 this.save(itemEntrada); 221 this.save(itemEntrada);
221 } 222 }
222 - } 223 + }*/
223 224
224 return retorno; 225 return retorno;
225 } 226 }
226 227
227 /** 228 /**
228 * {@inheritDoc} 229 * {@inheritDoc}
  230 + * TODO implementar com nova regra
229 */ 231 */
230 @Override 232 @Override
231 public BigDecimal realizaMovimentoDevolucao(MaterialConsumo materialConsumo, BigDecimal quantidadeMovimentada) { 233 public BigDecimal realizaMovimentoDevolucao(MaterialConsumo materialConsumo, BigDecimal quantidadeMovimentada) {
232 BigDecimal retorno = BigDecimal.ZERO; 234 BigDecimal retorno = BigDecimal.ZERO;
233 235
234 - Collection<EntradaAlmoxarifadoItem> entradaAlmoxarifadoItems = this.obterPorIdMaterial(materialConsumo.getId()); 236 + /*Collection<EntradaAlmoxarifadoItem> entradaAlmoxarifadoItems = this.obterPorIdMaterial(materialConsumo.getId());
235 237
236 for (EntradaAlmoxarifadoItem itemEntrada : entradaAlmoxarifadoItems) { 238 for (EntradaAlmoxarifadoItem itemEntrada : entradaAlmoxarifadoItems) {
237 if (itemEntrada.getQuantidadeSaldo().compareTo(itemEntrada.getQuantidade()) < 0) { //Se a entrada tiver espaço eu realizo devolução na mesma 239 if (itemEntrada.getQuantidadeSaldo().compareTo(itemEntrada.getQuantidade()) < 0) { //Se a entrada tiver espaço eu realizo devolução na mesma
@@ -252,7 +254,7 @@ public class EntradaAlmoxarifadoItemServiceImpl extends GenericServiceImpl&lt;Entra @@ -252,7 +254,7 @@ public class EntradaAlmoxarifadoItemServiceImpl extends GenericServiceImpl&lt;Entra
252 quantidadeMovimentada = quantidadeMovimentada.subtract(qntAMovimentar); 254 quantidadeMovimentada = quantidadeMovimentada.subtract(qntAMovimentar);
253 } 255 }
254 } 256 }
255 - } 257 + }*/
256 258
257 return retorno; 259 return retorno;
258 } 260 }
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/EntradaAlmoxarifadoServiceImpl.java
1 package br.com.centralit.api.service.impl; 1 package br.com.centralit.api.service.impl;
2 2
3 -import java.math.BigDecimal;  
4 import java.util.HashMap; 3 import java.util.HashMap;
5 import java.util.Map; 4 import java.util.Map;
6 5
@@ -12,9 +11,9 @@ import org.springframework.validation.Validator; @@ -12,9 +11,9 @@ import org.springframework.validation.Validator;
12 import br.com.centralit.api.dao.EntradaAlmoxarifadoDao; 11 import br.com.centralit.api.dao.EntradaAlmoxarifadoDao;
13 import br.com.centralit.api.model.BemAlmoxarifadoCaracteristica; 12 import br.com.centralit.api.model.BemAlmoxarifadoCaracteristica;
14 import br.com.centralit.api.model.EntradaAlmoxarifado; 13 import br.com.centralit.api.model.EntradaAlmoxarifado;
  14 +import br.com.centralit.api.model.EntradaAlmoxarifadoDocumento;
15 import br.com.centralit.api.model.EntradaAlmoxarifadoItem; 15 import br.com.centralit.api.model.EntradaAlmoxarifadoItem;
16 -import br.com.centralit.api.model.EntradaDocumento;  
17 -import br.com.centralit.api.model.EntradaObservacao; 16 +import br.com.centralit.api.model.EntradaAlmoxarifadoObservacao;
18 import br.com.centralit.api.model.Fornecedor; 17 import br.com.centralit.api.model.Fornecedor;
19 import br.com.centralit.api.service.ConfiguracaoParametroSistemaService; 18 import br.com.centralit.api.service.ConfiguracaoParametroSistemaService;
20 import br.com.centralit.api.service.ContaContabilMovimentoService; 19 import br.com.centralit.api.service.ContaContabilMovimentoService;
@@ -175,7 +174,7 @@ public class EntradaAlmoxarifadoServiceImpl extends GenericServiceImpl&lt;EntradaAl @@ -175,7 +174,7 @@ public class EntradaAlmoxarifadoServiceImpl extends GenericServiceImpl&lt;EntradaAl
175 174
176 } 175 }
177 176
178 - for (EntradaAlmoxarifadoItem entradaAlmoxarifadoItem : entity.getEntradasIten()) { 177 + for (EntradaAlmoxarifadoItem entradaAlmoxarifadoItem : entity.getEntradasItem()) {
179 178
180 entradaAlmoxarifadoItem.setMaterial(this.materialConsumoService.find(entradaAlmoxarifadoItem.getMaterial().getId())); 179 entradaAlmoxarifadoItem.setMaterial(this.materialConsumoService.find(entradaAlmoxarifadoItem.getMaterial().getId()));
181 180
@@ -183,10 +182,6 @@ public class EntradaAlmoxarifadoServiceImpl extends GenericServiceImpl&lt;EntradaAl @@ -183,10 +182,6 @@ public class EntradaAlmoxarifadoServiceImpl extends GenericServiceImpl&lt;EntradaAl
183 182
184 entradaAlmoxarifadoItem.setEntrada(entity); 183 entradaAlmoxarifadoItem.setEntrada(entity);
185 184
186 - entradaAlmoxarifadoItem.setQuantidadeSaldo(entradaAlmoxarifadoItem.getQuantidade());  
187 -  
188 - this.calcularSobra(entradaAlmoxarifadoItem);  
189 -  
190 for (BemAlmoxarifadoCaracteristica bemAlmoxarifadoCaracteristica : entradaAlmoxarifadoItem.getCaracteristicas()) { 185 for (BemAlmoxarifadoCaracteristica bemAlmoxarifadoCaracteristica : entradaAlmoxarifadoItem.getCaracteristicas()) {
191 186
192 bemAlmoxarifadoCaracteristica.setMaterialCaracteristica(this.materialCaracteristicaService.find(bemAlmoxarifadoCaracteristica.getMaterialCaracteristica().getId())); 187 bemAlmoxarifadoCaracteristica.setMaterialCaracteristica(this.materialCaracteristicaService.find(bemAlmoxarifadoCaracteristica.getMaterialCaracteristica().getId()));
@@ -198,7 +193,7 @@ public class EntradaAlmoxarifadoServiceImpl extends GenericServiceImpl&lt;EntradaAl @@ -198,7 +193,7 @@ public class EntradaAlmoxarifadoServiceImpl extends GenericServiceImpl&lt;EntradaAl
198 193
199 } 194 }
200 195
201 - for (EntradaObservacao entradaObservacao : entity.getObservacoes()) { 196 + for (EntradaAlmoxarifadoObservacao entradaObservacao : entity.getObservacoes()) {
202 197
203 entradaObservacao.setAutor(this.usuarioService.find(entradaObservacao.getAutor().getId())); 198 entradaObservacao.setAutor(this.usuarioService.find(entradaObservacao.getAutor().getId()));
204 199
@@ -206,7 +201,7 @@ public class EntradaAlmoxarifadoServiceImpl extends GenericServiceImpl&lt;EntradaAl @@ -206,7 +201,7 @@ public class EntradaAlmoxarifadoServiceImpl extends GenericServiceImpl&lt;EntradaAl
206 201
207 } 202 }
208 203
209 - for (EntradaDocumento entradaDocumento : entity.getDocumentos()) { 204 + for (EntradaAlmoxarifadoDocumento entradaDocumento : entity.getDocumentos()) {
210 205
211 entradaDocumento.setDominioTipoDocumento(this.dominioService.find(entradaDocumento.getDominioTipoDocumento().getId())); 206 entradaDocumento.setDominioTipoDocumento(this.dominioService.find(entradaDocumento.getDominioTipoDocumento().getId()));
212 207
@@ -221,22 +216,6 @@ public class EntradaAlmoxarifadoServiceImpl extends GenericServiceImpl&lt;EntradaAl @@ -221,22 +216,6 @@ public class EntradaAlmoxarifadoServiceImpl extends GenericServiceImpl&lt;EntradaAl
221 } 216 }
222 217
223 /** 218 /**
224 - * Método responsável por  
225 - *  
226 - * @author wilker.machado  
227 - *  
228 - * @param entradaAlmoxarifadoItem  
229 - */  
230 - private void calcularSobra(EntradaAlmoxarifadoItem entradaAlmoxarifadoItem) {  
231 -  
232 - entradaAlmoxarifadoItem.setValorUnitario(entradaAlmoxarifadoItem.getValorTotal().divide(entradaAlmoxarifadoItem.getQuantidade(), 4, BigDecimal.ROUND_HALF_UP));  
233 -  
234 - BigDecimal valorUnitarioXquantidade = entradaAlmoxarifadoItem.getQuantidade().multiply(entradaAlmoxarifadoItem.getValorUnitario());  
235 -  
236 - entradaAlmoxarifadoItem.setValorSobra(entradaAlmoxarifadoItem.getValorTotal().subtract(valorUnitarioXquantidade));  
237 - }  
238 -  
239 - /**  
240 * Método responsável por validar se a data de recebimento e menor que a data de cadastro da entrada 219 * Método responsável por validar se a data de recebimento e menor que a data de cadastro da entrada
241 * 220 *
242 * @author wilker.machado 221 * @author wilker.machado
@@ -284,7 +263,7 @@ public class EntradaAlmoxarifadoServiceImpl extends GenericServiceImpl&lt;EntradaAl @@ -284,7 +263,7 @@ public class EntradaAlmoxarifadoServiceImpl extends GenericServiceImpl&lt;EntradaAl
284 263
285 this.movimentoEstoqueService.removerMovimentosEntrada(entity); 264 this.movimentoEstoqueService.removerMovimentosEntrada(entity);
286 265
287 - this.contaContabilMovimentoService.removerMovimentosEntrada(entity); 266 + this.contaContabilMovimentoService.removerMovimentosEntradaAlmoxarifado(entity.getId());
288 267
289 return super.remove(entity); 268 return super.remove(entity);
290 269
@@ -335,7 +314,7 @@ public class EntradaAlmoxarifadoServiceImpl extends GenericServiceImpl&lt;EntradaAl @@ -335,7 +314,7 @@ public class EntradaAlmoxarifadoServiceImpl extends GenericServiceImpl&lt;EntradaAl
335 EntradaAlmoxarifado entradaAlmoxarifado = this.find(idEntrada); 314 EntradaAlmoxarifado entradaAlmoxarifado = this.find(idEntrada);
336 Map<String, String> listaValoresDocumento = new HashMap<String, String>(); 315 Map<String, String> listaValoresDocumento = new HashMap<String, String>();
337 if(!UtilColecao.isVazio(entradaAlmoxarifado.getDocumentos())){ 316 if(!UtilColecao.isVazio(entradaAlmoxarifado.getDocumentos())){
338 - for (EntradaDocumento documento : entradaAlmoxarifado.getDocumentos()) { 317 + for (EntradaAlmoxarifadoDocumento documento : entradaAlmoxarifado.getDocumentos()) {
339 if(documento.getDominioTipoDocumento().getChave().equalsIgnoreCase(Dominio.TIPO_DOCUMENTO)){ 318 if(documento.getDominioTipoDocumento().getChave().equalsIgnoreCase(Dominio.TIPO_DOCUMENTO)){
340 if(documento.getDominioTipoDocumento().getCodigo().longValue() == Dominio.CODIGO_DOCUMENTO_EMPENHO){ 319 if(documento.getDominioTipoDocumento().getCodigo().longValue() == Dominio.CODIGO_DOCUMENTO_EMPENHO){
341 listaValoresDocumento.put("empenho", documento.getNumero()); 320 listaValoresDocumento.put("empenho", documento.getNumero());
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/EstruturaOrganizacionalAlmoxarifadoServiceImpl.java
@@ -13,7 +13,7 @@ import br.com.centralit.api.model.EstruturaOrganizacionalAlmoxarifado; @@ -13,7 +13,7 @@ import br.com.centralit.api.model.EstruturaOrganizacionalAlmoxarifado;
13 import br.com.centralit.api.service.CentroCustoService; 13 import br.com.centralit.api.service.CentroCustoService;
14 import br.com.centralit.api.service.EstruturaOrganizacionalAlmoxarifadoService; 14 import br.com.centralit.api.service.EstruturaOrganizacionalAlmoxarifadoService;
15 import br.com.centralit.api.service.EstruturaOrganizacionalService; 15 import br.com.centralit.api.service.EstruturaOrganizacionalService;
16 -import br.com.centralit.api.service.LocalEstoqueService; 16 +import br.com.centralit.api.service.MaterialLocalEstoqueService;
17 import br.com.centralit.framework.service.arquitetura.GenericServiceImpl; 17 import br.com.centralit.framework.service.arquitetura.GenericServiceImpl;
18 import br.com.centralit.framework.util.UtilObjeto; 18 import br.com.centralit.framework.util.UtilObjeto;
19 19
@@ -61,7 +61,7 @@ public class EstruturaOrganizacionalAlmoxarifadoServiceImpl extends GenericServi @@ -61,7 +61,7 @@ public class EstruturaOrganizacionalAlmoxarifadoServiceImpl extends GenericServi
61 61
62 /** Atributo localEstoqueService. */ 62 /** Atributo localEstoqueService. */
63 @Autowired 63 @Autowired
64 - private LocalEstoqueService localEstoqueService; 64 + private MaterialLocalEstoqueService localEstoqueService;
65 65
66 /** Atributo centroCustoService. */ 66 /** Atributo centroCustoService. */
67 @Autowired 67 @Autowired
@@ -84,10 +84,6 @@ public class EstruturaOrganizacionalAlmoxarifadoServiceImpl extends GenericServi @@ -84,10 +84,6 @@ public class EstruturaOrganizacionalAlmoxarifadoServiceImpl extends GenericServi
84 84
85 EstruturaOrganizacionalAlmoxarifado entitySaved = super.save(estruturaOrganizacionalAlmoxarifado); 85 EstruturaOrganizacionalAlmoxarifado entitySaved = super.save(estruturaOrganizacionalAlmoxarifado);
86 86
87 - if (entitySaved.getIsAlmoxarifado()){  
88 - localEstoqueService.saveLocalEstoqueAlmoxarifado(String.valueOf(entitySaved.getEstruturaOrganizacional().getId()));  
89 - }  
90 -  
91 return entitySaved; 87 return entitySaved;
92 } 88 }
93 89
@@ -100,10 +96,6 @@ public class EstruturaOrganizacionalAlmoxarifadoServiceImpl extends GenericServi @@ -100,10 +96,6 @@ public class EstruturaOrganizacionalAlmoxarifadoServiceImpl extends GenericServi
100 96
101 EstruturaOrganizacionalAlmoxarifado entitySaved = super.save(estruturaOrganizacionalAlmoxarifado); 97 EstruturaOrganizacionalAlmoxarifado entitySaved = super.save(estruturaOrganizacionalAlmoxarifado);
102 98
103 - if (entitySaved.getIsAlmoxarifado()){  
104 - localEstoqueService.saveLocalEstoqueAlmoxarifado(String.valueOf(entitySaved.getEstruturaOrganizacional().getId()));  
105 - }  
106 -  
107 return entitySaved; 99 return entitySaved;
108 } 100 }
109 101
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/LocalEstoqueServiceImpl.java
1 package br.com.centralit.api.service.impl; 1 package br.com.centralit.api.service.impl;
2 2
3 -import java.util.ArrayList;  
4 -  
5 import org.springframework.beans.factory.annotation.Autowired; 3 import org.springframework.beans.factory.annotation.Autowired;
6 import org.springframework.beans.factory.annotation.Qualifier; 4 import org.springframework.beans.factory.annotation.Qualifier;
7 import org.springframework.stereotype.Service; 5 import org.springframework.stereotype.Service;
@@ -9,17 +7,13 @@ import org.springframework.validation.Validator; @@ -9,17 +7,13 @@ import org.springframework.validation.Validator;
9 7
10 import br.com.centralit.api.dao.LocalEstoqueDao; 8 import br.com.centralit.api.dao.LocalEstoqueDao;
11 import br.com.centralit.api.model.EstruturaOrganizacional; 9 import br.com.centralit.api.model.EstruturaOrganizacional;
12 -import br.com.centralit.api.model.LocalEstoque;  
13 -import br.com.centralit.api.model.MaterialEstoqueSaldo; 10 +import br.com.centralit.api.model.MaterialLocalEstoque;
14 import br.com.centralit.api.service.EstruturaOrganizacionalService; 11 import br.com.centralit.api.service.EstruturaOrganizacionalService;
15 -import br.com.centralit.api.service.LocalEstoqueService; 12 +import br.com.centralit.api.service.MaterialLocalEstoqueService;
16 import br.com.centralit.framework.service.arquitetura.GenericServiceImpl; 13 import br.com.centralit.framework.service.arquitetura.GenericServiceImpl;
17 -import br.com.centralit.framework.util.UtilObjeto;  
18 -  
19 -import com.google.common.base.Strings;  
20 14
21 @Service("localEstoqueService") 15 @Service("localEstoqueService")
22 -public class LocalEstoqueServiceImpl extends GenericServiceImpl<LocalEstoque, Long> implements LocalEstoqueService { 16 +public class LocalEstoqueServiceImpl extends GenericServiceImpl<MaterialLocalEstoque, Long> implements MaterialLocalEstoqueService {
23 17
24 /** Atributo localEstoqueDao. */ 18 /** Atributo localEstoqueDao. */
25 private LocalEstoqueDao localEstoqueDao; 19 private LocalEstoqueDao localEstoqueDao;
@@ -36,7 +30,7 @@ public class LocalEstoqueServiceImpl extends GenericServiceImpl&lt;LocalEstoque, Lo @@ -36,7 +30,7 @@ public class LocalEstoqueServiceImpl extends GenericServiceImpl&lt;LocalEstoque, Lo
36 } 30 }
37 31
38 @Override 32 @Override
39 - public LocalEstoque save(LocalEstoque entity) { 33 + public MaterialLocalEstoque save(MaterialLocalEstoque entity) {
40 34
41 this.validarEntidade(entity, this.validator); 35 this.validarEntidade(entity, this.validator);
42 36
@@ -44,7 +38,7 @@ public class LocalEstoqueServiceImpl extends GenericServiceImpl&lt;LocalEstoque, Lo @@ -44,7 +38,7 @@ public class LocalEstoqueServiceImpl extends GenericServiceImpl&lt;LocalEstoque, Lo
44 } 38 }
45 39
46 @Override 40 @Override
47 - public LocalEstoque merge(LocalEstoque entity) { 41 + public MaterialLocalEstoque merge(MaterialLocalEstoque entity) {
48 42
49 this.validarEntidade(entity, this.validator); 43 this.validarEntidade(entity, this.validator);
50 44
@@ -55,58 +49,9 @@ public class LocalEstoqueServiceImpl extends GenericServiceImpl&lt;LocalEstoque, Lo @@ -55,58 +49,9 @@ public class LocalEstoqueServiceImpl extends GenericServiceImpl&lt;LocalEstoque, Lo
55 * {@inheritDoc} 49 * {@inheritDoc}
56 */ 50 */
57 @Override 51 @Override
58 - public LocalEstoque buscarLocalEstoque(EstruturaOrganizacional almoxarifado) { 52 + public MaterialLocalEstoque buscarLocalEstoque(EstruturaOrganizacional almoxarifado) {
59 53
60 return this.localEstoqueDao.buscarLocalEstoque(almoxarifado); 54 return this.localEstoqueDao.buscarLocalEstoque(almoxarifado);
61 } 55 }
62 -  
63 - /**  
64 - * <p>  
65 - * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>  
66 - * </p>  
67 - *  
68 - * <p>  
69 - * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>  
70 - * </p>  
71 - *  
72 - * Método responsável por salvar local estoque almoxarifado  
73 - *  
74 - * @author rogerio.cassimiro  
75 - *  
76 - * @param idEstruturaAlmoxarifado  
77 - * @return LocalEstoque  
78 - */  
79 - @Override  
80 - public LocalEstoque saveLocalEstoqueAlmoxarifado(String idEstruturaAlmoxarifado) {  
81 -  
82 - if(!Strings.isNullOrEmpty(idEstruturaAlmoxarifado)) {  
83 -  
84 - EstruturaOrganizacional almoxarifado = this.estruturaOrganizacionalService.getReference(Long.parseLong(idEstruturaAlmoxarifado));  
85 -  
86 - if(UtilObjeto.isReferencia(almoxarifado)) {  
87 -  
88 - LocalEstoque localEstoque = this.buscarLocalEstoque(almoxarifado);  
89 -  
90 - if (localEstoque == null) {  
91 -  
92 - localEstoque = new LocalEstoque();  
93 - localEstoque.setHistoricoSaldo(new ArrayList<MaterialEstoqueSaldo>());  
94 -  
95 - } else {  
96 -  
97 - localEstoque.setHistoricoSaldo(null);  
98 - }  
99 -  
100 - localEstoque.setAlmoxarifado(almoxarifado);  
101 -  
102 - return this.save(localEstoque);  
103 -  
104 - }  
105 -  
106 - }  
107 -  
108 - return null;  
109 -  
110 - }  
111 56
112 } 57 }
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/MaterialEstoqueSaldoMedioServiceImpl.java
@@ -1,161 +0,0 @@ @@ -1,161 +0,0 @@
1 -package br.com.centralit.api.service.impl;  
2 -  
3 -import java.math.BigDecimal;  
4 -  
5 -import org.springframework.beans.factory.annotation.Autowired;  
6 -import org.springframework.beans.factory.annotation.Qualifier;  
7 -import org.springframework.stereotype.Service;  
8 -import org.springframework.validation.Validator;  
9 -  
10 -import br.com.centralit.api.dao.MaterialEstoqueSaldoMedioDao;  
11 -import br.com.centralit.api.model.Material;  
12 -import br.com.centralit.api.model.MaterialConsumo;  
13 -import br.com.centralit.api.model.MaterialEstoqueSaldoMedio;  
14 -import br.com.centralit.api.service.MaterialConsumoService;  
15 -import br.com.centralit.api.service.MaterialEstoqueSaldoMedioService;  
16 -import br.com.centralit.framework.service.arquitetura.GenericServiceImpl;  
17 -import br.com.centralit.framework.util.UtilObjeto;  
18 -  
19 -/**  
20 - * <p>  
21 - * <img src="http://centralit.com.br/images/logo_central.png">  
22 - * </p>  
23 - *  
24 - * <p>  
25 - * <b>Company: </b> Central IT - Governança Corporativa -  
26 - * </p>  
27 - *  
28 - * <p>  
29 - * <b>Title: </b>  
30 - * </p>  
31 - *  
32 - * <p>  
33 - * <b>Description: </b>  
34 - * </p>  
35 - *  
36 - * @since 23/06/2015 - 17:53:30  
37 - *  
38 - * @version 1.0.0  
39 - *  
40 - * @author geovane.filho  
41 - *  
42 - */  
43 -@Service("materialEstoqueSaldoMedioService")  
44 -public class MaterialEstoqueSaldoMedioServiceImpl extends GenericServiceImpl<MaterialEstoqueSaldoMedio, Long> implements MaterialEstoqueSaldoMedioService {  
45 -  
46 - @Autowired  
47 - private MaterialEstoqueSaldoMedioDao materialEstoqueSaldoMedioDao;  
48 -  
49 - @Autowired  
50 - private MaterialConsumoService materialConsumoService;  
51 -  
52 - /**  
53 - * Responsável pela criação de novas instâncias desta classe.  
54 - *  
55 - * @param entradaAlmoxarifadoDao  
56 - * @param validator  
57 - */  
58 - @Autowired  
59 - public MaterialEstoqueSaldoMedioServiceImpl( MaterialEstoqueSaldoMedioDao materialEstoqueSaldoMedioDao, @Qualifier("materialEstoqueSaldoMedioValidator") Validator validator ) {  
60 - this.dao = materialEstoqueSaldoMedioDao;  
61 - this.materialEstoqueSaldoMedioDao = materialEstoqueSaldoMedioDao;  
62 - this.validator = validator;  
63 - }  
64 -  
65 - /**  
66 - * {@inheritDoc}  
67 - */  
68 - @Override  
69 - public void atualizaMaterialEstoque(Material material, BigDecimal quantidade, BigDecimal valorTotal) {  
70 - MaterialEstoqueSaldoMedio saldoMedio = this.materialEstoqueSaldoMedioDao.findByMaterial(material);  
71 - if (saldoMedio == null) {  
72 - saldoMedio = new MaterialEstoqueSaldoMedio(material);  
73 - }  
74 -  
75 - BigDecimal qntAtual = saldoMedio.getQuantidadeAtual();  
76 - BigDecimal valorTotalAtual = BigDecimal.ZERO;  
77 - if(UtilObjeto.isReferencia(saldoMedio.getValorUnitarioMedio()) && UtilObjeto.isReferencia(saldoMedio.getRestoMedio())) {  
78 - valorTotalAtual = saldoMedio.getValorUnitarioMedio().multiply(saldoMedio.getQuantidadeAtual()).add(saldoMedio.getRestoMedio());  
79 - }  
80 -  
81 - BigDecimal qntNova = qntAtual.add(quantidade);  
82 - BigDecimal valorTotalNovo = valorTotalAtual.add(valorTotal);  
83 -  
84 - BigDecimal valorUnitarioNovo = valorTotalNovo.divide(qntNova, 4, BigDecimal.ROUND_HALF_UP);  
85 -  
86 - BigDecimal valorUnitXquantidade = qntNova.multiply(valorUnitarioNovo);  
87 - BigDecimal valorRestoNovo = valorTotalNovo.subtract(valorUnitXquantidade);  
88 -  
89 -  
90 - saldoMedio.setQuantidadeAtual(qntNova);  
91 - saldoMedio.setValorUnitarioMedio(valorUnitarioNovo);  
92 - saldoMedio.setRestoMedio(valorRestoNovo);  
93 -  
94 - this.materialEstoqueSaldoMedioDao.save(saldoMedio);  
95 - }  
96 -  
97 - /**  
98 - * {@inheritDoc}  
99 - */  
100 - @Override  
101 - public MaterialEstoqueSaldoMedio findByMaterial(Material idMaterial) {  
102 - return this.materialEstoqueSaldoMedioDao.findByMaterial(idMaterial);  
103 - }  
104 -  
105 - /**  
106 - * {@inheritDoc}  
107 - */  
108 - @Override  
109 - public BigDecimal realizaMovimentoSaida(MaterialConsumo materialConsumo, BigDecimal quantidadeMovimentada) {  
110 - BigDecimal retorno = BigDecimal.ZERO;  
111 -  
112 - MaterialEstoqueSaldoMedio estoqueMedio = this.findByMaterial(materialConsumo); //Busco o saldo de estoque baseado na média móvel  
113 -  
114 - if (estoqueMedio.getQuantidadeAtual().compareTo(quantidadeMovimentada) > 0) {  
115 - retorno = retorno.add(estoqueMedio.getValorUnitarioMedio().multiply(quantidadeMovimentada));  
116 - estoqueMedio.setQuantidadeAtual(estoqueMedio.getQuantidadeAtual().subtract(quantidadeMovimentada));  
117 - this.save(estoqueMedio);  
118 - } else {  
119 - if(estoqueMedio.getValorUnitarioMedio() != null && estoqueMedio.getRestoMedio() != null){  
120 - retorno = retorno.add((estoqueMedio.getValorUnitarioMedio().multiply(quantidadeMovimentada)).add(estoqueMedio.getRestoMedio()));  
121 - }  
122 - estoqueMedio.setQuantidadeAtual(estoqueMedio.getQuantidadeAtual().subtract(quantidadeMovimentada));  
123 - this.save(estoqueMedio);  
124 - }  
125 -  
126 - return retorno;  
127 - }  
128 -  
129 - /**  
130 - * {@inheritDoc}  
131 - */  
132 - @Override  
133 - public BigDecimal realizaMovimentoDevolucao(MaterialConsumo materialConsumo, BigDecimal quantidadeMovimentada) {  
134 - BigDecimal retorno = BigDecimal.ZERO;  
135 -  
136 - MaterialEstoqueSaldoMedio estoqueMedio = this.findByMaterial(materialConsumo); //Busco o saldo de estoque baseado na média móvel  
137 -  
138 - retorno = retorno.add(estoqueMedio.getValorUnitarioMedio().multiply(quantidadeMovimentada)); //Gero o valor monetario da movimentação sendo realizada  
139 -  
140 - if (estoqueMedio.getQuantidadeAtual().equals(BigDecimal.ZERO)) { //Se o saldo atual da quantidade em estoque for zero eu adiciono o resto na movimentação  
141 - retorno = retorno.add(estoqueMedio.getRestoMedio());  
142 - }  
143 -  
144 - estoqueMedio.setQuantidadeAtual(estoqueMedio.getQuantidadeAtual().add(quantidadeMovimentada)); //Atualizo a quantidade atual do estoque  
145 - this.save(estoqueMedio);  
146 -  
147 - return retorno;  
148 - }  
149 -  
150 - public BigDecimal buscaValorUnitario(Long materialId){  
151 - BigDecimal retorno = BigDecimal.ZERO;  
152 - retorno = this.materialEstoqueSaldoMedioDao.buscaValorUnitario(materialId);  
153 - return retorno;  
154 - }  
155 -  
156 - public BigDecimal buscaValorResto(Long materialId){  
157 - BigDecimal retorno = BigDecimal.ZERO;  
158 - retorno = this.materialEstoqueSaldoMedioDao.buscaValorResto(materialId);  
159 - return retorno;  
160 - }  
161 -}  
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/MaterialEstoqueServiceImpl.java 0 → 100644
@@ -0,0 +1,24 @@ @@ -0,0 +1,24 @@
  1 +package br.com.centralit.api.service.impl;
  2 +
  3 +import org.springframework.beans.factory.annotation.Autowired;
  4 +import org.springframework.beans.factory.annotation.Qualifier;
  5 +import org.springframework.stereotype.Service;
  6 +import org.springframework.validation.Validator;
  7 +
  8 +import br.com.centralit.api.dao.MaterialEstoqueDao;
  9 +import br.com.centralit.api.model.MaterialEstoque;
  10 +import br.com.centralit.api.service.MaterialEstoqueService;
  11 +import br.com.centralit.framework.service.arquitetura.GenericServiceImpl;
  12 +
  13 +@Service("materialEstoqueService")
  14 +public class MaterialEstoqueServiceImpl extends GenericServiceImpl<MaterialEstoque, Long> implements MaterialEstoqueService {
  15 +
  16 + private MaterialEstoqueDao materialEstoqueDao;
  17 +
  18 + @Autowired
  19 + public MaterialEstoqueServiceImpl(MaterialEstoqueDao materialEstoqueDao, @Qualifier("materialEstoqueValidator") Validator validator) {
  20 + this.dao = materialEstoqueDao;
  21 + this.materialEstoqueDao = materialEstoqueDao;
  22 + this.validator = validator;
  23 + }
  24 +}
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/MovimentoEstoqueServiceImpl.java
@@ -3,6 +3,7 @@ package br.com.centralit.api.service.impl; @@ -3,6 +3,7 @@ package br.com.centralit.api.service.impl;
3 import java.math.BigDecimal; 3 import java.math.BigDecimal;
4 import java.util.ArrayList; 4 import java.util.ArrayList;
5 import java.util.Calendar; 5 import java.util.Calendar;
  6 +import java.util.Collection;
6 import java.util.HashMap; 7 import java.util.HashMap;
7 import java.util.List; 8 import java.util.List;
8 import java.util.Map; 9 import java.util.Map;
@@ -26,17 +27,17 @@ import br.com.centralit.api.model.DominioMaterial; @@ -26,17 +27,17 @@ import br.com.centralit.api.model.DominioMaterial;
26 import br.com.centralit.api.model.EntradaAlmoxarifado; 27 import br.com.centralit.api.model.EntradaAlmoxarifado;
27 import br.com.centralit.api.model.EntradaAlmoxarifadoItem; 28 import br.com.centralit.api.model.EntradaAlmoxarifadoItem;
28 import br.com.centralit.api.model.EstruturaOrganizacional; 29 import br.com.centralit.api.model.EstruturaOrganizacional;
29 -import br.com.centralit.api.model.LocalEstoque;  
30 import br.com.centralit.api.model.MaterialConsumo; 30 import br.com.centralit.api.model.MaterialConsumo;
  31 +import br.com.centralit.api.model.MaterialLocalEstoque;
31 import br.com.centralit.api.model.MovimentoEstoque; 32 import br.com.centralit.api.model.MovimentoEstoque;
32 import br.com.centralit.api.service.BaixaAlmoxarifadoItemService; 33 import br.com.centralit.api.service.BaixaAlmoxarifadoItemService;
33 import br.com.centralit.api.service.ConfiguracaoParametroSistemaService; 34 import br.com.centralit.api.service.ConfiguracaoParametroSistemaService;
34 import br.com.centralit.api.service.ContaContabilMovimentoService; 35 import br.com.centralit.api.service.ContaContabilMovimentoService;
35 import br.com.centralit.api.service.DominioService; 36 import br.com.centralit.api.service.DominioService;
36 import br.com.centralit.api.service.EntradaAlmoxarifadoItemService; 37 import br.com.centralit.api.service.EntradaAlmoxarifadoItemService;
37 -import br.com.centralit.api.service.LocalEstoqueService;  
38 import br.com.centralit.api.service.MaterialConsumoService; 38 import br.com.centralit.api.service.MaterialConsumoService;
39 -import br.com.centralit.api.service.MaterialEstoqueSaldoMedioService; 39 +import br.com.centralit.api.service.MaterialEstoqueService;
  40 +import br.com.centralit.api.service.MaterialLocalEstoqueService;
40 import br.com.centralit.api.service.MovimentoEstoqueService; 41 import br.com.centralit.api.service.MovimentoEstoqueService;
41 import br.com.centralit.api.service.OrganizacaoService; 42 import br.com.centralit.api.service.OrganizacaoService;
42 import br.com.centralit.framework.model.Dominio; 43 import br.com.centralit.framework.model.Dominio;
@@ -81,7 +82,7 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl&lt;MovimentoEst @@ -81,7 +82,7 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl&lt;MovimentoEst
81 private MovimentoEstoqueDao movimentoEstoqueDao; 82 private MovimentoEstoqueDao movimentoEstoqueDao;
82 83
83 @Autowired 84 @Autowired
84 - private LocalEstoqueService localEstoqueService; 85 + private MaterialLocalEstoqueService materialLocalEstoqueService;
85 86
86 @Autowired 87 @Autowired
87 private DominioService dominioService; 88 private DominioService dominioService;
@@ -89,9 +90,9 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl&lt;MovimentoEst @@ -89,9 +90,9 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl&lt;MovimentoEst
89 /** Atributo entradaAlmoxarifadoItemService. */ 90 /** Atributo entradaAlmoxarifadoItemService. */
90 @Autowired 91 @Autowired
91 private EntradaAlmoxarifadoItemService entradaAlmoxarifadoItemService; 92 private EntradaAlmoxarifadoItemService entradaAlmoxarifadoItemService;
92 - 93 +
93 @Autowired 94 @Autowired
94 - private MaterialEstoqueSaldoMedioService materialEstoqueSaldoMedioService; 95 + private MaterialEstoqueService materialEstoqueService;
95 96
96 /** Atributo baixaAlmoxarifadoItemService. */ 97 /** Atributo baixaAlmoxarifadoItemService. */
97 @Autowired 98 @Autowired
@@ -134,19 +135,25 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl&lt;MovimentoEst @@ -134,19 +135,25 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl&lt;MovimentoEst
134 public void gerarMovimento(EntradaAlmoxarifado entradaAlmoxarifado) { 135 public void gerarMovimento(EntradaAlmoxarifado entradaAlmoxarifado) {
135 136
136 Dominio tipoMovimentoEntrada = this.dominioService.findByChaveAndCodigo(DominioAlmoxarifado.TIPO_MOVIMENTO_ESTOQUE, DominioAlmoxarifado.TIPO_MOVIMENTO_ESTOQUE_ENTRADA); 137 Dominio tipoMovimentoEntrada = this.dominioService.findByChaveAndCodigo(DominioAlmoxarifado.TIPO_MOVIMENTO_ESTOQUE, DominioAlmoxarifado.TIPO_MOVIMENTO_ESTOQUE_ENTRADA);
  138 + Dominio classeReferenciaEntItem = this.dominioService.findByChaveAndCodigo(DominioMaterial.CLASSE_REFERENCIA, DominioMaterial.REFERENCIA_ENTRADA_ALMOXARIFADO_ITEM);
137 139
138 List<MovimentoEstoque> movimentos = new ArrayList<MovimentoEstoque>(); 140 List<MovimentoEstoque> movimentos = new ArrayList<MovimentoEstoque>();
139 141
140 - for (EntradaAlmoxarifadoItem entradaAlmoxarifadoItem : entradaAlmoxarifado.getEntradasIten()) { 142 + for (EntradaAlmoxarifadoItem entradaAlmoxarifadoItem : entradaAlmoxarifado.getEntradasItem()) {
141 143
142 - MovimentoEstoque movimentoEstoque = new MovimentoEstoque(entradaAlmoxarifado.getDataRecebimento(), entradaAlmoxarifadoItem.getQuantidade(), entradaAlmoxarifadoItem.getValorTotal(), entradaAlmoxarifadoItem.getValorTotal(), tipoMovimentoEntrada); 144 + MovimentoEstoque movimentoEstoque = new MovimentoEstoque(entradaAlmoxarifado.getDataRecebimento(), entradaAlmoxarifadoItem.getQuantidade(), entradaAlmoxarifadoItem.getValorTotal(),
  145 + entradaAlmoxarifadoItem.getValorTotal(), tipoMovimentoEntrada);
143 146
144 - movimentoEstoque.setEntradaAlmoxarifadoItem(entradaAlmoxarifadoItem);  
145 - movimentoEstoque.setLocalEstoque(this.localEstoqueService.buscarLocalEstoque(entradaAlmoxarifado.getAlmoxarifado())); 147 + movimentoEstoque.setDominioClasseReferencia(classeReferenciaEntItem);
  148 + movimentoEstoque.setIdClasseReferencia(entradaAlmoxarifadoItem.getId());
  149 + movimentoEstoque.setMaterialLocalEstoque(entradaAlmoxarifadoItem.getMaterialLocalEstoque());
146 movimentoEstoque.setMaterial(entradaAlmoxarifadoItem.getMaterial()); 150 movimentoEstoque.setMaterial(entradaAlmoxarifadoItem.getMaterial());
  151 + movimentoEstoque.setMaterialEstoque(entradaAlmoxarifadoItem.getMaterialLocalEstoque().getMaterialEstoque());
  152 +
147 movimentos.add(movimentoEstoque); 153 movimentos.add(movimentoEstoque);
148 154
149 - this.materialEstoqueSaldoMedioService.atualizaMaterialEstoque(movimentoEstoque.getMaterial(), movimentoEstoque.getQuantidade(), movimentoEstoque.getValorFIFO()); 155 + //TODO Corrigir com nova versão
  156 + //this.materialEstoqueSaldoMedioService.atualizaMaterialEstoque(movimentoEstoque.getMaterial(), movimentoEstoque.getQuantidade(), movimentoEstoque.getValorFIFO());
150 Dominio tipoSaldoEntrada = new Dominio(); 157 Dominio tipoSaldoEntrada = new Dominio();
151 if (UtilObjeto.isReferencia(entradaAlmoxarifado.getDominioTipoEntrada())){ 158 if (UtilObjeto.isReferencia(entradaAlmoxarifado.getDominioTipoEntrada())){
152 if (entradaAlmoxarifado.getDominioTipoEntrada().getCodigo() == Dominio.TIPO_ENTRADA_ALMOXARIFADO_EXTRA_ORCAMENTARIA_CODIGO){ 159 if (entradaAlmoxarifado.getDominioTipoEntrada().getCodigo() == Dominio.TIPO_ENTRADA_ALMOXARIFADO_EXTRA_ORCAMENTARIA_CODIGO){
@@ -156,7 +163,7 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl&lt;MovimentoEst @@ -156,7 +163,7 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl&lt;MovimentoEst
156 } 163 }
157 } 164 }
158 165
159 - this.contaContabilMovimentoService.salvaMovimentoEntradaAlmoxarifado(entradaAlmoxarifadoItem.getMaterial().getContaContabil(), entradaAlmoxarifadoItem.getValorTotal(), entradaAlmoxarifadoItem.getId(), entradaAlmoxarifadoItem.getEntrada(), tipoSaldoEntrada); 166 + this.contaContabilMovimentoService.salvaMovimentoEntradaAlmoxarifado(entradaAlmoxarifadoItem.getMaterial().getContaContabil(), entradaAlmoxarifadoItem.getValorTotal(), entradaAlmoxarifadoItem.getId(), tipoSaldoEntrada);
160 } 167 }
161 168
162 this.saveList(movimentos); 169 this.saveList(movimentos);
@@ -220,13 +227,22 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl&lt;MovimentoEst @@ -220,13 +227,22 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl&lt;MovimentoEst
220 for (DevolucaoItem devolucaoItem : devolucao.getDevolucaoItens()) { 227 for (DevolucaoItem devolucaoItem : devolucao.getDevolucaoItens()) {
221 228
222 BigDecimal valorMovimentoFIFO = this.entradaAlmoxarifadoItemService.realizaMovimentoDevolucao(devolucaoItem.getMaterialConsumo(), devolucaoItem.getQuantidade()); 229 BigDecimal valorMovimentoFIFO = this.entradaAlmoxarifadoItemService.realizaMovimentoDevolucao(devolucaoItem.getMaterialConsumo(), devolucaoItem.getQuantidade());
223 - BigDecimal valorMovimentoMediaMovel = this.materialEstoqueSaldoMedioService.realizaMovimentoDevolucao(devolucaoItem.getMaterialConsumo(), devolucaoItem.getQuantidade());  
224 -  
225 - MovimentoEstoque movimentoEstoque = new MovimentoEstoque(devolucaoItem.getDevolucao().getDataDevolucao(), devolucaoItem.getQuantidade(), valorMovimentoFIFO, valorMovimentoMediaMovel, tipoMovimentoDevolucao);  
226 -  
227 - movimentoEstoque.setDevolucaoItem(devolucaoItem); 230 + BigDecimal valorMovimentoMediaMovel = BigDecimal.ZERO;//BigDecimal valorMovimentoMediaMovel = this.materialEstoqueSaldoMedioService.realizaMovimentoDevolucao(devolucaoItem.getMaterialConsumo(), devolucaoItem.getQuantidade());
  231 +
  232 +
  233 +
  234 + MovimentoEstoque movimentoEstoque = new MovimentoEstoque(devolucaoItem.getDevolucao().getDataDevolucao(), devolucaoItem.getQuantidade(), valorMovimentoFIFO, valorMovimentoMediaMovel,
  235 + tipoMovimentoDevolucao);
  236 +
  237 + movimentoEstoque.setDominioClasseReferencia(classeReferenciaDevolucao);
  238 + movimentoEstoque.setIdClasseReferencia(devolucaoItem.getId());
228 239
229 - movimentoEstoque.setLocalEstoque(this.localEstoqueService.buscarLocalEstoque(devolucao.getRequisicao().getAlmoxarifado())); 240 + //TODO corrigir movimentação de devolução com versão nova
  241 +
  242 + /*movimentoEstoque.setLocalEstoque(this.materialLocalEstoqueService.buscarLocalEstoque(devolucao.getRequisicao().getAlmoxarifado()));
  243 + movimentoEstoque.setMaterialLocalEstoque(entradaAlmoxarifadoItem.getMaterialLocalEstoque());
  244 + movimentoEstoque.setMaterial(entradaAlmoxarifadoItem.getMaterial());
  245 + movimentoEstoque.setMaterialEstoque(entradaAlmoxarifadoItem.getMaterialLocalEstoque().getMaterialEstoque());*/
230 246
231 movimentoEstoque.setMaterial(devolucaoItem.getMaterialConsumo()); 247 movimentoEstoque.setMaterial(devolucaoItem.getMaterialConsumo());
232 248
@@ -266,17 +282,20 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl&lt;MovimentoEst @@ -266,17 +282,20 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl&lt;MovimentoEst
266 282
267 List<MovimentoEstoque> movimentos = new ArrayList<MovimentoEstoque>(); 283 List<MovimentoEstoque> movimentos = new ArrayList<MovimentoEstoque>();
268 284
269 - LocalEstoque localEstoque = this.localEstoqueService.buscarLocalEstoque(baixaAlmoxarifado.getAlmoxarifado()); 285 + MaterialLocalEstoque localEstoque = this.materialLocalEstoqueService.buscarLocalEstoque(baixaAlmoxarifado.getAlmoxarifado());
270 286
271 for (BaixaAlmoxarifadoItem baixaAlmoxarifadoItem : baixaAlmoxarifado.getBaixaItens()) { 287 for (BaixaAlmoxarifadoItem baixaAlmoxarifadoItem : baixaAlmoxarifado.getBaixaItens()) {
272 BigDecimal valorMovimentoFIFO = this.entradaAlmoxarifadoItemService.realizaMovimentoSaida(baixaAlmoxarifadoItem.getMaterialConsumo(), baixaAlmoxarifadoItem.getQuantidade()); 288 BigDecimal valorMovimentoFIFO = this.entradaAlmoxarifadoItemService.realizaMovimentoSaida(baixaAlmoxarifadoItem.getMaterialConsumo(), baixaAlmoxarifadoItem.getQuantidade());
273 - BigDecimal valorMovimentoMediaMovel = this.materialEstoqueSaldoMedioService.realizaMovimentoSaida(baixaAlmoxarifadoItem.getMaterialConsumo(), baixaAlmoxarifadoItem.getQuantidade()); 289 + BigDecimal valorMovimentoMediaMovel = BigDecimal.ZERO;//BigDecimal valorMovimentoMediaMovel = this.materialEstoqueSaldoMedioService.realizaMovimentoSaida(baixaAlmoxarifadoItem.getMaterialConsumo(), baixaAlmoxarifadoItem.getQuantidade());
274 290
275 MovimentoEstoque movimentoEstoque = new MovimentoEstoque(baixaAlmoxarifadoItem.getBaixaAlmoxarifado().getDataBaixa(), baixaAlmoxarifadoItem.getQuantidade().multiply(BigDecimal.valueOf(-1)), 291 MovimentoEstoque movimentoEstoque = new MovimentoEstoque(baixaAlmoxarifadoItem.getBaixaAlmoxarifado().getDataBaixa(), baixaAlmoxarifadoItem.getQuantidade().multiply(BigDecimal.valueOf(-1)),
276 valorMovimentoFIFO.multiply(BigDecimal.valueOf(-1)), valorMovimentoMediaMovel.multiply(BigDecimal.valueOf(-1)), tipoMovimentoBaixa); 292 valorMovimentoFIFO.multiply(BigDecimal.valueOf(-1)), valorMovimentoMediaMovel.multiply(BigDecimal.valueOf(-1)), tipoMovimentoBaixa);
277 - movimentoEstoque.setBaixaAlmoxarifadoItem(baixaAlmoxarifadoItem); 293 +
  294 + //TODO Corrigir movimento de baixa com versão nova
  295 +
  296 + /*movimentoEstoque.setBaixaAlmoxarifadoItem(baixaAlmoxarifadoItem);
278 movimentoEstoque.setLocalEstoque(localEstoque); 297 movimentoEstoque.setLocalEstoque(localEstoque);
279 - movimentoEstoque.setMaterial(baixaAlmoxarifadoItem.getMaterialConsumo()); 298 + movimentoEstoque.setMaterial(baixaAlmoxarifadoItem.getMaterialConsumo());*/
280 299
281 movimentos.add(movimentoEstoque); 300 movimentos.add(movimentoEstoque);
282 301
@@ -304,10 +323,13 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl&lt;MovimentoEst @@ -304,10 +323,13 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl&lt;MovimentoEst
304 BigDecimal quantidade = movimentoEstoque.getQuantidade().abs(); 323 BigDecimal quantidade = movimentoEstoque.getQuantidade().abs();
305 324
306 this.entradaAlmoxarifadoItemService.realizaMovimentoDevolucao(material, quantidade); 325 this.entradaAlmoxarifadoItemService.realizaMovimentoDevolucao(material, quantidade);
307 - this.materialEstoqueSaldoMedioService.realizaMovimentoDevolucao(material, quantidade); 326 + //this.materialEstoqueSaldoMedioService.realizaMovimentoDevolucao(material, quantidade);
308 327
309 Dominio classeReferencia = null; 328 Dominio classeReferencia = null;
310 Long idClasseReferencia = null; 329 Long idClasseReferencia = null;
  330 +
  331 + //TODO corrigir remoção com nova versão de dominios
  332 + /*
311 if (movimentoEstoque.getAtendimentoRequisicaoConsumoItem() != null) { 333 if (movimentoEstoque.getAtendimentoRequisicaoConsumoItem() != null) {
312 classeReferencia = this.dominioService.findByChaveAndCodigo(DominioMaterial.CLASSE_REFERENCIA, DominioMaterial.REFERENCIA_ATENDIMENTO_ALMOXARIFADO_ITEM); 334 classeReferencia = this.dominioService.findByChaveAndCodigo(DominioMaterial.CLASSE_REFERENCIA, DominioMaterial.REFERENCIA_ATENDIMENTO_ALMOXARIFADO_ITEM);
313 idClasseReferencia = movimentoEstoque.getAtendimentoRequisicaoConsumoItem().getId(); 335 idClasseReferencia = movimentoEstoque.getAtendimentoRequisicaoConsumoItem().getId();
@@ -320,7 +342,7 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl&lt;MovimentoEst @@ -320,7 +342,7 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl&lt;MovimentoEst
320 } else if (movimentoEstoque.getEntradaAlmoxarifadoItem() != null) { 342 } else if (movimentoEstoque.getEntradaAlmoxarifadoItem() != null) {
321 classeReferencia = this.dominioService.findByChaveAndCodigo(DominioMaterial.CLASSE_REFERENCIA, DominioMaterial.REFERENCIA_ENTRADA_ALMOXARIFADO_ITEM); 343 classeReferencia = this.dominioService.findByChaveAndCodigo(DominioMaterial.CLASSE_REFERENCIA, DominioMaterial.REFERENCIA_ENTRADA_ALMOXARIFADO_ITEM);
322 idClasseReferencia = movimentoEstoque.getEntradaAlmoxarifadoItem().getId(); 344 idClasseReferencia = movimentoEstoque.getEntradaAlmoxarifadoItem().getId();
323 - } 345 + }*/
324 346
325 ContaContabilMovimento movimento = this.contaContabilMovimentoService.findByContaAndClasseReferencia(material.getContaContabil(), classeReferencia, idClasseReferencia); 347 ContaContabilMovimento movimento = this.contaContabilMovimentoService.findByContaAndClasseReferencia(material.getContaContabil(), classeReferencia, idClasseReferencia);
326 348
@@ -364,14 +386,16 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl&lt;MovimentoEst @@ -364,14 +386,16 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl&lt;MovimentoEst
364 } 386 }
365 387
366 BigDecimal valorMovimentoFIFO = this.entradaAlmoxarifadoItemService.realizaMovimentoSaida(atendimentoRequisicaoConsumoItem.getMaterial(), atendimentoRequisicaoConsumoItem.getQuantidade()); 388 BigDecimal valorMovimentoFIFO = this.entradaAlmoxarifadoItemService.realizaMovimentoSaida(atendimentoRequisicaoConsumoItem.getMaterial(), atendimentoRequisicaoConsumoItem.getQuantidade());
367 - BigDecimal valorMovimentoMediaMovel = this.materialEstoqueSaldoMedioService.realizaMovimentoSaida(atendimentoRequisicaoConsumoItem.getMaterial(), atendimentoRequisicaoConsumoItem.getQuantidade()); 389 + BigDecimal valorMovimentoMediaMovel = BigDecimal.ZERO;//BigDecimal valorMovimentoMediaMovel = this.materialEstoqueSaldoMedioService.realizaMovimentoSaida(atendimentoRequisicaoConsumoItem.getMaterial(), atendimentoRequisicaoConsumoItem.getQuantidade());
368 390
369 MovimentoEstoque movimentoEstoque = new MovimentoEstoque(atendimento.getDataAtendimento(), atendimentoRequisicaoConsumoItem.getQuantidade().multiply(BigDecimal.valueOf(-1)), 391 MovimentoEstoque movimentoEstoque = new MovimentoEstoque(atendimento.getDataAtendimento(), atendimentoRequisicaoConsumoItem.getQuantidade().multiply(BigDecimal.valueOf(-1)),
370 valorMovimentoFIFO.multiply(BigDecimal.valueOf(-1)), valorMovimentoMediaMovel.multiply(BigDecimal.valueOf(-1)), tipoMovimento); //Movimentos negativos pois o valor esta saindo do estoque. 392 valorMovimentoFIFO.multiply(BigDecimal.valueOf(-1)), valorMovimentoMediaMovel.multiply(BigDecimal.valueOf(-1)), tipoMovimento); //Movimentos negativos pois o valor esta saindo do estoque.
371 393
372 - movimentoEstoque.setAtendimentoRequisicaoConsumoItem(atendimentoRequisicaoConsumoItem);  
373 - movimentoEstoque.setLocalEstoque(this.localEstoqueService.find(getUsuario().getOrganizacao().getId()));  
374 - movimentoEstoque.setMaterial(atendimentoRequisicaoConsumoItem.getMaterial()); 394 + //TODO Corrigir movimento de atendimento com versão nova
  395 +
  396 + /*movimentoEstoque.setAtendimentoRequisicaoConsumoItem(atendimentoRequisicaoConsumoItem);
  397 + movimentoEstoque.setLocalEstoque(this.materialLocalEstoqueService.find(getUsuario().getOrganizacao().getId()));
  398 + movimentoEstoque.setMaterial(atendimentoRequisicaoConsumoItem.getMaterial());*/
375 399
376 movimentos.add(movimentoEstoque); 400 movimentos.add(movimentoEstoque);
377 401
@@ -545,4 +569,12 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl&lt;MovimentoEst @@ -545,4 +569,12 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl&lt;MovimentoEst
545 return this.movimentoEstoqueDao.buscaQuantidadeMovimentadaMaterialPorReferencia(materialId, dataReferencia, organizacaoId); 569 return this.movimentoEstoqueDao.buscaQuantidadeMovimentadaMaterialPorReferencia(materialId, dataReferencia, organizacaoId);
546 } 570 }
547 571
  572 + /**
  573 + * {@inheritDoc}
  574 + */
  575 + @Override
  576 + public Collection<MovimentoEstoque> findAllByClasseReferencia(Dominio classeReferencia, Long idReferencia) {
  577 + return this.movimentoEstoqueDao.findAllByClasseReferencia(classeReferencia, idReferencia);
  578 + }
  579 +
548 } 580 }
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/validation/LocalEstoqueValidator.java
1 package br.com.centralit.api.service.validation; 1 package br.com.centralit.api.service.validation;
2 2
3 -import br.com.centralit.api.model.LocalEstoque; 3 +import br.com.centralit.api.model.MaterialLocalEstoque;
4 import org.springframework.stereotype.Component; 4 import org.springframework.stereotype.Component;
5 import org.springframework.validation.Errors; 5 import org.springframework.validation.Errors;
6 import org.springframework.validation.ValidationUtils; 6 import org.springframework.validation.ValidationUtils;
@@ -14,7 +14,7 @@ public class LocalEstoqueValidator implements Validator { @@ -14,7 +14,7 @@ public class LocalEstoqueValidator implements Validator {
14 @Override 14 @Override
15 public boolean supports(Class<?> clazz) { 15 public boolean supports(Class<?> clazz) {
16 16
17 - return LocalEstoque.class.isAssignableFrom(clazz); 17 + return MaterialLocalEstoque.class.isAssignableFrom(clazz);
18 } 18 }
19 19
20 @Override 20 @Override
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/validation/MaterialEstoqueSaldoMedioValidator.java
@@ -1,33 +0,0 @@ @@ -1,33 +0,0 @@
1 -package br.com.centralit.api.service.validation;  
2 -  
3 -import org.springframework.stereotype.Component;  
4 -import org.springframework.validation.Errors;  
5 -import org.springframework.validation.ValidationUtils;  
6 -import org.springframework.validation.Validator;  
7 -  
8 -import br.com.centralit.api.model.MaterialEstoqueSaldoMedio;  
9 -import br.com.centralit.framework.exception.CodigoErro;  
10 -  
11 -@Component("materialEstoqueSaldoMedioValidator")  
12 -public class MaterialEstoqueSaldoMedioValidator implements Validator {  
13 -  
14 - @Override  
15 - public boolean supports(Class<?> clazz) {  
16 -  
17 - return MaterialEstoqueSaldoMedio.class.isAssignableFrom(clazz);  
18 - }  
19 -  
20 - @Override  
21 - public void validate(Object target, Errors errors) {  
22 -  
23 - ValidationUtils.rejectIfEmpty(errors, "material", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "LABEL.MATERIAL");  
24 -  
25 - ValidationUtils.rejectIfEmpty(errors, "quantidadeAtual", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "ALMOXARIFADO.LABEL.QUANTIDADE_ATUAL");  
26 -  
27 - ValidationUtils.rejectIfEmpty(errors, "valorUnitarioMedio", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "ALMOXARIFADO.LABEL.VALORUNITARIOMEDIO");  
28 -  
29 - ValidationUtils.rejectIfEmpty(errors, "restoMedio", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "ALMOXARIFADO.LABEL.RESTOMEDIO");  
30 -  
31 - }  
32 -}  
33 -  
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/validation/MaterialEstoqueValidator.java 0 → 100644
@@ -0,0 +1,27 @@ @@ -0,0 +1,27 @@
  1 +package br.com.centralit.api.service.validation;
  2 +
  3 +import org.springframework.stereotype.Component;
  4 +import org.springframework.validation.Errors;
  5 +import org.springframework.validation.ValidationUtils;
  6 +import org.springframework.validation.Validator;
  7 +
  8 +import br.com.centralit.api.model.MaterialEstoque;
  9 +import br.com.centralit.framework.exception.CodigoErro;
  10 +
  11 +@Component("materialEstoqueValidator")
  12 +public class MaterialEstoqueValidator implements Validator {
  13 +
  14 + @Override
  15 + public boolean supports(Class<?> clazz) {
  16 +
  17 + return MaterialEstoque.class.isAssignableFrom(clazz);
  18 + }
  19 +
  20 + @Override
  21 + public void validate(Object target, Errors errors) {
  22 +
  23 + ValidationUtils.rejectIfEmpty(errors, "material", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "LABEL.MATERIAL");
  24 +
  25 + }
  26 +}
  27 +
cit-almoxarifado-web/src/main/java/br/com/centralit/controller/LocalEstoqueController.java
@@ -8,23 +8,23 @@ import org.springframework.web.bind.annotation.RequestParam; @@ -8,23 +8,23 @@ import org.springframework.web.bind.annotation.RequestParam;
8 import org.springframework.web.bind.annotation.ResponseBody; 8 import org.springframework.web.bind.annotation.ResponseBody;
9 9
10 import br.com.centralit.api.framework.json.ViewsAdmMateriais; 10 import br.com.centralit.api.framework.json.ViewsAdmMateriais;
11 -import br.com.centralit.api.model.LocalEstoque; 11 +import br.com.centralit.api.model.MaterialLocalEstoque;
12 import br.com.centralit.api.model.MyMensagemRetorno; 12 import br.com.centralit.api.model.MyMensagemRetorno;
13 import br.com.centralit.api.model.MyRetornoStatus; 13 import br.com.centralit.api.model.MyRetornoStatus;
14 -import br.com.centralit.api.service.LocalEstoqueService; 14 +import br.com.centralit.api.service.MaterialLocalEstoqueService;
15 import br.com.centralit.framework.controller.GenericController; 15 import br.com.centralit.framework.controller.GenericController;
16 import br.com.centralit.framework.json.ResponseBodyWrapper; 16 import br.com.centralit.framework.json.ResponseBodyWrapper;
17 import br.com.centralit.framework.util.UtilObjeto; 17 import br.com.centralit.framework.util.UtilObjeto;
18 18
19 @Controller 19 @Controller
20 @RequestMapping("/rest/localEstoque") 20 @RequestMapping("/rest/localEstoque")
21 -public class LocalEstoqueController extends GenericController<LocalEstoque> { 21 +public class LocalEstoqueController extends GenericController<MaterialLocalEstoque> {
22 22
23 /** Atributo localEstoqueService. */ 23 /** Atributo localEstoqueService. */
24 - private LocalEstoqueService localEstoqueService; 24 + private MaterialLocalEstoqueService localEstoqueService;
25 25
26 @Autowired 26 @Autowired
27 - public LocalEstoqueController( LocalEstoqueService localEstoqueService ) { 27 + public LocalEstoqueController( MaterialLocalEstoqueService localEstoqueService ) {
28 28
29 super(localEstoqueService); 29 super(localEstoqueService);
30 30
@@ -36,41 +36,4 @@ public class LocalEstoqueController extends GenericController&lt;LocalEstoque&gt; { @@ -36,41 +36,4 @@ public class LocalEstoqueController extends GenericController&lt;LocalEstoque&gt; {
36 36
37 return ViewsAdmMateriais.LocalEstoqueAutoCompleteView.class; 37 return ViewsAdmMateriais.LocalEstoqueAutoCompleteView.class;
38 } 38 }
39 -  
40 - /**  
41 - * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p>  
42 - *  
43 - * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>  
44 - *  
45 - * Método responsável por salvar um local estoque com almoxarifado  
46 - *  
47 - * @author rogerio.cassimiro  
48 - *  
49 - * @param idAlmoxarifado  
50 - * @return ResponseBodyWrapper  
51 - */  
52 - @RequestMapping(value = "/saveLocalEstoqueAlmoxarifado", method = RequestMethod.GET, produces = "application/json")  
53 - @ResponseBody  
54 - public ResponseBodyWrapper saveLocalEstoqueAlmoxarifado(@RequestParam(value = "idAlmoxarifado") String idAlmoxarifado) {  
55 -  
56 - MyRetornoStatus retorno = new MyRetornoStatus();  
57 -  
58 - LocalEstoque localEstoque = this.localEstoqueService.saveLocalEstoqueAlmoxarifado(idAlmoxarifado);  
59 -  
60 - if (UtilObjeto.isReferencia(localEstoque)) {  
61 -  
62 - retorno = new MyRetornoStatus(localEstoque);  
63 -  
64 - } else {  
65 -  
66 - MyMensagemRetorno mensagem = new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.error, "VALIDACAO.ERRO_LOCAL_ESTOQUE");  
67 -  
68 - retorno.mensagens.add(mensagem);  
69 - }  
70 -  
71 - ResponseBodyWrapper responseBody = new ResponseBodyWrapper(retorno, this.getEditView());  
72 -  
73 - return responseBody;  
74 -  
75 - }  
76 } 39 }
cit-almoxarifado-web/src/main/java/br/com/centralit/controller/MaterialEstoqueSaldoController.java
@@ -11,8 +11,6 @@ import org.springframework.web.bind.annotation.ResponseBody; @@ -11,8 +11,6 @@ import org.springframework.web.bind.annotation.ResponseBody;
11 11
12 import br.com.centralit.api.model.Material; 12 import br.com.centralit.api.model.Material;
13 import br.com.centralit.api.model.MaterialEstoqueSaldo; 13 import br.com.centralit.api.model.MaterialEstoqueSaldo;
14 -import br.com.centralit.api.model.MaterialEstoqueSaldoMedio;  
15 -import br.com.centralit.api.service.MaterialEstoqueSaldoMedioService;  
16 import br.com.centralit.api.service.MaterialEstoqueSaldoService; 14 import br.com.centralit.api.service.MaterialEstoqueSaldoService;
17 import br.com.centralit.api.service.MovimentoEstoqueService; 15 import br.com.centralit.api.service.MovimentoEstoqueService;
18 import br.com.centralit.api.service.OrganizacaoService; 16 import br.com.centralit.api.service.OrganizacaoService;
@@ -34,9 +32,6 @@ public class MaterialEstoqueSaldoController extends GenericController&lt;MaterialEs @@ -34,9 +32,6 @@ public class MaterialEstoqueSaldoController extends GenericController&lt;MaterialEs
34 private MovimentoEstoqueService movimentoEstoqueService; 32 private MovimentoEstoqueService movimentoEstoqueService;
35 33
36 @Autowired 34 @Autowired
37 - private MaterialEstoqueSaldoMedioService materialEstoqueSaldoMedioService;  
38 -  
39 - @Autowired  
40 public MaterialEstoqueSaldoController( MaterialEstoqueSaldoService materialEstoqueSaldoService ) { 35 public MaterialEstoqueSaldoController( MaterialEstoqueSaldoService materialEstoqueSaldoService ) {
41 36
42 super(materialEstoqueSaldoService); 37 super(materialEstoqueSaldoService);
@@ -90,11 +85,12 @@ public class MaterialEstoqueSaldoController extends GenericController&lt;MaterialEs @@ -90,11 +85,12 @@ public class MaterialEstoqueSaldoController extends GenericController&lt;MaterialEs
90 85
91 Material material = new Material(); 86 Material material = new Material();
92 material.setId(materialId); 87 material.setId(materialId);
93 - MaterialEstoqueSaldoMedio materialEstoqueSaldo = this.materialEstoqueSaldoMedioService.findByMaterial(material); 88 + //MaterialEstoqueSaldoMedio materialEstoqueSaldo = this.materialEstoqueSaldoMedioService.findByMaterial(material);
94 89
95 - ResponseBodyWrapper responseBody = new ResponseBodyWrapper(materialEstoqueSaldo, Views.MaterialConsultaInfo.class); 90 + //ResponseBodyWrapper responseBody = new ResponseBodyWrapper(materialEstoqueSaldo, Views.MaterialConsultaInfo.class);
96 91
97 - return responseBody; 92 + //return responseBody;
  93 + return null;
98 } 94 }
99 95
100 } 96 }
cit-almoxarifado-web/src/main/java/br/com/centralit/controller/MaterialEstoqueSaldoMedioController.java
@@ -1,58 +0,0 @@ @@ -1,58 +0,0 @@
1 -package br.com.centralit.controller;  
2 -  
3 -import java.math.BigDecimal;  
4 -  
5 -import org.springframework.beans.factory.annotation.Autowired;  
6 -import org.springframework.stereotype.Controller;  
7 -import org.springframework.web.bind.annotation.RequestMapping;  
8 -import org.springframework.web.bind.annotation.RequestMethod;  
9 -import org.springframework.web.bind.annotation.RequestParam;  
10 -import org.springframework.web.bind.annotation.ResponseBody;  
11 -  
12 -import br.com.centralit.api.model.Material;  
13 -import br.com.centralit.api.model.MaterialEstoqueSaldo;  
14 -import br.com.centralit.api.model.MaterialEstoqueSaldoMedio;  
15 -import br.com.centralit.api.service.MaterialEstoqueSaldoMedioService;  
16 -import br.com.centralit.api.service.MaterialEstoqueSaldoService;  
17 -import br.com.centralit.api.service.MovimentoEstoqueService;  
18 -import br.com.centralit.api.service.OrganizacaoService;  
19 -import br.com.centralit.framework.controller.GenericController;  
20 -import br.com.centralit.framework.json.ResponseBodyWrapper;  
21 -import br.com.centralit.framework.json.Views;  
22 -import br.com.centralit.framework.model.Organizacao;  
23 -  
24 -@Controller  
25 -@RequestMapping("/rest/materialEstoqueSaldoMedio")  
26 -public class MaterialEstoqueSaldoMedioController extends GenericController<MaterialEstoqueSaldoMedio> {  
27 -  
28 - private MaterialEstoqueSaldoMedioService materialEstoqueSaldoMedioService;  
29 -  
30 - @Autowired  
31 - private OrganizacaoService organizacaoService;  
32 -  
33 - @Autowired  
34 - private MovimentoEstoqueService movimentoEstoqueService;  
35 -  
36 - @Autowired  
37 - public MaterialEstoqueSaldoMedioController( MaterialEstoqueSaldoMedioService materialEstoqueSaldoMedioService ) {  
38 -  
39 - super(materialEstoqueSaldoMedioService);  
40 - this.materialEstoqueSaldoMedioService = materialEstoqueSaldoMedioService;  
41 - }  
42 -  
43 - @RequestMapping(value = "/buscaValorUnitario", method = RequestMethod.GET, produces = "application/json")  
44 - @ResponseBody  
45 - public BigDecimal buscaValorUnitario(@RequestParam(value = "materialId") Long materialId) {  
46 -  
47 - return this.materialEstoqueSaldoMedioService.buscaValorUnitario(materialId);  
48 - }  
49 -  
50 - @RequestMapping(value = "/buscaValorResto", method = RequestMethod.GET, produces = "application/json")  
51 - @ResponseBody  
52 - public BigDecimal buscaValorResto(@RequestParam(value = "materialId") Long materialId) {  
53 -  
54 - return this.materialEstoqueSaldoMedioService.buscaValorResto(materialId);  
55 - }  
56 -  
57 -  
58 -}  
cit-almoxarifado-web/src/main/resources/reports/entradaAlmoxarifado.jrxml
@@ -29,19 +29,18 @@ @@ -29,19 +29,18 @@
29 </box> 29 </box>
30 </style> 30 </style>
31 <subDataset name="New Dataset 1" uuid="6dbeeb5f-34bd-4536-9c6f-e65cbaf8240a"> 31 <subDataset name="New Dataset 1" uuid="6dbeeb5f-34bd-4536-9c6f-e65cbaf8240a">
32 - <queryString language="SQL">  
33 - <![CDATA[select ea.id as notaEntrada,  
34 - a.datacontabil as dataContabil,  
35 - d.nome as tipoEntrada,  
36 - p.nome as fornecedor,  
37 - eai.quantidade as quantidade,  
38 - eai.valorunitario as valorUnitario,  
39 - eai.valortotal as valorTotal  
40 - from entradaalmoxarifado ea  
41 - inner join entrada a on a.id = ea.id  
42 - inner join dominio d on d.id = a.dominiotipoentrada_id  
43 - inner join pessoa p on p.id = a.fornecedor_id  
44 - inner join entradaalmoxarifadoitem eai on eai.entrada_id = ea.id]]> 32 + <queryString>
  33 + <![CDATA[SELECT ea.id AS notaEntrada,
  34 + ea.datacontabil AS dataContabil,
  35 + d.nome AS tipoEntrada,
  36 + p.nome AS fornecedor,
  37 + eai.quantidade AS quantidade,
  38 + eai.valorunitario AS valorUnitario,
  39 + eai.valortotal AS valorTotal
  40 +FROM entradaalmoxarifado ea
  41 + INNER JOIN dominio d ON d.id = ea.dominiotipoentrada_id
  42 + INNER JOIN pessoa p ON p.id = ea.fornecedor_id
  43 + INNER JOIN entradaalmoxarifadoitem eai ON eai.entrada_id = ea.id]]>
45 </queryString> 44 </queryString>
46 <field name="notaentrada" class="java.lang.Long"/> 45 <field name="notaentrada" class="java.lang.Long"/>
47 <field name="datacontabil" class="java.sql.Timestamp"/> 46 <field name="datacontabil" class="java.sql.Timestamp"/>
@@ -61,29 +60,30 @@ @@ -61,29 +60,30 @@
61 <parameter name="idTipoRecebimento" class="java.lang.Long" isForPrompting="false"/> 60 <parameter name="idTipoRecebimento" class="java.lang.Long" isForPrompting="false"/>
62 <parameter name="nomeTipoRecebimento" class="java.lang.String"/> 61 <parameter name="nomeTipoRecebimento" class="java.lang.String"/>
63 <parameter name="query_filtro_tipoEntrada" class="java.lang.Long" isForPrompting="false"> 62 <parameter name="query_filtro_tipoEntrada" class="java.lang.Long" isForPrompting="false">
64 - <defaultValueExpression><![CDATA[($P{idTipoEntrada} == null ? " " : " and a.dominiotipoentrada_id = " + $P{idTipoEntrada} + " ")]]></defaultValueExpression> 63 + <defaultValueExpression><![CDATA[($P{idTipoEntrada} == null ? " " : " and ea.dominiotipoentrada_id = " + $P{idTipoEntrada} + " ")]]></defaultValueExpression>
65 </parameter> 64 </parameter>
66 <parameter name="query_filtro_tipoRecebimento" class="java.lang.String" isForPrompting="false"> 65 <parameter name="query_filtro_tipoRecebimento" class="java.lang.String" isForPrompting="false">
67 - <defaultValueExpression><![CDATA[($P{idTipoRecebimento} == null ? " " : " and a.dominiotiporecebimento_id = " + $P{idTipoRecebimento} + " ")]]></defaultValueExpression> 66 + <defaultValueExpression><![CDATA[($P{idTipoRecebimento} == null ? " " : " and ea.dominiotiporecebimento_id = " + $P{idTipoRecebimento} + " ")]]></defaultValueExpression>
68 </parameter> 67 </parameter>
69 <queryString> 68 <queryString>
70 - <![CDATA[select m.descricao as nomeMaterial,  
71 - ea.id as notaEntrada,  
72 - a.datacontabil as dataContabil,  
73 - d.descricao as tipoEntrada,  
74 - p.nome as fornecedor,  
75 - eai.quantidade as quantidade,  
76 - eai.valorunitario as valorUnitario,  
77 - eai.valortotal as valorTotal  
78 -from entradaalmoxarifado ea  
79 - inner join entrada a on a.id = ea.id and a.datainativo is null and a.datarecebimento between (TO_TIMESTAMP($P{dataInicio},'YYYY-MM-DD HH24:MI:SS')::timestamp without time zone) and (TO_TIMESTAMP($P{dataFim},'YYYY-MM-DD HH24:MI:SS')::timestamp without time zone) $P!{query_filtro_tipoEntrada} $P!{query_filtro_tipoRecebimento}  
80 - inner join dominio d on d.id = a.dominiotipoentrada_id  
81 - inner join parceiro parceiro on parceiro.id = a.fornecedor_id  
82 - inner join pessoa p on p.id = parceiro.pessoa_id  
83 - inner join entradaalmoxarifadoitem eai on eai.entrada_id = ea.id  
84 - inner join material m on m.id = eai.material_id and $X{IN,m.id,idsMateriais}  
85 -where ea.almoxarifado_id = $P{idAlmoxarifado}  
86 -order by nomeMaterial]]> 69 + <![CDATA[SELECT m.descricao as nomeMaterial,
  70 + ea.id as notaEntrada,
  71 + ea.datacontabil as dataContabil,
  72 + d.descricao as tipoEntrada,
  73 + p.nome as fornecedor,
  74 + eai.quantidade as quantidade,
  75 + eai.valorunitario as valorUnitario,
  76 + eai.valortotal as valorTotal
  77 +FROM entradaalmoxarifado ea
  78 + INNER JOIN dominio d ON d.id = ea.dominiotipoentrada_id
  79 + INNER JOIN parceiro parceiro ON parceiro.id = ea.fornecedor_id
  80 + INNER JOIN pessoa p ON p.id = parceiro.pessoa_id
  81 + INNER JOIN entradaalmoxarifadoitem eai ON eai.entrada_id = ea.id
  82 + INNER JOIN material m ON m.id = eai.material_id AND $X{IN,m.id,idsMateriais}
  83 +WHERE ea.almoxarifado_id = $P{idAlmoxarifado}
  84 + AND ea.datarecebimento BETWEEN (TO_TIMESTAMP($P{dataInicio},'YYYY-MM-DD HH24:MI:SS')::timestamp without time zone) AND (TO_TIMESTAMP($P{dataFim},'YYYY-MM-DD HH24:MI:SS')::timestamp without time zone)
  85 + $P!{query_filtro_tipoEntrada} $P!{query_filtro_tipoRecebimento}
  86 +ORDER BY nomeMaterial]]>
87 </queryString> 87 </queryString>
88 <field name="nomematerial" class="java.lang.String"/> 88 <field name="nomematerial" class="java.lang.String"/>
89 <field name="notaentrada" class="java.lang.Long"/> 89 <field name="notaentrada" class="java.lang.Long"/>
cit-almoxarifado-web/src/main/resources/reports/entradaMaterialAnaliticoEntrada.jrxml
@@ -30,15 +30,15 @@ @@ -30,15 +30,15 @@
30 <subDataset name="Documentos" uuid="261c7cba-602f-47c5-8ff0-0d489cec00a8"> 30 <subDataset name="Documentos" uuid="261c7cba-602f-47c5-8ff0-0d489cec00a8">
31 <parameter name="idEntrada" class="java.lang.Long"/> 31 <parameter name="idEntrada" class="java.lang.Long"/>
32 <queryString> 32 <queryString>
33 - <![CDATA[select  
34 -ed.entrada_id as entradaid,  
35 -dm.descricao as tipodocumento,  
36 -d.numero as numerodocumento,  
37 -d.datacriacao as data  
38 -from entradadocumento ed  
39 -inner join documento d on ed.id = d.id  
40 -inner join dominio dm on d.dominiotipodocumento_id = dm.id  
41 -where ed.entrada_id = $P{idEntrada}]]> 33 + <![CDATA[SELECT
  34 + ed.entrada_id AS entradaid,
  35 + dm.descricao AS tipodocumento,
  36 + d.numero AS numerodocumento,
  37 + d.datacriacao AS data
  38 +FROM entradaalmoxarifadodocumento ed
  39 + INNER JOIN documento d ON ed.id = d.id
  40 + INNER JOIN dominio dm ON d.dominiotipodocumento_id = dm.id
  41 +WHERE ed.entrada_id = $P{idEntrada}]]>
42 </queryString> 42 </queryString>
43 <field name="entradaid" class="java.lang.Long"/> 43 <field name="entradaid" class="java.lang.Long"/>
44 <field name="tipodocumento" class="java.lang.String"/> 44 <field name="tipodocumento" class="java.lang.String"/>
@@ -57,35 +57,35 @@ where ed.entrada_id = $P{idEntrada}]]&gt; @@ -57,35 +57,35 @@ where ed.entrada_id = $P{idEntrada}]]&gt;
57 <parameter name="dataInicio" class="java.lang.String" isForPrompting="false"/> 57 <parameter name="dataInicio" class="java.lang.String" isForPrompting="false"/>
58 <parameter name="dataFim" class="java.lang.String" isForPrompting="false"/> 58 <parameter name="dataFim" class="java.lang.String" isForPrompting="false"/>
59 <queryString> 59 <queryString>
60 - <![CDATA[select  
61 - entrada.id as id,  
62 - entrada.codigo as notaEntrada,  
63 - entrada.datarecebimento as datarecebimento,  
64 - entrada.datacontabil as dataContabil,  
65 - dominio.descricao as tipoRecebimento,  
66 - pessoafisica.cpf as CPF,  
67 - pessoajuridica.cnpj as CNPJ,  
68 - pessoa.nome as fornecedor,  
69 - material.codigo as codigoMaterial,  
70 - material.descricao as nomeMaterial,  
71 - unidademedida.sigla as unidade,  
72 - contacontabil.codigo as contaContabil,  
73 - entradaalmoxarifadoitem.quantidade as quantidade,  
74 - entradaalmoxarifadoitem.valorunitario as valorUnitario,  
75 - entradaalmoxarifadoitem.valortotal as valorTotal  
76 -from entradaalmoxarifado entradaalmoxarifado  
77 - inner join entrada entrada on entrada.id = entradaalmoxarifado.id and entrada.datainativo is null and entrada.organizacao_id = $P{idOrganizacao} and entrada.datarecebimento between (TO_TIMESTAMP($P{dataInicio},'YYYY-MM-DD HH24:MI:SS')::timestamp without time zone) and (TO_TIMESTAMP($P{dataFim},'YYYY-MM-DD HH24:MI:SS')::timestamp without time zone)  
78 - inner join dominio dominio on dominio.id = entrada.dominiotiporecebimento_id  
79 - inner join parceiro parceiro on parceiro.id = entrada.fornecedor_id  
80 - inner join pessoa pessoa on pessoa.id = parceiro.pessoa_id  
81 - left join pessoajuridica pessoajuridica on pessoa.id = pessoajuridica.pessoa_id  
82 - left join pessoafisica pessoafisica on pessoa.id = pessoafisica.pessoa_id  
83 - inner join entradaalmoxarifadoitem entradaalmoxarifadoitem on entradaalmoxarifadoitem.entrada_id = entradaalmoxarifado.id  
84 - left join unidademedida unidademedida on entradaalmoxarifadoitem.unidademedidaentrada_id = unidademedida.id  
85 - inner join material material on material.id = entradaalmoxarifadoitem.material_id  
86 - left join contacontabil contacontabil on material.contacontabil_id = contacontabil.id  
87 -where entradaalmoxarifado.almoxarifado_id = $P{idAlmoxarifado}  
88 -order by notaEntrada]]> 60 + <![CDATA[SELECT
  61 + entradaalmoxarifado.id AS id,
  62 + entradaalmoxarifado.codigo AS notaEntrada,
  63 + entradaalmoxarifado.datarecebimento AS datarecebimento,
  64 + entradaalmoxarifado.datacontabil AS dataContabil,
  65 + dominio.descricao AS tipoRecebimento,
  66 + pessoafisica.cpf AS CPF,
  67 + pessoajuridica.cnpj AS CNPJ,
  68 + pessoa.nome AS fornecedor,
  69 + material.codigo AS codigoMaterial,
  70 + material.descricao AS nomeMaterial,
  71 + unidademedida.sigla AS unidade,
  72 + contacontabil.codigo AS contaContabil,
  73 + entradaalmoxarifadoitem.quantidade AS quantidade,
  74 + entradaalmoxarifadoitem.valorunitario AS valorUnitario,
  75 + entradaalmoxarifadoitem.valortotal AS valorTotal
  76 +FROM entradaalmoxarifado entradaalmoxarifado
  77 + INNER JOIN dominio dominio ON dominio.id = entradaalmoxarifado.dominiotiporecebimento_id
  78 + INNER JOIN parceiro parceiro ON parceiro.id = entradaalmoxarifado.fornecedor_id
  79 + INNER JOIN pessoa pessoa ON pessoa.id = parceiro.pessoa_id
  80 + LEFT JOIN pessoajuridica pessoajuridica ON pessoa.id = pessoajuridica.pessoa_id
  81 + LEFT JOIN pessoafisica pessoafisica ON pessoa.id = pessoafisica.pessoa_id
  82 + INNER JOIN entradaalmoxarifadoitem entradaalmoxarifadoitem ON entradaalmoxarifadoitem.entrada_id = entradaalmoxarifado.id
  83 + LEFT JOIN unidademedida unidademedida ON entradaalmoxarifadoitem.unidademedidaentrada_id = unidademedida.id
  84 + INNER JOIN material material ON material.id = entradaalmoxarifadoitem.material_id
  85 + LEFT JOIN contacontabil contacontabil ON material.contacontabil_id = contacontabil.id
  86 +WHERE entradaalmoxarifado.almoxarifado_id = $P{idAlmoxarifado} AND entradaalmoxarifado.datainativo IS NULL AND entradaalmoxarifado.organizacao_id = $P{idOrganizacao}
  87 + AND entradaalmoxarifado.datarecebimento BETWEEN (TO_TIMESTAMP($P{dataInicio},'YYYY-MM-DD HH24:MI:SS')::timestamp without time zone) AND (TO_TIMESTAMP($P{dataFim},'YYYY-MM-DD HH24:MI:SS')::timestamp without time zone)
  88 +ORDER BY notaEntrada]]>
89 </queryString> 89 </queryString>
90 <field name="id" class="java.lang.Long"/> 90 <field name="id" class="java.lang.Long"/>
91 <field name="notaentrada" class="java.lang.String"/> 91 <field name="notaentrada" class="java.lang.String"/>
cit-almoxarifado-web/src/main/resources/reports/entradaMaterialNotaRecebimento.jrxml
1 <?xml version="1.0" encoding="UTF-8"?> 1 <?xml version="1.0" encoding="UTF-8"?>
2 <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="entradaMaterialAnaliticoEntrada" language="groovy" pageWidth="802" pageHeight="555" orientation="Landscape" whenNoDataType="NoDataSection" columnWidth="802" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0" uuid="5ed15610-1772-4ec5-9238-b8bb4567a519"> 2 <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="entradaMaterialAnaliticoEntrada" language="groovy" pageWidth="802" pageHeight="555" orientation="Landscape" whenNoDataType="NoDataSection" columnWidth="802" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0" uuid="5ed15610-1772-4ec5-9238-b8bb4567a519">
3 <property name="ireport.zoom" value="1.6500000000000008"/> 3 <property name="ireport.zoom" value="1.6500000000000008"/>
4 - <property name="ireport.x" value="192"/> 4 + <property name="ireport.x" value="25"/>
5 <property name="ireport.y" value="0"/> 5 <property name="ireport.y" value="0"/>
6 <style name="table"> 6 <style name="table">
7 <box> 7 <box>
@@ -34,19 +34,18 @@ @@ -34,19 +34,18 @@
34 <defaultValueExpression><![CDATA[]]></defaultValueExpression> 34 <defaultValueExpression><![CDATA[]]></defaultValueExpression>
35 </parameter> 35 </parameter>
36 <queryString> 36 <queryString>
37 - <![CDATA[select  
38 - contacontabil.codigo as contaContabil,  
39 - contacontabil.descricao as nomeConta,  
40 - sum(entradaalmoxarifadoitem.quantidade) as quantidade,  
41 - sum(entradaalmoxarifadoitem.valortotal) as valorTotal  
42 -from entradaalmoxarifado entradaalmoxarifado  
43 - inner join entrada entrada on entrada.id = entradaalmoxarifado.id  
44 - inner join entradaalmoxarifadoitem entradaalmoxarifadoitem on entradaalmoxarifadoitem.entrada_id = entradaalmoxarifado.id  
45 - inner join material material on material.id = entradaalmoxarifadoitem.material_id  
46 - left join contacontabil contacontabil on material.contacontabil_id = contacontabil.id  
47 -where entradaalmoxarifado.id = $P{idEntrada}  
48 -group by contacontabil, nomeConta  
49 -order by contacontabil]]> 37 + <![CDATA[SELECT
  38 + contacontabil.codigo AS contaContabil,
  39 + contacontabil.descricao AS nomeConta,
  40 + sum(entradaalmoxarifadoitem.quantidade) AS quantidade,
  41 + sum(entradaalmoxarifadoitem.valortotal) AS valorTotal
  42 +FROM entradaalmoxarifado entradaalmoxarifado
  43 + INNER JOIN entradaalmoxarifadoitem entradaalmoxarifadoitem ON entradaalmoxarifadoitem.entrada_id = entradaalmoxarifado.id
  44 + INNER JOIN material material ON material.id = entradaalmoxarifadoitem.material_id
  45 + LEFT JOIN contacontabil contacontabil ON material.contacontabil_id = contacontabil.id
  46 +WHERE entradaalmoxarifado.id = $P{idEntrada}
  47 +GROUP BY contacontabil, nomeConta
  48 +ORDER BY contacontabil]]>
50 </queryString> 49 </queryString>
51 <field name="contacontabil" class="java.lang.String"/> 50 <field name="contacontabil" class="java.lang.String"/>
52 <field name="nomeconta" class="java.lang.String"/> 51 <field name="nomeconta" class="java.lang.String"/>
@@ -66,39 +65,38 @@ order by contacontabil]]&gt; @@ -66,39 +65,38 @@ order by contacontabil]]&gt;
66 <parameter name="processoEntrada" class="java.lang.String"/> 65 <parameter name="processoEntrada" class="java.lang.String"/>
67 <parameter name="cpf" class="java.lang.String"/> 66 <parameter name="cpf" class="java.lang.String"/>
68 <queryString> 67 <queryString>
69 - <![CDATA[select  
70 - estruturaorganizacional.nome as nomeAlmoxarifado,  
71 - entrada.id as id,  
72 - entrada.codigo as notaEntrada,  
73 - entrada.datarecebimento as datarecebimento,  
74 - entrada.datacontabil as dataContabil,  
75 - dominio.descricao as tipoRecebimento,  
76 - pessoafisica.cpf as CPF,  
77 - pessoajuridica.cnpj as CNPJ,  
78 - pessoa.nome as fornecedor,  
79 - material.codigo as codigoMaterial,  
80 - material.descricao as nomeMaterial,  
81 - unidademedida.sigla as unidade,  
82 - contacontabil.codigo as contaContabil,  
83 - entradaalmoxarifadoitem.quantidade as quantidade,  
84 - entradaalmoxarifadoitem.valorunitario as valorUnitario,  
85 - entradaalmoxarifadoitem.valortotal as valorTotal,  
86 - dominioFin.descricao as finalidadeCompra  
87 -from entradaalmoxarifado entradaalmoxarifado  
88 - inner join entrada entrada on entrada.id = entradaalmoxarifado.id  
89 - inner join dominio dominio on dominio.id = entrada.dominiotiporecebimento_id  
90 - inner join parceiro parceiro on parceiro.id = entrada.fornecedor_id  
91 - inner join pessoa pessoa on pessoa.id = parceiro.pessoa_id  
92 - left join pessoajuridica pessoajuridica on pessoa.id = pessoajuridica.pessoa_id  
93 - left join pessoafisica pessoafisica on pessoa.id = pessoafisica.pessoa_id  
94 - inner join entradaalmoxarifadoitem entradaalmoxarifadoitem on entradaalmoxarifadoitem.entrada_id = entradaalmoxarifado.id  
95 - LEFT join dominio dominioFin on dominioFin.id = entradaalmoxarifado.dominiofinalidade_id  
96 - left join unidademedida unidademedida on entradaalmoxarifadoitem.unidademedidaentrada_id = unidademedida.id  
97 - inner join material material on material.id = entradaalmoxarifadoitem.material_id  
98 - left join contacontabil contacontabil on material.contacontabil_id = contacontabil.id  
99 - inner join estruturaorganizacional estruturaorganizacional on entradaalmoxarifado.almoxarifado_id = estruturaorganizacional.id  
100 -where entradaalmoxarifado.id = $P{idEntrada}  
101 -order by notaEntrada]]> 68 + <![CDATA[SELECT
  69 + estruturaorganizacional.nome AS nomeAlmoxarifado,
  70 + entradaalmoxarifado.id AS id,
  71 + entradaalmoxarifado.codigo AS notaEntrada,
  72 + entradaalmoxarifado.datarecebimento AS datarecebimento,
  73 + entradaalmoxarifado.datacontabil AS dataContabil,
  74 + dominio.descricao AS tipoRecebimento,
  75 + pessoafisica.cpf AS CPF,
  76 + pessoajuridica.cnpj AS CNPJ,
  77 + pessoa.nome AS fornecedor,
  78 + material.codigo AS codigoMaterial,
  79 + material.descricao AS nomeMaterial,
  80 + unidademedida.sigla AS unidade,
  81 + contacontabil.codigo AS contaContabil,
  82 + entradaalmoxarifadoitem.quantidade AS quantidade,
  83 + entradaalmoxarifadoitem.valorunitario AS valorUnitario,
  84 + entradaalmoxarifadoitem.valortotal AS valorTotal,
  85 + dominioFin.descricao AS finalidadeCompra
  86 +FROM entradaalmoxarifado entradaalmoxarifado
  87 + INNER JOIN dominio dominio ON dominio.id = entradaalmoxarifado.dominiotiporecebimento_id
  88 + INNER JOIN parceiro parceiro ON parceiro.id = entradaalmoxarifado.fornecedor_id
  89 + INNER JOIN pessoa pessoa ON pessoa.id = parceiro.pessoa_id
  90 + LEFT JOIN pessoajuridica pessoajuridica ON pessoa.id = pessoajuridica.pessoa_id
  91 + LEFT JOIN pessoafisica pessoafisica ON pessoa.id = pessoafisica.pessoa_id
  92 + INNER JOIN entradaalmoxarifadoitem entradaalmoxarifadoitem ON entradaalmoxarifadoitem.entrada_id = entradaalmoxarifado.id
  93 + LEFT JOIN dominio dominioFin ON dominioFin.id = entradaalmoxarifado.dominiofinalidade_id
  94 + LEFT JOIN unidademedida unidademedida ON entradaalmoxarifadoitem.unidademedidaentrada_id = unidademedida.id
  95 + INNER JOIN material material ON material.id = entradaalmoxarifadoitem.material_id
  96 + LEFT JOIN contacontabil contacontabil ON material.contacontabil_id = contacontabil.id
  97 + INNER JOIN estruturaorganizacional estruturaorganizacional ON entradaalmoxarifado.almoxarifado_id = estruturaorganizacional.id
  98 +WHERE entradaalmoxarifado.id = $P{idEntrada}
  99 +ORDER BY notaEntrada]]>
102 </queryString> 100 </queryString>
103 <field name="nomealmoxarifado" class="java.lang.String"/> 101 <field name="nomealmoxarifado" class="java.lang.String"/>
104 <field name="id" class="java.lang.Long"/> 102 <field name="id" class="java.lang.Long"/>
cit-almoxarifado-web/src/test/java/br/com/centralit/controller/impl/LocalEstoqueControllerTest.java
@@ -15,20 +15,20 @@ import br.com.centralit.framework.model.Filter; @@ -15,20 +15,20 @@ import br.com.centralit.framework.model.Filter;
15 import br.com.centralit.framework.model.SearchParams; 15 import br.com.centralit.framework.model.SearchParams;
16 16
17 import br.com.centralit.api.dao.LocalEstoqueDao; 17 import br.com.centralit.api.dao.LocalEstoqueDao;
18 -import br.com.centralit.api.model.LocalEstoque;  
19 -import br.com.centralit.api.service.LocalEstoqueService; 18 +import br.com.centralit.api.model.MaterialLocalEstoque;
  19 +import br.com.centralit.api.service.MaterialLocalEstoqueService;
20 import br.com.centralit.controller.LocalEstoqueController; 20 import br.com.centralit.controller.LocalEstoqueController;
21 21
22 @WebAppConfiguration 22 @WebAppConfiguration
23 @ContextConfiguration("/spring/applicationContext-test.xml") 23 @ContextConfiguration("/spring/applicationContext-test.xml")
24 @RunWith(SpringJUnit4ClassRunner.class) 24 @RunWith(SpringJUnit4ClassRunner.class)
25 -public class LocalEstoqueControllerTest extends GenericControllerTestImpl<LocalEstoque> { 25 +public class LocalEstoqueControllerTest extends GenericControllerTestImpl<MaterialLocalEstoque> {
26 26
27 @Mock 27 @Mock
28 private LocalEstoqueController localEstoqueController; 28 private LocalEstoqueController localEstoqueController;
29 29
30 @Autowired 30 @Autowired
31 - private LocalEstoqueService localEstoqueService; 31 + private MaterialLocalEstoqueService localEstoqueService;
32 32
33 @Autowired 33 @Autowired
34 private LocalEstoqueDao localEstoqueDao; 34 private LocalEstoqueDao localEstoqueDao;