Commit 6ebbdd8b2a29730d96cda46f34f86c8ed0544ba9

Authored by gabriel.damasceno
2 parents 560fd479 d11d21f8
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&lt;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&lt;
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&lt;
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&lt;
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&lt;
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&lt;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&lt;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&lt;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&lt;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&lt;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&lt;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&lt;Devolucao, Long&gt; 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&lt;Devolucao, Long&gt; 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&lt;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&lt;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&lt;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&lt;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&lt;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&lt;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&lt;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&lt;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&lt;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&lt;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&lt;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&lt;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&lt;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&lt;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(&#39;EntradaAlmoxarifadoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;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(&#39;EntradaAlmoxarifadoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;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(&#39;EntradaAlmoxarifadoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;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(&#39;EntradaAlmoxarifadoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;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(&#39;EntradaAlmoxarifadoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;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(&#39;EntradaAlmoxarifadoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;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>
... ...