Commit 42850c0f4a2ce68e1975603272adb495a100b4b6
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 | -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 | -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 | 13 | import javax.persistence.Id; |
14 | 14 | import javax.persistence.ManyToOne; |
15 | 15 | import javax.persistence.OneToMany; |
16 | +import javax.persistence.Table; | |
16 | 17 | import javax.persistence.Temporal; |
17 | 18 | import javax.persistence.TemporalType; |
18 | 19 | import javax.persistence.Transient; |
... | ... | @@ -61,6 +62,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize; |
61 | 62 | * |
62 | 63 | */ |
63 | 64 | @Entity |
65 | +@Table(name="alm_rc_atendimento") | |
64 | 66 | @JsonIgnoreProperties({"$selecionarRequisicoes", "$dataFinalizacao"}) |
65 | 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 | 51 | * |
52 | 52 | */ |
53 | 53 | @Entity |
54 | -@Table(name="AtendimentoReqConsumoItem") | |
54 | +@Table(name="alm_rc_atendimentoitem") | |
55 | 55 | @JsonIgnoreProperties({"$info", "$verInfo", "$quantidade"}) |
56 | 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 | 9 | import javax.persistence.FetchType; |
10 | 10 | import javax.persistence.ManyToOne; |
11 | 11 | import javax.persistence.OneToMany; |
12 | +import javax.persistence.Table; | |
12 | 13 | import javax.persistence.Temporal; |
13 | 14 | import javax.persistence.TemporalType; |
14 | 15 | |
... | ... | @@ -58,6 +59,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize; |
58 | 59 | */ |
59 | 60 | @Audited |
60 | 61 | @Entity |
62 | +@Table(name="alm_baixa") | |
61 | 63 | public class BaixaAlmoxarifado extends Baixa { |
62 | 64 | |
63 | 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 | 10 | import javax.persistence.GenerationType; |
11 | 11 | import javax.persistence.Id; |
12 | 12 | import javax.persistence.ManyToOne; |
13 | +import javax.persistence.Table; | |
13 | 14 | import javax.persistence.Temporal; |
14 | 15 | import javax.persistence.TemporalType; |
15 | 16 | import javax.persistence.Transient; |
... | ... | @@ -59,6 +60,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize; |
59 | 60 | * |
60 | 61 | */ |
61 | 62 | @Entity |
63 | +@Table(name="alm_bx_item") | |
62 | 64 | @JsonIgnoreProperties({ "descricao", "unidadeArmazenamento", "$selected", "$index", "$checked" }) |
63 | 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 | 6 | import javax.persistence.GenerationType; |
7 | 7 | import javax.persistence.Id; |
8 | 8 | import javax.persistence.ManyToOne; |
9 | +import javax.persistence.Table; | |
9 | 10 | |
10 | -import org.hibernate.envers.AuditTable; | |
11 | 11 | import org.hibernate.envers.Audited; |
12 | 12 | |
13 | -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; | |
14 | -import com.fasterxml.jackson.annotation.JsonView; | |
15 | - | |
16 | 13 | import br.com.centralit.api.framework.json.ViewsAdmMateriais; |
17 | 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 | 20 | * <p> |
21 | 21 | * <img src="http://centralit.com.br/images/logo_central.png"> |
... | ... | @@ -49,8 +49,8 @@ import br.com.centralit.framework.model.arquitetura.PersistentObjectAuditOrganiz |
49 | 49 | * |
50 | 50 | */ |
51 | 51 | @Audited |
52 | -@AuditTable(value = "BemAlmoxCaract_aud") | |
53 | 52 | @Entity |
53 | +@Table(name="alm_bem_caracteristica") | |
54 | 54 | @JsonIgnoreProperties({ "uploadAnexo", "listaDominios" }) |
55 | 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 | 11 | import javax.persistence.GenerationType; |
12 | 12 | import javax.persistence.Id; |
13 | 13 | import javax.persistence.OneToMany; |
14 | +import javax.persistence.Table; | |
14 | 15 | import javax.persistence.Temporal; |
15 | 16 | import javax.persistence.TemporalType; |
16 | 17 | |
... | ... | @@ -57,6 +58,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize; |
57 | 58 | * |
58 | 59 | */ |
59 | 60 | @Entity |
61 | +@Table(name="alm_catalogomaterial") | |
60 | 62 | public class CatalogoMaterial extends PersistentObjectAuditOrganizacao { |
61 | 63 | |
62 | 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 | import javax.persistence.GenerationType; |
7 | 7 | import javax.persistence.Id; |
8 | 8 | import javax.persistence.ManyToOne; |
9 | +import javax.persistence.Table; | |
9 | 10 | |
10 | 11 | import br.com.centralit.api.framework.json.ViewsAdmMateriais; |
11 | 12 | import br.com.centralit.framework.model.arquitetura.PersistentObjectAuditOrganizacao; |
... | ... | @@ -46,6 +47,7 @@ import com.fasterxml.jackson.annotation.JsonView; |
46 | 47 | * |
47 | 48 | */ |
48 | 49 | @Entity |
50 | +@Table(name="alm_cm_item") | |
49 | 51 | @JsonIgnoreProperties({ "$index" }) |
50 | 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 | 47 | * |
48 | 48 | */ |
49 | 49 | @Entity |
50 | -@Table(name="CatMaterialUnidadeConsReqItem") | |
50 | +@Table(name="alm_cm_undreqitem") | |
51 | 51 | @JsonIgnoreProperties({ "$index" }) |
52 | 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 | 50 | * |
51 | 51 | */ |
52 | 52 | @Entity |
53 | -@Table(name="ConfigNotificacaoRessupGrupo") | |
53 | +@Table(name="alm_not_res_grupo") | |
54 | 54 | @JsonIgnoreProperties({ "$checked" }) |
55 | 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 | 50 | * |
51 | 51 | */ |
52 | 52 | @Entity |
53 | -@Table(name="ConfigNotificacaoRessupUsuario") | |
53 | +@Table(name="alm_not_res_usuario") | |
54 | 54 | @JsonIgnoreProperties({ "$checked" }) |
55 | 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 | 12 | import javax.persistence.Id; |
13 | 13 | import javax.persistence.ManyToOne; |
14 | 14 | import javax.persistence.OneToMany; |
15 | +import javax.persistence.Table; | |
15 | 16 | import javax.persistence.Temporal; |
16 | 17 | import javax.persistence.TemporalType; |
17 | 18 | |
... | ... | @@ -58,6 +59,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize; |
58 | 59 | * |
59 | 60 | */ |
60 | 61 | @Entity |
62 | +@Table(name="alm_devolucao") | |
61 | 63 | public class Devolucao extends PersistentObjectAuditOrganizacao { |
62 | 64 | |
63 | 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 | 3 | import javax.persistence.Entity; |
4 | 4 | import javax.persistence.FetchType; |
5 | 5 | import javax.persistence.ManyToOne; |
6 | +import javax.persistence.Table; | |
6 | 7 | |
7 | 8 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; |
8 | 9 | |
9 | 10 | @Entity |
11 | +@Table(name="alm_dev_documento") | |
10 | 12 | @JsonIgnoreProperties({ "uploadsDocumento", "$uuid", "$checked", "$index" }) |
11 | 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 | 8 | import javax.persistence.GenerationType; |
9 | 9 | import javax.persistence.Id; |
10 | 10 | import javax.persistence.ManyToOne; |
11 | +import javax.persistence.Table; | |
11 | 12 | |
12 | 13 | import com.fasterxml.jackson.annotation.JsonView; |
13 | 14 | |
... | ... | @@ -48,6 +49,7 @@ import br.com.centralit.framework.model.arquitetura.PersistentObjectAuditOrganiz |
48 | 49 | * |
49 | 50 | */ |
50 | 51 | @Entity |
52 | +@Table(name="alm_dev_item") | |
51 | 53 | public class DevolucaoItem extends PersistentObjectAuditOrganizacao { |
52 | 54 | |
53 | 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 | 3 | import javax.persistence.Entity; |
4 | 4 | import javax.persistence.FetchType; |
5 | 5 | import javax.persistence.ManyToOne; |
6 | +import javax.persistence.Table; | |
6 | 7 | |
7 | 8 | /** |
8 | 9 | * <p> |
... | ... | @@ -37,6 +38,7 @@ import javax.persistence.ManyToOne; |
37 | 38 | * |
38 | 39 | */ |
39 | 40 | @Entity |
41 | +@Table(name="alm_dev_observacao") | |
40 | 42 | public class DevolucaoObservacao extends Observacao { |
41 | 43 | |
42 | 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 | 49 | * |
50 | 50 | */ |
51 | 51 | @Entity |
52 | -@Table(name = "EstruturaOrganizacionalAlmox") | |
52 | +@Table(name="alm_eo_almoxarifado") | |
53 | 53 | public class EstruturaOrganizacionalAlmoxarifado extends PersistentObjectAudit implements Comparable<EstruturaOrganizacionalAlmoxarifado>, Cloneable { |
54 | 54 | |
55 | 55 | /** Atributo serialVersionUID. */ | ... | ... |
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/MaterialEstoqueSaldoMedio.java
... | ... | @@ -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 | 12 | import javax.persistence.Id; |
13 | 13 | import javax.persistence.ManyToOne; |
14 | 14 | import javax.persistence.OneToMany; |
15 | +import javax.persistence.Table; | |
15 | 16 | import javax.persistence.Temporal; |
16 | 17 | import javax.persistence.TemporalType; |
17 | 18 | |
... | ... | @@ -61,6 +62,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize; |
61 | 62 | * |
62 | 63 | */ |
63 | 64 | @Entity |
65 | +@Table(name="alm_requisicaoconsumo") | |
64 | 66 | @JsonIgnoreProperties({"$checked"}) |
65 | 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 | 8 | import javax.persistence.GenerationType; |
9 | 9 | import javax.persistence.Id; |
10 | 10 | import javax.persistence.ManyToOne; |
11 | +import javax.persistence.Table; | |
11 | 12 | |
12 | 13 | import br.com.centralit.api.framework.json.ViewsAdmMateriais; |
13 | 14 | import br.com.centralit.api.framework.json.ViewsAlmoxarifado; |
... | ... | @@ -52,6 +53,7 @@ import com.fasterxml.jackson.annotation.JsonView; |
52 | 53 | */ |
53 | 54 | @JsonIgnoreProperties({ "$quantidadeAtendida", "$quantidadeADevolver", "$TIPO_DECIMAL", "$index" }) |
54 | 55 | @Entity |
56 | +@Table(name="alm_rc_item") | |
55 | 57 | public class RequisicaoConsumoItem extends PersistentObjectAuditOrganizacao { |
56 | 58 | |
57 | 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 | 3 | import javax.persistence.Entity; |
4 | 4 | import javax.persistence.FetchType; |
5 | 5 | import javax.persistence.ManyToOne; |
6 | +import javax.persistence.Table; | |
6 | 7 | |
7 | 8 | /** |
8 | 9 | * <p> |
... | ... | @@ -37,6 +38,7 @@ import javax.persistence.ManyToOne; |
37 | 38 | * |
38 | 39 | */ |
39 | 40 | @Entity |
41 | +@Table(name="alm_rc_observacao") | |
40 | 42 | public class RequisicaoObservacao extends Observacao { |
41 | 43 | |
42 | 44 | /** Atributo serialVersionUID. */ | ... | ... |
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/MaterialEstoqueSaldoMedioService.java
... | ... | @@ -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 | -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 | 36 | import br.com.centralit.api.service.DominioService; |
37 | 37 | import br.com.centralit.api.service.EntradaAlmoxarifadoItemService; |
38 | 38 | import br.com.centralit.api.service.MaterialConsumoService; |
39 | -import br.com.centralit.api.service.MaterialEstoqueSaldoMedioService; | |
40 | 39 | import br.com.centralit.api.service.MaterialEstoqueService; |
41 | 40 | import br.com.centralit.api.service.MaterialLocalEstoqueService; |
42 | 41 | import br.com.centralit.api.service.MovimentoEstoqueService; |
... | ... | @@ -95,9 +94,6 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl<MovimentoEst |
95 | 94 | @Autowired |
96 | 95 | private MaterialEstoqueService materialEstoqueService; |
97 | 96 | |
98 | - @Autowired | |
99 | - private MaterialEstoqueSaldoMedioService materialEstoqueSaldoMedioService; | |
100 | - | |
101 | 97 | /** Atributo baixaAlmoxarifadoItemService. */ |
102 | 98 | @Autowired |
103 | 99 | private BaixaAlmoxarifadoItemService baixaAlmoxarifadoItemService; |
... | ... | @@ -157,7 +153,7 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl<MovimentoEst |
157 | 153 | movimentos.add(movimentoEstoque); |
158 | 154 | |
159 | 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 | 157 | Dominio tipoSaldoEntrada = new Dominio(); |
162 | 158 | if (UtilObjeto.isReferencia(entradaAlmoxarifado.getDominioTipoEntrada())){ |
163 | 159 | if (entradaAlmoxarifado.getDominioTipoEntrada().getCodigo() == Dominio.TIPO_ENTRADA_ALMOXARIFADO_EXTRA_ORCAMENTARIA_CODIGO){ |
... | ... | @@ -231,7 +227,7 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl<MovimentoEst |
231 | 227 | for (DevolucaoItem devolucaoItem : devolucao.getDevolucaoItens()) { |
232 | 228 | |
233 | 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<MovimentoEst |
290 | 286 | |
291 | 287 | for (BaixaAlmoxarifadoItem baixaAlmoxarifadoItem : baixaAlmoxarifado.getBaixaItens()) { |
292 | 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 | 291 | MovimentoEstoque movimentoEstoque = new MovimentoEstoque(baixaAlmoxarifadoItem.getBaixaAlmoxarifado().getDataBaixa(), baixaAlmoxarifadoItem.getQuantidade().multiply(BigDecimal.valueOf(-1)), |
296 | 292 | valorMovimentoFIFO.multiply(BigDecimal.valueOf(-1)), valorMovimentoMediaMovel.multiply(BigDecimal.valueOf(-1)), tipoMovimentoBaixa); |
... | ... | @@ -327,7 +323,7 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl<MovimentoEst |
327 | 323 | BigDecimal quantidade = movimentoEstoque.getQuantidade().abs(); |
328 | 324 | |
329 | 325 | this.entradaAlmoxarifadoItemService.realizaMovimentoDevolucao(material, quantidade); |
330 | - this.materialEstoqueSaldoMedioService.realizaMovimentoDevolucao(material, quantidade); | |
326 | + //this.materialEstoqueSaldoMedioService.realizaMovimentoDevolucao(material, quantidade); | |
331 | 327 | |
332 | 328 | Dominio classeReferencia = null; |
333 | 329 | Long idClasseReferencia = null; |
... | ... | @@ -390,7 +386,7 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl<MovimentoEst |
390 | 386 | } |
391 | 387 | |
392 | 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 | 391 | MovimentoEstoque movimentoEstoque = new MovimentoEstoque(atendimento.getDataAtendimento(), atendimentoRequisicaoConsumoItem.getQuantidade().multiply(BigDecimal.valueOf(-1)), |
396 | 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 | -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 | 11 | |
12 | 12 | import br.com.centralit.api.model.Material; |
13 | 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 | 14 | import br.com.centralit.api.service.MaterialEstoqueSaldoService; |
17 | 15 | import br.com.centralit.api.service.MovimentoEstoqueService; |
18 | 16 | import br.com.centralit.api.service.OrganizacaoService; |
... | ... | @@ -34,9 +32,6 @@ public class MaterialEstoqueSaldoController extends GenericController<MaterialEs |
34 | 32 | private MovimentoEstoqueService movimentoEstoqueService; |
35 | 33 | |
36 | 34 | @Autowired |
37 | - private MaterialEstoqueSaldoMedioService materialEstoqueSaldoMedioService; | |
38 | - | |
39 | - @Autowired | |
40 | 35 | public MaterialEstoqueSaldoController( MaterialEstoqueSaldoService materialEstoqueSaldoService ) { |
41 | 36 | |
42 | 37 | super(materialEstoqueSaldoService); |
... | ... | @@ -90,11 +85,12 @@ public class MaterialEstoqueSaldoController extends GenericController<MaterialEs |
90 | 85 | |
91 | 86 | Material material = new Material(); |
92 | 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 | -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 | -} |