Commit 43fc350c59234ebebd3b2edc8987896a9cdcf10a

Authored by erick.sato
2 parents 56fc3e9e 80fa4421
Exists in master

Merge branch 'tarefa-3822' of http://ferramentasgo.centralit.com.br:8080/scm/git…

…/cit-grp-almoxarifado into tarefa-3822
cit-almoxarifado-api/src/main/java/br/com/centralit/api/dao/MovimentoEstoqueDao.java
1 1 package br.com.centralit.api.dao;
2 2  
3 3 import java.math.BigDecimal;
  4 +import java.util.ArrayList;
4 5 import java.util.Calendar;
5 6 import java.util.Collection;
6 7 import java.util.List;
7   -import java.util.Map;
8 8  
9 9 import br.com.centralit.api.model.EstruturaOrganizacional;
10 10 import br.com.centralit.api.model.MaterialConsumo;
... ... @@ -116,7 +116,7 @@ public interface MovimentoEstoqueDao extends CitGenericDAO {
116 116 * @param dataFim
117 117 * @return
118 118 */
119   - List<Map<String, Object>> getQuantidadeMaterialAtendido(MaterialConsumo materialConsumo, EstruturaOrganizacional almoxarifado, EstruturaOrganizacional unidadeRequisitante, Calendar dataInicio, Calendar dataFim, List<Long> idsDominiosTipoStatusRequisicao);
  119 + List<ArrayList<Object>> getQuantidadeMaterialAtendido(MaterialConsumo materialConsumo, EstruturaOrganizacional almoxarifado, EstruturaOrganizacional unidadeRequisitante, Calendar dataInicio, Calendar dataFim, List<Long> idsDominiosTipoStatusRequisicao);
120 120  
121 121 /**
122 122 * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p>
... ...
cit-almoxarifado-api/src/main/java/br/com/centralit/api/dao/impl/MovimentoEstoqueDaoHibernate.java
1 1 package br.com.centralit.api.dao.impl;
2 2  
3 3 import java.math.BigDecimal;
  4 +import java.util.ArrayList;
4 5 import java.util.Calendar;
5 6 import java.util.Collection;
  7 +import java.util.HashMap;
6 8 import java.util.List;
7 9 import java.util.Map;
8 10  
... ... @@ -13,6 +15,7 @@ import org.springframework.stereotype.Repository;
13 15  
14 16 import br.com.centralit.api.dao.MovimentoEstoqueDao;
15 17 import br.com.centralit.api.model.DominioAlmoxarifado;
  18 +import br.com.centralit.api.model.DominioMaterial;
16 19 import br.com.centralit.api.model.EstruturaOrganizacional;
17 20 import br.com.centralit.api.model.MaterialConsumo;
18 21 import br.com.centralit.api.model.MovimentoEstoque;
... ... @@ -25,8 +28,6 @@ import br.com.centralit.framework.util.UtilColecao;
25 28 import br.com.centralit.framework.util.UtilObjeto;
26 29  
27 30 import com.googlecode.genericdao.search.Field;
28   -import com.googlecode.genericdao.search.Filter;
29   -import com.googlecode.genericdao.search.Search;
30 31  
31 32 /**
32 33 * <p>
... ... @@ -173,38 +174,69 @@ public class MovimentoEstoqueDaoHibernate extends CitGenericDAOImpl implements M
173 174 /**
174 175 * {@inheritDoc}
175 176 */
  177 + @SuppressWarnings("unchecked")
176 178 @Override
177   - public List<Map<String, Object>> getQuantidadeMaterialAtendido(MaterialConsumo materialConsumo, EstruturaOrganizacional almoxarifado, EstruturaOrganizacional unidadeRequisitante, Calendar dataInicio, Calendar dataFim, List<Long> idsDominiosTipoStatusRequisicao) {
178   -
179   - SearchSeven search = new SearchSeven();
  179 + public List<ArrayList<Object>> getQuantidadeMaterialAtendido(MaterialConsumo materialConsumo, EstruturaOrganizacional almoxarifado, EstruturaOrganizacional unidadeRequisitante, Calendar dataInicio, Calendar dataFim, List<Long> idsDominiosTipoStatusRequisicao) {
180 180  
181   - search.setResultMode(Search.RESULT_MAP);
  181 + Map<String, Object> parametros = new HashMap<String, Object>();
  182 + StringBuilder sql = new StringBuilder();
182 183  
183   - search.addField("atendimentoRequisicaoConsumoItem.quantidade");
  184 + sql.append("select atendimento.dataAtendimento, atendimentoItem.quantidade from alm_me_movimentoestoque me ");
  185 + sql.append(" inner join dominio dominio on dominio.id = me.dominioClasseReferencia_id ");
  186 + sql.append(" left join alm_rc_atendimentoitem atendimentoItem on atendimentoItem.id = me.idClasseReferencia ");
  187 + sql.append(" left join alm_rc_atendimento atendimento on atendimento.id = atendimentoItem.AtendimentoReqConsumo_Id ");
  188 + sql.append(" left join alm_rc_item rci on rci.id = atendimentoItem.requisicaoConsumoItem_id ");
  189 + sql.append(" left join alm_requisicaoconsumo rc on rc.id = rci.requisicaoConsumo_id ");
184 190  
185   - search.addField("atendimentoRequisicaoConsumoItem.atendimentoRequisicaoConsumo.dataAtendimento");
  191 + sql.append(" where dominio.codigo = :codigoDominio and dominio.chave = :chaveDominio ");
186 192  
187   - search.addFilterEqual("material.id", materialConsumo.getId());
  193 + parametros.put("codigoDominio", DominioMaterial.REFERENCIA_ATENDIMENTO_ALMOXARIFADO_ITEM);
  194 + parametros.put("chaveDominio", "classeReferencia");
188 195  
189   - search.addFilterEqual("atendimentoRequisicaoConsumoItem.requisicaoConsumoItem.requisicaoConsumo.almoxarifado.id", almoxarifado.getId());
  196 + sql.append(" and me.material_id = :materialConsumoId ");
  197 + parametros.put("materialConsumoId", materialConsumo.getId());
  198 +
  199 + sql.append(" and rc.almoxarifado_id = :almoxarifadoId ");
  200 + parametros.put("almoxarifadoId", almoxarifado.getId());
190 201  
191 202 if(UtilObjeto.isReferencia(unidadeRequisitante)){
192 203  
193   - search.addFilterEqual("atendimentoRequisicaoConsumoItem.requisicaoConsumoItem.requisicaoConsumo.unidadeRequisitante.id", unidadeRequisitante.getId());
  204 + sql.append(" and rc.unidadeRequisitante_id = :unidadeRequisitanteId ");
  205 + parametros.put("unidadeRequisitanteId", unidadeRequisitante.getId());
194 206 }
195 207  
196 208 if(!UtilColecao.isVazio(idsDominiosTipoStatusRequisicao)){
197   - search.addFilterIn("atendimentoRequisicaoConsumoItem.requisicaoConsumoItem.requisicaoConsumo.tipoStatusRequisicao.id", idsDominiosTipoStatusRequisicao);
  209 +
  210 + sql.append(" and rc.tipoStatusRequisicao_id in ").append(addFilterIn(idsDominiosTipoStatusRequisicao));
198 211 }
199 212  
200 213 if(UtilObjeto.isReferencia(dataInicio) && UtilObjeto.isReferencia(dataFim)){
201 214  
202   - search.addFilterAnd(
203   - Filter.greaterOrEqual("atendimentoRequisicaoConsumoItem.atendimentoRequisicaoConsumo.dataAtendimento", dataInicio),
204   - Filter.lessOrEqual("atendimentoRequisicaoConsumoItem.atendimentoRequisicaoConsumo.dataAtendimento", dataFim));
  215 + sql.append(" and (atendimento.dataAtendimento >= :dataInicio and atendimento.dataAtendimento <= :dataFim) ");
  216 + parametros.put("dataInicio", dataInicio);
  217 + parametros.put("dataFim", dataFim);
  218 + }
  219 +
  220 + Query query = em().createNativeQuery(sql.toString());
  221 +
  222 + for(java.util.Map.Entry<String, Object> parametro : parametros.entrySet()){
  223 + query.setParameter(parametro.getKey(), parametro.getValue());
205 224 }
206 225  
207   - return this.search(search);
  226 + return query.getResultList();
  227 + }
  228 +
  229 + private String addFilterIn(List<Long> ids){
  230 + String in = "(";
  231 +
  232 + for (Long id : ids) {
  233 + in += id + ",";
  234 + }
  235 +
  236 + in = in.substring(0, in.length() - 1);
  237 +
  238 + in += ")";
  239 + return in;
208 240 }
209 241  
210 242 @Override
... ...
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/AtendimentoRequisicaoConsumoItem.java
... ... @@ -82,6 +82,10 @@ public class AtendimentoRequisicaoConsumoItem extends PersistentObjectAuditOrgan
82 82 /** Atributo quantidade. */
83 83 @JsonView({ ViewsAlmoxarifado.AtendimentoRequisicaoConsumoItem.class, ViewsAlmoxarifado.AtendimentoRequisicaoConsumoEditView.class, Views.MaterialConsultaInfo.class })
84 84 private BigDecimal quantidade;
  85 +
  86 + @ManyToOne(fetch = FetchType.LAZY, optional = false)
  87 + @JsonView({ViewsAlmoxarifado.AtendimentoRequisicaoConsumoEditView.class})
  88 + private MaterialLocalEstoque materialLocalEstoque;
85 89  
86 90 /**
87 91 * Retorna o valor do atributo <code>id</code>
... ... @@ -183,4 +187,11 @@ public class AtendimentoRequisicaoConsumoItem extends PersistentObjectAuditOrgan
183 187 this.requisicaoConsumoItem = requisicaoConsumoItem;
184 188 }
185 189  
  190 + public MaterialLocalEstoque getMaterialLocalEstoque() {
  191 + return materialLocalEstoque;
  192 + }
  193 +
  194 + public void setMaterialLocalEstoque(MaterialLocalEstoque materialLocalEstoque) {
  195 + this.materialLocalEstoque = materialLocalEstoque;
  196 + }
186 197 }
... ...
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/AtendimentoRequisicaoConsumoItemServiceImpl.java
... ... @@ -179,31 +179,31 @@ public class AtendimentoRequisicaoConsumoItemServiceImpl extends GenericServiceI
179 179  
180 180 Calendar ultimoDiaAnoAtual = UtilDate.dateToCalendar(UtilDate.getUltimoDiaDoAno(Integer.parseInt(UtilDate.getAnoAtual())));
181 181  
182   -// informacoesAtendimentoVH.setConsumoExercicioAtual(this.movimentoEstoqueService.getMediaQuantidadeMaterial(requisicaoConsumoItem.getMaterialConsumo(),
183   -// requisicaoConsumoItem.getRequisicaoConsumo().getAlmoxarifado(), requisicaoConsumoItem.getRequisicaoConsumo().getUnidadeRequisitante(),
184   -// primeiroDiaAnoAtual, ultimoDiaAnoAtual, Boolean.FALSE, idsDominiosTipoStatusRequisicao));
185   -//
186   -// Calendar primeiroDiaAnoAnterior = UtilDate.dateToCalendar(UtilDate.getPrimeiroDiaDoAno(Integer.parseInt(UtilDate.getAnoAtual()) - 1));
187   -//
188   -// Calendar ultimoDiaAnoAnterior = UtilDate.dateToCalendar(UtilDate.getUltimoDiaDoAno(Integer.parseInt(UtilDate.getAnoAtual()) - 1));
189   -//
190   -// informacoesAtendimentoVH.setConsumoExercicioAnterior(this.movimentoEstoqueService.getMediaQuantidadeMaterial(requisicaoConsumoItem.getMaterialConsumo(),
191   -// requisicaoConsumoItem.getRequisicaoConsumo().getAlmoxarifado(), requisicaoConsumoItem.getRequisicaoConsumo().getUnidadeRequisitante(),
192   -// primeiroDiaAnoAnterior, ultimoDiaAnoAnterior, Boolean.FALSE, idsDominiosTipoStatusRequisicao));
193   -//
194   -// Calendar data12MesesAtras = UtilDate.dateToCalendar(UtilDate.somaMeses(UtilDate.calendarUltimoDiaDoMes(Calendar.getInstance()).getTime(), -12));
195   -//
196   -// Calendar dataMesAtual = UtilDate.calendarUltimoDiaDoMes(Calendar.getInstance());
197   -//
198   -// informacoesAtendimentoVH.setConsumo12meses(this.movimentoEstoqueService.getMediaQuantidadeMaterial(requisicaoConsumoItem.getMaterialConsumo(),
199   -// requisicaoConsumoItem.getRequisicaoConsumo().getAlmoxarifado(), requisicaoConsumoItem.getRequisicaoConsumo().getUnidadeRequisitante(),
200   -// data12MesesAtras, dataMesAtual, Boolean.FALSE, idsDominiosTipoStatusRequisicao));
201   -//
202   -// informacoesAtendimentoVH.setConsumoMedioMensalMaterial(this.movimentoEstoqueService.getMediaQuantidadeMaterial(requisicaoConsumoItem.getMaterialConsumo(),
203   -// requisicaoConsumoItem.getRequisicaoConsumo().getAlmoxarifado(), null, null, null, Boolean.TRUE, idsDominiosTipoStatusRequisicao));
204   -//
205   -// informacoesAtendimentoVH.setConsumoMedioMensalUR(this.movimentoEstoqueService.getMediaQuantidadeMaterial(requisicaoConsumoItem.getMaterialConsumo(),
206   -// requisicaoConsumoItem.getRequisicaoConsumo().getAlmoxarifado(), requisicaoConsumoItem.getRequisicaoConsumo().getUnidadeRequisitante(), null, null, Boolean.TRUE, idsDominiosTipoStatusRequisicao));
  182 + informacoesAtendimentoVH.setConsumoExercicioAtual(this.movimentoEstoqueService.getMediaQuantidadeMaterial(requisicaoConsumoItem.getMaterialConsumo(),
  183 + requisicaoConsumoItem.getRequisicaoConsumo().getAlmoxarifado(), requisicaoConsumoItem.getRequisicaoConsumo().getUnidadeRequisitante(),
  184 + primeiroDiaAnoAtual, ultimoDiaAnoAtual, Boolean.FALSE, idsDominiosTipoStatusRequisicao));
  185 +
  186 + Calendar primeiroDiaAnoAnterior = UtilDate.dateToCalendar(UtilDate.getPrimeiroDiaDoAno(Integer.parseInt(UtilDate.getAnoAtual()) - 1));
  187 +
  188 + Calendar ultimoDiaAnoAnterior = UtilDate.dateToCalendar(UtilDate.getUltimoDiaDoAno(Integer.parseInt(UtilDate.getAnoAtual()) - 1));
  189 +
  190 + informacoesAtendimentoVH.setConsumoExercicioAnterior(this.movimentoEstoqueService.getMediaQuantidadeMaterial(requisicaoConsumoItem.getMaterialConsumo(),
  191 + requisicaoConsumoItem.getRequisicaoConsumo().getAlmoxarifado(), requisicaoConsumoItem.getRequisicaoConsumo().getUnidadeRequisitante(),
  192 + primeiroDiaAnoAnterior, ultimoDiaAnoAnterior, Boolean.FALSE, idsDominiosTipoStatusRequisicao));
  193 +
  194 + Calendar data12MesesAtras = UtilDate.dateToCalendar(UtilDate.somaMeses(UtilDate.calendarUltimoDiaDoMes(Calendar.getInstance()).getTime(), -12));
  195 +
  196 + Calendar dataMesAtual = UtilDate.calendarUltimoDiaDoMes(Calendar.getInstance());
  197 +
  198 + informacoesAtendimentoVH.setConsumo12meses(this.movimentoEstoqueService.getMediaQuantidadeMaterial(requisicaoConsumoItem.getMaterialConsumo(),
  199 + requisicaoConsumoItem.getRequisicaoConsumo().getAlmoxarifado(), requisicaoConsumoItem.getRequisicaoConsumo().getUnidadeRequisitante(),
  200 + data12MesesAtras, dataMesAtual, Boolean.FALSE, idsDominiosTipoStatusRequisicao));
  201 +
  202 + informacoesAtendimentoVH.setConsumoMedioMensalMaterial(this.movimentoEstoqueService.getMediaQuantidadeMaterial(requisicaoConsumoItem.getMaterialConsumo(),
  203 + requisicaoConsumoItem.getRequisicaoConsumo().getAlmoxarifado(), null, null, null, Boolean.TRUE, idsDominiosTipoStatusRequisicao));
  204 +
  205 + informacoesAtendimentoVH.setConsumoMedioMensalUR(this.movimentoEstoqueService.getMediaQuantidadeMaterial(requisicaoConsumoItem.getMaterialConsumo(),
  206 + requisicaoConsumoItem.getRequisicaoConsumo().getAlmoxarifado(), requisicaoConsumoItem.getRequisicaoConsumo().getUnidadeRequisitante(), null, null, Boolean.TRUE, idsDominiosTipoStatusRequisicao));
207 207  
208 208 return informacoesAtendimentoVH;
209 209 }
... ...
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/AtendimentoRequisicaoConsumoServiceImpl.java
... ... @@ -18,12 +18,12 @@ import br.com.centralit.api.model.AtendimentoRequisicaoConsumoItem;
18 18 import br.com.centralit.api.model.DominioAlmoxarifado;
19 19 import br.com.centralit.api.service.AtendimentoRequisicaoConsumoItemService;
20 20 import br.com.centralit.api.service.AtendimentoRequisicaoConsumoService;
  21 +import br.com.centralit.api.service.ConfiguracaoParametroSistemaService;
21 22 import br.com.centralit.api.service.ContaContabilMovimentoService;
22 23 import br.com.centralit.api.service.DominioService;
23 24 import br.com.centralit.api.service.InternacionalizacaoService;
24 25 import br.com.centralit.api.service.MaterialConsumoService;
25 26 import br.com.centralit.api.service.MovimentoEstoqueService;
26   -import br.com.centralit.api.service.ConfiguracaoParametroSistemaService;
27 27 import br.com.centralit.api.service.RequisicaoConsumoItemService;
28 28 import br.com.centralit.api.service.RequisicaoConsumoService;
29 29 import br.com.centralit.api.viewHelper.InformacoesAtendimentoVH;
... ...
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/MovimentoEstoqueServiceImpl.java
... ... @@ -89,9 +89,9 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl&lt;MovimentoEst
89 89  
90 90 private static int SCALE_DIVISOR_DECIMAL = 4;
91 91  
92   - private static final String ATENDIMENTO_REQUISICAO_CONSUMO_ITEM_ATENDIMENTO_REQUISICAO_CONSUMO_DATA_ATENDIMENTO = "atendimentoRequisicaoConsumoItem.atendimentoRequisicaoConsumo.dataAtendimento";
  92 + private static final int ATENDIMENTO_REQUISICAO_CONSUMO_ITEM_ATENDIMENTO_REQUISICAO_CONSUMO_DATA_ATENDIMENTO = 0;
93 93  
94   - private static final String ATENDIMENTO_REQUISICAO_CONSUMO_ITEM_QUANTIDADE = "atendimentoRequisicaoConsumoItem.quantidade";
  94 + private static final int ATENDIMENTO_REQUISICAO_CONSUMO_ITEM_QUANTIDADE = 1;
95 95  
96 96 /** Atributo movimentoEstoqueDao. */
97 97 private MovimentoEstoqueDao movimentoEstoqueDao;
... ... @@ -500,28 +500,22 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl&lt;MovimentoEst
500 500  
501 501 BigDecimal result = BigDecimal.valueOf(0);
502 502  
503   - List<Map<String, Object>> valoresAtendidos = this.movimentoEstoqueDao.getQuantidadeMaterialAtendido(materialConsumo, almoxarifado, unidadeRequisitante, dataInicio, dataFim, idsDominiosTipoStatusRequisicao);
  503 + List<ArrayList<Object>> valoresAtendidos = this.movimentoEstoqueDao.getQuantidadeMaterialAtendido(materialConsumo, almoxarifado, unidadeRequisitante, dataInicio, dataFim, idsDominiosTipoStatusRequisicao);
504 504  
505 505 if (!UtilColecao.isVazio(valoresAtendidos)) {
506 506  
507 507 Map<String, List<BigDecimal>> mapaDeMesesPorQuantidade = new HashMap<String, List<BigDecimal>>();
508 508  
509   - for (Map<String, Object> mapaPropriedades : valoresAtendidos) {
  509 + for (ArrayList<Object> listaPropriedades : valoresAtendidos) {
510 510  
511 511 if (mensal) {
512 512  
513   - this.divideValoresPorMesEAno(mapaPropriedades, mapaDeMesesPorQuantidade);
  513 + this.divideValoresPorMesEAno(listaPropriedades, mapaDeMesesPorQuantidade);
514 514  
515 515 } else {
  516 +
  517 + result = result.add((BigDecimal) listaPropriedades.get(ATENDIMENTO_REQUISICAO_CONSUMO_ITEM_QUANTIDADE));
516 518  
517   - for (String chave : mapaPropriedades.keySet()) {
518   -
519   - if (chave.equalsIgnoreCase(ATENDIMENTO_REQUISICAO_CONSUMO_ITEM_QUANTIDADE)) {
520   -
521   - result = result.add((BigDecimal) mapaPropriedades.get(chave));
522   -
523   - }
524   - }
525 519 }
526 520 }
527 521  
... ... @@ -577,9 +571,9 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl&lt;MovimentoEst
577 571 * @param mapaDeMesesPorQuantidade2
578 572 * @return
579 573 */
580   - private void divideValoresPorMesEAno(Map<String, Object> mapaPropriedades, Map<String, List<BigDecimal>> mapaDeMesesPorQuantidade) {
  574 + private void divideValoresPorMesEAno(ArrayList<Object> listaPropriedades, Map<String, List<BigDecimal>> mapaDeMesesPorQuantidade) {
581 575  
582   - Calendar data = (Calendar) mapaPropriedades.get(ATENDIMENTO_REQUISICAO_CONSUMO_ITEM_ATENDIMENTO_REQUISICAO_CONSUMO_DATA_ATENDIMENTO);
  576 + Calendar data = (Calendar) listaPropriedades.get(ATENDIMENTO_REQUISICAO_CONSUMO_ITEM_ATENDIMENTO_REQUISICAO_CONSUMO_DATA_ATENDIMENTO);
583 577  
584 578 Integer mes = data.get(Calendar.MONTH);
585 579  
... ... @@ -592,7 +586,7 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl&lt;MovimentoEst
592 586 mapaDeMesesPorQuantidade.put(chave, new ArrayList<BigDecimal>());
593 587 }
594 588  
595   - BigDecimal valor = (BigDecimal) mapaPropriedades.get(ATENDIMENTO_REQUISICAO_CONSUMO_ITEM_QUANTIDADE);
  589 + BigDecimal valor = (BigDecimal) listaPropriedades.get(ATENDIMENTO_REQUISICAO_CONSUMO_ITEM_QUANTIDADE);
596 590  
597 591 mapaDeMesesPorQuantidade.get(chave).add(valor);
598 592  
... ...
cit-almoxarifado-web/src/main/webapp/assets/js/angular/custom/controller/AtendimentoRequisicaoConsumoController.js
... ... @@ -340,11 +340,13 @@ citApp.controller( &#39;AtendimentoRequisicaoConsumoController&#39;,
340 340  
341 341 result.forEach(function(localEstoque){
342 342 if(localEstoque.localPrincipal){
343   - atendimentoItem.localEstoque = localEstoque;
  343 + atendimentoItem.materialLocalEstoque = localEstoque.originalElement;
344 344 }
345 345 });
346 346 });
347 347  
  348 + buscarInformacoesParaAtendimento(atendimentoItem);
  349 +
348 350 atendimento.atendimentoRequisicaoConsumoItems.push(atendimentoItem);
349 351 });
350 352 $scope.atendimentos.push(atendimento);
... ... @@ -496,17 +498,11 @@ citApp.controller( &#39;AtendimentoRequisicaoConsumoController&#39;,
496 498 }
497 499 };
498 500  
499   - $scope.buscarInformacoesParaAtendimento = function(atendimentoRequisicaoConsumoItem){
  501 + function buscarInformacoesParaAtendimento(atendimentoRequisicaoConsumoItem){
500 502 atendimentoRequisicaoConsumoItem.organizacao = $scope.estruturaAlmoxarifadoPadrao;
501   - atendimentoRequisicaoConsumoItem.$verInfo = !atendimentoRequisicaoConsumoItem.$verInfo;
502   - if(atendimentoRequisicaoConsumoItem.$verInfo){
503   - $scope.setLoadingPesquisa(true);
504   - AtendimentoRequisicaoConsumoItemRepository.getInformacoesParaRequisicao(atendimentoRequisicaoConsumoItem).then(function(result) {
505   - atendimentoRequisicaoConsumoItem.$info = result.originalElement;
506   - $scope.scrollToCadastro('#tableAtendimentos');
507   - $scope.setLoading(false);
508   - });
509   - }
  503 + AtendimentoRequisicaoConsumoItemRepository.getInformacoesParaRequisicao(atendimentoRequisicaoConsumoItem).then(function(result) {
  504 + atendimentoRequisicaoConsumoItem.$info = result.originalElement;
  505 + });
510 506 };
511 507  
512 508 $scope.apresentarInfoAtendimentoItem = function(atendimento){
... ...
cit-almoxarifado-web/src/main/webapp/html/atendimentoRequisicaoConsumo/atendimentoRequisicaoConsumoEdit.html
... ... @@ -65,7 +65,7 @@
65 65 ng-disabled="!edit" ng-mode="day" ng-format="dd/MM/yyyy" />
66 66 </div>
67 67 </div>
68   - <div class="row" style="margin-top: 20px" ng-repeat="atendimento in atendimentos">
  68 + <div style="margin-top: 20px" ng-repeat="atendimento in atendimentos">
69 69 <div class="widget-box margin-bottom">
70 70 <div class="widget-header">
71 71 <h2 class="widget-title" style="font-size: 16px !important">
... ... @@ -124,14 +124,14 @@
124 124 <tbody>
125 125 <tr ng-repeat-start="atendimentoRequisicaoConsumoItem in atendimento.atendimentoRequisicaoConsumoItems">
126 126 <td class="text-center" ng-show="edit">
127   - <button type="button" ng-click="buscarInformacoesParaAtendimento(atendimentoRequisicaoConsumoItem)">
  127 + <button type="button" ng-click="atendimentoRequisicaoConsumoItem.$verInfo = !atendimentoRequisicaoConsumoItem.$verInfo">
128 128 <i class="ace-icon fa {{atendimentoRequisicaoConsumoItem.$verInfo ? 'fa-minus' : 'fa-plus'}} bigger-125"></i>
129 129 </button>
130 130 </td>
131 131 <td class="text-center">{{atendimentoRequisicaoConsumoItem.material.descricao}}</td>
132 132 <td class="text-center">{{atendimentoRequisicaoConsumoItem.material.unidadeArmazenamento.sigla}}</td>
133 133 <td class="text-center">{{atendimentoRequisicaoConsumoItem.$info.qtdEstoque}}</td>
134   - <td class="text-center">{{atendimentoRequisicaoConsumoItem.$info.qtdFornecidaUltimaRequisicao}}</td>
  134 + <td class="text-center">{{atendimentoRequisicaoConsumoItem.$info.qtdFornecidaUltimaRequisicao ? atendimentoRequisicaoConsumoItem.$info.qtdFornecidaUltimaRequisicao : "-"}}</td>
135 135 <td class="text-center">{{atendimentoRequisicaoConsumoItem.requisicaoConsumoItem.quantidade}}</td>
136 136 <td class="text-center" ng-show="novoAtendimento">{{atendimentoRequisicaoConsumoItem.requisicaoConsumoItem.quantidadeAtendida
137 137 ? atendimentoRequisicaoConsumoItem.requisicaoConsumoItem.quantidadeAtendida : 0}}</td>
... ... @@ -139,10 +139,10 @@
139 139 - atendimentoRequisicaoConsumoItem.$quantidade}}</td>
140 140  
141 141 <td class="text-center">
142   - <label-select ng-id="atendimentoRequisicaoConsumoItem.localEstoque$index" ng-obrigatorio="true"
143   - ng-model="atendimentoRequisicaoConsumoItem.localEstoque" ng-list="atendimentoRequisicaoConsumoItem.$locaisEstoque"
  142 + <label-select ng-id="atendimentoRequisicaoConsumoItem.materialLocalEstoque$index" ng-obrigatorio="true"
  143 + ng-model="atendimentoRequisicaoConsumoItem.materialLocalEstoque.id" ng-list="atendimentoRequisicaoConsumoItem.$locaisEstoque"
144 144 form="formDialogAtendimento"
145   - ng-custom-options="localEstoque as localEstoque.endereco.descricao for localEstoque"></label-select>
  145 + ng-custom-options="materialLocalEstoque.id as materialLocalEstoque.endereco.descricao for materialLocalEstoque"></label-select>
146 146  
147 147 </td>
148 148  
... ... @@ -165,7 +165,6 @@
165 165 <th class="text-center" colspan="8"><translate>ALMOXARIFADO.LABEL.UNIDADE_REQUISITANTE</translate></th>
166 166 </tr>
167 167 <tr>
168   - <th class="text-center"><translate>ALMOXARIFADO.LABEL.QTD_EM_ESTOQUE</translate></th>
169 168 <th class="text-center"><translate>ALMOXARIFADO.LABEL.CONSUMO_MEDIO_MENSAL</translate></th>
170 169 <th class="text-center"><translate>ALMOXARIFADO.LABEL.CONSUMO_EXERCICIO_ANTERIOR</translate></th>
171 170 <th class="text-center"><translate>ALMOXARIFADO.LABEL.CONSUMO_EXERCICIO_ATUAL</translate></th>
... ... @@ -178,16 +177,37 @@
178 177 </tr>
179 178 </thead>
180 179 <tbody>
181   - <td class="text-center">{{atendimentoRequisicaoConsumoItem.$info.qtdEstoque}}</td>
182 180 <td class="text-center">{{atendimentoRequisicaoConsumoItem.$info.consumoMedioMensalMaterial}}</td>
183 181 <td class="text-center">{{atendimentoRequisicaoConsumoItem.$info.consumoExercicioAnterior}}</td>
184 182 <td class="text-center">{{atendimentoRequisicaoConsumoItem.$info.consumoExercicioAtual}}</td>
185 183 <td class="text-center">{{atendimentoRequisicaoConsumoItem.$info.consumo12meses}}</td>
186 184 <td class="text-center">{{atendimentoRequisicaoConsumoItem.$info.consumoMedioMensalUR}}</td>
187   - <td class="text-center">{{atendimentoRequisicaoConsumoItem.$info.numeroUltimaRequisicao}}</td>
188   - <td class="text-center">{{atendimentoRequisicaoConsumoItem.$info.dataUltimaRequisicao | dateBR}}</td>
189   - <td class="text-center">{{atendimentoRequisicaoConsumoItem.$info.qtdRequeridaUltimaRequisicao}}</td>
190   - <td class="text-center">{{atendimentoRequisicaoConsumoItem.$info.qtdFornecidaUltimaRequisicao}}</td>
  185 + <td class="text-center">
  186 + {{atendimentoRequisicaoConsumoItem.$info.numeroUltimaRequisicao ? atendimentoRequisicaoConsumoItem.$info.numeroUltimaRequisicao : "-"}}
  187 + </td>
  188 + <td class="text-center">
  189 + {{atendimentoRequisicaoConsumoItem.$info.dataUltimaRequisicao ? (atendimentoRequisicaoConsumoItem.$info.dataUltimaRequisicao | dateBR) : "-"}}
  190 + </td>
  191 + <td class="text-center">
  192 + {{atendimentoRequisicaoConsumoItem.$info.qtdRequeridaUltimaRequisicao ? atendimentoRequisicaoConsumoItem.$info.qtdRequeridaUltimaRequisicao : "-"}}
  193 + </td>
  194 + <td class="text-center">
  195 + {{atendimentoRequisicaoConsumoItem.$info.qtdFornecidaUltimaRequisicao ? atendimentoRequisicaoConsumoItem.$info.qtdFornecidaUltimaRequisicao : "-"}}
  196 + </td>
  197 + </tbody>
  198 + </table>
  199 + <table class="table table-bordered table-striped">
  200 + <thead>
  201 + <tr>
  202 + <th class="text-center"><translate>ALMOXARIFADO.LABEL.ENDERECO_ESTOQUE</translate></th>
  203 + <th class="text-center"><translate>ALMOXARIFADO.LABEL.SALDO_ENDERECO</translate></th>
  204 + <th class="text-center"><translate>LABEL.CAPACIDADE</translate></th>
  205 + </tr>
  206 + </thead>
  207 + <tbody ng-repeat="localEstoque in atendimentoRequisicaoConsumoItem.$locaisEstoque">
  208 + <td class="text-center">{{localEstoque.endereco.descricao}}</td>
  209 + <td class="text-center">{{localEstoque.quantidade}}</td>
  210 + <td class="text-center">{{localEstoque.capacidade}}</td>
191 211 </tbody>
192 212 </table>
193 213 </td>
... ...