Commit 6ebbdd8b2a29730d96cda46f34f86c8ed0544ba9
Exists in
master
Merge branch 'release-1.11.0'
Showing
21 changed files
with
304 additions
and
107 deletions
Show diff stats
cit-almoxarifado-api/src/main/java/br/com/centralit/api/dao/impl/EstruturaOrganizacionalAlmoxarifadoDaoHibernate.java
... | ... | @@ -73,7 +73,7 @@ public class EstruturaOrganizacionalAlmoxarifadoDaoHibernate extends CitGenericD |
73 | 73 | strQuery.append("al.isUnidadeConsumidoraRequisitante IS TRUE"); |
74 | 74 | strQuery.append(" AND (LOWER(al.estruturaOrganizacional.nome) like LOWER(:value) OR LOWER(al.estruturaOrganizacional.classificacao) like LOWER(:value))"); |
75 | 75 | strQuery.append(" AND (al.estruturaOrganizacional.dataFim IS NULL OR al.estruturaOrganizacional.dataFim > :dataHoje)"); |
76 | - strQuery.append(" AND al.dataBloqueio IS NULL"); | |
76 | + strQuery.append(" AND al.estruturaOrganizacional.dataBloqueio IS NULL"); | |
77 | 77 | strQuery.append(" AND al.estruturaOrganizacional.dataInativo IS NULL"); |
78 | 78 | strQuery.append(" AND al.estruturaOrganizacional.organizacao.id = :organizacaoId"); |
79 | 79 | strQuery.append(" ORDER BY al.estruturaOrganizacional.nome"); | ... | ... |
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/BaixaAlmoxarifado.java
... | ... | @@ -12,6 +12,9 @@ import javax.persistence.OneToMany; |
12 | 12 | import javax.persistence.Temporal; |
13 | 13 | import javax.persistence.TemporalType; |
14 | 14 | |
15 | +import org.hibernate.envers.Audited; | |
16 | +import org.hibernate.envers.NotAudited; | |
17 | + | |
15 | 18 | import br.com.centralit.api.framework.json.ViewsAdmMateriais; |
16 | 19 | import br.com.centralit.framework.json.JsonCalendarSimpleDateDeserializer; |
17 | 20 | import br.com.centralit.framework.json.JsonCalendarSimpleDateSerializer; |
... | ... | @@ -53,6 +56,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize; |
53 | 56 | * @author rogerio.costa |
54 | 57 | * |
55 | 58 | */ |
59 | +@Audited | |
56 | 60 | @Entity |
57 | 61 | public class BaixaAlmoxarifado extends Baixa { |
58 | 62 | |
... | ... | @@ -88,6 +92,7 @@ public class BaixaAlmoxarifado extends Baixa { |
88 | 92 | public Parceiro destino; |
89 | 93 | |
90 | 94 | /** Atributo beixaItens. */ |
95 | + @NotAudited | |
91 | 96 | @OneToMany(fetch = FetchType.LAZY, mappedBy = "baixaAlmoxarifado", cascade = CascadeType.ALL) |
92 | 97 | @JsonView({ ViewsAdmMateriais.BaixaAlmoxarifadoListView.class }) |
93 | 98 | private Collection<BaixaAlmoxarifadoItem> baixaItens; | ... | ... |
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/EntradaAlmoxarifado.java
... | ... | @@ -13,6 +13,7 @@ import org.hibernate.envers.AuditJoinTable; |
13 | 13 | import org.hibernate.envers.Audited; |
14 | 14 | |
15 | 15 | import br.com.centralit.api.framework.json.ViewsAdmMateriais; |
16 | +import br.com.centralit.framework.model.Dominio; | |
16 | 17 | |
17 | 18 | import com.fasterxml.jackson.annotation.JsonView; |
18 | 19 | |
... | ... | @@ -69,6 +70,14 @@ public class EntradaAlmoxarifado extends Entrada { |
69 | 70 | @OneToMany(fetch = FetchType.LAZY, mappedBy = "entrada", cascade = CascadeType.ALL, orphanRemoval = true) |
70 | 71 | @JsonView({ ViewsAdmMateriais.EntradaAlmoxarifadoEditView.class }) |
71 | 72 | private Collection<EntradaAlmoxarifadoItem> entradasIten; |
73 | + | |
74 | + @ManyToOne(fetch = FetchType.LAZY, optional = false) | |
75 | + @JsonView({ ViewsAdmMateriais.EntradaAlmoxarifadoEditView.class }) | |
76 | + private Dominio dominioFinalidade; | |
77 | + | |
78 | + @ManyToOne(fetch = FetchType.LAZY, optional = true) | |
79 | + @JsonView(ViewsAdmMateriais.EntradaAlmoxarifadoEditView.class) | |
80 | + private EstruturaOrganizacional unidadeRequisitante; | |
72 | 81 | |
73 | 82 | /** |
74 | 83 | * Retorna o valor do atributo <code>almoxarifado</code> |
... | ... | @@ -130,4 +139,20 @@ public class EntradaAlmoxarifado extends Entrada { |
130 | 139 | this.entradasIten = entradasIten; |
131 | 140 | } |
132 | 141 | |
142 | + public Dominio getDominioFinalidade() { | |
143 | + return dominioFinalidade; | |
144 | + } | |
145 | + | |
146 | + public void setDominioFinalidade(Dominio dominioFinalidade) { | |
147 | + this.dominioFinalidade = dominioFinalidade; | |
148 | + } | |
149 | + | |
150 | + public EstruturaOrganizacional getUnidadeRequisitante() { | |
151 | + return unidadeRequisitante; | |
152 | + } | |
153 | + | |
154 | + public void setUnidadeRequisitante(EstruturaOrganizacional unidadeRequisitante) { | |
155 | + this.unidadeRequisitante = unidadeRequisitante; | |
156 | + } | |
157 | + | |
133 | 158 | } | ... | ... |
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/EntradaAlmoxarifadoItem.java
... | ... | @@ -23,7 +23,6 @@ import br.com.centralit.api.framework.json.ViewsAdmMateriais; |
23 | 23 | import br.com.centralit.framework.json.JsonCalendarSimpleDateDeserializer; |
24 | 24 | import br.com.centralit.framework.json.JsonCalendarSimpleDateSerializer; |
25 | 25 | import br.com.centralit.framework.json.Views; |
26 | -import br.com.centralit.framework.model.Dominio; | |
27 | 26 | import br.com.centralit.framework.model.arquitetura.PersistentObjectAudit; |
28 | 27 | |
29 | 28 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; |
... | ... | @@ -138,10 +137,6 @@ public class EntradaAlmoxarifadoItem extends PersistentObjectAudit { |
138 | 137 | @JsonView({ ViewsAdmMateriais.EntradaAlmoxarifadoEditView.class }) |
139 | 138 | private Collection<BemAlmoxarifadoCaracteristica> caracteristicas; |
140 | 139 | |
141 | - @ManyToOne(fetch = FetchType.LAZY, optional = false) | |
142 | - @JsonView({ ViewsAdmMateriais.EntradaAlmoxarifadoEditView.class }) | |
143 | - private Dominio dominioFinalidade; | |
144 | - | |
145 | 140 | /** |
146 | 141 | * Retorna o valor do atributo <code>id</code> |
147 | 142 | * |
... | ... | @@ -423,24 +418,4 @@ public class EntradaAlmoxarifadoItem extends PersistentObjectAudit { |
423 | 418 | this.numeroLote = numeroLote; |
424 | 419 | } |
425 | 420 | |
426 | - /** | |
427 | - * Retorna o valor do atributo <code>dominioFinalidade</code> | |
428 | - * | |
429 | - * @return <code>Dominio</code> | |
430 | - */ | |
431 | - public Dominio getDominioFinalidade() { | |
432 | - | |
433 | - return dominioFinalidade; | |
434 | - } | |
435 | - | |
436 | - /** | |
437 | - * Define o valor do atributo <code>dominioFinalidade</code>. | |
438 | - * | |
439 | - * @param dominioFinalidade | |
440 | - */ | |
441 | - public void setDominioFinalidade(Dominio dominioFinalidade) { | |
442 | - | |
443 | - this.dominioFinalidade = dominioFinalidade; | |
444 | - } | |
445 | - | |
446 | 421 | } | ... | ... |
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/MovimentoEstoqueService.java
... | ... | @@ -4,8 +4,10 @@ import java.math.BigDecimal; |
4 | 4 | import java.util.Calendar; |
5 | 5 | |
6 | 6 | import br.com.centralit.api.model.AtendimentoRequisicaoConsumo; |
7 | +import br.com.centralit.api.model.AtendimentoRequisicaoConsumoItem; | |
7 | 8 | import br.com.centralit.api.model.BaixaAlmoxarifado; |
8 | 9 | import br.com.centralit.api.model.Devolucao; |
10 | +import br.com.centralit.api.model.DevolucaoItem; | |
9 | 11 | import br.com.centralit.api.model.EntradaAlmoxarifado; |
10 | 12 | import br.com.centralit.api.model.EstruturaOrganizacional; |
11 | 13 | import br.com.centralit.api.model.MaterialConsumo; |
... | ... | @@ -162,5 +164,31 @@ public interface MovimentoEstoqueService extends GenericService<MovimentoEstoque |
162 | 164 | * @return |
163 | 165 | */ |
164 | 166 | public BigDecimal buscaQuantidadeMovimentadaMaterialPorReferencia(Long materialId, Calendar dataReferencia, Long organizacaoId); |
167 | + | |
168 | + /** | |
169 | + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | |
170 | + * | |
171 | + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> | |
172 | + * | |
173 | + * Método responsável por remover os movimentos de determinado atendimento item | |
174 | + * | |
175 | + * @author juliana.barbosa | |
176 | + * | |
177 | + * @param entity | |
178 | + */ | |
179 | + public void removerMovimentosAtendimentoItem(AtendimentoRequisicaoConsumoItem entity); | |
180 | + | |
181 | + /** | |
182 | + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | |
183 | + * | |
184 | + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> | |
185 | + * | |
186 | + * Método responsável por remover movimentos de devolucao | |
187 | + * | |
188 | + * @author juliana.barbosa | |
189 | + * | |
190 | + * @param entity | |
191 | + */ | |
192 | + public void removerMovimentosDevolucao(DevolucaoItem entity); | |
165 | 193 | |
166 | 194 | } | ... | ... |
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/AtendimentoRequisicaoConsumoItemServiceImpl.java
... | ... | @@ -13,6 +13,7 @@ import br.com.centralit.api.model.AtendimentoRequisicaoConsumoItem; |
13 | 13 | import br.com.centralit.api.model.RequisicaoConsumo; |
14 | 14 | import br.com.centralit.api.model.RequisicaoConsumoItem; |
15 | 15 | import br.com.centralit.api.service.AtendimentoRequisicaoConsumoItemService; |
16 | +import br.com.centralit.api.service.ContaContabilMovimentoService; | |
16 | 17 | import br.com.centralit.api.service.MaterialConsumoService; |
17 | 18 | import br.com.centralit.api.service.MovimentoEstoqueService; |
18 | 19 | import br.com.centralit.api.service.RequisicaoConsumoItemService; |
... | ... | @@ -62,6 +63,9 @@ public class AtendimentoRequisicaoConsumoItemServiceImpl extends GenericServiceI |
62 | 63 | |
63 | 64 | @Autowired |
64 | 65 | private RequisicaoConsumoService requisicaoConsumoService; |
66 | + | |
67 | + @Autowired | |
68 | + private ContaContabilMovimentoService contaContabilMovimentoService; | |
65 | 69 | |
66 | 70 | /** |
67 | 71 | * Responsável pela criação de novas instâncias desta classe. |
... | ... | @@ -119,6 +123,11 @@ public class AtendimentoRequisicaoConsumoItemServiceImpl extends GenericServiceI |
119 | 123 | |
120 | 124 | throw new BusinessException(VALIDACAO_ERRO_EXCLUSAO_EXISTE_MOVIMENTACAO, CodigoErro.REGRA_NEGOCIO.getValue()); |
121 | 125 | } |
126 | + | |
127 | + //Remove movimentos do estoque | |
128 | + this.movimentoEstoqueService.removerMovimentosAtendimentoItem(entity); | |
129 | + //Remove movimentos contacontabil | |
130 | + this.contaContabilMovimentoService.removerMovimentosAtendimento(entity.getId()); | |
122 | 131 | |
123 | 132 | return super.remove(entity); |
124 | 133 | } | ... | ... |
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/AtendimentoRequisicaoConsumoServiceImpl.java
... | ... | @@ -17,6 +17,7 @@ import br.com.centralit.api.model.AtendimentoRequisicaoConsumoItem; |
17 | 17 | import br.com.centralit.api.model.DominioAlmoxarifado; |
18 | 18 | import br.com.centralit.api.service.AtendimentoRequisicaoConsumoItemService; |
19 | 19 | import br.com.centralit.api.service.AtendimentoRequisicaoConsumoService; |
20 | +import br.com.centralit.api.service.ContaContabilMovimentoService; | |
20 | 21 | import br.com.centralit.api.service.DominioService; |
21 | 22 | import br.com.centralit.api.service.MaterialConsumoService; |
22 | 23 | import br.com.centralit.api.service.MovimentoEstoqueService; |
... | ... | @@ -94,6 +95,9 @@ public class AtendimentoRequisicaoConsumoServiceImpl extends GenericServiceImpl< |
94 | 95 | |
95 | 96 | @Autowired |
96 | 97 | private ConfiguracaoParametroSistemaService configuracaoParametroSistemaService; |
98 | + | |
99 | + @Autowired | |
100 | + private ContaContabilMovimentoService contaContabilMovimentoService; | |
97 | 101 | |
98 | 102 | /** |
99 | 103 | * Responsável pela criação de novas instâncias desta classe. |
... | ... | @@ -175,11 +179,15 @@ public class AtendimentoRequisicaoConsumoServiceImpl extends GenericServiceImpl< |
175 | 179 | |
176 | 180 | AtendimentoRequisicaoConsumo atendimentoRequisicaoConsumo = super.merge(atendimento); |
177 | 181 | |
182 | + //Apaga movimentos de estoque | |
178 | 183 | this.movimentoEstoqueService.removerMovimentosAtendimento(atendimentoRequisicaoConsumo); |
179 | - | |
184 | + | |
185 | + //Apaga movimentos contabeis | |
186 | + for (AtendimentoRequisicaoConsumoItem atendimentoItem : entity.getAtendimentoRequisicaoConsumoItems()){ | |
187 | + this.contaContabilMovimentoService.removerMovimentosAtendimento(atendimentoItem.getId()); | |
188 | + } | |
180 | 189 | this.movimentoEstoqueService.gerarMovimentoAtendimento(atendimentoRequisicaoConsumo); |
181 | - | |
182 | - } | |
190 | + } | |
183 | 191 | |
184 | 192 | } |
185 | 193 | |
... | ... | @@ -328,6 +336,9 @@ public class AtendimentoRequisicaoConsumoServiceImpl extends GenericServiceImpl< |
328 | 336 | |
329 | 337 | prontaParaAtendimento = Boolean.FALSE; |
330 | 338 | } |
339 | + | |
340 | + //Remove movimentos contacontabil | |
341 | + this.contaContabilMovimentoService.removerMovimentosAtendimento(atendimentoRequisicaoConsumoItem.getId()); | |
331 | 342 | } |
332 | 343 | |
333 | 344 | if (prontaParaAtendimento) { |
... | ... | @@ -339,6 +350,7 @@ public class AtendimentoRequisicaoConsumoServiceImpl extends GenericServiceImpl< |
339 | 350 | entity.getRequisicaoConsumo().setTipoStatusRequisicao(this.dominioService.findByChaveAndCodigo(DominioAlmoxarifado.TIPO_STATUS_REQUISICAO, DominioAlmoxarifado.TIPO_STATUS_ATENDIDA_PARCIALMENTE)); |
340 | 351 | } |
341 | 352 | |
353 | + //Remove movimentos estoque | |
342 | 354 | this.movimentoEstoqueService.removerMovimentosAtendimento(entity); |
343 | 355 | |
344 | 356 | return super.remove(entity); | ... | ... |
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/BaixaAlmoxarifadoItemServiceImpl.java
... | ... | @@ -16,6 +16,7 @@ import br.com.centralit.api.model.DominioAlmoxarifado; |
16 | 16 | import br.com.centralit.api.model.MovimentoEstoque; |
17 | 17 | import br.com.centralit.api.service.BaixaAlmoxarifadoItemService; |
18 | 18 | import br.com.centralit.api.service.BaixaAlmoxarifadoService; |
19 | +import br.com.centralit.api.service.ContaContabilMovimentoService; | |
19 | 20 | import br.com.centralit.api.service.DominioService; |
20 | 21 | import br.com.centralit.api.service.MaterialConsumoService; |
21 | 22 | import br.com.centralit.api.service.MovimentoEstoqueService; |
... | ... | @@ -78,6 +79,9 @@ public class BaixaAlmoxarifadoItemServiceImpl extends GenericServiceImpl<BaixaAl |
78 | 79 | |
79 | 80 | @Autowired |
80 | 81 | private DominioService dominioService; |
82 | + | |
83 | + @Autowired | |
84 | + private ContaContabilMovimentoService contaContabilMovimentoService; | |
81 | 85 | |
82 | 86 | /** |
83 | 87 | * Responsável pela criação de novas instâncias desta classe. |
... | ... | @@ -124,6 +128,7 @@ public class BaixaAlmoxarifadoItemServiceImpl extends GenericServiceImpl<BaixaAl |
124 | 128 | this.movimentoEstoqueService.removeList((List<MovimentoEstoque>) baixaAlmoxarifadoItem.getMovimentos()); |
125 | 129 | |
126 | 130 | } |
131 | + this.contaContabilMovimentoService.removerMovimentosBaixa(baixaAlmoxarifadoItem.getId()); | |
127 | 132 | } else { |
128 | 133 | |
129 | 134 | throw new BusinessException(MSG_INFORME_DATA_ESTORNO, CodigoErro.REGRA_NEGOCIO.getValue()); |
... | ... | @@ -198,8 +203,8 @@ public class BaixaAlmoxarifadoItemServiceImpl extends GenericServiceImpl<BaixaAl |
198 | 203 | if (!UtilColecao.isVazio(baixaAlmoxarifadoItem.getMovimentos())) { |
199 | 204 | |
200 | 205 | this.movimentoEstoqueService.removeList((List<MovimentoEstoque>) baixaAlmoxarifadoItem.getMovimentos()); |
201 | - | |
202 | 206 | } |
207 | + this.contaContabilMovimentoService.removerMovimentosBaixa(baixaAlmoxarifadoItem.getId()); | |
203 | 208 | } |
204 | 209 | |
205 | 210 | super.removeList(listEntity); |
... | ... | @@ -213,8 +218,9 @@ public class BaixaAlmoxarifadoItemServiceImpl extends GenericServiceImpl<BaixaAl |
213 | 218 | if (!UtilColecao.isVazio(baixaAlmoxarifadoItem.getMovimentos())) { |
214 | 219 | |
215 | 220 | this.movimentoEstoqueService.removeList((List<MovimentoEstoque>) baixaAlmoxarifadoItem.getMovimentos()); |
216 | - | |
217 | 221 | } |
222 | + | |
223 | + this.contaContabilMovimentoService.removerMovimentosBaixa(id); | |
218 | 224 | |
219 | 225 | baixaAlmoxarifadoItem.setBaixaRemocao(baixaAlmoxarifadoItem.getBaixaAlmoxarifado()); |
220 | 226 | ... | ... |
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/BaixaAlmoxarifadoServiceImpl.java
... | ... | @@ -132,13 +132,14 @@ public class BaixaAlmoxarifadoServiceImpl extends GenericServiceImpl<BaixaAlmoxa |
132 | 132 | this.montarObjetoBaixa(entity); |
133 | 133 | |
134 | 134 | entity = super.save(entity); |
135 | - | |
135 | + | |
136 | 136 | configurarNumeroBaixa(entity); |
137 | 137 | |
138 | 138 | salvaTotaisBaixaItem(entity); |
139 | 139 | |
140 | 140 | entity = super.save(entity); |
141 | 141 | |
142 | + //Esse metodo gera os movimentos no estoque no contabil | |
142 | 143 | this.movimentoEstoqueService.gerarMovimentoBaixa(entity); |
143 | 144 | |
144 | 145 | return entity; | ... | ... |
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/DevolucaoItemServiceImpl.java
... | ... | @@ -7,7 +7,14 @@ import org.springframework.validation.Validator; |
7 | 7 | |
8 | 8 | |
9 | 9 | |
10 | + | |
11 | + | |
12 | + | |
13 | + | |
14 | + | |
15 | +import br.com.centralit.api.service.ContaContabilMovimentoService; | |
10 | 16 | import br.com.centralit.api.service.DevolucaoItemService; |
17 | +import br.com.centralit.api.service.MovimentoEstoqueService; | |
11 | 18 | import br.com.centralit.api.dao.DevolucaoItemDao; |
12 | 19 | import br.com.centralit.api.model.Devolucao; |
13 | 20 | import br.com.centralit.api.model.DevolucaoItem; |
... | ... | @@ -20,6 +27,12 @@ import br.com.centralit.framework.util.UtilObjeto; |
20 | 27 | public class DevolucaoItemServiceImpl extends GenericServiceImpl<DevolucaoItem, Long> implements DevolucaoItemService { |
21 | 28 | |
22 | 29 | private DevolucaoItemDao devolucaoItemDao; |
30 | + | |
31 | + @Autowired | |
32 | + public MovimentoEstoqueService movimentoEstoqueService; | |
33 | + | |
34 | + @Autowired | |
35 | + public ContaContabilMovimentoService contaContabilMovimentoService; | |
23 | 36 | |
24 | 37 | @Autowired |
25 | 38 | public DevolucaoItemServiceImpl(DevolucaoItemDao devolucaoItemDao, @Qualifier("devolucaoItemValidator") Validator validator) { |
... | ... | @@ -73,4 +86,27 @@ public class DevolucaoItemServiceImpl extends GenericServiceImpl<DevolucaoItem, |
73 | 86 | |
74 | 87 | } |
75 | 88 | } |
89 | + | |
90 | + @Override | |
91 | + public boolean remove(DevolucaoItem entity) { | |
92 | + | |
93 | + //Remove movimentos estoque | |
94 | + this.movimentoEstoqueService.removerMovimentosDevolucao(entity); | |
95 | + //Remove movimentos contacontabil | |
96 | + this.contaContabilMovimentoService.removerMovimentosDevolucao(entity.getId()); | |
97 | + | |
98 | + return super.remove(entity); | |
99 | + } | |
100 | + | |
101 | + @Override | |
102 | + public boolean removeById(Long id) { | |
103 | + DevolucaoItem dev = this.find(id); | |
104 | + | |
105 | + //Remove movimentos estoque | |
106 | + this.movimentoEstoqueService.removerMovimentosDevolucao(dev); | |
107 | + //Remove movimentos contacontabil | |
108 | + this.contaContabilMovimentoService.removerMovimentosDevolucao(dev.getId()); | |
109 | + | |
110 | + return super.removeById(dev.getId()); | |
111 | + } | |
76 | 112 | } | ... | ... |
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/DevolucaoServiceImpl.java
... | ... | @@ -16,6 +16,7 @@ import br.com.centralit.api.model.DevolucaoItem; |
16 | 16 | import br.com.centralit.api.model.DevolucaoObservacao; |
17 | 17 | import br.com.centralit.api.service.AnexoService; |
18 | 18 | import br.com.centralit.api.service.ConfiguracaoParametroSistemaService; |
19 | +import br.com.centralit.api.service.ContaContabilMovimentoService; | |
19 | 20 | import br.com.centralit.api.service.DevolucaoItemService; |
20 | 21 | import br.com.centralit.api.service.DevolucaoService; |
21 | 22 | import br.com.centralit.api.service.DominioService; |
... | ... | @@ -65,6 +66,9 @@ public class DevolucaoServiceImpl extends GenericServiceImpl<Devolucao, Long> im |
65 | 66 | |
66 | 67 | @Autowired |
67 | 68 | private ConfiguracaoParametroSistemaService configuracaoParametroSistemaService; |
69 | + | |
70 | + @Autowired | |
71 | + private ContaContabilMovimentoService contaContabilMovimentoService; | |
68 | 72 | |
69 | 73 | @Autowired |
70 | 74 | public DevolucaoServiceImpl( DevolucaoDao devolucaoDao, @Qualifier("devolucaoValidator") Validator validator ) { |
... | ... | @@ -188,6 +192,11 @@ public class DevolucaoServiceImpl extends GenericServiceImpl<Devolucao, Long> im |
188 | 192 | public boolean remove(Devolucao entity) { |
189 | 193 | |
190 | 194 | this.devolucaoItemService.calcularQuantidadeDevolvida(entity, Boolean.FALSE); |
195 | + | |
196 | + for (DevolucaoItem devolucaoItem : entity.getDevolucaoItens()) { | |
197 | + this.movimentoEstoqueService.removerMovimentosDevolucao(devolucaoItem); | |
198 | + this.contaContabilMovimentoService.removerMovimentosDevolucao(devolucaoItem.getId()); | |
199 | + } | |
191 | 200 | |
192 | 201 | return super.remove(entity); |
193 | 202 | } | ... | ... |
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/EntradaAlmoxarifadoServiceImpl.java
... | ... | @@ -166,6 +166,14 @@ public class EntradaAlmoxarifadoServiceImpl extends GenericServiceImpl<EntradaAl |
166 | 166 | entity.setDominioTipoEntrada(this.dominioService.find(entity.getDominioTipoEntrada().getId())); |
167 | 167 | |
168 | 168 | entity.setDominioTipoRecebimento(this.dominioService.find(entity.getDominioTipoRecebimento().getId())); |
169 | + | |
170 | + entity.setDominioFinalidade(this.dominioService.findByChaveAndCodigo("tipoFinalidadeMaterial", entity.getDominioFinalidade().getCodigo())); | |
171 | + | |
172 | + if(UtilObjeto.isReferencia(entity.getUnidadeRequisitante()) && UtilObjeto.isReferencia(entity.getUnidadeRequisitante().getId())){ | |
173 | + | |
174 | + entity.setUnidadeRequisitante(this.estruturaOrganizacionalService.find(entity.getUnidadeRequisitante().getId())); | |
175 | + | |
176 | + } | |
169 | 177 | |
170 | 178 | for (EntradaAlmoxarifadoItem entradaAlmoxarifadoItem : entity.getEntradasIten()) { |
171 | 179 | |
... | ... | @@ -177,8 +185,6 @@ public class EntradaAlmoxarifadoServiceImpl extends GenericServiceImpl<EntradaAl |
177 | 185 | |
178 | 186 | entradaAlmoxarifadoItem.setQuantidadeSaldo(entradaAlmoxarifadoItem.getQuantidade()); |
179 | 187 | |
180 | - entradaAlmoxarifadoItem.setDominioFinalidade(this.dominioService.find(entradaAlmoxarifadoItem.getDominioFinalidade().getId())); | |
181 | - | |
182 | 188 | this.calcularSobra(entradaAlmoxarifadoItem); |
183 | 189 | |
184 | 190 | for (BemAlmoxarifadoCaracteristica bemAlmoxarifadoCaracteristica : entradaAlmoxarifadoItem.getCaracteristicas()) { | ... | ... |
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/MovimentoEstoqueServiceImpl.java
... | ... | @@ -110,7 +110,8 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl<MovimentoEst |
110 | 110 | private MaterialConsumoService materialConsumoService; |
111 | 111 | |
112 | 112 | @Autowired |
113 | - private OrganizacaoService organizacaoService; | |
113 | + private OrganizacaoService organizacaoService; | |
114 | + | |
114 | 115 | |
115 | 116 | /** |
116 | 117 | * Responsável pela criação de novas instâncias desta classe. |
... | ... | @@ -146,8 +147,16 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl<MovimentoEst |
146 | 147 | movimentos.add(movimentoEstoque); |
147 | 148 | |
148 | 149 | this.materialEstoqueSaldoMedioService.atualizaMaterialEstoque(movimentoEstoque.getMaterial(), movimentoEstoque.getQuantidade(), movimentoEstoque.getValorFIFO()); |
149 | - | |
150 | - this.contaContabilMovimentoService.salvaMovimentoEntrada(entradaAlmoxarifadoItem.getMaterial().getContaContabil(), entradaAlmoxarifadoItem.getValorTotal(), entradaAlmoxarifadoItem.getEntrada()); | |
150 | + Dominio tipoSaldoEntrada = new Dominio(); | |
151 | + if (UtilObjeto.isReferencia(entradaAlmoxarifado.getDominioTipoEntrada())){ | |
152 | + if (entradaAlmoxarifado.getDominioTipoEntrada().getCodigo() == Dominio.TIPO_ENTRADA_ALMOXARIFADO_EXTRA_ORCAMENTARIA_CODIGO){ | |
153 | + tipoSaldoEntrada= this.dominioService.findByChaveAndCodigo(Dominio.TIPO_MOVIMENTO_CONTA_CONTABIL, Dominio.TIPO_MOVIMENTO_CONTA_CONTABIL_ENTRADA_EXTRAORCAMENTARIA_CODIGO); | |
154 | + }else{ | |
155 | + tipoSaldoEntrada = this.dominioService.findByChaveAndCodigo(Dominio.TIPO_MOVIMENTO_CONTA_CONTABIL, Dominio.TIPO_MOVIMENTO_CONTA_CONTABIL_ENTRADA_ORCAMENTARIA_CODIGO); | |
156 | + } | |
157 | + } | |
158 | + | |
159 | + this.contaContabilMovimentoService.salvaMovimentoEntradaAlmoxarifado(entradaAlmoxarifadoItem.getMaterial().getContaContabil(), entradaAlmoxarifadoItem.getValorTotal(), entradaAlmoxarifadoItem.getId(), entradaAlmoxarifadoItem.getEntrada(), tipoSaldoEntrada); | |
151 | 160 | } |
152 | 161 | |
153 | 162 | this.saveList(movimentos); |
... | ... | @@ -163,6 +172,14 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl<MovimentoEst |
163 | 172 | |
164 | 173 | this.removeList(movimentosEntrada); |
165 | 174 | } |
175 | + | |
176 | + @Override | |
177 | + public void removerMovimentosDevolucao(DevolucaoItem entity) { | |
178 | + | |
179 | + List<MovimentoEstoque> movimentosDevolucao = this.movimentoEstoqueDao.listarMovimentos(entity, "devolucaoItem.id"); | |
180 | + | |
181 | + this.removeList(movimentosDevolucao); | |
182 | + } | |
166 | 183 | |
167 | 184 | /** |
168 | 185 | * <p> |
... | ... | @@ -196,7 +213,7 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl<MovimentoEst |
196 | 213 | public void gerarMovimentoDevolucao(Devolucao devolucao) { |
197 | 214 | |
198 | 215 | Dominio tipoMovimentoDevolucao = this.dominioService.findByChaveAndCodigo(DominioAlmoxarifado.TIPO_MOVIMENTO_ESTOQUE, DominioAlmoxarifado.TIPO_MOVIMENTO_ESTOQUE_DEVOLUCAO); |
199 | - Dominio classeReferenciaDevolucao = this.dominioService.findByChaveAndCodigo(DominioMaterial.CLASSE_REFERENCIA, DominioMaterial.REFERENCIA_DEVOLUCAO); | |
216 | + Dominio classeReferenciaDevolucao = this.dominioService.findByChaveAndCodigo(DominioMaterial.CLASSE_REFERENCIA, DominioMaterial.REFERENCIA_DEVOLUCAO_ITEM); | |
200 | 217 | |
201 | 218 | List<MovimentoEstoque> movimentos = new ArrayList<MovimentoEstoque>(); |
202 | 219 | |
... | ... | @@ -218,9 +235,9 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl<MovimentoEst |
218 | 235 | String tipoAvaliacao = this.configuracaoParametroSistemaService.getParametro("TIPO_AVALIACAO_MONETARIA_ESTOQUE", devolucao.getOrganizacao()).getValor(); |
219 | 236 | |
220 | 237 | if (DominioAlmoxarifado.TIPO_AVALIACAO_MONETARIA_FIFO_NOME == tipoAvaliacao) { //Realiza movimento de entrada em conta contábil baseado em FIFO se estiver configurado como tal. |
221 | - this.contaContabilMovimentoService.salvaMovimentoEntrada(movimentoEstoque.getMaterial().getContaContabil(), valorMovimentoFIFO, classeReferenciaDevolucao, devolucao.getId()); | |
238 | + this.contaContabilMovimentoService.salvaMovimentoDevolucao(movimentoEstoque.getMaterial().getContaContabil(), valorMovimentoFIFO, classeReferenciaDevolucao, devolucaoItem.getId()); | |
222 | 239 | } else { //Realiza movimento de entrada em conta contábil baseado em Média Móvel (Padrão) |
223 | - this.contaContabilMovimentoService.salvaMovimentoEntrada(movimentoEstoque.getMaterial().getContaContabil(), valorMovimentoMediaMovel, classeReferenciaDevolucao, devolucao.getId()); | |
240 | + this.contaContabilMovimentoService.salvaMovimentoEntrada(movimentoEstoque.getMaterial().getContaContabil(), valorMovimentoMediaMovel, classeReferenciaDevolucao, devolucaoItem.getId()); | |
224 | 241 | } |
225 | 242 | } |
226 | 243 | |
... | ... | @@ -245,7 +262,7 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl<MovimentoEst |
245 | 262 | public void gerarMovimentoBaixa(BaixaAlmoxarifado baixaAlmoxarifado) { |
246 | 263 | |
247 | 264 | Dominio tipoMovimentoBaixa = this.dominioService.findByChaveAndCodigo(DominioAlmoxarifado.TIPO_MOVIMENTO_ESTOQUE, DominioAlmoxarifado.TIPO_MOVIMENTO_ESTOQUE_BAIXA); |
248 | - Dominio classeReferenciaBaixa = this.dominioService.findByChaveAndCodigo(DominioMaterial.CLASSE_REFERENCIA, DominioMaterial.REFERENCIA_BAIXA); | |
265 | + Dominio classeReferenciaBaixa = this.dominioService.findByChaveAndCodigo(DominioMaterial.CLASSE_REFERENCIA, DominioMaterial.REFERENCIA_BAIXA_ALMOXARIFADO_ITEM); | |
249 | 266 | |
250 | 267 | List<MovimentoEstoque> movimentos = new ArrayList<MovimentoEstoque>(); |
251 | 268 | |
... | ... | @@ -266,15 +283,16 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl<MovimentoEst |
266 | 283 | String tipoAvaliacao = this.configuracaoParametroSistemaService.getParametro("TIPO_AVALIACAO_MONETARIA_ESTOQUE", baixaAlmoxarifado.getOrganizacao()).getValor(); |
267 | 284 | |
268 | 285 | if (DominioAlmoxarifado.TIPO_AVALIACAO_MONETARIA_FIFO_NOME == tipoAvaliacao) { //Realiza movimento de saida em conta contábil baseado em FIFO se estiver configurado como tal. |
269 | - this.contaContabilMovimentoService.salvaMovimentoSaida(movimentoEstoque.getMaterial().getContaContabil(), valorMovimentoFIFO, classeReferenciaBaixa, baixaAlmoxarifado.getId()); | |
286 | + this.contaContabilMovimentoService.salvaMovimentoSaidaBaixaAlmoxarifado(movimentoEstoque.getMaterial().getContaContabil(), valorMovimentoFIFO, classeReferenciaBaixa, baixaAlmoxarifadoItem.getId(), baixaAlmoxarifado); | |
270 | 287 | } else { //Realiza movimento de saida em conta contábil baseado em Média Móvel (Padrão) |
271 | - this.contaContabilMovimentoService.salvaMovimentoSaida(movimentoEstoque.getMaterial().getContaContabil(), valorMovimentoMediaMovel, classeReferenciaBaixa, baixaAlmoxarifado.getId()); | |
288 | + this.contaContabilMovimentoService.salvaMovimentoSaidaBaixaAlmoxarifado(movimentoEstoque.getMaterial().getContaContabil(), valorMovimentoMediaMovel, classeReferenciaBaixa, baixaAlmoxarifadoItem.getId(), baixaAlmoxarifado); | |
272 | 289 | } |
273 | 290 | } |
274 | 291 | |
275 | 292 | this.saveList(movimentos); |
276 | 293 | |
277 | - } | |
294 | + } | |
295 | + | |
278 | 296 | |
279 | 297 | @Override |
280 | 298 | public void removeList(List<MovimentoEstoque> listEntity) { |
... | ... | @@ -291,17 +309,17 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl<MovimentoEst |
291 | 309 | Dominio classeReferencia = null; |
292 | 310 | Long idClasseReferencia = null; |
293 | 311 | if (movimentoEstoque.getAtendimentoRequisicaoConsumoItem() != null) { |
294 | - classeReferencia = this.dominioService.findByChaveAndCodigo(DominioMaterial.CLASSE_REFERENCIA, DominioMaterial.REFERENCIA_ATENDIMENTO); | |
295 | - idClasseReferencia = movimentoEstoque.getAtendimentoRequisicaoConsumoItem().getAtendimentoRequisicaoConsumo().getId(); | |
312 | + classeReferencia = this.dominioService.findByChaveAndCodigo(DominioMaterial.CLASSE_REFERENCIA, DominioMaterial.REFERENCIA_ATENDIMENTO_ALMOXARIFADO_ITEM); | |
313 | + idClasseReferencia = movimentoEstoque.getAtendimentoRequisicaoConsumoItem().getId(); | |
296 | 314 | } else if (movimentoEstoque.getBaixaAlmoxarifadoItem() != null) { |
297 | - classeReferencia = this.dominioService.findByChaveAndCodigo(DominioMaterial.CLASSE_REFERENCIA, DominioMaterial.REFERENCIA_BAIXA); | |
298 | - idClasseReferencia = movimentoEstoque.getBaixaAlmoxarifadoItem().getBaixaAlmoxarifado().getId(); | |
315 | + classeReferencia = this.dominioService.findByChaveAndCodigo(DominioMaterial.CLASSE_REFERENCIA, DominioMaterial.REFERENCIA_BAIXA_ALMOXARIFADO_ITEM); | |
316 | + idClasseReferencia = movimentoEstoque.getBaixaAlmoxarifadoItem().getId(); | |
299 | 317 | } else if (movimentoEstoque.getDevolucaoItem() != null) { |
300 | - classeReferencia = this.dominioService.findByChaveAndCodigo(DominioMaterial.CLASSE_REFERENCIA, DominioMaterial.REFERENCIA_DEVOLUCAO); | |
301 | - idClasseReferencia = movimentoEstoque.getDevolucaoItem().getDevolucao().getId(); | |
318 | + classeReferencia = this.dominioService.findByChaveAndCodigo(DominioMaterial.CLASSE_REFERENCIA, DominioMaterial.REFERENCIA_DEVOLUCAO_ITEM); | |
319 | + idClasseReferencia = movimentoEstoque.getDevolucaoItem().getId(); | |
302 | 320 | } else if (movimentoEstoque.getEntradaAlmoxarifadoItem() != null) { |
303 | - classeReferencia = this.dominioService.findByChaveAndCodigo(DominioMaterial.CLASSE_REFERENCIA, DominioMaterial.REFERENCIA_ENTRADA); | |
304 | - idClasseReferencia = movimentoEstoque.getEntradaAlmoxarifadoItem().getEntrada().getId(); | |
321 | + classeReferencia = this.dominioService.findByChaveAndCodigo(DominioMaterial.CLASSE_REFERENCIA, DominioMaterial.REFERENCIA_ENTRADA_ALMOXARIFADO_ITEM); | |
322 | + idClasseReferencia = movimentoEstoque.getEntradaAlmoxarifadoItem().getId(); | |
305 | 323 | } |
306 | 324 | |
307 | 325 | ContaContabilMovimento movimento = this.contaContabilMovimentoService.findByContaAndClasseReferencia(material.getContaContabil(), classeReferencia, idClasseReferencia); |
... | ... | @@ -335,7 +353,7 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl<MovimentoEst |
335 | 353 | public void gerarMovimentoAtendimento(AtendimentoRequisicaoConsumo atendimento) { |
336 | 354 | |
337 | 355 | Dominio tipoMovimento = this.dominioService.findByChaveAndCodigo(DominioAlmoxarifado.TIPO_MOVIMENTO_ESTOQUE, DominioAlmoxarifado.TIPO_MOVIMENTO_ESTOQUE_ATENDIMENTO); |
338 | - Dominio classeReferenciaAtendimento = this.dominioService.findByChaveAndCodigo(DominioMaterial.CLASSE_REFERENCIA, DominioMaterial.REFERENCIA_ATENDIMENTO); | |
356 | + Dominio classeReferenciaAtendimento = this.dominioService.findByChaveAndCodigo(DominioMaterial.CLASSE_REFERENCIA, DominioMaterial.REFERENCIA_ATENDIMENTO_ALMOXARIFADO_ITEM); | |
339 | 357 | |
340 | 358 | List<MovimentoEstoque> movimentos = new ArrayList<MovimentoEstoque>(); |
341 | 359 | |
... | ... | @@ -360,9 +378,9 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl<MovimentoEst |
360 | 378 | String tipoAvaliacao = this.configuracaoParametroSistemaService.getParametro("TIPO_AVALIACAO_MONETARIA_ESTOQUE", atendimento.getOrganizacao()).getValor(); |
361 | 379 | |
362 | 380 | if (DominioAlmoxarifado.TIPO_AVALIACAO_MONETARIA_FIFO_NOME == tipoAvaliacao) { //Realiza movimento de saida em conta contábil baseado em FIFO se estiver configurado como tal. |
363 | - this.contaContabilMovimentoService.salvaMovimentoSaida(movimentoEstoque.getMaterial().getContaContabil(), valorMovimentoFIFO, classeReferenciaAtendimento, atendimento.getId()); | |
381 | + this.contaContabilMovimentoService.salvaMovimentoSaidaAtendimento(movimentoEstoque.getMaterial().getContaContabil(), valorMovimentoFIFO, classeReferenciaAtendimento, atendimentoRequisicaoConsumoItem.getId()); | |
364 | 382 | } else { //Realiza movimento de saida em conta contábil baseado em Média Móvel (Padrão) |
365 | - this.contaContabilMovimentoService.salvaMovimentoSaida(movimentoEstoque.getMaterial().getContaContabil(), valorMovimentoMediaMovel, classeReferenciaAtendimento, atendimento.getId()); | |
383 | + this.contaContabilMovimentoService.salvaMovimentoSaidaAtendimento(movimentoEstoque.getMaterial().getContaContabil(), valorMovimentoMediaMovel, classeReferenciaAtendimento, atendimentoRequisicaoConsumoItem.getId()); | |
366 | 384 | } |
367 | 385 | } |
368 | 386 | |
... | ... | @@ -394,6 +412,14 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl<MovimentoEst |
394 | 412 | this.removeList(movimentosAtendimento); |
395 | 413 | |
396 | 414 | } |
415 | + | |
416 | + public void removerMovimentosAtendimentoItem(AtendimentoRequisicaoConsumoItem entity) { | |
417 | + | |
418 | + List<MovimentoEstoque> movimentosAtendimento = this.movimentoEstoqueDao.listarMovimentos(entity, "atendimentoRequisicaoConsumoItem.id"); | |
419 | + | |
420 | + this.removeList(movimentosAtendimento); | |
421 | + | |
422 | + } | |
397 | 423 | |
398 | 424 | /** |
399 | 425 | * {@inheritDoc} | ... | ... |
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/RequisicaoConsumoServiceImpl.java
... | ... | @@ -284,7 +284,7 @@ public class RequisicaoConsumoServiceImpl extends GenericServiceImpl<RequisicaoC |
284 | 284 | |
285 | 285 | if (this.atendimentoRequisicaoConsumoService.existeAtendimentoRequisicaoConsumo(idRequisicaoConsumo, idOrganizacao)) { |
286 | 286 | |
287 | - throw new BusinessException("MSG.MN020", CodigoErro.REGRA_NEGOCIO.getValue()); | |
287 | + throw new BusinessException("PORTAL.MSG.MN020", CodigoErro.REGRA_NEGOCIO.getValue()); | |
288 | 288 | |
289 | 289 | } |
290 | 290 | ... | ... |
cit-almoxarifado-api/src/main/resources/scripts-bd/postgres/v1.11.0/01-cit-almoxarifado-v1.11.0.postgres.sql
0 → 100644
... | ... | @@ -0,0 +1,51 @@ |
1 | +-- RONAN INICIO 29/03/2016 -- Removendo coluna 'dominioFinalidade_id' da tabela 'entradaalmoxarifadoitem' e passando para a tabela 'EntradaAlmoxarifado' -- | |
2 | +ALTER TABLE entradaalmoxarifadoitem DROP CONSTRAINT IF EXISTS fk_entradaalmoxarifadoitem_dominioFinalidade; | |
3 | +ALTER TABLE entradaalmoxarifadoitem DROP CONSTRAINT IF EXISTS fk_d5n4f8uwncvcq3gbru1fq6bdl; | |
4 | + | |
5 | +ALTER TABLE entradaalmoxarifadoitem DROP COLUMN dominiofinalidade_id; | |
6 | + | |
7 | +ALTER TABLE EntradaAlmoxarifado ADD COLUMN dominioFinalidade_id bigint; | |
8 | + | |
9 | +ALTER TABLE EntradaAlmoxarifado ADD CONSTRAINT fk_entradaalmoxarifado_dominioFinalidade FOREIGN KEY (dominioFinalidade_id) | |
10 | + REFERENCES dominio (id) MATCH SIMPLE | |
11 | + ON UPDATE NO ACTION ON DELETE NO ACTION; | |
12 | + | |
13 | +UPDATE EntradaAlmoxarifado SET dominiofinalidade_id = (select id from dominio where chave like 'tipoFinalidadeMaterial' and codigo = 1); | |
14 | + | |
15 | +ALTER TABLE EntradaAlmoxarifado ALTER COLUMN dominiofinalidade_id SET NOT NULL; | |
16 | + | |
17 | +ALTER TABLE EntradaAlmoxarifado ADD COLUMN unidadeRequisitante_id bigint; | |
18 | +ALTER TABLE EntradaAlmoxarifado ADD CONSTRAINT fk_entradaalmoxarifado_estruturaorganizacional FOREIGN KEY (unidadeRequisitante_id) | |
19 | + REFERENCES estruturaorganizacional (id) MATCH SIMPLE | |
20 | + ON UPDATE NO ACTION ON DELETE NO ACTION; | |
21 | + | |
22 | +ALTER TABLE entradaalmoxarifado_aud ADD COLUMN unidadeRequisitante_id bigint; | |
23 | +-- RONAN FINAL 29/03/2016 -- | |
24 | + | |
25 | +-- ROGERIO CASSIMIRO 30/03/2016 | |
26 | +ALTER TABLE entradaalmoxarifadoitem_aud DROP COLUMN dominiofinalidade_id; | |
27 | + | |
28 | +ALTER TABLE EntradaAlmoxarifado_aud ADD COLUMN dominioFinalidade_id bigint; | |
29 | +-- ROGERIO CASSIMIRO 30/03/2016 | |
30 | + | |
31 | +--Juliana 01-04-2016 | |
32 | + | |
33 | +CREATE TABLE baixaalmoxarifado_aud | |
34 | +( | |
35 | + id bigint NOT NULL, | |
36 | + rev integer NOT NULL, | |
37 | + databaixa timestamp without time zone, | |
38 | + numerobaixa character varying(30), | |
39 | + almoxarifado_id bigint, | |
40 | + destino_id bigint, | |
41 | + dominiosituacaoestorno_id bigint, | |
42 | + dominiotipobaixa_id bigint, | |
43 | + CONSTRAINT baixaalmoxarifado_aud_pkey PRIMARY KEY (id, rev) | |
44 | +) | |
45 | +WITH ( | |
46 | + OIDS=FALSE | |
47 | +); | |
48 | +ALTER TABLE baixaalmoxarifado_aud | |
49 | + OWNER TO postgres; | |
50 | + | |
51 | + --Juliana 01-04-2016 | |
0 | 52 | \ No newline at end of file | ... | ... |
cit-almoxarifado-web/src/main/java/br/com/centralit/controller/ContaContabilMovimentoAlmoxarifadoController.java
... | ... | @@ -178,9 +178,9 @@ public class ContaContabilMovimentoAlmoxarifadoController extends GenericControl |
178 | 178 | |
179 | 179 | String apuracao = ""; |
180 | 180 | if (UtilDate.comparaMesAnoReferencia(calendarReferenciaFinal, referenciaVigente) < 0) { |
181 | - apuracao = this.internacionalizacaoService.getTranslate("LABEL.APURACAO_FECHADA", idioma); | |
181 | + apuracao = this.internacionalizacaoService.getTranslate("ADMINISTRACAODEMATERIAIS.LABEL.APURACAO_FECHADA", idioma); | |
182 | 182 | } else { |
183 | - apuracao = this.internacionalizacaoService.getTranslate("LABEL.APURACAO_PARCIAL", idioma); | |
183 | + apuracao = this.internacionalizacaoService.getTranslate("ADMINISTRACAODEMATERIAIS.LABEL.APURACAO_PARCIAL", idioma); | |
184 | 184 | } |
185 | 185 | |
186 | 186 | subReportParameters.put("DATA_REFERENCIA", dataFormatada); | ... | ... |
cit-almoxarifado-web/src/main/resources/reports/entradaMaterialNotaRecebimento.jrxml
... | ... | @@ -92,7 +92,7 @@ from entradaalmoxarifado entradaalmoxarifado |
92 | 92 | left join pessoajuridica pessoajuridica on pessoa.id = pessoajuridica.pessoa_id |
93 | 93 | left join pessoafisica pessoafisica on pessoa.id = pessoafisica.pessoa_id |
94 | 94 | inner join entradaalmoxarifadoitem entradaalmoxarifadoitem on entradaalmoxarifadoitem.entrada_id = entradaalmoxarifado.id |
95 | - LEFT join dominio dominioFin on dominioFin.id = entradaalmoxarifadoitem.dominiofinalidade_id | |
95 | + LEFT join dominio dominioFin on dominioFin.id = entradaalmoxarifado.dominiofinalidade_id | |
96 | 96 | left join unidademedida unidademedida on entradaalmoxarifadoitem.unidademedidaentrada_id = unidademedida.id |
97 | 97 | inner join material material on material.id = entradaalmoxarifadoitem.material_id |
98 | 98 | left join contacontabil contacontabil on material.contacontabil_id = contacontabil.id | ... | ... |
cit-almoxarifado-web/src/main/webapp/assets/js/angular/custom/controller/EntradaAlmoxarifadoController.js
... | ... | @@ -58,10 +58,25 @@ citApp.controller('EntradaAlmoxarifadoController', ['$scope', '$filter', 'FileUp |
58 | 58 | dominioTipoEntrada : $scope.dominioTipoEntrada ? $scope.dominioTipoEntrada : null, |
59 | 59 | dominioTipoRecebimento : $scope.dominioTipoRecebimento ? $scope.dominioTipoRecebimento : null, |
60 | 60 | observacoes : [], |
61 | - almoxarifado : $scope.estruturaAlmoxarifadoPadrao.id ? $scope.estruturaAlmoxarifadoPadrao : null | |
61 | + almoxarifado : $scope.estruturaAlmoxarifadoPadrao.id ? $scope.estruturaAlmoxarifadoPadrao : null, | |
62 | + dominioFinalidade : {} | |
62 | 63 | }; |
63 | 64 | $scope.entradaItemSelecionado = null; |
64 | 65 | $scope.valorTotalMateriais = 0.0; |
66 | + | |
67 | + DominioRepository.findAllDominio('tipoFinalidadeMaterial').then(function(result) { | |
68 | + $scope.dominiosTipoFinalidade = []; | |
69 | + if(result && result.length >0) | |
70 | + result.forEach(function(r){ | |
71 | + | |
72 | + $scope.dominiosTipoFinalidade.push(r.originalElement); | |
73 | + | |
74 | + if(r.originalElement.codigo === 1){ | |
75 | + $scope.entradaAlmoxarifado.dominioFinalidade = r.originalElement; | |
76 | + } | |
77 | + }); | |
78 | + $scope.dominiosTipoFinalidade.reverse(); | |
79 | + }); | |
65 | 80 | }; |
66 | 81 | |
67 | 82 | // Atualiza pagina de pesquisa |
... | ... | @@ -168,7 +183,7 @@ citApp.controller('EntradaAlmoxarifadoController', ['$scope', '$filter', 'FileUp |
168 | 183 | }); |
169 | 184 | $scope.dominiosTipoFinalidade.reverse(); |
170 | 185 | }); |
171 | - | |
186 | + | |
172 | 187 | $scope.inicializarModalMateriais = function(){ |
173 | 188 | $scope.editEntrada = true; |
174 | 189 | $scope.limparModalMateriais(); |
... | ... | @@ -178,13 +193,6 @@ citApp.controller('EntradaAlmoxarifadoController', ['$scope', '$filter', 'FileUp |
178 | 193 | $scope.limparModalMateriais = function(){ |
179 | 194 | $scope.entradaItem = {}; |
180 | 195 | $scope.unidadesFixa = false; |
181 | - if($scope.dominiosTipoFinalidade){ | |
182 | - $scope.dominiosTipoFinalidade.forEach(function(dominio){ | |
183 | - if(dominio.codigo === 1){ | |
184 | - $scope.entradaItem.dominioFinalidade = dominio; | |
185 | - } | |
186 | - }); | |
187 | - } | |
188 | 196 | $scope.caracteristicas = []; |
189 | 197 | $scope.valorUnitario = 0; |
190 | 198 | }; |
... | ... | @@ -279,7 +287,7 @@ citApp.controller('EntradaAlmoxarifadoController', ['$scope', '$filter', 'FileUp |
279 | 287 | } |
280 | 288 | }); |
281 | 289 | }; |
282 | - | |
290 | + | |
283 | 291 | $scope.addEntradaItem = function(formDialogMateriais) { |
284 | 292 | formDialogMateriais.$submitted = true; |
285 | 293 | $scope.validaAnexo = false; |
... | ... | @@ -356,12 +364,6 @@ citApp.controller('EntradaAlmoxarifadoController', ['$scope', '$filter', 'FileUp |
356 | 364 | $scope.editEntrada = editar; |
357 | 365 | $scope.entradaItem = clone($scope.entradaItemSelecionado); |
358 | 366 | $scope.entradaItem.$quantidadeEntrada = $scope.entradaItem.quantidade / $scope.entradaItem.quantidadeDominioTipoUnidadeEntrada; |
359 | - $scope.dominiosTipoFinalidade.forEach(function(dominio){ | |
360 | - if(dominio.codigo === $scope.entradaItem.dominioFinalidade.codigo){ | |
361 | - $scope.entradaItem.dominioFinalidade = dominio; | |
362 | - } | |
363 | - }); | |
364 | - | |
365 | 367 | $scope.unidadesMedidasEntrada = $scope.entradaItem.material.tiposUnidadeMedidaEntrada.map(function(item){ |
366 | 368 | return item.unidadeMedida; |
367 | 369 | });; |
... | ... | @@ -543,7 +545,19 @@ citApp.controller('EntradaAlmoxarifadoController', ['$scope', '$filter', 'FileUp |
543 | 545 | |
544 | 546 | return formularioValido; |
545 | 547 | }; |
548 | + | |
549 | + // LISTA ESTRUTURAS ORGANIZACIONAIS QUE SAO UNIDADES REQUISITANTES | |
550 | + $scope.findEstruturaOrganizacionalUR = function(value){ | |
551 | + | |
552 | + return EstruturaOrganizacionalAlmoxarifadoRepository.findEstruturaOrganizacionalUR(value, | |
553 | + $scope.usuarioLogado.organizacao.id).then(function(result) { | |
546 | 554 | |
555 | + return result; | |
556 | + | |
557 | + }); | |
558 | + | |
559 | + }; | |
560 | + | |
547 | 561 | //#### INICIO METODOS RELACIONADOS AO RELATORIO ### |
548 | 562 | |
549 | 563 | //FUNCAO QUE BUSCA MATERIAL DE CONSUMO PARA FILTRO DE RELATORIO DE ENTRADAS POR PERIODO | ... | ... |
cit-almoxarifado-web/src/main/webapp/html/devolucao/devolucaoEdit.html
... | ... | @@ -102,7 +102,7 @@ |
102 | 102 | </fieldset> |
103 | 103 | <fieldset> |
104 | 104 | <legend> |
105 | - <translate>ACAO.MOTIVO</translate> <span class="red">*</span> | |
105 | + <translate>LABEL.JUSTIFICATIVA</translate> <span class="red">*</span> | |
106 | 106 | </legend> |
107 | 107 | <div class="row"> |
108 | 108 | <div class="col-sm-12"> | ... | ... |
cit-almoxarifado-web/src/main/webapp/html/entradaAlmoxarifado/dialog_add_materiais.html
... | ... | @@ -17,28 +17,10 @@ |
17 | 17 | <small>( <span class="red">*</span> ) <translate>LABEL.CAMPOS_OBRIGATORIOS</translate> |
18 | 18 | </small> |
19 | 19 | </p> |
20 | - <div class="row"> | |
21 | - <div class="col-sm-6"> | |
22 | - <label class="control-label block"> | |
23 | - <translate>LABEL.FINALIDADE</translate> | |
24 | - <span ng-if="editEntrada" class="red">*</span> | |
25 | - </label> | |
26 | - </div> | |
27 | - </div> | |
28 | - <div class="row"> | |
29 | - <div class="col-sm-6"> | |
30 | - <span class="radio-inline" ng-repeat="tipoFinalidade in dominiosTipoFinalidade"> | |
31 | - <label> | |
32 | - <input type="radio" ng-disabled="!editEntrada" ng-value="tipoFinalidade" ng-model="entradaItem.dominioFinalidade" /> | |
33 | - {{tipoFinalidade.descricao}} | |
34 | - </label | |
35 | - </span> | |
36 | - </div> | |
37 | - </div> | |
38 | 20 | <div class="row"> |
39 | 21 | <div class="col-sm-8"> |
40 | - <auto-complete-obrigatorio ng-find="findMaterial(value)" ng-set-result="carregarItensMaterial(item)" ng-item="item.codigoEDescricao" ng-acao-borracha="limparCamposMaterial()" | |
41 | - ng-id="entradaItem.material" form="formDialogMateriais" ng-label="LABEL.MATERIAL" ng-disabled="!editEntrada" ng-model="entradaItem.material" ></auto-complete-obrigatorio> | |
22 | + <auto-complete ng-find="findMaterial(value)" ng-set-result="carregarItensMaterial(item)" ng-item="item.codigoEDescricao" ng-acao-borracha="limparCamposMaterial()" | |
23 | + ng-id="entradaItem.material" form="formDialogMateriais" ng-label="LABEL.MATERIAL" ng-disabled="!editEntrada" ng-model="entradaItem.material" ng-obrigatorio="edit"></auto-complete> | |
42 | 24 | </div> |
43 | 25 | <div ng-show="editEntrada" class="col-sm-4" style="padding-top: 28px;"> |
44 | 26 | <label> | ... | ... |
cit-almoxarifado-web/src/main/webapp/html/entradaAlmoxarifado/entradaAlmoxarifadoEdit.html
... | ... | @@ -53,7 +53,7 @@ |
53 | 53 | |
54 | 54 | <div class="col-md-9"> |
55 | 55 | |
56 | - <auto-complete ng-id="entradaAlmoxarifado.almoxarifado" ng-label="ALMOXARIFADO.LABEL.ALMOXARIFADO" ng-model="entradaAlmoxarifado.almoxarifado" form="entradaAlmoxarifadoForm" ng-obrigatorio="true" ng-disabled="!edit" ng-find="findAutoCompleteAlmoxarifado(value)" ng-item="item.nome + ' - ' + item.classificacao" /> | |
56 | + <auto-complete ng-id="entradaAlmoxarifado.almoxarifado" ng-label="ALMOXARIFADO.LABEL.ALMOXARIFADO" ng-model="entradaAlmoxarifado.almoxarifado" form="entradaAlmoxarifadoForm" ng-obrigatorio="{{edit}}" ng-disabled="!edit" ng-find="findAutoCompleteAlmoxarifado(value)" ng-item="item.nome + ' - ' + item.classificacao" /> | |
57 | 57 | |
58 | 58 | </div> |
59 | 59 | |
... | ... | @@ -69,13 +69,13 @@ |
69 | 69 | |
70 | 70 | <div class="col-md-4"> |
71 | 71 | |
72 | - <label-input-data ng-id="entradaAlmoxarifado.dataRecebimento" ng-label="ALMOXARIFADO.LABEL.DATA_RECEBIMENTO" ng-model="entradaAlmoxarifado.dataRecebimento" form="entradaAlmoxarifadoForm" ng-obrigatorio="true" ng-disabled="!edit" ng-mode="day" ng-format="dd/MM/yyyy" /> | |
72 | + <label-input-data ng-id="entradaAlmoxarifado.dataRecebimento" ng-label="ALMOXARIFADO.LABEL.DATA_RECEBIMENTO" ng-model="entradaAlmoxarifado.dataRecebimento" form="entradaAlmoxarifadoForm" ng-obrigatorio="edit" ng-disabled="!edit" ng-mode="day" ng-format="dd/MM/yyyy" /> | |
73 | 73 | |
74 | 74 | </div> |
75 | 75 | |
76 | 76 | <div class="col-md-4"> |
77 | 77 | |
78 | - <label-input-data ng-id="entradaAlmoxarifado.dataContabilizacao" ng-label="LABEL.DATA_CONTABILIZACAO" ng-model="entradaAlmoxarifado.dataContabil" form="entradaAlmoxarifadoForm" ng-obrigatorio="true" ng-disabled="!edit" ng-mode="day" ng-format="dd/MM/yyyy" /> | |
78 | + <label-input-data ng-id="entradaAlmoxarifado.dataContabilizacao" ng-label="LABEL.DATA_CONTABILIZACAO" ng-model="entradaAlmoxarifado.dataContabil" form="entradaAlmoxarifadoForm" ng-obrigatorio="edit" ng-disabled="!edit" ng-mode="day" ng-format="dd/MM/yyyy" /> | |
79 | 79 | |
80 | 80 | </div> |
81 | 81 | |
... | ... | @@ -84,29 +84,29 @@ |
84 | 84 | <div class="row"> |
85 | 85 | |
86 | 86 | <div class="col-md-4"> |
87 | - <label-select ng-id="entradaAlmoxarifado.dominioTipoEntrada" ng-label="LABEL.TIPO_ENTRADA" ng-model="entradaAlmoxarifado.dominioTipoEntrada" form="entradaAlmoxarifadoForm" ng-obrigatorio="true" | |
87 | + <label-select ng-id="entradaAlmoxarifado.dominioTipoEntrada" ng-label="LABEL.TIPO_ENTRADA" ng-model="entradaAlmoxarifado.dominioTipoEntrada" form="entradaAlmoxarifadoForm" ng-obrigatorio="edit" | |
88 | 88 | ng-disabled="!edit" ng-custom-options="dominio.originalElement as dominio.descricao for dominio" track-by="track by dominio.id" ng-list="dominioTipoEntradaList" /> |
89 | 89 | |
90 | 90 | </div> |
91 | 91 | |
92 | 92 | <div class="col-md-4" ng-if="entradaAlmoxarifado.dominioTipoEntrada.codigo === 1 && edit"> |
93 | - <label-select ng-id="entradaAlmoxarifado.dominioTipoRecebimentoOrcamentaria" ng-label="LABEL.TIPO_RECEBIMENTO" ng-model="entradaAlmoxarifado.dominioTipoRecebimento" form="entradaAlmoxarifadoForm" ng-obrigatorio="true" | |
93 | + <label-select ng-id="entradaAlmoxarifado.dominioTipoRecebimentoOrcamentaria" ng-label="LABEL.TIPO_RECEBIMENTO" ng-model="entradaAlmoxarifado.dominioTipoRecebimento" form="entradaAlmoxarifadoForm" ng-obrigatorio="edit" | |
94 | 94 | ng-disabled="!edit" ng-custom-options="dominio.originalElement as dominio.descricao for dominio" ng-list="dominiosTipoRecebimentoOrcamentaria" track-by="track by dominio.id" /> |
95 | 95 | |
96 | 96 | </div> |
97 | 97 | |
98 | 98 | <div class="col-sm-4" ng-if="entradaAlmoxarifado.dominioTipoEntrada.codigo === 2 && edit"> |
99 | - <label-select ng-id="entradaAlmoxarifado.dominioTipoRecebimentoExtra" ng-label="LABEL.TIPO_RECEBIMENTO" ng-model="entradaAlmoxarifado.dominioTipoRecebimento" form="entradaAlmoxarifadoForm" ng-obrigatorio="true" | |
99 | + <label-select ng-id="entradaAlmoxarifado.dominioTipoRecebimentoExtra" ng-label="LABEL.TIPO_RECEBIMENTO" ng-model="entradaAlmoxarifado.dominioTipoRecebimento" form="entradaAlmoxarifadoForm" ng-obrigatorio="edit" | |
100 | 100 | ng-disabled="!edit" ng-custom-options="dominio.originalElement as dominio.descricao for dominio" ng-list="dominiosTipoRecebimentoExtraOrcamentaria" track-by="track by dominio.id" /> |
101 | 101 | </div> |
102 | 102 | |
103 | 103 | <div class="col-sm-4" ng-if="!edit"> |
104 | - <label-select ng-id="entradaAlmoxarifado.dominioTipoRecebimento" ng-label="LABEL.TIPO_RECEBIMENTO" ng-model="entradaAlmoxarifado.dominioTipoRecebimento" form="entradaAlmoxarifadoForm" ng-obrigatorio="true" | |
104 | + <label-select ng-id="entradaAlmoxarifado.dominioTipoRecebimento" ng-label="LABEL.TIPO_RECEBIMENTO" ng-model="entradaAlmoxarifado.dominioTipoRecebimento" form="entradaAlmoxarifadoForm" ng-obrigatorio="edit" | |
105 | 105 | ng-disabled="true" ng-custom-options="dominio.originalElement as dominio.descricao for dominio" ng-list="dominiosTipoRecebimento" track-by="track by dominio.id" /> |
106 | 106 | </div> |
107 | 107 | |
108 | 108 | <div class="col-md-4"> |
109 | - <auto-complete ng-id="entradaAlmoxarifado.fornecedor" ng-label="LABEL.FORNECEDOR" ng-model="entradaAlmoxarifado.fornecedor" form="entradaAlmoxarifadoForm" ng-obrigatorio="true" ng-disabled="!edit" ng-find="findAutoCompleteFornecedor(value)" ng-item="item['pessoa.nome']" /> | |
109 | + <auto-complete ng-id="entradaAlmoxarifado.fornecedor" ng-label="LABEL.FORNECEDOR" ng-model="entradaAlmoxarifado.fornecedor" form="entradaAlmoxarifadoForm" ng-obrigatorio="{{edit}}" ng-disabled="!edit" ng-find="findAutoCompleteFornecedor(value)" ng-item="item['pessoa.nome']" /> | |
110 | 110 | </div> |
111 | 111 | |
112 | 112 | </div> |
... | ... | @@ -115,7 +115,7 @@ |
115 | 115 | <legend> |
116 | 116 | <label ng-class="{'has-error' : entradaAlmoxarifadoForm.$submitted && entradaAlmoxarifado.entradasIten && entradaAlmoxarifado.entradasIten.length < 1}"> |
117 | 117 | <translate>ALMOXARIFADO.LABEL.MATERIAIS</translate> |
118 | - <span class='red'>*</span> | |
118 | + <span class='red' ng-if=" edit">*</span> | |
119 | 119 | <i ng-show="entradaAlmoxarifadoForm.$submitted && entradaAlmoxarifado.entradasIten && entradaAlmoxarifado.entradasIten.length < 1" class='fa fa-warning red' tooltip="{{$translate.instant('ALMOXARIFADO.LABEL.MATERIAIS') + ' ' +$translate.instant('LABEL.CAMPO_OBRIGATORIO')}}" tooltip-placement='top'></i> |
120 | 120 | </label> |
121 | 121 | </legend> |
... | ... | @@ -123,13 +123,25 @@ |
123 | 123 | <script type="text/ng-template" id="modal-materiais-consumo.html"> |
124 | 124 | <div ng-include src="'/cit-almoxarifado-web/html/entradaAlmoxarifado/dialog_add_materiais.html'" /> |
125 | 125 | </script> |
126 | + | |
127 | + <div class="row"> | |
128 | + <div class="col-md-3"> | |
129 | + <label-input-radio ng-id="entradaAlmoxarifado.dominioFinalidade.codigo" ng-model="entradaAlmoxarifado.dominioFinalidade.codigo" ng-label="LABEL.FINALIDADE" | |
130 | + ng-obrigatorio="edit" text="descricao" value="codigo" form="entradaAlmoxarifadoForm" ng-disabled="!edit" list="dominiosTipoFinalidade"/> | |
131 | + </div> | |
132 | + <div class="col-md-7" ng-if="entradaAlmoxarifado.dominioFinalidade.codigo == 2"> | |
133 | + <auto-complete ng-id="entradaAlmoxarifado.unidadeRequisitante" ng-label="ALMOXARIFADO.LABEL.UNIDADE_REQUISITANTE" ng-obrigatorio="{{edit}}" | |
134 | + ng-model="entradaAlmoxarifado.unidadeRequisitante" form="entradaAlmoxarifadoForm" ng-disabled="!edit" | |
135 | + ng-find="findEstruturaOrganizacionalUR(value)" ng-item="item.nome + ' - ' + item.classificacao" /> | |
136 | + </div> | |
137 | + </div> | |
126 | 138 | |
127 | 139 | <div class="row"> |
128 | 140 | |
129 | 141 | <div class="col-md-3"> |
130 | 142 | |
131 | 143 | <label-input-money ng-id="entradaAlmoxarifado.valorTotalNota" ng-label="ALMOXARIFADO.LABEL.VALOR_TOTAL_NOTA" ng-model="entradaAlmoxarifado.valorTotalNota" |
132 | - form="entradaAlmoxarifadoForm" ng-obrigatorio="true" ng-precision="2" ng-disabled="!edit" ng-custom-maxlength="19" /> | |
144 | + form="entradaAlmoxarifadoForm" ng-obrigatorio="edit" ng-precision="2" ng-disabled="!edit" ng-custom-maxlength="19" /> | |
133 | 145 | |
134 | 146 | </div> |
135 | 147 | |
... | ... | @@ -201,7 +213,7 @@ |
201 | 213 | |
202 | 214 | </fieldset> |
203 | 215 | |
204 | - <componente-associar-documentos ng-documentos="entradaAlmoxarifado.documentos" ng-edit="edit" ng-uploader="uploader" ng-workspace="$parent.workspace" form="entradaAlmoxarifadoForm" ng-obrigatorio="true"></componente-associar-documentos> | |
216 | + <componente-associar-documentos ng-documentos="entradaAlmoxarifado.documentos" ng-edit="edit" ng-uploader="uploader" ng-workspace="$parent.workspace" form="entradaAlmoxarifadoForm" ng-obrigatorio="edit"></componente-associar-documentos> | |
205 | 217 | |
206 | 218 | <form name="entradaObservacaoForm"> |
207 | 219 | <componente-observacao ng-observacoes="entradaAlmoxarifado.observacoes" ng-hide="false" ng-edit="edit"></componente-observacao> | ... | ... |