Commit af136b69b010f709e6f96e444cf7307da256bab0
Exists in
master
Merge branch 'tarefa-4667' into adm-1.15.0
# Conflicts: # cit-adm-materiais-web/src/main/java/br/com/centralit/listener/StartupListenerAdmMaterial.java
Showing
5 changed files
with
99 additions
and
43 deletions
Show diff stats
cit-adm-materiais-api/src/main/java/br/com/centralit/api/model/Material.java
@@ -118,6 +118,7 @@ public class Material extends PersistentObjectAuditOrganizacao { | @@ -118,6 +118,7 @@ public class Material extends PersistentObjectAuditOrganizacao { | ||
118 | 118 | ||
119 | /** Atributo codigo. */ | 119 | /** Atributo codigo. */ |
120 | @Column(length = 30) | 120 | @Column(length = 30) |
121 | + @JsonView({ Views.MaterialEditView.class, ViewsAdmMateriais.MaterialConsultaInfo.class }) | ||
121 | private String codigo; | 122 | private String codigo; |
122 | 123 | ||
123 | 124 |
cit-adm-materiais-api/src/main/java/br/com/centralit/api/model/MaterialConsumoTipoUnidadeMedidaEntrada.java
1 | package br.com.centralit.api.model; | 1 | package br.com.centralit.api.model; |
2 | 2 | ||
3 | +import javax.persistence.Column; | ||
3 | import javax.persistence.Entity; | 4 | import javax.persistence.Entity; |
4 | import javax.persistence.FetchType; | 5 | import javax.persistence.FetchType; |
5 | import javax.persistence.GeneratedValue; | 6 | import javax.persistence.GeneratedValue; |
@@ -43,6 +44,11 @@ public class MaterialConsumoTipoUnidadeMedidaEntrada extends PersistentObject { | @@ -43,6 +44,11 @@ public class MaterialConsumoTipoUnidadeMedidaEntrada extends PersistentObject { | ||
43 | @JsonView({ Views.MaterialEditView.class, ViewsAdmMateriais.MaterialConsumoAutoCompleteView.class, ViewsAdmMateriais.EntradaAlmoxarifadoEditView.class, Views.MaterialConsultaInfo.class }) | 44 | @JsonView({ Views.MaterialEditView.class, ViewsAdmMateriais.MaterialConsumoAutoCompleteView.class, ViewsAdmMateriais.EntradaAlmoxarifadoEditView.class, Views.MaterialConsultaInfo.class }) |
44 | private UnidadeMedida unidadeMedida; | 45 | private UnidadeMedida unidadeMedida; |
45 | 46 | ||
47 | + | ||
48 | + @Column | ||
49 | + @JsonView({ Views.GenericView.class }) | ||
50 | + private Boolean isPadrao; | ||
51 | + | ||
46 | /** | 52 | /** |
47 | * Retorna o valor do atributo <code>materialConsumo</code> | 53 | * Retorna o valor do atributo <code>materialConsumo</code> |
48 | * | 54 | * |
@@ -123,4 +129,11 @@ public class MaterialConsumoTipoUnidadeMedidaEntrada extends PersistentObject { | @@ -123,4 +129,11 @@ public class MaterialConsumoTipoUnidadeMedidaEntrada extends PersistentObject { | ||
123 | this.materialConsumoRemocao = materialConsumoRemocao; | 129 | this.materialConsumoRemocao = materialConsumoRemocao; |
124 | } | 130 | } |
125 | 131 | ||
132 | + public Boolean getIsPadrao() { | ||
133 | + return isPadrao; | ||
134 | + } | ||
135 | + | ||
136 | + public void setIsPadrao(Boolean isPadrao) { | ||
137 | + this.isPadrao = isPadrao; | ||
138 | + } | ||
126 | } | 139 | } |
cit-adm-materiais-web/src/main/java/br/com/centralit/listener/StartupListenerAdmMaterial.java
@@ -28,43 +28,43 @@ import br.com.centralit.framework.model.UtilStartup; | @@ -28,43 +28,43 @@ import br.com.centralit.framework.model.UtilStartup; | ||
28 | * <p><b>Title: </b></p> | 28 | * <p><b>Title: </b></p> |
29 | * | 29 | * |
30 | * <p><b>Description: </b></p> | 30 | * <p><b>Description: </b></p> |
31 | - * | 31 | + * |
32 | * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | 32 | * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> |
33 | * | 33 | * |
34 | - * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> | ||
35 | - * | 34 | + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> |
35 | + * | ||
36 | * @since 22/02/2016 - 09:30:08 | 36 | * @since 22/02/2016 - 09:30:08 |
37 | * | 37 | * |
38 | * @version 1.0.0 | 38 | * @version 1.0.0 |
39 | * | 39 | * |
40 | * @author rogerio.cassimiro | 40 | * @author rogerio.cassimiro |
41 | - * | 41 | + * |
42 | */ | 42 | */ |
43 | @Component | 43 | @Component |
44 | public class StartupListenerAdmMaterial extends UtilStartup implements ApplicationListener<ContextRefreshedEvent>{ | 44 | public class StartupListenerAdmMaterial extends UtilStartup implements ApplicationListener<ContextRefreshedEvent>{ |
45 | 45 | ||
46 | @Autowired | 46 | @Autowired |
47 | DefaultFileService defaultFileService; | 47 | DefaultFileService defaultFileService; |
48 | - | 48 | + |
49 | @Autowired | 49 | @Autowired |
50 | private DominioService dominioService; | 50 | private DominioService dominioService; |
51 | - | 51 | + |
52 | @Autowired | 52 | @Autowired |
53 | private ModuloService moduloService; | 53 | private ModuloService moduloService; |
54 | - | 54 | + |
55 | @Autowired | 55 | @Autowired |
56 | private InternacionalizacaoService internacionalizacaoService; | 56 | private InternacionalizacaoService internacionalizacaoService; |
57 | - | 57 | + |
58 | @Override | 58 | @Override |
59 | public void onApplicationEvent(ContextRefreshedEvent event) { | 59 | public void onApplicationEvent(ContextRefreshedEvent event) { |
60 | - criarDominios(); | 60 | + criarDominios(); |
61 | criarDefaultFile(); | 61 | criarDefaultFile(); |
62 | gerarInternacionalizacao(); | 62 | gerarInternacionalizacao(); |
63 | } | 63 | } |
64 | - | 64 | + |
65 | private void criarDominios() { | 65 | private void criarDominios() { |
66 | List<Dominio> list = new ArrayList<Dominio>(); | 66 | List<Dominio> list = new ArrayList<Dominio>(); |
67 | - | 67 | + |
68 | list.add(new Dominio("tipoBem", "Próprio contabilizado", "PROPRIO_CONTABILIZADO", 1L, Boolean.FALSE)); | 68 | list.add(new Dominio("tipoBem", "Próprio contabilizado", "PROPRIO_CONTABILIZADO", 1L, Boolean.FALSE)); |
69 | list.add(new Dominio("tipoBem", "Próprio controlado", "PROPRIO_CONTROLADO", 2L, Boolean.FALSE)); | 69 | list.add(new Dominio("tipoBem", "Próprio controlado", "PROPRIO_CONTROLADO", 2L, Boolean.FALSE)); |
70 | list.add(new Dominio("tipoBem", "De terceiros", "DE_TERCEIROS", 3L, Boolean.FALSE)); | 70 | list.add(new Dominio("tipoBem", "De terceiros", "DE_TERCEIROS", 3L, Boolean.FALSE)); |
@@ -149,30 +149,30 @@ public class StartupListenerAdmMaterial extends UtilStartup implements Applicati | @@ -149,30 +149,30 @@ public class StartupListenerAdmMaterial extends UtilStartup implements Applicati | ||
149 | list.add(new DefaultFile(CIT_ADM_MATERIAIS_WEB_ANGULAR_CUSTOM + "repository/ContaContabilMovimentoRepository.min.js", dominioJS, 147)); | 149 | list.add(new DefaultFile(CIT_ADM_MATERIAIS_WEB_ANGULAR_CUSTOM + "repository/ContaContabilMovimentoRepository.min.js", dominioJS, 147)); |
150 | this.defaultFileService.saveListIfNotExist(list); | 150 | this.defaultFileService.saveListIfNotExist(list); |
151 | } | 151 | } |
152 | - | 152 | + |
153 | /** | 153 | /** |
154 | - * | 154 | + * |
155 | * Método responsável por gerar internacionalização do módulo administração de materiais | 155 | * Método responsável por gerar internacionalização do módulo administração de materiais |
156 | - * | 156 | + * |
157 | * @author rogerio.cassimiro | 157 | * @author rogerio.cassimiro |
158 | - * | 158 | + * |
159 | */ | 159 | */ |
160 | private void gerarInternacionalizacao() { | 160 | private void gerarInternacionalizacao() { |
161 | 161 | ||
162 | dominioPT_BR = this.dominioService.findByChaveAndCodigo(Dominio.TIPO_IDIOMA, Dominio.TIPO_IDIOMA_PT_BR_CODIGO); | 162 | dominioPT_BR = this.dominioService.findByChaveAndCodigo(Dominio.TIPO_IDIOMA, Dominio.TIPO_IDIOMA_PT_BR_CODIGO); |
163 | moduloSelecionado = this.moduloService.getModuloPorBaseUrl(BASE_URL_ADM_MATERIAIS, null); | 163 | moduloSelecionado = this.moduloService.getModuloPorBaseUrl(BASE_URL_ADM_MATERIAIS, null); |
164 | List<Internacionalizacao> internacionalizacaoList = new ArrayList<Internacionalizacao>(); | 164 | List<Internacionalizacao> internacionalizacaoList = new ArrayList<Internacionalizacao>(); |
165 | - | 165 | + |
166 | this.gerarLabel(dominioPT_BR, moduloSelecionado, internacionalizacaoList); | 166 | this.gerarLabel(dominioPT_BR, moduloSelecionado, internacionalizacaoList); |
167 | this.gerarValidacao(dominioPT_BR, moduloSelecionado, internacionalizacaoList); | 167 | this.gerarValidacao(dominioPT_BR, moduloSelecionado, internacionalizacaoList); |
168 | this.gerarMensagem(dominioPT_BR, moduloSelecionado, internacionalizacaoList); | 168 | this.gerarMensagem(dominioPT_BR, moduloSelecionado, internacionalizacaoList); |
169 | - | 169 | + |
170 | this.internacionalizacaoService.saveListIfNotExist(internacionalizacaoList); | 170 | this.internacionalizacaoService.saveListIfNotExist(internacionalizacaoList); |
171 | Logger.getLogger(StartupListenerAdmMaterial.class).info("Internacionalização executada - StartupListenerAdmMaterial!"); | 171 | Logger.getLogger(StartupListenerAdmMaterial.class).info("Internacionalização executada - StartupListenerAdmMaterial!"); |
172 | } | 172 | } |
173 | - | 173 | + |
174 | private void gerarLabel(Dominio dominio, Modulo modulo, List<Internacionalizacao> internacionalizacaoList) { | 174 | private void gerarLabel(Dominio dominio, Modulo modulo, List<Internacionalizacao> internacionalizacaoList) { |
175 | - | 175 | + |
176 | internacionalizacaoList.add(new Internacionalizacao("ADMINISTRACAODEMATERIAIS.LABEL.APRESENTAR_RELATORIO_DEPRECIACAO", "Apresentar no relatório de depreciação", dominio, modulo)); | 176 | internacionalizacaoList.add(new Internacionalizacao("ADMINISTRACAODEMATERIAIS.LABEL.APRESENTAR_RELATORIO_DEPRECIACAO", "Apresentar no relatório de depreciação", dominio, modulo)); |
177 | internacionalizacaoList.add(new Internacionalizacao("ADMINISTRACAODEMATERIAIS.LABEL.APRESENTAR_RELATORIO_INVENTARIO", "Apresentar relatório inventário", dominio, modulo)); | 177 | internacionalizacaoList.add(new Internacionalizacao("ADMINISTRACAODEMATERIAIS.LABEL.APRESENTAR_RELATORIO_INVENTARIO", "Apresentar relatório inventário", dominio, modulo)); |
178 | internacionalizacaoList.add(new Internacionalizacao("ADMINISTRACAODEMATERIAIS.LABEL.APRESENTAR_RMA", "Apresentar no RMA", dominio, modulo)); | 178 | internacionalizacaoList.add(new Internacionalizacao("ADMINISTRACAODEMATERIAIS.LABEL.APRESENTAR_RMA", "Apresentar no RMA", dominio, modulo)); |
@@ -219,11 +219,11 @@ public class StartupListenerAdmMaterial extends UtilStartup implements Applicati | @@ -219,11 +219,11 @@ public class StartupListenerAdmMaterial extends UtilStartup implements Applicati | ||
219 | 219 | ||
220 | 220 | ||
221 | } | 221 | } |
222 | - | 222 | + |
223 | private void gerarValidacao(Dominio dominio, Modulo modulo, List<Internacionalizacao> internacionalizacaoList) { | 223 | private void gerarValidacao(Dominio dominio, Modulo modulo, List<Internacionalizacao> internacionalizacaoList) { |
224 | internacionalizacaoList.add(new Internacionalizacao("ADMINISTRACAODEMATERIAIS.VALIDACAO.DATA_TRANSFERENCIA_FORA_REFERENCIA", "A data de transferência deve estar dentro da referência vigente!", dominio, modulo)); | 224 | internacionalizacaoList.add(new Internacionalizacao("ADMINISTRACAODEMATERIAIS.VALIDACAO.DATA_TRANSFERENCIA_FORA_REFERENCIA", "A data de transferência deve estar dentro da referência vigente!", dominio, modulo)); |
225 | } | 225 | } |
226 | - | 226 | + |
227 | private void gerarMensagem(Dominio dominio, Modulo modulo, List<Internacionalizacao> internacionalizacaoList) { | 227 | private void gerarMensagem(Dominio dominio, Modulo modulo, List<Internacionalizacao> internacionalizacaoList) { |
228 | internacionalizacaoList.add(new Internacionalizacao("ADMINISTRACAODEMATERIAIS.MSG.CONFIRMA_EXCLUIR_CONTA_CONTABIL", "Confirma a exclusão da conta contábil?", dominio, modulo)); | 228 | internacionalizacaoList.add(new Internacionalizacao("ADMINISTRACAODEMATERIAIS.MSG.CONFIRMA_EXCLUIR_CONTA_CONTABIL", "Confirma a exclusão da conta contábil?", dominio, modulo)); |
229 | internacionalizacaoList.add(new Internacionalizacao("ADMINISTRACAODEMATERIAIS.MSG.CONFIRMA_FECHAR_MES", "Tem certeza que deseja fechar o mês de referência? Fechamento de contas e depreciações de bens ocorrerão. Esta ação não poderá ser revertida. O processo será iniciado em segundo plano, quando o mesmo terminar, você será notificado.", dominio, modulo)); | 229 | internacionalizacaoList.add(new Internacionalizacao("ADMINISTRACAODEMATERIAIS.MSG.CONFIRMA_FECHAR_MES", "Tem certeza que deseja fechar o mês de referência? Fechamento de contas e depreciações de bens ocorrerão. Esta ação não poderá ser revertida. O processo será iniciado em segundo plano, quando o mesmo terminar, você será notificado.", dominio, modulo)); |
@@ -237,9 +237,8 @@ public class StartupListenerAdmMaterial extends UtilStartup implements Applicati | @@ -237,9 +237,8 @@ public class StartupListenerAdmMaterial extends UtilStartup implements Applicati | ||
237 | internacionalizacaoList.add(new Internacionalizacao("ADMINISTRACAODEMATERIAIS.MSG.TRANSFERENCIA_SUCESS", "Transferência realizada com sucesso!", dominio, modulo)); | 237 | internacionalizacaoList.add(new Internacionalizacao("ADMINISTRACAODEMATERIAIS.MSG.TRANSFERENCIA_SUCESS", "Transferência realizada com sucesso!", dominio, modulo)); |
238 | internacionalizacaoList.add(new Internacionalizacao("ADMINISTRACAODEMATERIAIS.MSG.INFO_EDICAO_MATERIAL", "Para a edição de outro material, localize o nível detalhe da classificação do material.", dominio, modulo)); | 238 | internacionalizacaoList.add(new Internacionalizacao("ADMINISTRACAODEMATERIAIS.MSG.INFO_EDICAO_MATERIAL", "Para a edição de outro material, localize o nível detalhe da classificação do material.", dominio, modulo)); |
239 | internacionalizacaoList.add(new Internacionalizacao("ADMINISTRACAODEMATERIAIS.MSG.FECHAMENTO_ENTRADAS_INCOMPLETAS", "Existem entradas de bens incompletas neste mês de referência! Por favor concluir as mesmas antes de realizar o fechamento do mês!", dominio, modulo)); | 239 | internacionalizacaoList.add(new Internacionalizacao("ADMINISTRACAODEMATERIAIS.MSG.FECHAMENTO_ENTRADAS_INCOMPLETAS", "Existem entradas de bens incompletas neste mês de referência! Por favor concluir as mesmas antes de realizar o fechamento do mês!", dominio, modulo)); |
240 | - | ||
241 | internacionalizacaoList.add(new Internacionalizacao("ADMINISTRACAODEMATERIAIS.MSG.INFO_MSG_FECHAMENTO_MES_NOTIFICA_FIM", "Fechamento do mês de referência em execução. Quando o processo terminar, você será notificado!", dominio, modulo)); | 240 | internacionalizacaoList.add(new Internacionalizacao("ADMINISTRACAODEMATERIAIS.MSG.INFO_MSG_FECHAMENTO_MES_NOTIFICA_FIM", "Fechamento do mês de referência em execução. Quando o processo terminar, você será notificado!", dominio, modulo)); |
242 | - | 241 | + internacionalizacaoList.add(new Internacionalizacao("ADMINISTRACAODEMATERIAIS.MSG.CONFIRMA_ALTERAR_PADRAO", "Já foi definido uma Unidae de medida de entrada como padrão! Deseja Alterar?", dominio, modulo)); |
243 | } | 242 | } |
244 | - | 243 | + |
245 | } | 244 | } |
246 | \ No newline at end of file | 245 | \ No newline at end of file |
cit-adm-materiais-web/src/main/webapp/assets/js/angular/custom/controller/MaterialController.js
@@ -28,7 +28,7 @@ citApp.controller('MaterialController', ['$scope', 'MaterialRepository', 'Classi | @@ -28,7 +28,7 @@ citApp.controller('MaterialController', ['$scope', 'MaterialRepository', 'Classi | ||
28 | $scope.edit = true; | 28 | $scope.edit = true; |
29 | $scope.limpar(); | 29 | $scope.limpar(); |
30 | }; | 30 | }; |
31 | - | 31 | + |
32 | function verificaMaterialConsumoSetGenerico(){ | 32 | function verificaMaterialConsumoSetGenerico(){ |
33 | if ($scope.material.dominioTipoMaterial && $scope.material.dominioTipoMaterial.codigo) { | 33 | if ($scope.material.dominioTipoMaterial && $scope.material.dominioTipoMaterial.codigo) { |
34 | if($scope.material.dominioTipoMaterial.codigo == 1){ | 34 | if($scope.material.dominioTipoMaterial.codigo == 1){ |
@@ -130,7 +130,7 @@ citApp.controller('MaterialController', ['$scope', 'MaterialRepository', 'Classi | @@ -130,7 +130,7 @@ citApp.controller('MaterialController', ['$scope', 'MaterialRepository', 'Classi | ||
130 | console.info('onCompleteItem', fileItem, response, status, headers); | 130 | console.info('onCompleteItem', fileItem, response, status, headers); |
131 | }; | 131 | }; |
132 | uploader.onCompleteAll = function() { | 132 | uploader.onCompleteAll = function() { |
133 | - //uploader.clearQueue(); | 133 | + //uploader.clearQueue(); |
134 | console.info('onCompleteAll'); | 134 | console.info('onCompleteAll'); |
135 | }; | 135 | }; |
136 | 136 | ||
@@ -273,13 +273,13 @@ citApp.controller('MaterialController', ['$scope', 'MaterialRepository', 'Classi | @@ -273,13 +273,13 @@ citApp.controller('MaterialController', ['$scope', 'MaterialRepository', 'Classi | ||
273 | if($scope.material.classificacaoMaterial){ | 273 | if($scope.material.classificacaoMaterial){ |
274 | $scope.MaterialDadosDetalhe = $scope.material.classificacaoMaterial.codigo + ' - ' + $scope.material.classificacaoMaterial.descricao; | 274 | $scope.MaterialDadosDetalhe = $scope.material.classificacaoMaterial.codigo + ' - ' + $scope.material.classificacaoMaterial.descricao; |
275 | } | 275 | } |
276 | - } | 276 | + } |
277 | }; | 277 | }; |
278 | - | 278 | + |
279 | $scope.$watch('material.dominioTipoMaterial.codigo', function() { | 279 | $scope.$watch('material.dominioTipoMaterial.codigo', function() { |
280 | verificaMaterialConsumoSetGenerico(); | 280 | verificaMaterialConsumoSetGenerico(); |
281 | }); | 281 | }); |
282 | - | 282 | + |
283 | 283 | ||
284 | DominioRepository.findAllDominio('tipoMaterial').then(function(result) { | 284 | DominioRepository.findAllDominio('tipoMaterial').then(function(result) { |
285 | $scope.tiposMaterial = result; | 285 | $scope.tiposMaterial = result; |
@@ -317,12 +317,18 @@ citApp.controller('MaterialController', ['$scope', 'MaterialRepository', 'Classi | @@ -317,12 +317,18 @@ citApp.controller('MaterialController', ['$scope', 'MaterialRepository', 'Classi | ||
317 | $scope.unidadesMedida.push(item.originalElement); | 317 | $scope.unidadesMedida.push(item.originalElement); |
318 | $scope.unidadesMedidaMaterialConsumo.push(item.originalElement); | 318 | $scope.unidadesMedidaMaterialConsumo.push(item.originalElement); |
319 | }); | 319 | }); |
320 | - | 320 | + |
321 | $scope.unidadesMedidaMaterialConsumo.sort(function (a, b) { | 321 | $scope.unidadesMedidaMaterialConsumo.sort(function (a, b) { |
322 | return a.descricao.localeCompare(b.descricao); | 322 | return a.descricao.localeCompare(b.descricao); |
323 | }); | 323 | }); |
324 | }); | 324 | }); |
325 | 325 | ||
326 | + function addTipoUnidadeMedida(unidadeMedidaEntradaTemp){ | ||
327 | + unidadeMedidaEntradaTemp.isPadrao = angular.copy($scope.unidadeMedidaEntrada.isPadrao); | ||
328 | + $scope.material.tiposUnidadeMedidaEntrada.push(unidadeMedidaEntradaTemp); | ||
329 | + $scope.unidadesMedidaMaterialConsumo = $filter('idNotEqualUnidadeMedida')($scope.unidadesMedidaMaterialConsumo, $scope.material.tiposUnidadeMedidaEntrada); | ||
330 | + $scope.unidadeMedidaEntrada = {}; | ||
331 | + } | ||
326 | //Método responsável por editar unidadeMedidaEntrada. | 332 | //Método responsável por editar unidadeMedidaEntrada. |
327 | $scope.adicionarUnidadeMedidaEntrada = function() { | 333 | $scope.adicionarUnidadeMedidaEntrada = function() { |
328 | //Verifica se a lista tiposUnidadeMedidaEntrada não está vazia | 334 | //Verifica se a lista tiposUnidadeMedidaEntrada não está vazia |
@@ -335,11 +341,32 @@ citApp.controller('MaterialController', ['$scope', 'MaterialRepository', 'Classi | @@ -335,11 +341,32 @@ citApp.controller('MaterialController', ['$scope', 'MaterialRepository', 'Classi | ||
335 | var unidadeMedidaEntradaTemp = {}; | 341 | var unidadeMedidaEntradaTemp = {}; |
336 | angular.copy($scope.unidadeMedidaEntrada, unidadeMedidaEntradaTemp); | 342 | angular.copy($scope.unidadeMedidaEntrada, unidadeMedidaEntradaTemp); |
337 | 343 | ||
338 | - $scope.material.tiposUnidadeMedidaEntrada.push(unidadeMedidaEntradaTemp); | ||
339 | - $scope.unidadesMedidaMaterialConsumo = $filter('idNotEqualUnidadeMedida')($scope.unidadesMedidaMaterialConsumo, $scope.material.tiposUnidadeMedidaEntrada); | ||
340 | - } | 344 | + if($scope.unidadeMedidaEntrada.isPadrao){ |
345 | + var isPossuiPadrao = false; | ||
341 | 346 | ||
342 | - $scope.unidadeMedidaEntrada = {}; | 347 | + angular.forEach($scope.material.tiposUnidadeMedidaEntrada, function(tipoUnidade) { |
348 | + if(tipoUnidade.isPadrao){ | ||
349 | + isPossuiPadrao = true; | ||
350 | + } | ||
351 | + }); | ||
352 | + | ||
353 | + if( isPossuiPadrao){ | ||
354 | + $scope.$openModalConfirm({message: $translate.instant('ADMINISTRACAODEMATERIAIS.MSG.CONFIRMA_ALTERAR_PADRAO'), callback: | ||
355 | + function(){ | ||
356 | + angular.forEach($scope.material.tiposUnidadeMedidaEntrada, function(tipoUnidade) { | ||
357 | + tipoUnidade.isPadrao = false; | ||
358 | + }); | ||
359 | + addTipoUnidadeMedida(unidadeMedidaEntradaTemp); | ||
360 | + $scope.$modalConfirmInstance.dismiss('cancel'); | ||
361 | + } | ||
362 | + }); | ||
363 | + }else{ | ||
364 | + addTipoUnidadeMedida(unidadeMedidaEntradaTemp); | ||
365 | + } | ||
366 | + }else{ | ||
367 | + addTipoUnidadeMedida(unidadeMedidaEntradaTemp); | ||
368 | + } | ||
369 | + } | ||
343 | }; | 370 | }; |
344 | 371 | ||
345 | $scope.exibirDialogRemocaoUnidadeMedida = function() { | 372 | $scope.exibirDialogRemocaoUnidadeMedida = function() { |
@@ -369,16 +396,16 @@ citApp.controller('MaterialController', ['$scope', 'MaterialRepository', 'Classi | @@ -369,16 +396,16 @@ citApp.controller('MaterialController', ['$scope', 'MaterialRepository', 'Classi | ||
369 | $scope.$modalConfirmInstance.dismiss('cancel'); | 396 | $scope.$modalConfirmInstance.dismiss('cancel'); |
370 | }; | 397 | }; |
371 | }); | 398 | }); |
372 | - | 399 | + |
373 | $scope.unidadesMedidaMaterialConsumo.sort(function (a, b) { | 400 | $scope.unidadesMedidaMaterialConsumo.sort(function (a, b) { |
374 | return a.descricao.localeCompare(b.descricao); | 401 | return a.descricao.localeCompare(b.descricao); |
375 | }); | 402 | }); |
376 | }; | 403 | }; |
377 | - | 404 | + |
378 | $scope.getCheckUnidadeMedidaEntrada = function () { | 405 | $scope.getCheckUnidadeMedidaEntrada = function () { |
379 | $scope.material.tiposUnidadeMedidaEntrada.forEach(function (unidade) { | 406 | $scope.material.tiposUnidadeMedidaEntrada.forEach(function (unidade) { |
380 | if(unidade.$checked){ | 407 | if(unidade.$checked){ |
381 | - $scope.unidadeMedidaSelecionada = unidade; | 408 | + $scope.unidadeMedidaSelecionada = unidade; |
382 | } | 409 | } |
383 | }); | 410 | }); |
384 | }; | 411 | }; |
@@ -480,11 +507,11 @@ citApp.controller('MaterialController', ['$scope', 'MaterialRepository', 'Classi | @@ -480,11 +507,11 @@ citApp.controller('MaterialController', ['$scope', 'MaterialRepository', 'Classi | ||
480 | 507 | ||
481 | MaterialCaracteristicaRepository.save(materialCaracteristica).then(function(result) { | 508 | MaterialCaracteristicaRepository.save(materialCaracteristica).then(function(result) { |
482 | $scope.showAlert("success", $translate.instant('MSG.SUCESSO_BLOQUEIO_CARACTERISTICA')); | 509 | $scope.showAlert("success", $translate.instant('MSG.SUCESSO_BLOQUEIO_CARACTERISTICA')); |
483 | - | 510 | + |
484 | materialCaracteristica.$checked = false; | 511 | materialCaracteristica.$checked = false; |
485 | 512 | ||
486 | $scope.apresentarBloquearCaracteristica = false; | 513 | $scope.apresentarBloquearCaracteristica = false; |
487 | - | 514 | + |
488 | materialCaracteristica.version = result.originalElement.version; | 515 | materialCaracteristica.version = result.originalElement.version; |
489 | }); | 516 | }); |
490 | } | 517 | } |
cit-adm-materiais-web/src/main/webapp/html/material/materialTipoUnidadeMedidaEntrada.html
@@ -16,6 +16,16 @@ | @@ -16,6 +16,16 @@ | ||
16 | <label-select ng-id="unidadeMedidaEntrada.unidadeMedida" ng-model="unidadeMedidaEntrada.unidadeMedida" ng-label="ADMINISTRACAODEMATERIAIS.LABEL.TIPO_UNIDADE_MEDIDA_ENTRADA" ng-obrigatorio="false" ng-disabled="!edit" form="formMaterial" | 16 | <label-select ng-id="unidadeMedidaEntrada.unidadeMedida" ng-model="unidadeMedidaEntrada.unidadeMedida" ng-label="ADMINISTRACAODEMATERIAIS.LABEL.TIPO_UNIDADE_MEDIDA_ENTRADA" ng-obrigatorio="false" ng-disabled="!edit" form="formMaterial" |
17 | ng-list="unidadesMedidaMaterialConsumo" ng-custom-options="unidadeMedidaEntrada as unidadeMedidaEntrada.descricao for unidadeMedidaEntrada" > </label-select> | 17 | ng-list="unidadesMedidaMaterialConsumo" ng-custom-options="unidadeMedidaEntrada as unidadeMedidaEntrada.descricao for unidadeMedidaEntrada" > </label-select> |
18 | </div> | 18 | </div> |
19 | + <div class="col-sm-2"> | ||
20 | + <div class="form-group no-label"> | ||
21 | + <div class="input-group"> | ||
22 | + <label> | ||
23 | + <input type="checkbox" ng-model="unidadeMedidaEntrada.isPadrao" ng-disabled="!edit"/> | ||
24 | + <translate>LABEL.PADRAO</translate> | ||
25 | + </label> | ||
26 | + </div> | ||
27 | + </div> | ||
28 | + </div> | ||
19 | </div> | 29 | </div> |
20 | <div class="row"> | 30 | <div class="row"> |
21 | <div class="col-sm-12"> | 31 | <div class="col-sm-12"> |
@@ -25,7 +35,7 @@ | @@ -25,7 +35,7 @@ | ||
25 | <i class="fa fa-plus-circle yellow-dark"></i> | 35 | <i class="fa fa-plus-circle yellow-dark"></i> |
26 | <translate>LABEL.ADICIONAR</translate> </a> | 36 | <translate>LABEL.ADICIONAR</translate> </a> |
27 | </button> | 37 | </button> |
28 | - | 38 | + |
29 | <button title="{{$translate.instant('LABEL.REMOVER')}}" alt="{{$translate.instant('LABEL.REMOVER')}}" class="btn btn-clear" ng-click="exibirDialogRemocaoUnidadeMedida()" ng-disabled="material.tiposUnidadeMedidaEntrada.length < 1 || !edit" type="button"> | 39 | <button title="{{$translate.instant('LABEL.REMOVER')}}" alt="{{$translate.instant('LABEL.REMOVER')}}" class="btn btn-clear" ng-click="exibirDialogRemocaoUnidadeMedida()" ng-disabled="material.tiposUnidadeMedidaEntrada.length < 1 || !edit" type="button"> |
30 | <i class="fa fa-close red"></i> | 40 | <i class="fa fa-close red"></i> |
31 | <translate>LABEL.REMOVER</translate> </a> | 41 | <translate>LABEL.REMOVER</translate> </a> |
@@ -35,13 +45,16 @@ | @@ -35,13 +45,16 @@ | ||
35 | <thead> | 45 | <thead> |
36 | <tr> | 46 | <tr> |
37 | <th class="text-center" style="width: 5%;"></th> | 47 | <th class="text-center" style="width: 5%;"></th> |
38 | - | 48 | + |
39 | <th style="width: 30%;"> | 49 | <th style="width: 30%;"> |
40 | <translate>LABEL.UNIDADE_MEDIDA</translate> | 50 | <translate>LABEL.UNIDADE_MEDIDA</translate> |
41 | </th> | 51 | </th> |
42 | <th style="width: 30%;"> | 52 | <th style="width: 30%;"> |
43 | <translate>ADMINISTRACAODEMATERIAIS.LABEL.TIPO_NUMERICO</translate> | 53 | <translate>ADMINISTRACAODEMATERIAIS.LABEL.TIPO_NUMERICO</translate> |
44 | </th> | 54 | </th> |
55 | + <th style="width: 8%;"> | ||
56 | + <translate>LABEL.PADRAO</translate> | ||
57 | + </th> | ||
45 | </tr> | 58 | </tr> |
46 | </thead> | 59 | </thead> |
47 | <tbody> | 60 | <tbody> |
@@ -55,12 +68,15 @@ | @@ -55,12 +68,15 @@ | ||
55 | <td> | 68 | <td> |
56 | {{medidaEntrada.unidadeMedida.tipoNumerico.descricao}} | 69 | {{medidaEntrada.unidadeMedida.tipoNumerico.descricao}} |
57 | </td> | 70 | </td> |
71 | + <td> | ||
72 | + <input type="checkbox" ng-model="medidaEntrada.isPadrao" ng-disabled="true"/> | ||
73 | + </td> | ||
58 | </tr> | 74 | </tr> |
59 | </tbody> | 75 | </tbody> |
60 | </table> | 76 | </table> |
61 | - | 77 | + |
62 | </div> | 78 | </div> |
63 | - | 79 | + |
64 | </div> | 80 | </div> |
65 | </div><!-- .row --> | 81 | </div><!-- .row --> |
66 | </div><!-- .widget-main --> | 82 | </div><!-- .widget-main --> |