diff --git a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/dao/MaterialEstoqueSaldoMedioDao.java b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/dao/MaterialEstoqueSaldoMedioDao.java
deleted file mode 100644
index b5b2541..0000000
--- a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/dao/MaterialEstoqueSaldoMedioDao.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package br.com.centralit.api.dao;
-
-import java.math.BigDecimal;
-
-import br.com.centralit.api.model.Material;
-import br.com.centralit.api.model.MaterialEstoqueSaldoMedio;
-import br.com.centralit.framework.dao.arquitetura.CitGenericDAO;
-
-public interface MaterialEstoqueSaldoMedioDao extends CitGenericDAO {
-
- /**
- * Recupera os dados do estoque e saldo de um material a partir da análise média
- *
- * @param material Material a se buscar os dados de estoque médio.
- * @return
- */
- public MaterialEstoqueSaldoMedio findByMaterial(Material material);
-
- /**
- *
Iniciativa(s): 2485
- *
- * Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO
- *
- * Método responsável por buscar o valor unitario do material na quando o sistema esta configurado para trabalhar com a media movel
- *
- * @author juliana.barbosa
- *
- * @param materialId
- * @return
- */
- public BigDecimal buscaValorUnitario(Long materialId);
-
- /**
- * Iniciativa(s): 2485
- *
- * Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO
- *
- * Método responsável por buscar o resto do material na quando o sistema esta configurado para trabalhar com a media movel
- *
- * @author juliana.barbosa
- *
- * @param materialId
- * @return
- */
- public BigDecimal buscaValorResto(Long materialId);
-
-}
diff --git a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/dao/impl/MaterialEstoqueSaldoMedioDaoHibernate.java b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/dao/impl/MaterialEstoqueSaldoMedioDaoHibernate.java
deleted file mode 100644
index f2dc556..0000000
--- a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/dao/impl/MaterialEstoqueSaldoMedioDaoHibernate.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package br.com.centralit.api.dao.impl;
-
-import java.math.BigDecimal;
-
-import javax.persistence.NoResultException;
-import javax.persistence.Query;
-
-import org.springframework.stereotype.Repository;
-
-import br.com.centralit.api.dao.MaterialEstoqueSaldoMedioDao;
-import br.com.centralit.api.model.Material;
-import br.com.centralit.api.model.MaterialEstoqueSaldoMedio;
-import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl;
-import br.com.centralit.framework.dao.arquitetura.SearchSeven;
-
-@Repository("materialEstoqueSaldoMedioDao")
-public class MaterialEstoqueSaldoMedioDaoHibernate extends CitGenericDAOImpl implements MaterialEstoqueSaldoMedioDao {
-
- public MaterialEstoqueSaldoMedioDaoHibernate() {
- super(MaterialEstoqueSaldoMedio.class);
- }
-
- @Override
- public MaterialEstoqueSaldoMedio findByMaterial(Material material) {
- SearchSeven search = new SearchSeven();
-
- search.addFilterEqual("material.id", material.getId());
-
- search.setMaxResults(1);
-
- return this.searchUnique(search, MaterialEstoqueSaldoMedio.class);
- }
-
- /**
- * Iniciativa(s): 2485
- *
- * Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO
- *
- * Método responsável por buscar o valor unitario do material na quando o sistema esta configurado para trabalhar com a media movel
- *
- * @author juliana.barbosa
- *
- * @param materialId
- * @return
- */
- public BigDecimal buscaValorUnitario(Long materialId){
- Query queryQnt = em().createQuery("SELECT valorunitariomedio FROM MaterialEstoqueSaldoMedio where material.id = :materialId");
- queryQnt.setMaxResults(1);
-
- queryQnt.setParameter("materialId", materialId);
-
- BigDecimal valor = BigDecimal.ZERO;
-
- try {
- valor = (BigDecimal) queryQnt.getSingleResult();
- if (valor == null) {
- valor = BigDecimal.ZERO;
- }
- } catch (NoResultException e) {
- valor = BigDecimal.ZERO;
- }
-
- return valor;
- }
-
- /**
- * Iniciativa(s): 2485
- *
- * Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO
- *
- * Método responsável por buscar o resto do material na quando o sistema esta configurado para trabalhar com a media movel
- *
- * @author juliana.barbosa
- *
- * @param materialId
- * @return
- */
- public BigDecimal buscaValorResto(Long materialId){
- Query queryQnt = em().createQuery("SELECT restomedio FROM MaterialEstoqueSaldoMedio where material.id = :materialId");
- queryQnt.setMaxResults(1);
-
- queryQnt.setParameter("materialId", materialId);
-
- BigDecimal resto = BigDecimal.ZERO;
-
- try {
- resto = (BigDecimal) queryQnt.getSingleResult();
- if (resto == null) {
- resto = BigDecimal.ZERO;
- }
- } catch (NoResultException e) {
- resto = BigDecimal.ZERO;
- }
-
- return resto;
- }
-}
diff --git a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/AtendimentoRequisicaoConsumo.java b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/AtendimentoRequisicaoConsumo.java
index 981be53..3b5f7c4 100644
--- a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/AtendimentoRequisicaoConsumo.java
+++ b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/AtendimentoRequisicaoConsumo.java
@@ -13,6 +13,7 @@ import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
+import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Transient;
@@ -61,6 +62,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
*
*/
@Entity
+@Table(name="alm_rc_atendimento")
@JsonIgnoreProperties({"$selecionarRequisicoes", "$dataFinalizacao"})
public class AtendimentoRequisicaoConsumo extends PersistentObjectAuditOrganizacao {
diff --git a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/AtendimentoRequisicaoConsumoItem.java b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/AtendimentoRequisicaoConsumoItem.java
index 4660682..0c37691 100644
--- a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/AtendimentoRequisicaoConsumoItem.java
+++ b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/AtendimentoRequisicaoConsumoItem.java
@@ -51,7 +51,7 @@ import com.fasterxml.jackson.annotation.JsonView;
*
*/
@Entity
-@Table(name="AtendimentoReqConsumoItem")
+@Table(name="alm_rc_atendimentoitem")
@JsonIgnoreProperties({"$info", "$verInfo", "$quantidade"})
public class AtendimentoRequisicaoConsumoItem extends PersistentObjectAuditOrganizacao {
diff --git a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/BaixaAlmoxarifado.java b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/BaixaAlmoxarifado.java
index a67538b..9a0f176 100644
--- a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/BaixaAlmoxarifado.java
+++ b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/BaixaAlmoxarifado.java
@@ -9,6 +9,7 @@ import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
+import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
@@ -58,6 +59,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
*/
@Audited
@Entity
+@Table(name="alm_baixa")
public class BaixaAlmoxarifado extends Baixa {
/** Atributo serialVersionUID. */
diff --git a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/BaixaAlmoxarifadoItem.java b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/BaixaAlmoxarifadoItem.java
index 0acadef..028fd7f 100644
--- a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/BaixaAlmoxarifadoItem.java
+++ b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/BaixaAlmoxarifadoItem.java
@@ -10,6 +10,7 @@ import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
+import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Transient;
@@ -59,6 +60,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
*
*/
@Entity
+@Table(name="alm_bx_item")
@JsonIgnoreProperties({ "descricao", "unidadeArmazenamento", "$selected", "$index", "$checked" })
public class BaixaAlmoxarifadoItem extends PersistentObjectAudit {
diff --git a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/BemAlmoxarifadoCaracteristica.java b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/BemAlmoxarifadoCaracteristica.java
index c6ab5bf..66c8d34 100644
--- a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/BemAlmoxarifadoCaracteristica.java
+++ b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/BemAlmoxarifadoCaracteristica.java
@@ -6,16 +6,16 @@ import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
+import javax.persistence.Table;
-import org.hibernate.envers.AuditTable;
import org.hibernate.envers.Audited;
-import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
-import com.fasterxml.jackson.annotation.JsonView;
-
import br.com.centralit.api.framework.json.ViewsAdmMateriais;
import br.com.centralit.framework.model.arquitetura.PersistentObjectAuditOrganizacao;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonView;
+
/**
*
*
@@ -49,8 +49,8 @@ import br.com.centralit.framework.model.arquitetura.PersistentObjectAuditOrganiz
*
*/
@Audited
-@AuditTable(value = "BemAlmoxCaract_aud")
@Entity
+@Table(name="alm_bem_caracteristica")
@JsonIgnoreProperties({ "uploadAnexo", "listaDominios" })
public class BemAlmoxarifadoCaracteristica extends PersistentObjectAuditOrganizacao {
diff --git a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/CatalogoMaterial.java b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/CatalogoMaterial.java
index 9f8764f..c729dd3 100644
--- a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/CatalogoMaterial.java
+++ b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/CatalogoMaterial.java
@@ -11,6 +11,7 @@ import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
+import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
@@ -57,6 +58,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
*
*/
@Entity
+@Table(name="alm_catalogomaterial")
public class CatalogoMaterial extends PersistentObjectAuditOrganizacao {
/** Atributo serialVersionUID. */
diff --git a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/CatalogoMaterialItem.java b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/CatalogoMaterialItem.java
index 89cfd7a..9b6b36b 100644
--- a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/CatalogoMaterialItem.java
+++ b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/CatalogoMaterialItem.java
@@ -6,6 +6,7 @@ import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
+import javax.persistence.Table;
import br.com.centralit.api.framework.json.ViewsAdmMateriais;
import br.com.centralit.framework.model.arquitetura.PersistentObjectAuditOrganizacao;
@@ -46,6 +47,7 @@ import com.fasterxml.jackson.annotation.JsonView;
*
*/
@Entity
+@Table(name="alm_cm_item")
@JsonIgnoreProperties({ "$index" })
public class CatalogoMaterialItem extends PersistentObjectAuditOrganizacao {
diff --git a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/CatalogoMaterialUnidadeConsumidoraRequisitanteItem.java b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/CatalogoMaterialUnidadeConsumidoraRequisitanteItem.java
index 879b536..98c0dfe 100644
--- a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/CatalogoMaterialUnidadeConsumidoraRequisitanteItem.java
+++ b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/CatalogoMaterialUnidadeConsumidoraRequisitanteItem.java
@@ -47,7 +47,7 @@ import com.fasterxml.jackson.annotation.JsonView;
*
*/
@Entity
-@Table(name="CatMaterialUnidadeConsReqItem")
+@Table(name="alm_cm_undreqitem")
@JsonIgnoreProperties({ "$index" })
public class CatalogoMaterialUnidadeConsumidoraRequisitanteItem extends PersistentObjectAuditOrganizacao {
diff --git a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/ConfiguracaoNotificacaoRessuprimentoGrupo.java b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/ConfiguracaoNotificacaoRessuprimentoGrupo.java
index f4da860..33faef4 100644
--- a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/ConfiguracaoNotificacaoRessuprimentoGrupo.java
+++ b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/ConfiguracaoNotificacaoRessuprimentoGrupo.java
@@ -50,7 +50,7 @@ import com.fasterxml.jackson.annotation.JsonView;
*
*/
@Entity
-@Table(name="ConfigNotificacaoRessupGrupo")
+@Table(name="alm_not_res_grupo")
@JsonIgnoreProperties({ "$checked" })
public class ConfiguracaoNotificacaoRessuprimentoGrupo extends PersistentObjectAuditOrganizacao {
diff --git a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/ConfiguracaoNotificacaoRessuprimentoUsuario.java b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/ConfiguracaoNotificacaoRessuprimentoUsuario.java
index aabe9b6..69d9f64 100644
--- a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/ConfiguracaoNotificacaoRessuprimentoUsuario.java
+++ b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/ConfiguracaoNotificacaoRessuprimentoUsuario.java
@@ -50,7 +50,7 @@ import com.fasterxml.jackson.annotation.JsonView;
*
*/
@Entity
-@Table(name="ConfigNotificacaoRessupUsuario")
+@Table(name="alm_not_res_usuario")
@JsonIgnoreProperties({ "$checked" })
public class ConfiguracaoNotificacaoRessuprimentoUsuario extends PersistentObjectAuditOrganizacao {
diff --git a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/Devolucao.java b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/Devolucao.java
index ae4207e..72735e6 100644
--- a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/Devolucao.java
+++ b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/Devolucao.java
@@ -12,6 +12,7 @@ import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
+import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
@@ -58,6 +59,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
*
*/
@Entity
+@Table(name="alm_devolucao")
public class Devolucao extends PersistentObjectAuditOrganizacao {
/** Atributo serialVersionUID. */
diff --git a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/DevolucaoDocumento.java b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/DevolucaoDocumento.java
index 0f23013..8fb6f6e 100644
--- a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/DevolucaoDocumento.java
+++ b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/DevolucaoDocumento.java
@@ -3,10 +3,12 @@ package br.com.centralit.api.model;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.ManyToOne;
+import javax.persistence.Table;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
@Entity
+@Table(name="alm_dev_documento")
@JsonIgnoreProperties({ "uploadsDocumento", "$uuid", "$checked", "$index" })
public class DevolucaoDocumento extends Documento {
diff --git a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/DevolucaoItem.java b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/DevolucaoItem.java
index ad119e9..3f1ea1b 100644
--- a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/DevolucaoItem.java
+++ b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/DevolucaoItem.java
@@ -8,6 +8,7 @@ import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
+import javax.persistence.Table;
import com.fasterxml.jackson.annotation.JsonView;
@@ -48,6 +49,7 @@ import br.com.centralit.framework.model.arquitetura.PersistentObjectAuditOrganiz
*
*/
@Entity
+@Table(name="alm_dev_item")
public class DevolucaoItem extends PersistentObjectAuditOrganizacao {
/** Atributo serialVersionUID. */
diff --git a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/DevolucaoObservacao.java b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/DevolucaoObservacao.java
index 18ef347..b3abcde 100644
--- a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/DevolucaoObservacao.java
+++ b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/DevolucaoObservacao.java
@@ -3,6 +3,7 @@ package br.com.centralit.api.model;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.ManyToOne;
+import javax.persistence.Table;
/**
*
@@ -37,6 +38,7 @@ import javax.persistence.ManyToOne;
*
*/
@Entity
+@Table(name="alm_dev_observacao")
public class DevolucaoObservacao extends Observacao {
/** Atributo serialVersionUID. */
diff --git a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/EstruturaOrganizacionalAlmoxarifado.java b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/EstruturaOrganizacionalAlmoxarifado.java
index 73974c1..e73fd3a 100644
--- a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/EstruturaOrganizacionalAlmoxarifado.java
+++ b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/EstruturaOrganizacionalAlmoxarifado.java
@@ -49,7 +49,7 @@ import com.fasterxml.jackson.annotation.JsonView;
*
*/
@Entity
-@Table(name = "EstruturaOrganizacionalAlmox")
+@Table(name="alm_eo_almoxarifado")
public class EstruturaOrganizacionalAlmoxarifado extends PersistentObjectAudit implements Comparable, Cloneable {
/** Atributo serialVersionUID. */
diff --git a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/MaterialEstoqueSaldoMedio.java b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/MaterialEstoqueSaldoMedio.java
deleted file mode 100644
index c4886ab..0000000
--- a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/MaterialEstoqueSaldoMedio.java
+++ /dev/null
@@ -1,203 +0,0 @@
-package br.com.centralit.api.model;
-
-import java.math.BigDecimal;
-
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.OneToOne;
-
-import br.com.centralit.framework.json.Views;
-import br.com.centralit.framework.model.arquitetura.PersistentObjectAuditOrganizacao;
-
-import com.fasterxml.jackson.annotation.JsonView;
-
-/**
- *
- *
- *
- *
- *
- * Company: Central IT - Governança Corporativa -
- *
- *
- *
- * Title: Material Estoque Saldo Medio
- *
- *
- *
- * Description: Saldo médio de um material em estoque
- *
- *
- *
- * Iniciativa(s): NUMERO_INICIATIVA
- *
- *
- *
- * Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO
- *
- *
- * @since 22/06/2015 - 16:12:33
- *
- * @version 1.0.0
- *
- * @author geovane.filho
- *
- */
-@Entity //TODO Deletar
-public class MaterialEstoqueSaldoMedio extends PersistentObjectAuditOrganizacao {
-
- private static final long serialVersionUID = -9108177938688790640L;
-
- /** Atributo id. */
- @Id
- @GeneratedValue(strategy = GenerationType.AUTO)
- private Long id;
-
- /** Atributo material. */
- @OneToOne(optional = false)
- private Material material;
-
- /** Atributo quantidade. */
- @Column(precision = 20, scale = 4)
- @JsonView({ Views.MaterialConsultaInfo.class })
- private BigDecimal quantidadeAtual;
-
- /** Atributo valorFechado. */
- @Column(precision = 20, scale = 4)
- @JsonView({ Views.MaterialConsultaInfo.class })
- private BigDecimal valorUnitarioMedio;
-
- /** Atributo restoMedio. */
- @Column(precision = 20, scale = 4)
- @JsonView({ Views.MaterialConsultaInfo.class })
- private BigDecimal restoMedio;
-
- /**
- *
- * Responsável pela criação de novas instâncias desta classe.
- */
- protected MaterialEstoqueSaldoMedio() {
- super();
- }
-
- /**
- *
- * Responsável pela criação de novas instâncias desta classe com seus atributos obrigatorios.
- */
- public MaterialEstoqueSaldoMedio(Material material, BigDecimal quantidadeAtual, BigDecimal valorUnitarioMedio, BigDecimal restoMedio) {
- super();
- this.material = material;
- this.quantidadeAtual = quantidadeAtual;
- this.valorUnitarioMedio = valorUnitarioMedio;
- this.restoMedio = restoMedio;
- }
-
- /**
- *
- * Responsável pela criação de novas instâncias desta classe definindo o material e zerando os atributos de controle de estoque
- */
- public MaterialEstoqueSaldoMedio(Material material) {
- super();
- this.material = material;
- this.quantidadeAtual = BigDecimal.ZERO;
- this.valorUnitarioMedio = BigDecimal.ZERO;
- this.restoMedio = BigDecimal.ZERO;
- }
-
- /**
- * Retorna o valor do atributo material
- *
- * @return Material
- */
- public Material getMaterial() {
- return material;
- }
-
- /**
- * Define o valor do atributo material
.
- *
- * @param material
- */
- public void setMaterial(Material material) {
- this.material = material;
- }
-
- /**
- * Retorna o valor do atributo quantidadeAtual
- *
- * @return BigDecimal
- */
- public BigDecimal getQuantidadeAtual() {
- return quantidadeAtual;
- }
-
- /**
- * Define o valor do atributo quantidadeAtual
.
- *
- * @param quantidadeAtual
- */
- public void setQuantidadeAtual(BigDecimal quantidadeAtual) {
- this.quantidadeAtual = quantidadeAtual;
- }
-
- /**
- * Retorna o valor do atributo valorUnitarioMedio
- *
- * @return BigDecimal
- */
- public BigDecimal getValorUnitarioMedio() {
- return valorUnitarioMedio;
- }
-
- /**
- * Define o valor do atributo valorUnitarioMedio
.
- *
- * @param valorUnitarioMedio
- */
- public void setValorUnitarioMedio(BigDecimal valorUnitarioMedio) {
- this.valorUnitarioMedio = valorUnitarioMedio;
- }
-
- /**
- * Retorna o valor do atributo id
- *
- * @return Long
- */
- @Override
- public Long getId() {
-
- return id;
- }
-
- /**
- * Define o valor do atributo id
.
- *
- * @param id
- */
- public void setId(Long id) {
-
- this.id = id;
- }
-
- /**
- * Retorna o valor do atributo restoMedio
- *
- * @return BigDecimal
- */
- public BigDecimal getRestoMedio() {
- return restoMedio;
- }
-
- /**
- * Define o valor do atributo restoMedio
.
- *
- * @param restoMedio
- */
- public void setRestoMedio(BigDecimal restoMedio) {
- this.restoMedio = restoMedio;
- }
-
-}
diff --git a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/RequisicaoConsumo.java b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/RequisicaoConsumo.java
index 303f8ea..f3fd497 100644
--- a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/RequisicaoConsumo.java
+++ b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/RequisicaoConsumo.java
@@ -12,6 +12,7 @@ import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
+import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
@@ -61,6 +62,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
*
*/
@Entity
+@Table(name="alm_requisicaoconsumo")
@JsonIgnoreProperties({"$checked"})
public class RequisicaoConsumo extends PersistentObjectAuditOrganizacao {
diff --git a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/RequisicaoConsumoItem.java b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/RequisicaoConsumoItem.java
index 4c4b704..7a5e594 100644
--- a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/RequisicaoConsumoItem.java
+++ b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/RequisicaoConsumoItem.java
@@ -8,6 +8,7 @@ import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
+import javax.persistence.Table;
import br.com.centralit.api.framework.json.ViewsAdmMateriais;
import br.com.centralit.api.framework.json.ViewsAlmoxarifado;
@@ -52,6 +53,7 @@ import com.fasterxml.jackson.annotation.JsonView;
*/
@JsonIgnoreProperties({ "$quantidadeAtendida", "$quantidadeADevolver", "$TIPO_DECIMAL", "$index" })
@Entity
+@Table(name="alm_rc_item")
public class RequisicaoConsumoItem extends PersistentObjectAuditOrganizacao {
/** Atributo serialVersionUID. */
diff --git a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/RequisicaoObservacao.java b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/RequisicaoObservacao.java
index 9d48e3e..184b2f5 100644
--- a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/RequisicaoObservacao.java
+++ b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/RequisicaoObservacao.java
@@ -3,6 +3,7 @@ package br.com.centralit.api.model;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.ManyToOne;
+import javax.persistence.Table;
/**
*
@@ -37,6 +38,7 @@ import javax.persistence.ManyToOne;
*
*/
@Entity
+@Table(name="alm_rc_observacao")
public class RequisicaoObservacao extends Observacao {
/** Atributo serialVersionUID. */
diff --git a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/MaterialEstoqueSaldoMedioService.java b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/MaterialEstoqueSaldoMedioService.java
deleted file mode 100644
index 26f6e16..0000000
--- a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/MaterialEstoqueSaldoMedioService.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/**
- *
- */
-package br.com.centralit.api.service;
-
-import java.math.BigDecimal;
-
-import br.com.centralit.api.model.Material;
-import br.com.centralit.api.model.MaterialConsumo;
-import br.com.centralit.api.model.MaterialEstoqueSaldoMedio;
-import br.com.centralit.framework.service.arquitetura.GenericService;
-
-/**
- *
- *
- *
- *
- *
- * Company: Central IT - Governança Corporativa -
- *
- *
- *
- * Title:
- *
- *
- *
- * Description:
- *
- *
- * @since 23/06/2015 - 17:51:55
- *
- * @version 1.0.0
- *
- * @author geovane.filho
- *
- */
-public interface MaterialEstoqueSaldoMedioService extends GenericService {
-
- /**
- *
- * Iniciativa(s): NUMERO_INICIATIVA
- *
- *
- *
- * Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO
- *
- *
- * Método responsável por atualizar o saldo do estoque de um material
- *
- * @author geovane.filho
- *
- * @param material Material a se atualizar o saldo médio do estoque
- * @param quantidade Quantidade de material a se adicionar
- * @param valorTotal Valor total dos materiais que estão sendo adicionados
- */
- public void atualizaMaterialEstoque(Material material, BigDecimal quantidade, BigDecimal valorTotal);
-
- /**
- *
- * Iniciativa(s): NUMERO_INICIATIVA
- *
- *
- *
- * Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO
- *
- *
- * Método responsável por trazer o estoque atual de material baseado na análise de estoque por Média Móvel.
- *
- * @author geovane.filho
- *
- * @param material Material a se buscar o estoque atual.
- * @return
- */
- public MaterialEstoqueSaldoMedio findByMaterial(Material material);
-
- /**
- *
- * Iniciativa(s): NUMERO_INICIATIVA
- *
- *
- *
- * Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO
- *
- *
- * 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.
- *
- * @author geovane.filho
- *
- * @param materialConsumo Material a se buscar o valor a ser movimentado pela analise de estoque baseado na Média Móvel.
- * @param quantidadeMovimentada Quantidade de material sendo movimentado.
- *
- * @return Valor monetário da quantidade movimentada na saida.
- */
- public BigDecimal realizaMovimentoSaida(MaterialConsumo materialConsumo, BigDecimal quantidadeMovimentada);
-
- /**
- *
- * Iniciativa(s): NUMERO_INICIATIVA
- *
- *
- *
- * Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO
- *
- *
- * 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.
- *
- * @author geovane.filho
- *
- * @param materialConsumo Material a se buscar o valor a ser movimentado pela analise de estoque baseado na Média Móvel.
- * @param quantidadeMovimentada Quantidade de material sendo movimentado.
- *
- * @return Valor monetário da quantidade movimentada na devolução.
- */
- public BigDecimal realizaMovimentoDevolucao(MaterialConsumo materialConsumo, BigDecimal quantidadeMovimentada);
-
- /**
- * Iniciativa(s): 2485
- *
- * Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO
- *
- * Método responsável por buscar o valor unitario do material na quando o sistema esta configurado para trabalhar com a media movel
- *
- * @author juliana.barbosa
- *
- * @param materialId
- * @return
- */
- public BigDecimal buscaValorUnitario(Long materialId);
-
- /**
- * Iniciativa(s): 2485
- *
- * Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO
- *
- * Método responsável por buscar o resto do material na quando o sistema esta configurado para trabalhar com a media movel
- *
- * @author juliana.barbosa
- *
- * @param materialId
- * @return
- */
- public BigDecimal buscaValorResto(Long materialId);
-
-}
diff --git a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/BaixaAlmoxarifadoServiceImpl.java b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/BaixaAlmoxarifadoServiceImpl.java
index 2e858f2..7c92ae0 100644
--- a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/BaixaAlmoxarifadoServiceImpl.java
+++ b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/BaixaAlmoxarifadoServiceImpl.java
@@ -1,445 +1,441 @@
-package br.com.centralit.api.service.impl;
-
-import java.math.BigDecimal;
-import java.util.List;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.stereotype.Service;
-import org.springframework.validation.Validator;
-
-import br.com.centralit.api.dao.BaixaAlmoxarifadoDao;
-import br.com.centralit.api.model.BaixaAlmoxarifado;
-import br.com.centralit.api.model.BaixaAlmoxarifadoItem;
-import br.com.centralit.api.model.BaixaDocumento;
-import br.com.centralit.api.model.BaixaObservacao;
-import br.com.centralit.api.model.DominioAlmoxarifado;
-import br.com.centralit.api.service.BaixaAlmoxarifadoItemService;
-import br.com.centralit.api.service.BaixaAlmoxarifadoService;
-import br.com.centralit.api.service.ConfiguracaoParametroSistemaService;
-import br.com.centralit.api.service.DominioService;
-import br.com.centralit.api.service.EntradaAlmoxarifadoItemService;
-import br.com.centralit.api.service.EstruturaOrganizacionalService;
-import br.com.centralit.api.service.InternacionalizacaoService;
-import br.com.centralit.api.service.MaterialConsumoService;
-import br.com.centralit.api.service.MaterialEstoqueSaldoMedioService;
-import br.com.centralit.api.service.MovimentoEstoqueService;
-import br.com.centralit.api.service.ParceiroService;
-import br.com.centralit.api.service.RequisicaoConsumoService;
-import br.com.centralit.api.service.UsuarioService;
-import br.com.centralit.framework.exception.BusinessException;
-import br.com.centralit.framework.exception.CodigoErro;
-import br.com.centralit.framework.model.Dominio;
-import br.com.centralit.framework.service.arquitetura.GenericServiceImpl;
-import br.com.centralit.framework.util.UtilColecao;
-import br.com.centralit.framework.util.UtilObjeto;
-
-/**
- *
- *
- *
- *
- *
- * Company: Central IT - Governança Corporativa -
- *
- *
- *
- * Title:
- *
- *
- *
- * Description:
- *
- *
- *
- * Iniciativa(s): NUMERO_INICIATIVA
- *
- *
- *
- * Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO
- *
- *
- * @since 18/06/2015 - 17:40:42
- *
- * @version 1.0.0
- *
- * @author rogerio.costa
- *
- */
-@Service("baixaAlmoxarifadoService")
-public class BaixaAlmoxarifadoServiceImpl extends GenericServiceImpl implements BaixaAlmoxarifadoService {
-
- private static final String VALIDACAO_QUANTIDADE_SUPERIOR_SALDO = "VALIDACAO.QUANTIDADE_SUPERIOR_SALDO";
-
- private static final String VALIDACAO_REMOCAO_BAIXA_ALMOXARIFADO = "VALIDACAO.REMOCAO_EDICAO_BAIXA_ALMOXARIFADO";
-
- /** Atributo baixaAlmoxarifadoDao. */
- private final BaixaAlmoxarifadoDao baixaAlmoxarifadoDao;
-
- /** Atributo parceiroService. */
- @Autowired
- private ParceiroService parceiroService;
-
- /** Atributo dominioService. */
- @Autowired
- private DominioService dominioService;
-
- /** Atributo usuarioService. */
- @Autowired
- private UsuarioService usuarioService;
-
- /** Atributo usuarioService. */
- @Autowired
- private MaterialConsumoService materialConsumoService;
-
- /** Atributo movimentoEstoqueService. */
- @Autowired
- private MovimentoEstoqueService movimentoEstoqueService;
-
- /** Atributo estruturaOrganizacionalService. */
- @Autowired
- private EstruturaOrganizacionalService estruturaOrganizacionalService;
-
- /** Atributo requisicaoConsumoService. */
- @Autowired
- private RequisicaoConsumoService requisicaoConsumoService;
-
- /** Atributo baixaAlmoxarifadoItemService. */
- @Autowired
- private BaixaAlmoxarifadoItemService baixaAlmoxarifadoItemService;
-
- @Autowired
- private EntradaAlmoxarifadoItemService entradaAlmoxarifadoItemService;
-
- @Autowired
- private MaterialEstoqueSaldoMedioService materialEstoqueSaldoMedioService;
-
- @Autowired
- private ConfiguracaoParametroSistemaService configuracaoParametroSistemaService;
-
- @Autowired
- private InternacionalizacaoService internacionalizacaoService;
-
- private Dominio idioma;
-
- @Autowired
- public BaixaAlmoxarifadoServiceImpl( final BaixaAlmoxarifadoDao baixaAlmoxarifadoDao, @Qualifier("baixaAlmoxarifadoValidator") final Validator validator ) {
-
- this.dao = baixaAlmoxarifadoDao;
- this.baixaAlmoxarifadoDao = baixaAlmoxarifadoDao;
- this.validator = validator;
- }
-
- @Override
- public BaixaAlmoxarifado save(BaixaAlmoxarifado entity) {
-
- this.validarEntidade(entity, this.validator);
-
- this.montarObjetoBaixa(entity);
-
- entity = super.save(entity);
-
- configurarNumeroBaixa(entity);
-
- salvaTotaisBaixaItem(entity);
-
- entity = super.save(entity);
-
- //Esse metodo gera os movimentos no estoque no contabil
- this.movimentoEstoqueService.gerarMovimentoBaixa(entity);
-
- return entity;
- }
-
- @Override
- public BaixaAlmoxarifado merge(BaixaAlmoxarifado entity) {
-
- this.validarEntidade(entity, this.validator);
-
- this.montarObjetoBaixa(entity);
-
- salvaTotaisBaixaItem(entity);
-
- entity = super.merge(entity);
-
- this.movimentoEstoqueService.atualizarMovimentoBaixa(entity);
-
- return entity;
- }
-
- /**
- *
- * Iniciativa(s): NUMERO_INICIATIVA
- *
- *
- *
- * Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO
- *
- *
- * Método responsável por estornar a baixa
- *
- * @author rogerio.costa
- *
- * @return
- */
- @Override
- public void estornar(final BaixaAlmoxarifado baixaAlmoxarifado) {
-
- this.baixaAlmoxarifadoItemService.estornarItens(baixaAlmoxarifado.getBaixaItens());
-
- }
-
- /**
- *
- * Iniciativa(s): NUMERO_INICIATIVA
- *
- *
- *
- * Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO
- *
- *
- * Método responsável por
- *
- * @author rogerio.costa
- *
- * @param baixa
- */
- private void montarObjetoBaixa(final BaixaAlmoxarifado baixa) {
-
- baixa.setDominioSituacaoEstorno(this.dominioService.findByChaveAndCodigo(Dominio.TIPO_STATUS_BAIXA_ESTORNO, Dominio.TIPO_STATUS_SEM_ESTORNO));
-
- // pode existir ou nao o destino, caso exista retira o erro de transient
- if (UtilObjeto.isReferencia(baixa.getDestino())) {
-
- baixa.setDestino(this.parceiroService.find(baixa.getDestino().getId()));
- }
-
- // pode existir ou nao o portador, caso exista retira o erro de transient
- if (UtilObjeto.isReferencia(baixa.getAlmoxarifado())) {
-
- baixa.setAlmoxarifado(this.estruturaOrganizacionalService.find(baixa.getAlmoxarifado().getId()));
- }
-
- Dominio dominioTipoBaixa = this.dominioService.findByChaveAndNome(Dominio.TIPO_BAIXA_ALMOXARIFADO, baixa.getDominioTipoBaixa().getNome());
-
- baixa.setDominioTipoBaixa(UtilObjeto.isReferencia(dominioTipoBaixa) ? dominioTipoBaixa : baixa.getDominioTipoBaixa());
-
- // cria vinculo da baixa com as observações
-
- if (UtilObjeto.isReferencia(baixa.getObservacoes())) {
-
- for (final BaixaObservacao obs : baixa.getObservacoes()) {
-
- obs.setAutor(this.usuarioService.find(obs.getAutor().getId()));
-
- obs.setBaixa(baixa);
- }
- }
-
- // cria vinculo da baixa com aos documentos
- if (UtilObjeto.isReferencia(baixa.getDocumentos())) {
-
- for (final BaixaDocumento doc : baixa.getDocumentos()) {
-
- doc.setDominioTipoDocumento(this.dominioService.find(doc.getDominioTipoDocumento().getId()));
-
- if (UtilObjeto.isReferencia(doc.getEmitente())) {
-
- doc.setEmitente(this.parceiroService.find(doc.getEmitente().getId()));
- }
-
- doc.setBaixa(baixa);
-
- }
- }
-
- if (!UtilColecao.isVazio(baixa.getBaixaItens())) {
-
- // cria vinculo da baixa com as baixaItens
- for (final BaixaAlmoxarifadoItem baixaItem : baixa.getBaixaItens()) {
-
- this.validarQtdItemAlmoxarifado(baixaItem);
-
- baixaItem.setBaixaAlmoxarifado(baixa);
-
- baixaItem.setMaterialConsumo(this.materialConsumoService.getReference(baixaItem.getMaterialConsumo().getId()));
- }
- }
-
- if(UtilObjeto.isReferencia(baixa.getId()) && baixa.getOrganizacao() == null){
- baixa.setOrganizacao(this.find(baixa.getId()).getOrganizacao());
- }
-
- }
-
- /**
- *
- * Iniciativa(s): NUMERO_INICIATIVA
- *
- *
- *
- * Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO
- *
- *
- * Método responsável por validara qtd do itemAlmoxarifado
- *
- * @author rogerio.costa
- *
- * @param baixaItem
- */
- private void validarQtdItemAlmoxarifado(final BaixaAlmoxarifadoItem baixaItem) {
-
- if (UtilObjeto.isReferencia(baixaItem.getId())) {
-
- final BaixaAlmoxarifadoItem itemAtual = this.baixaAlmoxarifadoItemService.getReference(baixaItem.getId());
-
- if (itemAtual.getQuantidade().compareTo(baixaItem.getQtdEstoque()) > 0 && baixaItem.getQuantidade().compareTo(itemAtual.getQuantidade()) > 0) {
-
- if (itemAtual.getQuantidade().add(baixaItem.getQtdEstoque()).compareTo(baixaItem.getQuantidade()) > 0) {
-
- throw new BusinessException(this.internacionalizacaoService.getTranslate(BaixaAlmoxarifadoServiceImpl.VALIDACAO_QUANTIDADE_SUPERIOR_SALDO, this.getIdioma()), CodigoErro.REGRA_NEGOCIO.getValue());
-
- } else {
- if (baixaItem.getQuantidade().compareTo(itemAtual.getQuantidade().add(baixaItem.getQtdEstoque())) > 0) {
-
- throw new BusinessException(this.internacionalizacaoService.getTranslate(BaixaAlmoxarifadoServiceImpl.VALIDACAO_QUANTIDADE_SUPERIOR_SALDO, this.getIdioma()), CodigoErro.REGRA_NEGOCIO.getValue());
- }
- }
- } else if (baixaItem.getQuantidade().compareTo(baixaItem.getQtdEstoque()) > 0 && baixaItem.getQuantidade().compareTo(itemAtual.getQuantidade().add(baixaItem.getQtdEstoque())) > 0) {
-
- throw new BusinessException(this.internacionalizacaoService.getTranslate(BaixaAlmoxarifadoServiceImpl.VALIDACAO_QUANTIDADE_SUPERIOR_SALDO, this.getIdioma()), CodigoErro.REGRA_NEGOCIO.getValue());
- }
- } else {
-
- if (baixaItem.getQuantidade().compareTo(baixaItem.getQtdEstoque()) > 0) {
-
- throw new BusinessException(this.internacionalizacaoService.getTranslate(BaixaAlmoxarifadoServiceImpl.VALIDACAO_QUANTIDADE_SUPERIOR_SALDO, this.getIdioma()), CodigoErro.REGRA_NEGOCIO.getValue());
- }
- }
- }
-
- @Override
- public boolean removeById(final Long id) {
-
- this.verificarVinculoRequisicaoPosteriorRemocao(id);
-
- final BaixaAlmoxarifado baixaAlmoxarifado = this.getReference(id);
-
- this.baixaAlmoxarifadoItemService.removeList((List) baixaAlmoxarifado.getBaixaItens());
-
- return super.removeById(id);
- }
-
- /**
- *
- * Iniciativa(s): NUMERO_INICIATIVA
- *
- *
- *
- * Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO
- *
- *
- * Método responsável por
- *
- * @author rogerio.costa
- *
- * @param entity
- */
- @Override
- public void obterQtdEstoque(final BaixaAlmoxarifado entity) {
-
- this.baixaAlmoxarifadoItemService.obterQtdEstoque(entity.getBaixaItens());
-
- }
-
- /**
- *
- * Iniciativa(s): NUMERO_INICIATIVA
- *
- *
- *
- * Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO
- *
- *
- * Método responsável por
- *
- * @author rogerio.costa
- *
- */
- @Override
- public void verificarVinculoRequisicaoPosteriorRemocao(final Long idBaixa) {
-
- final BaixaAlmoxarifado baixaAlmoxarifado = this.getReference(idBaixa);
-
- if (!UtilColecao.isVazio(baixaAlmoxarifado.getBaixaItens())) {
-
- for (final BaixaAlmoxarifadoItem item : baixaAlmoxarifado.getBaixaItens()) {
-
- final boolean contemVinculoRequisicao = this.requisicaoConsumoService.contemVinculoMaterialPorDataEAlmoxarifado(item.getMaterialConsumo().getId(), baixaAlmoxarifado.getAlmoxarifado().getId(), baixaAlmoxarifado.getDataBaixa());
-
- if (contemVinculoRequisicao) {
-
- throw new BusinessException(BaixaAlmoxarifadoServiceImpl.VALIDACAO_REMOCAO_BAIXA_ALMOXARIFADO, CodigoErro.REGRA_NEGOCIO.getValue());
- }
- }
-
- }
-
- }
-
- /**
- *
- * Iniciativa(s): NUMERO_INICIATIVA
- *
- *
- *
- * Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO
- *
- *
- * Método responsável por settar o atributo numeroBaixa.
- *
- * @author luis.camargo
- *
- * @param entity
- */
- private void configurarNumeroBaixa(BaixaAlmoxarifado entity) {
-
- BaixaAlmoxarifado ultimoRegistro =
- (BaixaAlmoxarifado) baixaAlmoxarifadoDao.buscarUltimoRegistroComOrdenadoParametrizada("numeroBaixa", entity.getOrganizacao().getId());
-
- Long sequencial = null;
- if (UtilObjeto.isReferencia(ultimoRegistro)) {
- sequencial = ultimoRegistro.getNumeroBaixa() == null ? null : Long.parseLong(ultimoRegistro.getNumeroBaixa());
- }
- String codigo = configuracaoParametroSistemaService.gerarNumeroIdentificacao(sequencial, entity.getOrganizacao());
-
- entity.setNumeroBaixa(codigo);
- }
-
- private void salvaTotaisBaixaItem(BaixaAlmoxarifado baixa){
- if (!UtilColecao.isVazio(baixa.getBaixaItens())) {
-
- // salva os totais na baixa conforme metodo de avalicao monetaria
- for (final BaixaAlmoxarifadoItem baixaItem : baixa.getBaixaItens()) {
-
- String tipoAvaliacao = this.configuracaoParametroSistemaService.getParametro("TIPO_AVALIACAO_MONETARIA_ESTOQUE", baixa.getOrganizacao().getId()).getValor();
-
- if (tipoAvaliacao.equals(DominioAlmoxarifado.TIPO_AVALIACAO_MONETARIA_FIFO_NOME)){
- BigDecimal valorMovimentoFIFO = this.entradaAlmoxarifadoItemService.realizaMovimentoSaida(baixaItem.getMaterialConsumo(), baixaItem.getQuantidade());
- baixaItem.setTotal(valorMovimentoFIFO);
- }else{
- BigDecimal valorMovimentoMediaMovel = this.materialEstoqueSaldoMedioService.realizaMovimentoSaida(baixaItem.getMaterialConsumo(), baixaItem.getQuantidade());
- baixaItem.setTotal(valorMovimentoMediaMovel);
- }
- }
- }
- }
-
- public Dominio getIdioma() {
- if(!UtilObjeto.isReferencia(idioma)){
- idioma = this.dominioService.findByChaveAndCodigo("tipoIdioma", Dominio.TIPO_IDIOMA_PT_BR_CODIGO);
- }
- return idioma;
- }
-
-}
+package br.com.centralit.api.service.impl;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.stereotype.Service;
+import org.springframework.validation.Validator;
+
+import br.com.centralit.api.dao.BaixaAlmoxarifadoDao;
+import br.com.centralit.api.model.BaixaAlmoxarifado;
+import br.com.centralit.api.model.BaixaAlmoxarifadoItem;
+import br.com.centralit.api.model.BaixaDocumento;
+import br.com.centralit.api.model.BaixaObservacao;
+import br.com.centralit.api.model.DominioAlmoxarifado;
+import br.com.centralit.api.service.BaixaAlmoxarifadoItemService;
+import br.com.centralit.api.service.BaixaAlmoxarifadoService;
+import br.com.centralit.api.service.ConfiguracaoParametroSistemaService;
+import br.com.centralit.api.service.DominioService;
+import br.com.centralit.api.service.EntradaAlmoxarifadoItemService;
+import br.com.centralit.api.service.EstruturaOrganizacionalService;
+import br.com.centralit.api.service.InternacionalizacaoService;
+import br.com.centralit.api.service.MaterialConsumoService;
+import br.com.centralit.api.service.MovimentoEstoqueService;
+import br.com.centralit.api.service.ParceiroService;
+import br.com.centralit.api.service.RequisicaoConsumoService;
+import br.com.centralit.api.service.UsuarioService;
+import br.com.centralit.framework.exception.BusinessException;
+import br.com.centralit.framework.exception.CodigoErro;
+import br.com.centralit.framework.model.Dominio;
+import br.com.centralit.framework.service.arquitetura.GenericServiceImpl;
+import br.com.centralit.framework.util.UtilColecao;
+import br.com.centralit.framework.util.UtilObjeto;
+
+/**
+ *
+ *
+ *
+ *
+ *
+ * Company: Central IT - Governança Corporativa -
+ *
+ *
+ *
+ * Title:
+ *
+ *
+ *
+ * Description:
+ *
+ *
+ *
+ * Iniciativa(s): NUMERO_INICIATIVA
+ *
+ *
+ *
+ * Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO
+ *
+ *
+ * @since 18/06/2015 - 17:40:42
+ *
+ * @version 1.0.0
+ *
+ * @author rogerio.costa
+ *
+ */
+@Service("baixaAlmoxarifadoService")
+public class BaixaAlmoxarifadoServiceImpl extends GenericServiceImpl implements BaixaAlmoxarifadoService {
+
+ private static final String VALIDACAO_QUANTIDADE_SUPERIOR_SALDO = "VALIDACAO.QUANTIDADE_SUPERIOR_SALDO";
+
+ private static final String VALIDACAO_REMOCAO_BAIXA_ALMOXARIFADO = "VALIDACAO.REMOCAO_EDICAO_BAIXA_ALMOXARIFADO";
+
+ /** Atributo baixaAlmoxarifadoDao. */
+ private final BaixaAlmoxarifadoDao baixaAlmoxarifadoDao;
+
+ /** Atributo parceiroService. */
+ @Autowired
+ private ParceiroService parceiroService;
+
+ /** Atributo dominioService. */
+ @Autowired
+ private DominioService dominioService;
+
+ /** Atributo usuarioService. */
+ @Autowired
+ private UsuarioService usuarioService;
+
+ /** Atributo usuarioService. */
+ @Autowired
+ private MaterialConsumoService materialConsumoService;
+
+ /** Atributo movimentoEstoqueService. */
+ @Autowired
+ private MovimentoEstoqueService movimentoEstoqueService;
+
+ /** Atributo estruturaOrganizacionalService. */
+ @Autowired
+ private EstruturaOrganizacionalService estruturaOrganizacionalService;
+
+ /** Atributo requisicaoConsumoService. */
+ @Autowired
+ private RequisicaoConsumoService requisicaoConsumoService;
+
+ /** Atributo baixaAlmoxarifadoItemService. */
+ @Autowired
+ private BaixaAlmoxarifadoItemService baixaAlmoxarifadoItemService;
+
+ @Autowired
+ private EntradaAlmoxarifadoItemService entradaAlmoxarifadoItemService;
+
+ @Autowired
+ private ConfiguracaoParametroSistemaService configuracaoParametroSistemaService;
+
+ @Autowired
+ private InternacionalizacaoService internacionalizacaoService;
+
+ private Dominio idioma;
+
+ @Autowired
+ public BaixaAlmoxarifadoServiceImpl( final BaixaAlmoxarifadoDao baixaAlmoxarifadoDao, @Qualifier("baixaAlmoxarifadoValidator") final Validator validator ) {
+
+ this.dao = baixaAlmoxarifadoDao;
+ this.baixaAlmoxarifadoDao = baixaAlmoxarifadoDao;
+ this.validator = validator;
+ }
+
+ @Override
+ public BaixaAlmoxarifado save(BaixaAlmoxarifado entity) {
+
+ this.validarEntidade(entity, this.validator);
+
+ this.montarObjetoBaixa(entity);
+
+ entity = super.save(entity);
+
+ configurarNumeroBaixa(entity);
+
+ salvaTotaisBaixaItem(entity);
+
+ entity = super.save(entity);
+
+ //Esse metodo gera os movimentos no estoque no contabil
+ this.movimentoEstoqueService.gerarMovimentoBaixa(entity);
+
+ return entity;
+ }
+
+ @Override
+ public BaixaAlmoxarifado merge(BaixaAlmoxarifado entity) {
+
+ this.validarEntidade(entity, this.validator);
+
+ this.montarObjetoBaixa(entity);
+
+ salvaTotaisBaixaItem(entity);
+
+ entity = super.merge(entity);
+
+ this.movimentoEstoqueService.atualizarMovimentoBaixa(entity);
+
+ return entity;
+ }
+
+ /**
+ *
+ * Iniciativa(s): NUMERO_INICIATIVA
+ *
+ *
+ *
+ * Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO
+ *
+ *
+ * Método responsável por estornar a baixa
+ *
+ * @author rogerio.costa
+ *
+ * @return
+ */
+ @Override
+ public void estornar(final BaixaAlmoxarifado baixaAlmoxarifado) {
+
+ this.baixaAlmoxarifadoItemService.estornarItens(baixaAlmoxarifado.getBaixaItens());
+
+ }
+
+ /**
+ *
+ * Iniciativa(s): NUMERO_INICIATIVA
+ *
+ *
+ *
+ * Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO
+ *
+ *
+ * Método responsável por
+ *
+ * @author rogerio.costa
+ *
+ * @param baixa
+ */
+ private void montarObjetoBaixa(final BaixaAlmoxarifado baixa) {
+
+ baixa.setDominioSituacaoEstorno(this.dominioService.findByChaveAndCodigo(Dominio.TIPO_STATUS_BAIXA_ESTORNO, Dominio.TIPO_STATUS_SEM_ESTORNO));
+
+ // pode existir ou nao o destino, caso exista retira o erro de transient
+ if (UtilObjeto.isReferencia(baixa.getDestino())) {
+
+ baixa.setDestino(this.parceiroService.find(baixa.getDestino().getId()));
+ }
+
+ // pode existir ou nao o portador, caso exista retira o erro de transient
+ if (UtilObjeto.isReferencia(baixa.getAlmoxarifado())) {
+
+ baixa.setAlmoxarifado(this.estruturaOrganizacionalService.find(baixa.getAlmoxarifado().getId()));
+ }
+
+ Dominio dominioTipoBaixa = this.dominioService.findByChaveAndNome(Dominio.TIPO_BAIXA_ALMOXARIFADO, baixa.getDominioTipoBaixa().getNome());
+
+ baixa.setDominioTipoBaixa(UtilObjeto.isReferencia(dominioTipoBaixa) ? dominioTipoBaixa : baixa.getDominioTipoBaixa());
+
+ // cria vinculo da baixa com as observações
+
+ if (UtilObjeto.isReferencia(baixa.getObservacoes())) {
+
+ for (final BaixaObservacao obs : baixa.getObservacoes()) {
+
+ obs.setAutor(this.usuarioService.find(obs.getAutor().getId()));
+
+ obs.setBaixa(baixa);
+ }
+ }
+
+ // cria vinculo da baixa com aos documentos
+ if (UtilObjeto.isReferencia(baixa.getDocumentos())) {
+
+ for (final BaixaDocumento doc : baixa.getDocumentos()) {
+
+ doc.setDominioTipoDocumento(this.dominioService.find(doc.getDominioTipoDocumento().getId()));
+
+ if (UtilObjeto.isReferencia(doc.getEmitente())) {
+
+ doc.setEmitente(this.parceiroService.find(doc.getEmitente().getId()));
+ }
+
+ doc.setBaixa(baixa);
+
+ }
+ }
+
+ if (!UtilColecao.isVazio(baixa.getBaixaItens())) {
+
+ // cria vinculo da baixa com as baixaItens
+ for (final BaixaAlmoxarifadoItem baixaItem : baixa.getBaixaItens()) {
+
+ this.validarQtdItemAlmoxarifado(baixaItem);
+
+ baixaItem.setBaixaAlmoxarifado(baixa);
+
+ baixaItem.setMaterialConsumo(this.materialConsumoService.getReference(baixaItem.getMaterialConsumo().getId()));
+ }
+ }
+
+ if(UtilObjeto.isReferencia(baixa.getId()) && baixa.getOrganizacao() == null){
+ baixa.setOrganizacao(this.find(baixa.getId()).getOrganizacao());
+ }
+
+ }
+
+ /**
+ *
+ * Iniciativa(s): NUMERO_INICIATIVA
+ *
+ *
+ *
+ * Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO
+ *
+ *
+ * Método responsável por validara qtd do itemAlmoxarifado
+ *
+ * @author rogerio.costa
+ *
+ * @param baixaItem
+ */
+ private void validarQtdItemAlmoxarifado(final BaixaAlmoxarifadoItem baixaItem) {
+
+ if (UtilObjeto.isReferencia(baixaItem.getId())) {
+
+ final BaixaAlmoxarifadoItem itemAtual = this.baixaAlmoxarifadoItemService.getReference(baixaItem.getId());
+
+ if (itemAtual.getQuantidade().compareTo(baixaItem.getQtdEstoque()) > 0 && baixaItem.getQuantidade().compareTo(itemAtual.getQuantidade()) > 0) {
+
+ if (itemAtual.getQuantidade().add(baixaItem.getQtdEstoque()).compareTo(baixaItem.getQuantidade()) > 0) {
+
+ throw new BusinessException(this.internacionalizacaoService.getTranslate(BaixaAlmoxarifadoServiceImpl.VALIDACAO_QUANTIDADE_SUPERIOR_SALDO, this.getIdioma()), CodigoErro.REGRA_NEGOCIO.getValue());
+
+ } else {
+ if (baixaItem.getQuantidade().compareTo(itemAtual.getQuantidade().add(baixaItem.getQtdEstoque())) > 0) {
+
+ throw new BusinessException(this.internacionalizacaoService.getTranslate(BaixaAlmoxarifadoServiceImpl.VALIDACAO_QUANTIDADE_SUPERIOR_SALDO, this.getIdioma()), CodigoErro.REGRA_NEGOCIO.getValue());
+ }
+ }
+ } else if (baixaItem.getQuantidade().compareTo(baixaItem.getQtdEstoque()) > 0 && baixaItem.getQuantidade().compareTo(itemAtual.getQuantidade().add(baixaItem.getQtdEstoque())) > 0) {
+
+ throw new BusinessException(this.internacionalizacaoService.getTranslate(BaixaAlmoxarifadoServiceImpl.VALIDACAO_QUANTIDADE_SUPERIOR_SALDO, this.getIdioma()), CodigoErro.REGRA_NEGOCIO.getValue());
+ }
+ } else {
+
+ if (baixaItem.getQuantidade().compareTo(baixaItem.getQtdEstoque()) > 0) {
+
+ throw new BusinessException(this.internacionalizacaoService.getTranslate(BaixaAlmoxarifadoServiceImpl.VALIDACAO_QUANTIDADE_SUPERIOR_SALDO, this.getIdioma()), CodigoErro.REGRA_NEGOCIO.getValue());
+ }
+ }
+ }
+
+ @Override
+ public boolean removeById(final Long id) {
+
+ this.verificarVinculoRequisicaoPosteriorRemocao(id);
+
+ final BaixaAlmoxarifado baixaAlmoxarifado = this.getReference(id);
+
+ this.baixaAlmoxarifadoItemService.removeList((List) baixaAlmoxarifado.getBaixaItens());
+
+ return super.removeById(id);
+ }
+
+ /**
+ *
+ * Iniciativa(s): NUMERO_INICIATIVA
+ *
+ *
+ *
+ * Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO
+ *
+ *
+ * Método responsável por
+ *
+ * @author rogerio.costa
+ *
+ * @param entity
+ */
+ @Override
+ public void obterQtdEstoque(final BaixaAlmoxarifado entity) {
+
+ this.baixaAlmoxarifadoItemService.obterQtdEstoque(entity.getBaixaItens());
+
+ }
+
+ /**
+ *
+ * Iniciativa(s): NUMERO_INICIATIVA
+ *
+ *
+ *
+ * Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO
+ *
+ *
+ * Método responsável por
+ *
+ * @author rogerio.costa
+ *
+ */
+ @Override
+ public void verificarVinculoRequisicaoPosteriorRemocao(final Long idBaixa) {
+
+ final BaixaAlmoxarifado baixaAlmoxarifado = this.getReference(idBaixa);
+
+ if (!UtilColecao.isVazio(baixaAlmoxarifado.getBaixaItens())) {
+
+ for (final BaixaAlmoxarifadoItem item : baixaAlmoxarifado.getBaixaItens()) {
+
+ final boolean contemVinculoRequisicao = this.requisicaoConsumoService.contemVinculoMaterialPorDataEAlmoxarifado(item.getMaterialConsumo().getId(), baixaAlmoxarifado.getAlmoxarifado().getId(), baixaAlmoxarifado.getDataBaixa());
+
+ if (contemVinculoRequisicao) {
+
+ throw new BusinessException(BaixaAlmoxarifadoServiceImpl.VALIDACAO_REMOCAO_BAIXA_ALMOXARIFADO, CodigoErro.REGRA_NEGOCIO.getValue());
+ }
+ }
+
+ }
+
+ }
+
+ /**
+ *
+ * Iniciativa(s): NUMERO_INICIATIVA
+ *
+ *
+ *
+ * Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO
+ *
+ *
+ * Método responsável por settar o atributo numeroBaixa.
+ *
+ * @author luis.camargo
+ *
+ * @param entity
+ */
+ private void configurarNumeroBaixa(BaixaAlmoxarifado entity) {
+
+ BaixaAlmoxarifado ultimoRegistro =
+ (BaixaAlmoxarifado) baixaAlmoxarifadoDao.buscarUltimoRegistroComOrdenadoParametrizada("numeroBaixa", entity.getOrganizacao().getId());
+
+ Long sequencial = null;
+ if (UtilObjeto.isReferencia(ultimoRegistro)) {
+ sequencial = ultimoRegistro.getNumeroBaixa() == null ? null : Long.parseLong(ultimoRegistro.getNumeroBaixa());
+ }
+ String codigo = configuracaoParametroSistemaService.gerarNumeroIdentificacao(sequencial, entity.getOrganizacao());
+
+ entity.setNumeroBaixa(codigo);
+ }
+
+ private void salvaTotaisBaixaItem(BaixaAlmoxarifado baixa){
+ if (!UtilColecao.isVazio(baixa.getBaixaItens())) {
+
+ // salva os totais na baixa conforme metodo de avalicao monetaria
+ for (final BaixaAlmoxarifadoItem baixaItem : baixa.getBaixaItens()) {
+
+ String tipoAvaliacao = this.configuracaoParametroSistemaService.getParametro("TIPO_AVALIACAO_MONETARIA_ESTOQUE", baixa.getOrganizacao().getId()).getValor();
+
+ if (tipoAvaliacao.equals(DominioAlmoxarifado.TIPO_AVALIACAO_MONETARIA_FIFO_NOME)){
+ BigDecimal valorMovimentoFIFO = this.entradaAlmoxarifadoItemService.realizaMovimentoSaida(baixaItem.getMaterialConsumo(), baixaItem.getQuantidade());
+ baixaItem.setTotal(valorMovimentoFIFO);
+ }else{
+ //BigDecimal valorMovimentoMediaMovel = this.materialEstoqueSaldoMedioService.realizaMovimentoSaida(baixaItem.getMaterialConsumo(), baixaItem.getQuantidade());
+ //baixaItem.setTotal(valorMovimentoMediaMovel);
+ }
+ }
+ }
+ }
+
+ public Dominio getIdioma() {
+ if(!UtilObjeto.isReferencia(idioma)){
+ idioma = this.dominioService.findByChaveAndCodigo("tipoIdioma", Dominio.TIPO_IDIOMA_PT_BR_CODIGO);
+ }
+ return idioma;
+ }
+
+}
diff --git a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/MaterialEstoqueSaldoMedioServiceImpl.java b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/MaterialEstoqueSaldoMedioServiceImpl.java
deleted file mode 100644
index 0a003e1..0000000
--- a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/MaterialEstoqueSaldoMedioServiceImpl.java
+++ /dev/null
@@ -1,161 +0,0 @@
-package br.com.centralit.api.service.impl;
-
-import java.math.BigDecimal;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.stereotype.Service;
-import org.springframework.validation.Validator;
-
-import br.com.centralit.api.dao.MaterialEstoqueSaldoMedioDao;
-import br.com.centralit.api.model.Material;
-import br.com.centralit.api.model.MaterialConsumo;
-import br.com.centralit.api.model.MaterialEstoqueSaldoMedio;
-import br.com.centralit.api.service.MaterialConsumoService;
-import br.com.centralit.api.service.MaterialEstoqueSaldoMedioService;
-import br.com.centralit.framework.service.arquitetura.GenericServiceImpl;
-import br.com.centralit.framework.util.UtilObjeto;
-
-/**
- *
- *
- *
- *
- *
- * Company: Central IT - Governança Corporativa -
- *
- *
- *
- * Title:
- *
- *
- *
- * Description:
- *
- *
- * @since 23/06/2015 - 17:53:30
- *
- * @version 1.0.0
- *
- * @author geovane.filho
- *
- */
-@Service("materialEstoqueSaldoMedioService")
-public class MaterialEstoqueSaldoMedioServiceImpl extends GenericServiceImpl implements MaterialEstoqueSaldoMedioService {
-
- @Autowired
- private MaterialEstoqueSaldoMedioDao materialEstoqueSaldoMedioDao;
-
- @Autowired
- private MaterialConsumoService materialConsumoService;
-
- /**
- * Responsável pela criação de novas instâncias desta classe.
- *
- * @param entradaAlmoxarifadoDao
- * @param validator
- */
- @Autowired
- public MaterialEstoqueSaldoMedioServiceImpl( MaterialEstoqueSaldoMedioDao materialEstoqueSaldoMedioDao, @Qualifier("materialEstoqueSaldoMedioValidator") Validator validator ) {
- this.dao = materialEstoqueSaldoMedioDao;
- this.materialEstoqueSaldoMedioDao = materialEstoqueSaldoMedioDao;
- this.validator = validator;
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public void atualizaMaterialEstoque(Material material, BigDecimal quantidade, BigDecimal valorTotal) {
- MaterialEstoqueSaldoMedio saldoMedio = this.materialEstoqueSaldoMedioDao.findByMaterial(material);
- if (saldoMedio == null) {
- saldoMedio = new MaterialEstoqueSaldoMedio(material);
- }
-
- BigDecimal qntAtual = saldoMedio.getQuantidadeAtual();
- BigDecimal valorTotalAtual = BigDecimal.ZERO;
- if(UtilObjeto.isReferencia(saldoMedio.getValorUnitarioMedio()) && UtilObjeto.isReferencia(saldoMedio.getRestoMedio())) {
- valorTotalAtual = saldoMedio.getValorUnitarioMedio().multiply(saldoMedio.getQuantidadeAtual()).add(saldoMedio.getRestoMedio());
- }
-
- BigDecimal qntNova = qntAtual.add(quantidade);
- BigDecimal valorTotalNovo = valorTotalAtual.add(valorTotal);
-
- BigDecimal valorUnitarioNovo = valorTotalNovo.divide(qntNova, 4, BigDecimal.ROUND_HALF_UP);
-
- BigDecimal valorUnitXquantidade = qntNova.multiply(valorUnitarioNovo);
- BigDecimal valorRestoNovo = valorTotalNovo.subtract(valorUnitXquantidade);
-
-
- saldoMedio.setQuantidadeAtual(qntNova);
- saldoMedio.setValorUnitarioMedio(valorUnitarioNovo);
- saldoMedio.setRestoMedio(valorRestoNovo);
-
- this.materialEstoqueSaldoMedioDao.save(saldoMedio);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public MaterialEstoqueSaldoMedio findByMaterial(Material idMaterial) {
- return this.materialEstoqueSaldoMedioDao.findByMaterial(idMaterial);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public BigDecimal realizaMovimentoSaida(MaterialConsumo materialConsumo, BigDecimal quantidadeMovimentada) {
- BigDecimal retorno = BigDecimal.ZERO;
-
- MaterialEstoqueSaldoMedio estoqueMedio = this.findByMaterial(materialConsumo); //Busco o saldo de estoque baseado na média móvel
-
- if (estoqueMedio.getQuantidadeAtual().compareTo(quantidadeMovimentada) > 0) {
- retorno = retorno.add(estoqueMedio.getValorUnitarioMedio().multiply(quantidadeMovimentada));
- estoqueMedio.setQuantidadeAtual(estoqueMedio.getQuantidadeAtual().subtract(quantidadeMovimentada));
- this.save(estoqueMedio);
- } else {
- if(estoqueMedio.getValorUnitarioMedio() != null && estoqueMedio.getRestoMedio() != null){
- retorno = retorno.add((estoqueMedio.getValorUnitarioMedio().multiply(quantidadeMovimentada)).add(estoqueMedio.getRestoMedio()));
- }
- estoqueMedio.setQuantidadeAtual(estoqueMedio.getQuantidadeAtual().subtract(quantidadeMovimentada));
- this.save(estoqueMedio);
- }
-
- return retorno;
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public BigDecimal realizaMovimentoDevolucao(MaterialConsumo materialConsumo, BigDecimal quantidadeMovimentada) {
- BigDecimal retorno = BigDecimal.ZERO;
-
- MaterialEstoqueSaldoMedio estoqueMedio = this.findByMaterial(materialConsumo); //Busco o saldo de estoque baseado na média móvel
-
- retorno = retorno.add(estoqueMedio.getValorUnitarioMedio().multiply(quantidadeMovimentada)); //Gero o valor monetario da movimentação sendo realizada
-
- if (estoqueMedio.getQuantidadeAtual().equals(BigDecimal.ZERO)) { //Se o saldo atual da quantidade em estoque for zero eu adiciono o resto na movimentação
- retorno = retorno.add(estoqueMedio.getRestoMedio());
- }
-
- estoqueMedio.setQuantidadeAtual(estoqueMedio.getQuantidadeAtual().add(quantidadeMovimentada)); //Atualizo a quantidade atual do estoque
- this.save(estoqueMedio);
-
- return retorno;
- }
-
- public BigDecimal buscaValorUnitario(Long materialId){
- BigDecimal retorno = BigDecimal.ZERO;
- retorno = this.materialEstoqueSaldoMedioDao.buscaValorUnitario(materialId);
- return retorno;
- }
-
- public BigDecimal buscaValorResto(Long materialId){
- BigDecimal retorno = BigDecimal.ZERO;
- retorno = this.materialEstoqueSaldoMedioDao.buscaValorResto(materialId);
- return retorno;
- }
-}
diff --git a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/MovimentoEstoqueServiceImpl.java b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/MovimentoEstoqueServiceImpl.java
index c68e723..bb8df1e 100644
--- a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/MovimentoEstoqueServiceImpl.java
+++ b/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;
import br.com.centralit.api.service.DominioService;
import br.com.centralit.api.service.EntradaAlmoxarifadoItemService;
import br.com.centralit.api.service.MaterialConsumoService;
-import br.com.centralit.api.service.MaterialEstoqueSaldoMedioService;
import br.com.centralit.api.service.MaterialEstoqueService;
import br.com.centralit.api.service.MaterialLocalEstoqueService;
import br.com.centralit.api.service.MovimentoEstoqueService;
@@ -95,9 +94,6 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl clazz) {
-
- return MaterialEstoqueSaldoMedio.class.isAssignableFrom(clazz);
- }
-
- @Override
- public void validate(Object target, Errors errors) {
-
- ValidationUtils.rejectIfEmpty(errors, "material", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "LABEL.MATERIAL");
-
- ValidationUtils.rejectIfEmpty(errors, "quantidadeAtual", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "ALMOXARIFADO.LABEL.QUANTIDADE_ATUAL");
-
- ValidationUtils.rejectIfEmpty(errors, "valorUnitarioMedio", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "ALMOXARIFADO.LABEL.VALORUNITARIOMEDIO");
-
- ValidationUtils.rejectIfEmpty(errors, "restoMedio", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "ALMOXARIFADO.LABEL.RESTOMEDIO");
-
- }
-}
-
diff --git a/cit-almoxarifado-web/src/main/java/br/com/centralit/controller/MaterialEstoqueSaldoController.java b/cit-almoxarifado-web/src/main/java/br/com/centralit/controller/MaterialEstoqueSaldoController.java
index 5d2bfc9..ef31895 100644
--- a/cit-almoxarifado-web/src/main/java/br/com/centralit/controller/MaterialEstoqueSaldoController.java
+++ b/cit-almoxarifado-web/src/main/java/br/com/centralit/controller/MaterialEstoqueSaldoController.java
@@ -11,8 +11,6 @@ import org.springframework.web.bind.annotation.ResponseBody;
import br.com.centralit.api.model.Material;
import br.com.centralit.api.model.MaterialEstoqueSaldo;
-import br.com.centralit.api.model.MaterialEstoqueSaldoMedio;
-import br.com.centralit.api.service.MaterialEstoqueSaldoMedioService;
import br.com.centralit.api.service.MaterialEstoqueSaldoService;
import br.com.centralit.api.service.MovimentoEstoqueService;
import br.com.centralit.api.service.OrganizacaoService;
@@ -34,9 +32,6 @@ public class MaterialEstoqueSaldoController extends GenericController {
-
- private MaterialEstoqueSaldoMedioService materialEstoqueSaldoMedioService;
-
- @Autowired
- private OrganizacaoService organizacaoService;
-
- @Autowired
- private MovimentoEstoqueService movimentoEstoqueService;
-
- @Autowired
- public MaterialEstoqueSaldoMedioController( MaterialEstoqueSaldoMedioService materialEstoqueSaldoMedioService ) {
-
- super(materialEstoqueSaldoMedioService);
- this.materialEstoqueSaldoMedioService = materialEstoqueSaldoMedioService;
- }
-
- @RequestMapping(value = "/buscaValorUnitario", method = RequestMethod.GET, produces = "application/json")
- @ResponseBody
- public BigDecimal buscaValorUnitario(@RequestParam(value = "materialId") Long materialId) {
-
- return this.materialEstoqueSaldoMedioService.buscaValorUnitario(materialId);
- }
-
- @RequestMapping(value = "/buscaValorResto", method = RequestMethod.GET, produces = "application/json")
- @ResponseBody
- public BigDecimal buscaValorResto(@RequestParam(value = "materialId") Long materialId) {
-
- return this.materialEstoqueSaldoMedioService.buscaValorResto(materialId);
- }
-
-
-}
--
libgit2 0.21.2