Commit 6536a6cc82bf00accac5df53692be71453258bd7

Authored by Ronan Tavares Camargo
1 parent bb19812b
Exists in master

Redmine #253 - Adicionando campo "Unidade requisitante" à entradas do tipo "Consumo"

cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/EntradaAlmoxarifado.java
@@ -74,6 +74,10 @@ public class EntradaAlmoxarifado extends Entrada { @@ -74,6 +74,10 @@ public class EntradaAlmoxarifado extends Entrada {
74 @ManyToOne(fetch = FetchType.LAZY, optional = false) 74 @ManyToOne(fetch = FetchType.LAZY, optional = false)
75 @JsonView({ ViewsAdmMateriais.EntradaAlmoxarifadoEditView.class }) 75 @JsonView({ ViewsAdmMateriais.EntradaAlmoxarifadoEditView.class })
76 private Dominio dominioFinalidade; 76 private Dominio dominioFinalidade;
  77 +
  78 + @ManyToOne(fetch = FetchType.LAZY, optional = true)
  79 + @JsonView(ViewsAdmMateriais.EntradaAlmoxarifadoEditView.class)
  80 + private EstruturaOrganizacional unidadeRequisitante;
77 81
78 /** 82 /**
79 * Retorna o valor do atributo <code>almoxarifado</code> 83 * Retorna o valor do atributo <code>almoxarifado</code>
@@ -142,7 +146,13 @@ public class EntradaAlmoxarifado extends Entrada { @@ -142,7 +146,13 @@ public class EntradaAlmoxarifado extends Entrada {
142 public void setDominioFinalidade(Dominio dominioFinalidade) { 146 public void setDominioFinalidade(Dominio dominioFinalidade) {
143 this.dominioFinalidade = dominioFinalidade; 147 this.dominioFinalidade = dominioFinalidade;
144 } 148 }
145 -  
146 -  
147 149
  150 + public EstruturaOrganizacional getUnidadeRequisitante() {
  151 + return unidadeRequisitante;
  152 + }
  153 +
  154 + public void setUnidadeRequisitante(EstruturaOrganizacional unidadeRequisitante) {
  155 + this.unidadeRequisitante = unidadeRequisitante;
  156 + }
  157 +
148 } 158 }
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/EntradaAlmoxarifadoServiceImpl.java
@@ -167,7 +167,13 @@ public class EntradaAlmoxarifadoServiceImpl extends GenericServiceImpl&lt;EntradaAl @@ -167,7 +167,13 @@ public class EntradaAlmoxarifadoServiceImpl extends GenericServiceImpl&lt;EntradaAl
167 167
168 entity.setDominioTipoRecebimento(this.dominioService.find(entity.getDominioTipoRecebimento().getId())); 168 entity.setDominioTipoRecebimento(this.dominioService.find(entity.getDominioTipoRecebimento().getId()));
169 169
170 - entity.setDominioFinalidade(this.dominioService.find(entity.getDominioFinalidade().getId())); 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 + }
171 177
172 for (EntradaAlmoxarifadoItem entradaAlmoxarifadoItem : entity.getEntradasIten()) { 178 for (EntradaAlmoxarifadoItem entradaAlmoxarifadoItem : entity.getEntradasIten()) {
173 179
cit-almoxarifado-api/src/main/resources/scripts-bd/postgres/v1.11.0/01-cit-almoxarifado-v1.11.0.postgres.sql
@@ -13,4 +13,11 @@ ALTER TABLE EntradaAlmoxarifado ADD CONSTRAINT fk_entradaalmoxarifado_dominioFin @@ -13,4 +13,11 @@ ALTER TABLE EntradaAlmoxarifado ADD CONSTRAINT fk_entradaalmoxarifado_dominioFin
13 UPDATE EntradaAlmoxarifado SET dominiofinalidade_id = (select id from dominio where chave like 'tipoFinalidadeMaterial' and codigo = 1); 13 UPDATE EntradaAlmoxarifado SET dominiofinalidade_id = (select id from dominio where chave like 'tipoFinalidadeMaterial' and codigo = 1);
14 14
15 ALTER TABLE EntradaAlmoxarifado ALTER COLUMN dominiofinalidade_id SET NOT NULL; 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;
16 -- RONAN FINAL 29/03/2016 -- 23 -- RONAN FINAL 29/03/2016 --
cit-almoxarifado-web/src/main/webapp/assets/js/angular/custom/controller/EntradaAlmoxarifadoController.js
@@ -64,13 +64,19 @@ citApp.controller(&#39;EntradaAlmoxarifadoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;FileUp @@ -64,13 +64,19 @@ citApp.controller(&#39;EntradaAlmoxarifadoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;FileUp
64 $scope.entradaItemSelecionado = null; 64 $scope.entradaItemSelecionado = null;
65 $scope.valorTotalMateriais = 0.0; 65 $scope.valorTotalMateriais = 0.0;
66 66
67 - if($scope.dominiosTipoFinalidade){  
68 - $scope.dominiosTipoFinalidade.forEach(function(dominio){  
69 - if(dominio.codigo === 1){  
70 - $scope.entradaAlmoxarifado.dominioFinalidade.id = dominio.id;  
71 - }  
72 - });  
73 - } 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 + });
74 }; 80 };
75 81
76 // Atualiza pagina de pesquisa 82 // Atualiza pagina de pesquisa
@@ -169,15 +175,6 @@ citApp.controller(&#39;EntradaAlmoxarifadoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;FileUp @@ -169,15 +175,6 @@ citApp.controller(&#39;EntradaAlmoxarifadoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;FileUp
169 }); 175 });
170 }); 176 });
171 177
172 - DominioRepository.findAllDominio('tipoFinalidadeMaterial').then(function(result) {  
173 - $scope.dominiosTipoFinalidade = [];  
174 - if(result && result.length >0)  
175 - result.forEach(function(r){  
176 - $scope.dominiosTipoFinalidade.push(r.originalElement);  
177 - });  
178 - $scope.dominiosTipoFinalidade.reverse();  
179 - });  
180 -  
181 $scope.inicializarModalMateriais = function(){ 178 $scope.inicializarModalMateriais = function(){
182 $scope.editEntrada = true; 179 $scope.editEntrada = true;
183 $scope.limparModalMateriais(); 180 $scope.limparModalMateriais();
@@ -281,7 +278,7 @@ citApp.controller(&#39;EntradaAlmoxarifadoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;FileUp @@ -281,7 +278,7 @@ citApp.controller(&#39;EntradaAlmoxarifadoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;FileUp
281 } 278 }
282 }); 279 });
283 }; 280 };
284 - 281 +
285 $scope.addEntradaItem = function(formDialogMateriais) { 282 $scope.addEntradaItem = function(formDialogMateriais) {
286 formDialogMateriais.$submitted = true; 283 formDialogMateriais.$submitted = true;
287 $scope.validaAnexo = false; 284 $scope.validaAnexo = false;
@@ -539,7 +536,19 @@ citApp.controller(&#39;EntradaAlmoxarifadoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;FileUp @@ -539,7 +536,19 @@ citApp.controller(&#39;EntradaAlmoxarifadoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;FileUp
539 536
540 return formularioValido; 537 return formularioValido;
541 }; 538 };
  539 +
  540 + // LISTA ESTRUTURAS ORGANIZACIONAIS QUE SAO UNIDADES REQUISITANTES
  541 + $scope.findEstruturaOrganizacionalUR = function(value){
  542 +
  543 + return EstruturaOrganizacionalAlmoxarifadoRepository.findEstruturaOrganizacionalUR(value,
  544 + $scope.usuarioLogado.organizacao.id).then(function(result) {
  545 +
  546 + return result;
542 547
  548 + });
  549 +
  550 + };
  551 +
543 //#### INICIO METODOS RELACIONADOS AO RELATORIO ### 552 //#### INICIO METODOS RELACIONADOS AO RELATORIO ###
544 553
545 //FUNCAO QUE BUSCA MATERIAL DE CONSUMO PARA FILTRO DE RELATORIO DE ENTRADAS POR PERIODO 554 //FUNCAO QUE BUSCA MATERIAL DE CONSUMO PARA FILTRO DE RELATORIO DE ENTRADAS POR PERIODO
cit-almoxarifado-web/src/main/webapp/html/entradaAlmoxarifado/entradaAlmoxarifadoEdit.html
@@ -126,8 +126,15 @@ @@ -126,8 +126,15 @@
126 126
127 <div class="row"> 127 <div class="row">
128 <div class="col-md-3"> 128 <div class="col-md-3">
129 - <label-input-radio ng-id="entradaAlmoxarifado.dominioFinalidade.id" ng-model="entradaAlmoxarifado.dominioFinalidade.id" ng-label="LABEL.FINALIDADE"  
130 - ng-obrigatorio="true" text="descricao" value="id" form="entradaAlmoxarifadoForm" ng-disabled="!edit" list="dominiosTipoFinalidade"/> 129 +
  130 + <label-input-radio ng-id="entradaAlmoxarifado.dominioFinalidade.codigo" ng-model="entradaAlmoxarifado.dominioFinalidade.codigo" ng-label="LABEL.FINALIDADE"
  131 + ng-obrigatorio="true" text="descricao" value="codigo" form="entradaAlmoxarifadoForm" ng-disabled="!edit" list="dominiosTipoFinalidade"/>
  132 +
  133 + </div>
  134 + <div class="col-md-7" ng-if="entradaAlmoxarifado.dominioFinalidade.codigo == 2">
  135 + <auto-complete ng-id="entradaAlmoxarifado.unidadeRequisitante" ng-label="ALMOXARIFADO.LABEL.UNIDADE_REQUISITANTE" ng-obrigatorio="true"
  136 + ng-model="entradaAlmoxarifado.unidadeRequisitante" form="entradaAlmoxarifadoForm" ng-disabled="!edit"
  137 + ng-find="findEstruturaOrganizacionalUR(value)" ng-item="item.nome + ' - ' + item.classificacao" />
131 </div> 138 </div>
132 </div> 139 </div>
133 140