Commit 9a2e187f37d9119015948bc95ec2dfcfdce696ee

Authored by geovane.filho
2 parents 7456d7c3 fc244a73
Exists in master

Merge remote-tracking branch 'remotes/origin/adm-1.15.0' into tarefa-3943

cit-almoxarifado-api/src/main/java/br/com/centralit/api/dao/MovimentoEstoqueDao.java
@@ -114,7 +114,7 @@ public interface MovimentoEstoqueDao extends CitGenericDAO { @@ -114,7 +114,7 @@ public interface MovimentoEstoqueDao extends CitGenericDAO {
114 * @param dataFim 114 * @param dataFim
115 * @return 115 * @return
116 */ 116 */
117 - List<Map<String, Object>> getQuantidadeMaterialAtendido(MaterialConsumo materialConsumo, EstruturaOrganizacional almoxarifado, EstruturaOrganizacional unidadeRequisitante, Calendar dataInicio, Calendar dataFim); 117 + List<Map<String, Object>> getQuantidadeMaterialAtendido(MaterialConsumo materialConsumo, EstruturaOrganizacional almoxarifado, EstruturaOrganizacional unidadeRequisitante, Calendar dataInicio, Calendar dataFim, List<Long> idsDominiosTipoStatusRequisicao);
118 118
119 /** 119 /**
120 * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> 120 * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p>
cit-almoxarifado-api/src/main/java/br/com/centralit/api/dao/RequisicaoConsumoItemDao.java
@@ -25,6 +25,6 @@ public interface RequisicaoConsumoItemDao extends CitGenericDAO { @@ -25,6 +25,6 @@ public interface RequisicaoConsumoItemDao extends CitGenericDAO {
25 * @param statusFinalizado 25 * @param statusFinalizado
26 * @return 26 * @return
27 */ 27 */
28 - Long findRequisicaoAnteriorPorMaterial(MaterialConsumo materialConsumo, EstruturaOrganizacional unidadeRequisitante, Dominio statusFinalizado); 28 + Long findRequisicaoAnteriorPorMaterial(MaterialConsumo materialConsumo, EstruturaOrganizacional unidadeRequisitante, Dominio statusFinalizado, Dominio statusParcialmenteAtendida, Dominio statusAtendida);
29 29
30 } 30 }
cit-almoxarifado-api/src/main/java/br/com/centralit/api/dao/impl/MovimentoEstoqueDaoHibernate.java
@@ -19,6 +19,7 @@ import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl; @@ -19,6 +19,7 @@ import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl;
19 import br.com.centralit.framework.dao.arquitetura.SearchSeven; 19 import br.com.centralit.framework.dao.arquitetura.SearchSeven;
20 import br.com.centralit.framework.model.Organizacao; 20 import br.com.centralit.framework.model.Organizacao;
21 import br.com.centralit.framework.model.arquitetura.PersistentObjectAudit; 21 import br.com.centralit.framework.model.arquitetura.PersistentObjectAudit;
  22 +import br.com.centralit.framework.util.UtilColecao;
22 import br.com.centralit.framework.util.UtilObjeto; 23 import br.com.centralit.framework.util.UtilObjeto;
23 24
24 import com.googlecode.genericdao.search.Field; 25 import com.googlecode.genericdao.search.Field;
@@ -171,7 +172,7 @@ public class MovimentoEstoqueDaoHibernate extends CitGenericDAOImpl implements M @@ -171,7 +172,7 @@ public class MovimentoEstoqueDaoHibernate extends CitGenericDAOImpl implements M
171 * {@inheritDoc} 172 * {@inheritDoc}
172 */ 173 */
173 @Override 174 @Override
174 - public List<Map<String, Object>> getQuantidadeMaterialAtendido(MaterialConsumo materialConsumo, EstruturaOrganizacional almoxarifado, EstruturaOrganizacional unidadeRequisitante, Calendar dataInicio, Calendar dataFim) { 175 + public List<Map<String, Object>> getQuantidadeMaterialAtendido(MaterialConsumo materialConsumo, EstruturaOrganizacional almoxarifado, EstruturaOrganizacional unidadeRequisitante, Calendar dataInicio, Calendar dataFim, List<Long> idsDominiosTipoStatusRequisicao) {
175 176
176 SearchSeven search = new SearchSeven(); 177 SearchSeven search = new SearchSeven();
177 178
@@ -190,6 +191,10 @@ public class MovimentoEstoqueDaoHibernate extends CitGenericDAOImpl implements M @@ -190,6 +191,10 @@ public class MovimentoEstoqueDaoHibernate extends CitGenericDAOImpl implements M
190 search.addFilterEqual("atendimentoRequisicaoConsumoItem.requisicaoConsumoItem.requisicaoConsumo.unidadeRequisitante.id", unidadeRequisitante.getId()); 191 search.addFilterEqual("atendimentoRequisicaoConsumoItem.requisicaoConsumoItem.requisicaoConsumo.unidadeRequisitante.id", unidadeRequisitante.getId());
191 } 192 }
192 193
  194 + if(!UtilColecao.isVazio(idsDominiosTipoStatusRequisicao)){
  195 + search.addFilterIn("atendimentoRequisicaoConsumoItem.requisicaoConsumoItem.requisicaoConsumo.tipoStatusRequisicao.id", idsDominiosTipoStatusRequisicao);
  196 + }
  197 +
193 if(UtilObjeto.isReferencia(dataInicio) && UtilObjeto.isReferencia(dataFim)){ 198 if(UtilObjeto.isReferencia(dataInicio) && UtilObjeto.isReferencia(dataFim)){
194 199
195 search.addFilterAnd( 200 search.addFilterAnd(
cit-almoxarifado-api/src/main/java/br/com/centralit/api/dao/impl/RequisicaoConsumoItemDaoHibernate.java
@@ -158,20 +158,22 @@ public class RequisicaoConsumoItemDaoHibernate extends CitGenericDAOImpl impleme @@ -158,20 +158,22 @@ public class RequisicaoConsumoItemDaoHibernate extends CitGenericDAOImpl impleme
158 * {@inheritDoc} 158 * {@inheritDoc}
159 */ 159 */
160 @Override 160 @Override
161 - public Long findRequisicaoAnteriorPorMaterial(MaterialConsumo materialConsumo, EstruturaOrganizacional unidadeRequisitante, Dominio dominioStatus) { 161 + public Long findRequisicaoAnteriorPorMaterial(MaterialConsumo materialConsumo, EstruturaOrganizacional unidadeRequisitante, Dominio statusFinalizado, Dominio statusParcialmenteAtendida, Dominio statusAtendida) {
162 162
163 StringBuilder str = new StringBuilder(); 163 StringBuilder str = new StringBuilder();
164 str.append("select RequisicaoConsumo.id "); 164 str.append("select RequisicaoConsumo.id ");
165 str.append("from RequisicaoConsumoItem as RequisicaoConsumoItem "); 165 str.append("from RequisicaoConsumoItem as RequisicaoConsumoItem ");
166 str.append("inner join RequisicaoConsumo RequisicaoConsumo on RequisicaoConsumo.id = RequisicaoConsumoItem.requisicaoconsumo_id "); 166 str.append("inner join RequisicaoConsumo RequisicaoConsumo on RequisicaoConsumo.id = RequisicaoConsumoItem.requisicaoconsumo_id ");
167 - str.append("where RequisicaoConsumo.tipostatusrequisicao_id = :dominioStatus AND RequisicaoConsumoItem.materialConsumo_id = :idMaterial AND RequisicaoConsumo.unidaderequisitante_id = :idUnidadeRequisitante "); 167 + str.append("where (RequisicaoConsumo.tipostatusrequisicao_id = :dominioFinalizado OR RequisicaoConsumo.tipostatusrequisicao_id = :dominioParcialmenteAtendida OR RequisicaoConsumo.tipostatusrequisicao_id = :dominioAtendida) AND RequisicaoConsumoItem.materialConsumo_id = :idMaterial AND RequisicaoConsumo.unidaderequisitante_id = :idUnidadeRequisitante ");
168 str.append("order by RequisicaoConsumo.id desc"); 168 str.append("order by RequisicaoConsumo.id desc");
169 169
170 Query query = em().createNativeQuery(str.toString()); 170 Query query = em().createNativeQuery(str.toString());
171 171
172 query.setParameter("idMaterial", materialConsumo.getId()); 172 query.setParameter("idMaterial", materialConsumo.getId());
173 query.setParameter("idUnidadeRequisitante", unidadeRequisitante.getId()); 173 query.setParameter("idUnidadeRequisitante", unidadeRequisitante.getId());
174 - query.setParameter("dominioStatus", dominioStatus.getId()); 174 + query.setParameter("dominioFinalizado", statusFinalizado.getId());
  175 + query.setParameter("dominioParcialmenteAtendida", statusParcialmenteAtendida.getId());
  176 + query.setParameter("dominioAtendida", statusAtendida.getId());
175 177
176 query.setMaxResults(1); 178 query.setMaxResults(1);
177 179
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/MovimentoEstoqueService.java
@@ -2,6 +2,7 @@ package br.com.centralit.api.service; @@ -2,6 +2,7 @@ package br.com.centralit.api.service;
2 2
3 import java.math.BigDecimal; 3 import java.math.BigDecimal;
4 import java.util.Calendar; 4 import java.util.Calendar;
  5 +import java.util.List;
5 6
6 import br.com.centralit.api.model.AtendimentoRequisicaoConsumo; 7 import br.com.centralit.api.model.AtendimentoRequisicaoConsumo;
7 import br.com.centralit.api.model.AtendimentoRequisicaoConsumoItem; 8 import br.com.centralit.api.model.AtendimentoRequisicaoConsumoItem;
@@ -150,7 +151,7 @@ public interface MovimentoEstoqueService extends GenericService&lt;MovimentoEstoque @@ -150,7 +151,7 @@ public interface MovimentoEstoqueService extends GenericService&lt;MovimentoEstoque
150 * @param dataFim 151 * @param dataFim
151 * @return 152 * @return
152 */ 153 */
153 - BigDecimal getMediaQuantidadeMaterial(MaterialConsumo materialConsumo, EstruturaOrganizacional almoxarifado, EstruturaOrganizacional unidadeRequisitante, Calendar dataInicio, Calendar dataFim, Boolean mensal); 154 + BigDecimal getMediaQuantidadeMaterial(MaterialConsumo materialConsumo, EstruturaOrganizacional almoxarifado, EstruturaOrganizacional unidadeRequisitante, Calendar dataInicio, Calendar dataFim, Boolean mensal, List<Long> idsDominiosTipoStatusRequisicao);
154 155
155 /** 156 /**
156 * Método responsável por recuperar a quantidade movimentada de um determinado material de consumo em uma determinada referência. 157 * Método responsável por recuperar a quantidade movimentada de um determinado material de consumo em uma determinada referência.
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/AtendimentoRequisicaoConsumoItemServiceImpl.java
1 package br.com.centralit.api.service.impl; 1 package br.com.centralit.api.service.impl;
2 2
  3 +import java.util.ArrayList;
3 import java.util.Calendar; 4 import java.util.Calendar;
4 import java.util.Collection; 5 import java.util.Collection;
  6 +import java.util.List;
5 7
6 import org.springframework.beans.factory.annotation.Autowired; 8 import org.springframework.beans.factory.annotation.Autowired;
7 import org.springframework.beans.factory.annotation.Qualifier; 9 import org.springframework.beans.factory.annotation.Qualifier;
@@ -10,10 +12,12 @@ import org.springframework.validation.Validator; @@ -10,10 +12,12 @@ import org.springframework.validation.Validator;
10 12
11 import br.com.centralit.api.dao.AtendimentoRequisicaoConsumoItemDao; 13 import br.com.centralit.api.dao.AtendimentoRequisicaoConsumoItemDao;
12 import br.com.centralit.api.model.AtendimentoRequisicaoConsumoItem; 14 import br.com.centralit.api.model.AtendimentoRequisicaoConsumoItem;
  15 +import br.com.centralit.api.model.DominioAlmoxarifado;
13 import br.com.centralit.api.model.RequisicaoConsumo; 16 import br.com.centralit.api.model.RequisicaoConsumo;
14 import br.com.centralit.api.model.RequisicaoConsumoItem; 17 import br.com.centralit.api.model.RequisicaoConsumoItem;
15 import br.com.centralit.api.service.AtendimentoRequisicaoConsumoItemService; 18 import br.com.centralit.api.service.AtendimentoRequisicaoConsumoItemService;
16 import br.com.centralit.api.service.ContaContabilMovimentoService; 19 import br.com.centralit.api.service.ContaContabilMovimentoService;
  20 +import br.com.centralit.api.service.DominioService;
17 import br.com.centralit.api.service.MaterialConsumoService; 21 import br.com.centralit.api.service.MaterialConsumoService;
18 import br.com.centralit.api.service.MovimentoEstoqueService; 22 import br.com.centralit.api.service.MovimentoEstoqueService;
19 import br.com.centralit.api.service.RequisicaoConsumoItemService; 23 import br.com.centralit.api.service.RequisicaoConsumoItemService;
@@ -22,6 +26,7 @@ import br.com.centralit.api.viewHelper.AtendimentoVH; @@ -22,6 +26,7 @@ import br.com.centralit.api.viewHelper.AtendimentoVH;
22 import br.com.centralit.api.viewHelper.InformacoesAtendimentoVH; 26 import br.com.centralit.api.viewHelper.InformacoesAtendimentoVH;
23 import br.com.centralit.framework.exception.BusinessException; 27 import br.com.centralit.framework.exception.BusinessException;
24 import br.com.centralit.framework.exception.CodigoErro; 28 import br.com.centralit.framework.exception.CodigoErro;
  29 +import br.com.centralit.framework.model.Dominio;
25 import br.com.centralit.framework.service.arquitetura.GenericServiceImpl; 30 import br.com.centralit.framework.service.arquitetura.GenericServiceImpl;
26 import br.com.centralit.framework.util.UtilDate; 31 import br.com.centralit.framework.util.UtilDate;
27 import br.com.centralit.framework.util.UtilObjeto; 32 import br.com.centralit.framework.util.UtilObjeto;
@@ -66,6 +71,9 @@ public class AtendimentoRequisicaoConsumoItemServiceImpl extends GenericServiceI @@ -66,6 +71,9 @@ public class AtendimentoRequisicaoConsumoItemServiceImpl extends GenericServiceI
66 71
67 @Autowired 72 @Autowired
68 private ContaContabilMovimentoService contaContabilMovimentoService; 73 private ContaContabilMovimentoService contaContabilMovimentoService;
  74 +
  75 + @Autowired
  76 + private DominioService dominioService;
69 77
70 /** 78 /**
71 * Responsável pela criação de novas instâncias desta classe. 79 * Responsável pela criação de novas instâncias desta classe.
@@ -148,6 +156,14 @@ public class AtendimentoRequisicaoConsumoItemServiceImpl extends GenericServiceI @@ -148,6 +156,14 @@ public class AtendimentoRequisicaoConsumoItemServiceImpl extends GenericServiceI
148 */ 156 */
149 @Override 157 @Override
150 public InformacoesAtendimentoVH getInformacoesParaRequisicao(AtendimentoRequisicaoConsumoItem atendimentoRequisicaoConsumoItem) { 158 public InformacoesAtendimentoVH getInformacoesParaRequisicao(AtendimentoRequisicaoConsumoItem atendimentoRequisicaoConsumoItem) {
  159 +
  160 + List<Long> idsDominiosTipoStatusRequisicao = new ArrayList<>();
  161 + Dominio statusFinalizado = this.dominioService.findByChaveAndCodigo(DominioAlmoxarifado.TIPO_STATUS_REQUISICAO, DominioAlmoxarifado.TIPO_STATUS_FINALIZADA);
  162 + idsDominiosTipoStatusRequisicao.add(statusFinalizado.getId());
  163 + Dominio statusParcialmenteAtendida = this.dominioService.findByChaveAndCodigo(DominioAlmoxarifado.TIPO_STATUS_REQUISICAO, DominioAlmoxarifado.TIPO_STATUS_ATENDIDA_PARCIALMENTE);
  164 + idsDominiosTipoStatusRequisicao.add(statusParcialmenteAtendida.getId());
  165 + Dominio statusAtendida = this.dominioService.findByChaveAndCodigo(DominioAlmoxarifado.TIPO_STATUS_REQUISICAO, DominioAlmoxarifado.TIPO_STATUS_ATENDIDA);
  166 + idsDominiosTipoStatusRequisicao.add(statusAtendida.getId());
151 167
152 RequisicaoConsumoItem requisicaoConsumoItem = this.requisicaoConsumoItemService.find(atendimentoRequisicaoConsumoItem.getRequisicaoConsumoItem().getId()); 168 RequisicaoConsumoItem requisicaoConsumoItem = this.requisicaoConsumoItemService.find(atendimentoRequisicaoConsumoItem.getRequisicaoConsumoItem().getId());
153 169
@@ -163,7 +179,7 @@ public class AtendimentoRequisicaoConsumoItemServiceImpl extends GenericServiceI @@ -163,7 +179,7 @@ public class AtendimentoRequisicaoConsumoItemServiceImpl extends GenericServiceI
163 179
164 informacoesAtendimentoVH.setConsumoExercicioAtual(this.movimentoEstoqueService.getMediaQuantidadeMaterial(requisicaoConsumoItem.getMaterialConsumo(), 180 informacoesAtendimentoVH.setConsumoExercicioAtual(this.movimentoEstoqueService.getMediaQuantidadeMaterial(requisicaoConsumoItem.getMaterialConsumo(),
165 requisicaoConsumoItem.getRequisicaoConsumo().getAlmoxarifado(), requisicaoConsumoItem.getRequisicaoConsumo().getUnidadeRequisitante(), 181 requisicaoConsumoItem.getRequisicaoConsumo().getAlmoxarifado(), requisicaoConsumoItem.getRequisicaoConsumo().getUnidadeRequisitante(),
166 - primeiroDiaAnoAtual, ultimoDiaAnoAtual, Boolean.FALSE)); 182 + primeiroDiaAnoAtual, ultimoDiaAnoAtual, Boolean.FALSE, idsDominiosTipoStatusRequisicao));
167 183
168 Calendar primeiroDiaAnoAnterior = UtilDate.dateToCalendar(UtilDate.getPrimeiroDiaDoAno(Integer.parseInt(UtilDate.getAnoAtual()) - 1)); 184 Calendar primeiroDiaAnoAnterior = UtilDate.dateToCalendar(UtilDate.getPrimeiroDiaDoAno(Integer.parseInt(UtilDate.getAnoAtual()) - 1));
169 185
@@ -171,7 +187,7 @@ public class AtendimentoRequisicaoConsumoItemServiceImpl extends GenericServiceI @@ -171,7 +187,7 @@ public class AtendimentoRequisicaoConsumoItemServiceImpl extends GenericServiceI
171 187
172 informacoesAtendimentoVH.setConsumoExercicioAnterior(this.movimentoEstoqueService.getMediaQuantidadeMaterial(requisicaoConsumoItem.getMaterialConsumo(), 188 informacoesAtendimentoVH.setConsumoExercicioAnterior(this.movimentoEstoqueService.getMediaQuantidadeMaterial(requisicaoConsumoItem.getMaterialConsumo(),
173 requisicaoConsumoItem.getRequisicaoConsumo().getAlmoxarifado(), requisicaoConsumoItem.getRequisicaoConsumo().getUnidadeRequisitante(), 189 requisicaoConsumoItem.getRequisicaoConsumo().getAlmoxarifado(), requisicaoConsumoItem.getRequisicaoConsumo().getUnidadeRequisitante(),
174 - primeiroDiaAnoAnterior, ultimoDiaAnoAnterior, Boolean.FALSE)); 190 + primeiroDiaAnoAnterior, ultimoDiaAnoAnterior, Boolean.FALSE, idsDominiosTipoStatusRequisicao));
175 191
176 Calendar data12MesesAtras = UtilDate.dateToCalendar(UtilDate.somaMeses(UtilDate.calendarUltimoDiaDoMes(Calendar.getInstance()).getTime(), -12)); 192 Calendar data12MesesAtras = UtilDate.dateToCalendar(UtilDate.somaMeses(UtilDate.calendarUltimoDiaDoMes(Calendar.getInstance()).getTime(), -12));
177 193
@@ -179,13 +195,13 @@ public class AtendimentoRequisicaoConsumoItemServiceImpl extends GenericServiceI @@ -179,13 +195,13 @@ public class AtendimentoRequisicaoConsumoItemServiceImpl extends GenericServiceI
179 195
180 informacoesAtendimentoVH.setConsumo12meses(this.movimentoEstoqueService.getMediaQuantidadeMaterial(requisicaoConsumoItem.getMaterialConsumo(), 196 informacoesAtendimentoVH.setConsumo12meses(this.movimentoEstoqueService.getMediaQuantidadeMaterial(requisicaoConsumoItem.getMaterialConsumo(),
181 requisicaoConsumoItem.getRequisicaoConsumo().getAlmoxarifado(), requisicaoConsumoItem.getRequisicaoConsumo().getUnidadeRequisitante(), 197 requisicaoConsumoItem.getRequisicaoConsumo().getAlmoxarifado(), requisicaoConsumoItem.getRequisicaoConsumo().getUnidadeRequisitante(),
182 - data12MesesAtras, dataMesAtual, Boolean.FALSE)); 198 + data12MesesAtras, dataMesAtual, Boolean.FALSE, idsDominiosTipoStatusRequisicao));
183 199
184 informacoesAtendimentoVH.setConsumoMedioMensalMaterial(this.movimentoEstoqueService.getMediaQuantidadeMaterial(requisicaoConsumoItem.getMaterialConsumo(), 200 informacoesAtendimentoVH.setConsumoMedioMensalMaterial(this.movimentoEstoqueService.getMediaQuantidadeMaterial(requisicaoConsumoItem.getMaterialConsumo(),
185 - requisicaoConsumoItem.getRequisicaoConsumo().getAlmoxarifado(), null, null, null, Boolean.TRUE)); 201 + requisicaoConsumoItem.getRequisicaoConsumo().getAlmoxarifado(), null, null, null, Boolean.TRUE, idsDominiosTipoStatusRequisicao));
186 202
187 informacoesAtendimentoVH.setConsumoMedioMensalUR(this.movimentoEstoqueService.getMediaQuantidadeMaterial(requisicaoConsumoItem.getMaterialConsumo(), 203 informacoesAtendimentoVH.setConsumoMedioMensalUR(this.movimentoEstoqueService.getMediaQuantidadeMaterial(requisicaoConsumoItem.getMaterialConsumo(),
188 - requisicaoConsumoItem.getRequisicaoConsumo().getAlmoxarifado(), requisicaoConsumoItem.getRequisicaoConsumo().getUnidadeRequisitante(), null, null, Boolean.TRUE)); 204 + requisicaoConsumoItem.getRequisicaoConsumo().getAlmoxarifado(), requisicaoConsumoItem.getRequisicaoConsumo().getUnidadeRequisitante(), null, null, Boolean.TRUE, idsDominiosTipoStatusRequisicao));
189 205
190 return informacoesAtendimentoVH; 206 return informacoesAtendimentoVH;
191 } 207 }
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/InicializarAlmoxarifadoServiceImpl.java
@@ -55,7 +55,11 @@ public class InicializarAlmoxarifadoServiceImpl extends UtilStartup{ @@ -55,7 +55,11 @@ public class InicializarAlmoxarifadoServiceImpl extends UtilStartup{
55 private Menu menuAdmMaterial; 55 private Menu menuAdmMaterial;
56 56
57 /** Atributo menuAlmoxarifado. */ 57 /** Atributo menuAlmoxarifado. */
58 - Menu menuAlmoxarifado; 58 + private Menu menuAlmoxarifado;
  59 +
  60 + private Menu menuRelFinanceiro;
  61 +
  62 + private Menu menuRelatorioAlmoxarifado;
59 63
60 /** 64 /**
61 * Método responsável por gerar carga do módulo Portal 65 * Método responsável por gerar carga do módulo Portal
@@ -66,6 +70,10 @@ public class InicializarAlmoxarifadoServiceImpl extends UtilStartup{ @@ -66,6 +70,10 @@ public class InicializarAlmoxarifadoServiceImpl extends UtilStartup{
66 public void gerarCarga() { 70 public void gerarCarga() {
67 //TODO criarEstruturasAlmoxarifado(); 71 //TODO criarEstruturasAlmoxarifado();
68 criarPaginasMenus(); 72 criarPaginasMenus();
  73 + this.menuService.adicionarGrupoMasterMenu(menuAdmMaterial);
  74 + this.menuService.adicionarGrupoMasterMenu(menuAlmoxarifado);
  75 + this.menuService.adicionarGrupoMasterMenu(menuRelFinanceiro);
  76 + this.menuService.adicionarGrupoMasterMenu(menuRelatorioAlmoxarifado);
69 } 77 }
70 78
71 /** 79 /**
@@ -97,7 +105,8 @@ public class InicializarAlmoxarifadoServiceImpl extends UtilStartup{ @@ -97,7 +105,8 @@ public class InicializarAlmoxarifadoServiceImpl extends UtilStartup{
97 105
98 // Busca MenuPai Administração de materiais já cadastrado no StartupListenerAdmMaterial 106 // Busca MenuPai Administração de materiais já cadastrado no StartupListenerAdmMaterial
99 this.menuAdmMaterial = menuService.findPorNome("Administração de materiais"); 107 this.menuAdmMaterial = menuService.findPorNome("Administração de materiais");
100 - 108 + this.menuAdmMaterial = this.menuService.mergeIfNotExist(this.menuAdmMaterial);
  109 +
101 // Submenu Almoxarifado 110 // Submenu Almoxarifado
102 this.menuAlmoxarifado = new Menu("Almoxarifado", null, this.menuAdmMaterial, 0, 0, null, null, null, null, moduloSelecionado); 111 this.menuAlmoxarifado = new Menu("Almoxarifado", null, this.menuAdmMaterial, 0, 0, null, null, null, null, moduloSelecionado);
103 this.menuAlmoxarifado = this.menuService.mergeIfNotExist(this.menuAlmoxarifado); 112 this.menuAlmoxarifado = this.menuService.mergeIfNotExist(this.menuAlmoxarifado);
@@ -187,7 +196,7 @@ public class InicializarAlmoxarifadoServiceImpl extends UtilStartup{ @@ -187,7 +196,7 @@ public class InicializarAlmoxarifadoServiceImpl extends UtilStartup{
187 /* 196 /*
188 * Paginas e menus relatorios Submenu Relatórios almoxarifado 197 * Paginas e menus relatorios Submenu Relatórios almoxarifado
189 */ 198 */
190 - Menu menuRelatorioAlmoxarifado = new Menu("Relatórios almoxarifado", null, this.menuAdmMaterial, 0, 1, null, null, null, null, moduloSelecionado); 199 + menuRelatorioAlmoxarifado = new Menu("Relatórios almoxarifado", null, this.menuAdmMaterial, 0, 1, null, null, null, null, moduloSelecionado);
191 menuRelatorioAlmoxarifado = this.menuService.mergeIfNotExist(menuRelatorioAlmoxarifado); 200 menuRelatorioAlmoxarifado = this.menuService.mergeIfNotExist(menuRelatorioAlmoxarifado);
192 // Menu Relatório de entradas do almoxarifado no período por material 201 // Menu Relatório de entradas do almoxarifado no período por material
193 Pagina pgRelatorioEntradaAlmoxarifado = new Pagina("Relatório de entradas do almoxarifado no período por material", "/cit-almoxarifado-web/html/entradaAlmoxarifado/relatorioEntradaAlmoxarifado.html"); 202 Pagina pgRelatorioEntradaAlmoxarifado = new Pagina("Relatório de entradas do almoxarifado no período por material", "/cit-almoxarifado-web/html/entradaAlmoxarifado/relatorioEntradaAlmoxarifado.html");
@@ -238,7 +247,7 @@ public class InicializarAlmoxarifadoServiceImpl extends UtilStartup{ @@ -238,7 +247,7 @@ public class InicializarAlmoxarifadoServiceImpl extends UtilStartup{
238 this.menuService.mergeIfNotExist(menuRelatorioMaterialEstoqueAlmoxarifado); 247 this.menuService.mergeIfNotExist(menuRelatorioMaterialEstoqueAlmoxarifado);
239 248
240 // Busca SubMenu Financeiro já cadastrado no StartupListener Ad. materiais 249 // Busca SubMenu Financeiro já cadastrado no StartupListener Ad. materiais
241 - Menu menuRelFinanceiro = menuService.findPorNome("Relatórios financeiro"); 250 + menuRelFinanceiro = menuService.findPorNome("Relatórios financeiro");
242 if (menuRelFinanceiro == null) { 251 if (menuRelFinanceiro == null) {
243 menuRelFinanceiro = new Menu("Relatórios financeiro", null, this.menuAdmMaterial, 3, 1, null, null, null, null, moduloSelecionado); 252 menuRelFinanceiro = new Menu("Relatórios financeiro", null, this.menuAdmMaterial, 3, 1, null, null, null, null, moduloSelecionado);
244 menuRelFinanceiro = this.menuService.mergeIfNotExist(menuRelFinanceiro); 253 menuRelFinanceiro = this.menuService.mergeIfNotExist(menuRelFinanceiro);
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/MovimentoEstoqueServiceImpl.java
@@ -448,11 +448,11 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl&lt;MovimentoEst @@ -448,11 +448,11 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl&lt;MovimentoEst
448 * {@inheritDoc} 448 * {@inheritDoc}
449 */ 449 */
450 @Override 450 @Override
451 - public BigDecimal getMediaQuantidadeMaterial(MaterialConsumo materialConsumo, EstruturaOrganizacional almoxarifado, EstruturaOrganizacional unidadeRequisitante, Calendar dataInicio, Calendar dataFim, Boolean mensal) { 451 + public BigDecimal getMediaQuantidadeMaterial(MaterialConsumo materialConsumo, EstruturaOrganizacional almoxarifado, EstruturaOrganizacional unidadeRequisitante, Calendar dataInicio, Calendar dataFim, Boolean mensal, List<Long> idsDominiosTipoStatusRequisicao) {
452 452
453 BigDecimal result = BigDecimal.valueOf(0); 453 BigDecimal result = BigDecimal.valueOf(0);
454 454
455 - List<Map<String, Object>> valoresAtendidos = this.movimentoEstoqueDao.getQuantidadeMaterialAtendido(materialConsumo, almoxarifado, unidadeRequisitante, dataInicio, dataFim); 455 + List<Map<String, Object>> valoresAtendidos = this.movimentoEstoqueDao.getQuantidadeMaterialAtendido(materialConsumo, almoxarifado, unidadeRequisitante, dataInicio, dataFim, idsDominiosTipoStatusRequisicao);
456 456
457 if (!UtilColecao.isVazio(valoresAtendidos)) { 457 if (!UtilColecao.isVazio(valoresAtendidos)) {
458 458
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/RequisicaoConsumoItemServiceImpl.java
@@ -142,8 +142,10 @@ public class RequisicaoConsumoItemServiceImpl extends GenericServiceImpl&lt;Requisi @@ -142,8 +142,10 @@ public class RequisicaoConsumoItemServiceImpl extends GenericServiceImpl&lt;Requisi
142 public Long findRequisicaoAnteriorPorMaterial(MaterialConsumo materialConsumo, EstruturaOrganizacional unidadeRequisitante) { 142 public Long findRequisicaoAnteriorPorMaterial(MaterialConsumo materialConsumo, EstruturaOrganizacional unidadeRequisitante) {
143 143
144 Dominio statusFinalizado = this.dominioService.findByChaveAndCodigo(DominioAlmoxarifado.TIPO_STATUS_REQUISICAO, DominioAlmoxarifado.TIPO_STATUS_FINALIZADA); 144 Dominio statusFinalizado = this.dominioService.findByChaveAndCodigo(DominioAlmoxarifado.TIPO_STATUS_REQUISICAO, DominioAlmoxarifado.TIPO_STATUS_FINALIZADA);
  145 + Dominio statusAtendida = this.dominioService.findByChaveAndCodigo(DominioAlmoxarifado.TIPO_STATUS_REQUISICAO, DominioAlmoxarifado.TIPO_STATUS_ATENDIDA);
  146 + Dominio statusParcialmenteAtendida = this.dominioService.findByChaveAndCodigo(DominioAlmoxarifado.TIPO_STATUS_REQUISICAO, DominioAlmoxarifado.TIPO_STATUS_ATENDIDA_PARCIALMENTE);
145 147
146 - return this.requisicaoConsumoItemDao.findRequisicaoAnteriorPorMaterial(materialConsumo, unidadeRequisitante, statusFinalizado); 148 + return this.requisicaoConsumoItemDao.findRequisicaoAnteriorPorMaterial(materialConsumo, unidadeRequisitante, statusFinalizado, statusParcialmenteAtendida, statusAtendida);
147 } 149 }
148 150
149 } 151 }
cit-almoxarifado-web/src/main/java/br/com/centralit/listener/StartupListenerAlmoxarifado.java
@@ -329,6 +329,7 @@ public class StartupListenerAlmoxarifado extends UtilStartup implements Applicat @@ -329,6 +329,7 @@ public class StartupListenerAlmoxarifado extends UtilStartup implements Applicat
329 internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.MSG.ATENDIMENTO_REQUISICAO_REALIZADO", "Já foi realizado atendimento para esta requisição!", dominio, modulo)); 329 internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.MSG.ATENDIMENTO_REQUISICAO_REALIZADO", "Já foi realizado atendimento para esta requisição!", dominio, modulo));
330 internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.MSG.DATA_BAIXA_FORA_REFERENCIA_VIGENTE", "Data de conclusão tem que estar dentro da referência vigente", dominio, modulo)); 330 internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.MSG.DATA_BAIXA_FORA_REFERENCIA_VIGENTE", "Data de conclusão tem que estar dentro da referência vigente", dominio, modulo));
331 internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.MSG.REQUISICAO_DIFERENTE_NAO_CONCLUIDA_PRONTA_ATENDIMENTO", "Somente requisições de consumo com status Não concluída e Pronta para atendimento pode ser editada!", dominio, modulo)); 331 internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.MSG.REQUISICAO_DIFERENTE_NAO_CONCLUIDA_PRONTA_ATENDIMENTO", "Somente requisições de consumo com status Não concluída e Pronta para atendimento pode ser editada!", dominio, modulo));
  332 + internacionalizacaoList.add(new Internacionalizacao("MSG.EXISTE_REQUISICAO_DISPONIVEL_CENTROCUSTO_ALMOXARIFADO_UR", "Centro de custo, almoxarifado, unidade requisitante e materiais de consumo estão presentes na requisição: ", dominio, modulo));
332 } 333 }
333 } 334 }
334 335
cit-almoxarifado-web/src/main/webapp/assets/js/angular/custom/controller/RequisicaoConsumoController.js
@@ -9,7 +9,6 @@ citApp.controller(&#39;RequisicaoConsumoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;Requisic @@ -9,7 +9,6 @@ citApp.controller(&#39;RequisicaoConsumoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;Requisic
9 var PRONTA_PARA_ATENDIMENTO = 2; 9 var PRONTA_PARA_ATENDIMENTO = 2;
10 10
11 $scope.requisicaoConsumo = {}; 11 $scope.requisicaoConsumo = {};
12 -  
13 /** 12 /**
14 * Inicializa as datas do formulario de cadastro como data padrao hoje. 13 * Inicializa as datas do formulario de cadastro como data padrao hoje.
15 */ 14 */
@@ -24,7 +23,7 @@ citApp.controller(&#39;RequisicaoConsumoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;Requisic @@ -24,7 +23,7 @@ citApp.controller(&#39;RequisicaoConsumoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;Requisic
24 $scope.limparRequisicaoConsumo(); 23 $scope.limparRequisicaoConsumo();
25 24
26 $scope.edit = true; 25 $scope.edit = true;
27 - 26 +
28 $timeout(function(){ 27 $timeout(function(){
29 28
30 $scope.requisicaoConsumoForm.$submitted = false; 29 $scope.requisicaoConsumoForm.$submitted = false;
@@ -34,6 +33,12 @@ citApp.controller(&#39;RequisicaoConsumoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;Requisic @@ -34,6 +33,12 @@ citApp.controller(&#39;RequisicaoConsumoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;Requisic
34 $scope.requisicaoConsumoForm['observacao.descricao'].$setViewValue(''); 33 $scope.requisicaoConsumoForm['observacao.descricao'].$setViewValue('');
35 $scope.requisicaoConsumoForm['observacao.descricao'].$render(); 34 $scope.requisicaoConsumoForm['observacao.descricao'].$render();
36 } 35 }
  36 +
  37 + EstruturaOrganizacionalAlmoxarifadoRepository.getAlmoxarifadoPadrao($scope.usuarioLogado.organizacao.id).then(function(result){
  38 + if(result.originalElement.estruturaOrganizacional){
  39 + $scope.requisicaoConsumo = {almoxarifado : result.originalElement.estruturaOrganizacional};
  40 + }
  41 + });
37 42
38 }); 43 });
39 44
@@ -220,7 +225,7 @@ citApp.controller(&#39;RequisicaoConsumoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;Requisic @@ -220,7 +225,7 @@ citApp.controller(&#39;RequisicaoConsumoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;Requisic
220 225
221 RequisicaoConsumoRepository.save($scope.requisicaoConsumo).then(function(result) { 226 RequisicaoConsumoRepository.save($scope.requisicaoConsumo).then(function(result) {
222 227
223 - $scope.requisicaoConsumo = result.originalElement; 228 + $scope.resetForm();
224 229
225 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_SALVO')); 230 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_SALVO'));
226 231