Commit 7a3f8066fb11eefe0f5f85b9f16ea2296518aebf
1 parent
ddef4fa3
Exists in
master
Atendimento #4943
Showing
7 changed files
with
127 additions
and
70 deletions
Show diff stats
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/MovimentoEstoqueServiceImpl.java
... | ... | @@ -89,9 +89,9 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl<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<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<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<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,7 +340,7 @@ citApp.controller( 'AtendimentoRequisicaoConsumoController', |
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 | }); | ... | ... |
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"> |
... | ... | @@ -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> | ... | ... |