Commit 6536a6cc82bf00accac5df53692be71453258bd7
1 parent
bb19812b
Exists in
master
Redmine #253 - Adicionando campo "Unidade requisitante" à entradas do tipo "Consumo"
Showing
5 changed files
with
61 additions
and
22 deletions
Show diff stats
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<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('EntradaAlmoxarifadoController', ['$scope', '$filter', '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('EntradaAlmoxarifadoController', ['$scope', '$filter', '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('EntradaAlmoxarifadoController', ['$scope', '$filter', '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('EntradaAlmoxarifadoController', ['$scope', '$filter', '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 | ... | ... |