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,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<EntradaAl | @@ -167,7 +167,13 @@ public class EntradaAlmoxarifadoServiceImpl extends GenericServiceImpl<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('EntradaAlmoxarifadoController', ['$scope', '$filter', 'FileUp | @@ -64,13 +64,19 @@ citApp.controller('EntradaAlmoxarifadoController', ['$scope', '$filter', '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('EntradaAlmoxarifadoController', ['$scope', '$filter', 'FileUp | @@ -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 | $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('EntradaAlmoxarifadoController', ['$scope', '$filter', 'FileUp | @@ -281,7 +278,7 @@ citApp.controller('EntradaAlmoxarifadoController', ['$scope', '$filter', '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('EntradaAlmoxarifadoController', ['$scope', '$filter', 'FileUp | @@ -539,7 +536,19 @@ citApp.controller('EntradaAlmoxarifadoController', ['$scope', '$filter', '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 |