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 74 @ManyToOne(fetch = FetchType.LAZY, optional = false)
75 75 @JsonView({ ViewsAdmMateriais.EntradaAlmoxarifadoEditView.class })
76 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 83 * Retorna o valor do atributo <code>almoxarifado</code>
... ... @@ -142,7 +146,13 @@ public class EntradaAlmoxarifado extends Entrada {
142 146 public void setDominioFinalidade(Dominio dominioFinalidade) {
143 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 167  
168 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 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 13 UPDATE EntradaAlmoxarifado SET dominiofinalidade_id = (select id from dominio where chave like 'tipoFinalidadeMaterial' and codigo = 1);
14 14  
15 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 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 64 $scope.entradaItemSelecionado = null;
65 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 82 // Atualiza pagina de pesquisa
... ... @@ -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 178 $scope.inicializarModalMateriais = function(){
182 179 $scope.editEntrada = true;
183 180 $scope.limparModalMateriais();
... ... @@ -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 282 $scope.addEntradaItem = function(formDialogMateriais) {
286 283 formDialogMateriais.$submitted = true;
287 284 $scope.validaAnexo = false;
... ... @@ -539,7 +536,19 @@ citApp.controller(&#39;EntradaAlmoxarifadoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;FileUp
539 536  
540 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 552 //#### INICIO METODOS RELACIONADOS AO RELATORIO ###
544 553  
545 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 126  
127 127 <div class="row">
128 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 138 </div>
132 139 </div>
133 140  
... ...