Commit 42850c0f4a2ce68e1975603272adb495a100b4b6

Authored by geovane.filho
1 parent 67b3da65
Exists in master

Redmine #4679 Terminando alteração do modelo

Showing 28 changed files with 484 additions and 1215 deletions   Show diff stats
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/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/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
@@ -10,6 +10,7 @@ import javax.persistence.GeneratedValue; @@ -10,6 +10,7 @@ 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.ManyToOne; 12 import javax.persistence.ManyToOne;
  13 +import javax.persistence.Table;
13 import javax.persistence.Temporal; 14 import javax.persistence.Temporal;
14 import javax.persistence.TemporalType; 15 import javax.persistence.TemporalType;
15 import javax.persistence.Transient; 16 import javax.persistence.Transient;
@@ -59,6 +60,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize; @@ -59,6 +60,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
59 * 60 *
60 */ 61 */
61 @Entity 62 @Entity
  63 +@Table(name="alm_bx_item")
62 @JsonIgnoreProperties({ "descricao", "unidadeArmazenamento", "$selected", "$index", "$checked" }) 64 @JsonIgnoreProperties({ "descricao", "unidadeArmazenamento", "$selected", "$index", "$checked" })
63 public class BaixaAlmoxarifadoItem extends PersistentObjectAudit { 65 public class BaixaAlmoxarifadoItem extends PersistentObjectAudit {
64 66
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/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/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/MaterialEstoqueSaldoMedio.java
@@ -1,203 +0,0 @@ @@ -1,203 +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 br.com.centralit.framework.json.Views;  
13 -import br.com.centralit.framework.model.arquitetura.PersistentObjectAuditOrganizacao;  
14 -  
15 -import com.fasterxml.jackson.annotation.JsonView;  
16 -  
17 -/**  
18 - * <p>  
19 - * <img src="http://centralit.com.br/images/logo_central.png">  
20 - * </p>  
21 - *  
22 - * <p>  
23 - * <b>Company: </b> Central IT - Governança Corporativa -  
24 - * </p>  
25 - *  
26 - * <p>  
27 - * <b>Title: Material Estoque Saldo Medio</b>  
28 - * </p>  
29 - *  
30 - * <p>  
31 - * <b>Description: Saldo médio de um material em estoque</b>  
32 - * </p>  
33 - *  
34 - * <p>  
35 - * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>  
36 - * </p>  
37 - *  
38 - * <p>  
39 - * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>  
40 - * </p>  
41 - *  
42 - * @since 22/06/2015 - 16:12:33  
43 - *  
44 - * @version 1.0.0  
45 - *  
46 - * @author geovane.filho  
47 - *  
48 - */  
49 -@Entity //TODO Deletar  
50 -public class MaterialEstoqueSaldoMedio extends PersistentObjectAuditOrganizacao {  
51 -  
52 - private static final long serialVersionUID = -9108177938688790640L;  
53 -  
54 - /** Atributo id. */  
55 - @Id  
56 - @GeneratedValue(strategy = GenerationType.AUTO)  
57 - private Long id;  
58 -  
59 - /** Atributo material. */  
60 - @OneToOne(optional = false)  
61 - private Material material;  
62 -  
63 - /** Atributo quantidade. */  
64 - @Column(precision = 20, scale = 4)  
65 - @JsonView({ Views.MaterialConsultaInfo.class })  
66 - private BigDecimal quantidadeAtual;  
67 -  
68 - /** Atributo valorFechado. */  
69 - @Column(precision = 20, scale = 4)  
70 - @JsonView({ Views.MaterialConsultaInfo.class })  
71 - private BigDecimal valorUnitarioMedio;  
72 -  
73 - /** Atributo restoMedio. */  
74 - @Column(precision = 20, scale = 4)  
75 - @JsonView({ Views.MaterialConsultaInfo.class })  
76 - private BigDecimal restoMedio;  
77 -  
78 - /**  
79 - *  
80 - * Responsável pela criação de novas instâncias desta classe.  
81 - */  
82 - protected MaterialEstoqueSaldoMedio() {  
83 - super();  
84 - }  
85 -  
86 - /**  
87 - *  
88 - * Responsável pela criação de novas instâncias desta classe com seus atributos obrigatorios.  
89 - */  
90 - public MaterialEstoqueSaldoMedio(Material material, BigDecimal quantidadeAtual, BigDecimal valorUnitarioMedio, BigDecimal restoMedio) {  
91 - super();  
92 - this.material = material;  
93 - this.quantidadeAtual = quantidadeAtual;  
94 - this.valorUnitarioMedio = valorUnitarioMedio;  
95 - this.restoMedio = restoMedio;  
96 - }  
97 -  
98 - /**  
99 - *  
100 - * Responsável pela criação de novas instâncias desta classe definindo o material e zerando os atributos de controle de estoque  
101 - */  
102 - public MaterialEstoqueSaldoMedio(Material material) {  
103 - super();  
104 - this.material = material;  
105 - this.quantidadeAtual = BigDecimal.ZERO;  
106 - this.valorUnitarioMedio = BigDecimal.ZERO;  
107 - this.restoMedio = BigDecimal.ZERO;  
108 - }  
109 -  
110 - /**  
111 - * Retorna o valor do atributo <code>material</code>  
112 - *  
113 - * @return <code>Material</code>  
114 - */  
115 - public Material getMaterial() {  
116 - return material;  
117 - }  
118 -  
119 - /**  
120 - * Define o valor do atributo <code>material</code>.  
121 - *  
122 - * @param material  
123 - */  
124 - public void setMaterial(Material material) {  
125 - this.material = material;  
126 - }  
127 -  
128 - /**  
129 - * Retorna o valor do atributo <code>quantidadeAtual</code>  
130 - *  
131 - * @return <code>BigDecimal</code>  
132 - */  
133 - public BigDecimal getQuantidadeAtual() {  
134 - return quantidadeAtual;  
135 - }  
136 -  
137 - /**  
138 - * Define o valor do atributo <code>quantidadeAtual</code>.  
139 - *  
140 - * @param quantidadeAtual  
141 - */  
142 - public void setQuantidadeAtual(BigDecimal quantidadeAtual) {  
143 - this.quantidadeAtual = quantidadeAtual;  
144 - }  
145 -  
146 - /**  
147 - * Retorna o valor do atributo <code>valorUnitarioMedio</code>  
148 - *  
149 - * @return <code>BigDecimal</code>  
150 - */  
151 - public BigDecimal getValorUnitarioMedio() {  
152 - return valorUnitarioMedio;  
153 - }  
154 -  
155 - /**  
156 - * Define o valor do atributo <code>valorUnitarioMedio</code>.  
157 - *  
158 - * @param valorUnitarioMedio  
159 - */  
160 - public void setValorUnitarioMedio(BigDecimal valorUnitarioMedio) {  
161 - this.valorUnitarioMedio = valorUnitarioMedio;  
162 - }  
163 -  
164 - /**  
165 - * Retorna o valor do atributo <code>id</code>  
166 - *  
167 - * @return <code>Long</code>  
168 - */  
169 - @Override  
170 - public Long getId() {  
171 -  
172 - return id;  
173 - }  
174 -  
175 - /**  
176 - * Define o valor do atributo <code>id</code>.  
177 - *  
178 - * @param id  
179 - */  
180 - public void setId(Long id) {  
181 -  
182 - this.id = id;  
183 - }  
184 -  
185 - /**  
186 - * Retorna o valor do atributo <code>restoMedio</code>  
187 - *  
188 - * @return <code>BigDecimal</code>  
189 - */  
190 - public BigDecimal getRestoMedio() {  
191 - return restoMedio;  
192 - }  
193 -  
194 - /**  
195 - * Define o valor do atributo <code>restoMedio</code>.  
196 - *  
197 - * @param restoMedio  
198 - */  
199 - public void setRestoMedio(BigDecimal restoMedio) {  
200 - this.restoMedio = restoMedio;  
201 - }  
202 -  
203 -}  
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/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/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/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/MovimentoEstoqueServiceImpl.java
@@ -36,7 +36,6 @@ import br.com.centralit.api.service.ContaContabilMovimentoService; @@ -36,7 +36,6 @@ import br.com.centralit.api.service.ContaContabilMovimentoService;
36 import br.com.centralit.api.service.DominioService; 36 import br.com.centralit.api.service.DominioService;
37 import br.com.centralit.api.service.EntradaAlmoxarifadoItemService; 37 import br.com.centralit.api.service.EntradaAlmoxarifadoItemService;
38 import br.com.centralit.api.service.MaterialConsumoService; 38 import br.com.centralit.api.service.MaterialConsumoService;
39 -import br.com.centralit.api.service.MaterialEstoqueSaldoMedioService;  
40 import br.com.centralit.api.service.MaterialEstoqueService; 39 import br.com.centralit.api.service.MaterialEstoqueService;
41 import br.com.centralit.api.service.MaterialLocalEstoqueService; 40 import br.com.centralit.api.service.MaterialLocalEstoqueService;
42 import br.com.centralit.api.service.MovimentoEstoqueService; 41 import br.com.centralit.api.service.MovimentoEstoqueService;
@@ -95,9 +94,6 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl&lt;MovimentoEst @@ -95,9 +94,6 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl&lt;MovimentoEst
95 @Autowired 94 @Autowired
96 private MaterialEstoqueService materialEstoqueService; 95 private MaterialEstoqueService materialEstoqueService;
97 96
98 - @Autowired  
99 - private MaterialEstoqueSaldoMedioService materialEstoqueSaldoMedioService;  
100 -  
101 /** Atributo baixaAlmoxarifadoItemService. */ 97 /** Atributo baixaAlmoxarifadoItemService. */
102 @Autowired 98 @Autowired
103 private BaixaAlmoxarifadoItemService baixaAlmoxarifadoItemService; 99 private BaixaAlmoxarifadoItemService baixaAlmoxarifadoItemService;
@@ -157,7 +153,7 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl&lt;MovimentoEst @@ -157,7 +153,7 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl&lt;MovimentoEst
157 movimentos.add(movimentoEstoque); 153 movimentos.add(movimentoEstoque);
158 154
159 //TODO Corrigir com nova versão 155 //TODO Corrigir com nova versão
160 - this.materialEstoqueSaldoMedioService.atualizaMaterialEstoque(movimentoEstoque.getMaterial(), movimentoEstoque.getQuantidade(), movimentoEstoque.getValorFIFO()); 156 + //this.materialEstoqueSaldoMedioService.atualizaMaterialEstoque(movimentoEstoque.getMaterial(), movimentoEstoque.getQuantidade(), movimentoEstoque.getValorFIFO());
161 Dominio tipoSaldoEntrada = new Dominio(); 157 Dominio tipoSaldoEntrada = new Dominio();
162 if (UtilObjeto.isReferencia(entradaAlmoxarifado.getDominioTipoEntrada())){ 158 if (UtilObjeto.isReferencia(entradaAlmoxarifado.getDominioTipoEntrada())){
163 if (entradaAlmoxarifado.getDominioTipoEntrada().getCodigo() == Dominio.TIPO_ENTRADA_ALMOXARIFADO_EXTRA_ORCAMENTARIA_CODIGO){ 159 if (entradaAlmoxarifado.getDominioTipoEntrada().getCodigo() == Dominio.TIPO_ENTRADA_ALMOXARIFADO_EXTRA_ORCAMENTARIA_CODIGO){
@@ -231,7 +227,7 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl&lt;MovimentoEst @@ -231,7 +227,7 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl&lt;MovimentoEst
231 for (DevolucaoItem devolucaoItem : devolucao.getDevolucaoItens()) { 227 for (DevolucaoItem devolucaoItem : devolucao.getDevolucaoItens()) {
232 228
233 BigDecimal valorMovimentoFIFO = this.entradaAlmoxarifadoItemService.realizaMovimentoDevolucao(devolucaoItem.getMaterialConsumo(), devolucaoItem.getQuantidade()); 229 BigDecimal valorMovimentoFIFO = this.entradaAlmoxarifadoItemService.realizaMovimentoDevolucao(devolucaoItem.getMaterialConsumo(), devolucaoItem.getQuantidade());
234 - BigDecimal valorMovimentoMediaMovel = this.materialEstoqueSaldoMedioService.realizaMovimentoDevolucao(devolucaoItem.getMaterialConsumo(), devolucaoItem.getQuantidade()); 230 + BigDecimal valorMovimentoMediaMovel = BigDecimal.ZERO;//BigDecimal valorMovimentoMediaMovel = this.materialEstoqueSaldoMedioService.realizaMovimentoDevolucao(devolucaoItem.getMaterialConsumo(), devolucaoItem.getQuantidade());
235 231
236 232
237 233
@@ -290,7 +286,7 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl&lt;MovimentoEst @@ -290,7 +286,7 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl&lt;MovimentoEst
290 286
291 for (BaixaAlmoxarifadoItem baixaAlmoxarifadoItem : baixaAlmoxarifado.getBaixaItens()) { 287 for (BaixaAlmoxarifadoItem baixaAlmoxarifadoItem : baixaAlmoxarifado.getBaixaItens()) {
292 BigDecimal valorMovimentoFIFO = this.entradaAlmoxarifadoItemService.realizaMovimentoSaida(baixaAlmoxarifadoItem.getMaterialConsumo(), baixaAlmoxarifadoItem.getQuantidade()); 288 BigDecimal valorMovimentoFIFO = this.entradaAlmoxarifadoItemService.realizaMovimentoSaida(baixaAlmoxarifadoItem.getMaterialConsumo(), baixaAlmoxarifadoItem.getQuantidade());
293 - BigDecimal valorMovimentoMediaMovel = this.materialEstoqueSaldoMedioService.realizaMovimentoSaida(baixaAlmoxarifadoItem.getMaterialConsumo(), baixaAlmoxarifadoItem.getQuantidade()); 289 + BigDecimal valorMovimentoMediaMovel = BigDecimal.ZERO;//BigDecimal valorMovimentoMediaMovel = this.materialEstoqueSaldoMedioService.realizaMovimentoSaida(baixaAlmoxarifadoItem.getMaterialConsumo(), baixaAlmoxarifadoItem.getQuantidade());
294 290
295 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)),
296 valorMovimentoFIFO.multiply(BigDecimal.valueOf(-1)), valorMovimentoMediaMovel.multiply(BigDecimal.valueOf(-1)), tipoMovimentoBaixa); 292 valorMovimentoFIFO.multiply(BigDecimal.valueOf(-1)), valorMovimentoMediaMovel.multiply(BigDecimal.valueOf(-1)), tipoMovimentoBaixa);
@@ -327,7 +323,7 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl&lt;MovimentoEst @@ -327,7 +323,7 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl&lt;MovimentoEst
327 BigDecimal quantidade = movimentoEstoque.getQuantidade().abs(); 323 BigDecimal quantidade = movimentoEstoque.getQuantidade().abs();
328 324
329 this.entradaAlmoxarifadoItemService.realizaMovimentoDevolucao(material, quantidade); 325 this.entradaAlmoxarifadoItemService.realizaMovimentoDevolucao(material, quantidade);
330 - this.materialEstoqueSaldoMedioService.realizaMovimentoDevolucao(material, quantidade); 326 + //this.materialEstoqueSaldoMedioService.realizaMovimentoDevolucao(material, quantidade);
331 327
332 Dominio classeReferencia = null; 328 Dominio classeReferencia = null;
333 Long idClasseReferencia = null; 329 Long idClasseReferencia = null;
@@ -390,7 +386,7 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl&lt;MovimentoEst @@ -390,7 +386,7 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl&lt;MovimentoEst
390 } 386 }
391 387
392 BigDecimal valorMovimentoFIFO = this.entradaAlmoxarifadoItemService.realizaMovimentoSaida(atendimentoRequisicaoConsumoItem.getMaterial(), atendimentoRequisicaoConsumoItem.getQuantidade()); 388 BigDecimal valorMovimentoFIFO = this.entradaAlmoxarifadoItemService.realizaMovimentoSaida(atendimentoRequisicaoConsumoItem.getMaterial(), atendimentoRequisicaoConsumoItem.getQuantidade());
393 - BigDecimal valorMovimentoMediaMovel = this.materialEstoqueSaldoMedioService.realizaMovimentoSaida(atendimentoRequisicaoConsumoItem.getMaterial(), atendimentoRequisicaoConsumoItem.getQuantidade()); 389 + BigDecimal valorMovimentoMediaMovel = BigDecimal.ZERO;//BigDecimal valorMovimentoMediaMovel = this.materialEstoqueSaldoMedioService.realizaMovimentoSaida(atendimentoRequisicaoConsumoItem.getMaterial(), atendimentoRequisicaoConsumoItem.getQuantidade());
394 390
395 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)),
396 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.
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-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 -}