Commit 9284e2692c466b8157e9ad7c864fcf3433d60941

Authored by erick.sato
1 parent b8f36bb7
Exists in master

Redmine #5043 Reformulação ressuprimento notificação

cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/EnderecoEstoque.java
@@ -70,7 +70,7 @@ public class EnderecoEstoque extends PersistentObjectAuditOrganizacao { @@ -70,7 +70,7 @@ public class EnderecoEstoque extends PersistentObjectAuditOrganizacao {
70 70
71 /** Atributo entrada. */ 71 /** Atributo entrada. */
72 @ManyToOne(fetch = FetchType.LAZY, optional = true) 72 @ManyToOne(fetch = FetchType.LAZY, optional = true)
73 - @JsonView({ ViewsAdmMateriais.EnderecoEstoqueView.class, Views.MaterialLocalEstoqueView.class, ViewsAdmMateriais.TransferenciaEnderecoEstoqueView.class }) 73 + @JsonView({ ViewsAdmMateriais.EnderecoEstoqueView.class, Views.MaterialLocalEstoqueView.class, ViewsAdmMateriais.TransferenciaEnderecoEstoqueView.class, ViewsAdmMateriais.LocalEstoqueAutoCompleteView.class })
74 private Estoque estoque; 74 private Estoque estoque;
75 75
76 @ManyToOne(fetch = FetchType.LAZY, optional = true) 76 @ManyToOne(fetch = FetchType.LAZY, optional = true)
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/Estoque.java
@@ -71,7 +71,7 @@ public class Estoque extends PersistentObjectAuditOrganizacao { @@ -71,7 +71,7 @@ public class Estoque extends PersistentObjectAuditOrganizacao {
71 /** Atributo almoxarifado. */ 71 /** Atributo almoxarifado. */
72 @OneToOne(fetch = FetchType.LAZY, optional = false) 72 @OneToOne(fetch = FetchType.LAZY, optional = false)
73 @JsonView({ ViewsAdmMateriais.LocalEstoqueAutoCompleteView.class, 73 @JsonView({ ViewsAdmMateriais.LocalEstoqueAutoCompleteView.class,
74 - ViewsAlmoxarifado.ConfiguracaoRessuprimentoEditView.class, Views.MaterialConsultaInfo.class, ViewsAdmMateriais.EnderecoEstoqueView.class, Views.MaterialLocalEstoqueView.class, ViewsAdmMateriais.TransferenciaEnderecoEstoqueView.class }) 74 + ViewsAlmoxarifado.ConfiguracaoRessuprimentoEditView.class, Views.MaterialConsultaInfo.class, ViewsAdmMateriais.EnderecoEstoqueView.class, Views.MaterialLocalEstoqueView.class, ViewsAdmMateriais.TransferenciaEnderecoEstoqueView.class, ViewsAdmMateriais.LocalEstoqueAutoCompleteView.class })
75 private EstruturaOrganizacional almoxarifado; 75 private EstruturaOrganizacional almoxarifado;
76 76
77 /** Atributo locais. */ 77 /** Atributo locais. */
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/MaterialLocalEstoque.java
@@ -77,7 +77,7 @@ public class MaterialLocalEstoque extends PersistentObjectAuditOrganizacao { @@ -77,7 +77,7 @@ public class MaterialLocalEstoque extends PersistentObjectAuditOrganizacao {
77 77
78 /** Atributo endereco. */ 78 /** Atributo endereco. */
79 @ManyToOne(fetch = FetchType.LAZY, optional = false) 79 @ManyToOne(fetch = FetchType.LAZY, optional = false)
80 - @JsonView({ Views.MaterialLocalEstoqueView.class, ViewsAdmMateriais.TransferenciaEnderecoEstoqueView.class, ViewsAdmMateriais.RequisicaoConsumoEditView.class }) 80 + @JsonView({ Views.MaterialLocalEstoqueView.class, ViewsAdmMateriais.TransferenciaEnderecoEstoqueView.class, ViewsAdmMateriais.RequisicaoConsumoEditView.class, ViewsAdmMateriais.LocalEstoqueAutoCompleteView.class })
81 private EnderecoEstoque endereco; 81 private EnderecoEstoque endereco;
82 82
83 /** Atributo enderecoInativo. */ 83 /** Atributo enderecoInativo. */
cit-almoxarifado-web/src/main/webapp/assets/js/angular/custom/controller/ConfiguracaoNotificacaoRessuprimentoController.js
1 'use strict'; 1 'use strict';
2 2
3 -citApp.controller('ConfiguracaoNotificacaoRessuprimentoController',['$scope', 'ConfiguracaoNotificacaoRessuprimentoRepository', '$translate', '$timeout', 'NotificacaoRepository', 'LocalEstoqueRepository', 'MaterialConsumoRepository', 'ConfiguracaoNotificacaoRessuprimentoGrupoRepository', 'GrupoRepository', 'UsuarioRepository', '$filter', 'ConfiguracaoNotificacaoRessuprimentoUsuarioRepository',  
4 - function ConfiguracaoNotificacaoRessuprimentoController($scope, ConfiguracaoNotificacaoRessuprimentoRepository, $translate, $timeout, NotificacaoRepository , LocalEstoqueRepository , MaterialConsumoRepository, ConfiguracaoNotificacaoRessuprimentoGrupoRepository, GrupoRepository, UsuarioRepository, $filter, ConfiguracaoNotificacaoRessuprimentoUsuarioRepository) { 3 +citApp.controller('ConfiguracaoNotificacaoRessuprimentoController',['$scope', 'ConfiguracaoNotificacaoRessuprimentoRepository', '$translate', '$timeout', 'NotificacaoRepository', 'LocalEstoqueRepository', 'MaterialConsumoRepository', 'ConfiguracaoNotificacaoRessuprimentoGrupoRepository', 'GrupoRepository', 'UsuarioRepository', '$filter', 'ConfiguracaoNotificacaoRessuprimentoUsuarioRepository', 'EstruturaOrganizacionalAlmoxarifadoRepository', 'MaterialLocalEstoqueRepository',
  4 + function ConfiguracaoNotificacaoRessuprimentoController($scope, ConfiguracaoNotificacaoRessuprimentoRepository, $translate, $timeout, NotificacaoRepository , LocalEstoqueRepository , MaterialConsumoRepository, ConfiguracaoNotificacaoRessuprimentoGrupoRepository, GrupoRepository, UsuarioRepository, $filter, ConfiguracaoNotificacaoRessuprimentoUsuarioRepository, EstruturaOrganizacionalAlmoxarifadoRepository, MaterialLocalEstoqueRepository) {
5 5
6 $scope.configuracaoNotificacaoRessuprimento = {}; 6 $scope.configuracaoNotificacaoRessuprimento = {};
7 7
@@ -14,10 +14,25 @@ citApp.controller('ConfiguracaoNotificacaoRessuprimentoController',['$scope', 'C @@ -14,10 +14,25 @@ citApp.controller('ConfiguracaoNotificacaoRessuprimentoController',['$scope', 'C
14 $scope.configuracaoNotificacaoRessuprimentoUsuario = {}; 14 $scope.configuracaoNotificacaoRessuprimentoUsuario = {};
15 15
16 $scope.findAutoCompleteLocalEstoque = function(value){ 16 $scope.findAutoCompleteLocalEstoque = function(value){
17 - return LocalEstoqueRepository.findAutoComplete('almoxarifado.nome', value).then(function(result) { 17 + return MaterialLocalEstoqueRepository.listarMaterialEstoquePorMaterial(value, $scope.usuarioLogado.organizacao.id).then(function(result) {
  18 +// return EstruturaOrganizacionalAlmoxarifadoRepository.findAutoComplete('endereco.estoque.almoxarifado.nome', value).then(function(result) {
18 return result; 19 return result;
19 }); 20 });
20 }; 21 };
  22 +
  23 +
  24 + $scope.listaLocaisEstoqueMaterial = function(){
  25 +
  26 + $timeout(function(){
  27 + $scope.setLoading(true);
  28 + $scope.listaMaterialEnderecoEstoque = [];
  29 + MaterialLocalEstoqueRepository.listarMaterialEstoquePorMaterial($scope.configuracaoNotificacaoRessuprimento.materialConsumo.id).then(function(result) {
  30 + $scope.listaMaterialEnderecoEstoque = result;
  31 + $scope.setLoading(false);
  32 + });
  33 + });
  34 + };
  35 +
21 36
22 $scope.findAutoCompleteMaterial = function(value){ 37 $scope.findAutoCompleteMaterial = function(value){
23 return MaterialConsumoRepository.findMateriaisConsumoByOrganizacao(value, $scope.usuarioLogado.organizacao.id).then(function(result) { 38 return MaterialConsumoRepository.findMateriaisConsumoByOrganizacao(value, $scope.usuarioLogado.organizacao.id).then(function(result) {
cit-almoxarifado-web/src/main/webapp/html/configuracaoNotificacaoRessuprimento/configuracaoNotificacaoRessuprimentoEdit.html
@@ -52,11 +52,15 @@ @@ -52,11 +52,15 @@
52 <div class="row"> 52 <div class="row">
53 53
54 <div class="col-md-6"> 54 <div class="col-md-6">
55 - <auto-complete ng-id="configuracaoNotificacaoRessuprimento.localEstoque" ng-label="ALMOXARIFADO.LABEL.LOCAL_ESTOQUE" ng-model="configuracaoNotificacaoRessuprimento.localEstoque" form="configuracaoNotificacaoRessuprimentoForm" ng-obrigatorio="true" ng-disabled="!edit" ng-find="findAutoCompleteLocalEstoque(value)" ng-item="item.almoxarifado.nome" /> 55 + <auto-complete ng-id="configuracaoNotificacaoRessuprimento.material" ng-label="LABEL.MATERIAL" ng-model="configuracaoNotificacaoRessuprimento.materialConsumo" form="configuracaoNotificacaoRessuprimentoForm" ng-obrigatorio="true" ng-disabled="!edit" ng-find="findAutoCompleteMaterial(value)" ng-item="item.codigoEDescricao" ng-set-result="listaLocaisEstoqueMaterial()" />
56 </div> 56 </div>
57 -  
58 - <div class="col-md-6">  
59 - <label-input-decimal ng-label="ALMOXARIFADO.LABEL.LIMITE_ESTOQUE" ng-obrigatorio="true" ng-precisao="2" form="configuracaoNotificacaoRessuprimentoForm" ng-id="configuracaoNotificacaoRessuprimento.limiteEstoque" ng-disabled="!edit" ng-model="configuracaoNotificacaoRessuprimento.limiteEstoque"/> 57 +
  58 + <div class="col-md-6">
  59 +
  60 + <label-select ng-label="ALMOXARIFADO.LABEL.ENDERECO_ESTOQUE" ng-id="configuracaoNotificacaoRessuprimento.localEstoque" ng-obrigatorio="true" ng-disabled="!edit"
  61 + ng-model="configuracaoNotificacaoRessuprimento.localEstoque" ng-list="listaMaterialEnderecoEstoque"
  62 + form="configuracaoNotificacaoRessuprimentoForm" track-by="track by localEstoque.id"
  63 + ng-custom-options="localEstoque.originalElement as localEstoque.endereco.descricao for localEstoque"></label-select>
60 </div> 64 </div>
61 65
62 </div> 66 </div>
@@ -64,9 +68,8 @@ @@ -64,9 +68,8 @@
64 <div class="row"> 68 <div class="row">
65 69
66 <div class="col-md-6"> 70 <div class="col-md-6">
67 - <label-input-number ng-id="configuracaoNotificacaoRessuprimento.pontoPedido" ng-label="ALMOXARIFADO.LABEL.PONTO_PEDIDO" ng-model="configuracaoNotificacaoRessuprimento.pontoPedido" form="configuracaoNotificacaoRessuprimentoForm" ng-obrigatorio="false" ng-disabled="!edit" /> 71 + <label-input-decimal ng-label="ALMOXARIFADO.LABEL.LIMITE_ESTOQUE" ng-obrigatorio="true" ng-precisao="2" form="configuracaoNotificacaoRessuprimentoForm" ng-id="configuracaoNotificacaoRessuprimento.limiteEstoque" ng-disabled="!edit" ng-model="configuracaoNotificacaoRessuprimento.limiteEstoque"/>
68 </div> 72 </div>
69 -  
70 <div class="col-md-6"> 73 <div class="col-md-6">
71 <div class='form-group' ng-class="{'has-error': (configuracaoNotificacaoRessuprimentoForm['configuracaoNotificacaoRessuprimento.cronExpression'].$error.required) && (!configuracaoNotificacaoRessuprimentoForm['configuracaoNotificacaoRessuprimento.cronExpression'].$pristine || configuracaoNotificacaoRessuprimentoForm.$submitted)}"> 74 <div class='form-group' ng-class="{'has-error': (configuracaoNotificacaoRessuprimentoForm['configuracaoNotificacaoRessuprimento.cronExpression'].$error.required) && (!configuracaoNotificacaoRessuprimentoForm['configuracaoNotificacaoRessuprimento.cronExpression'].$pristine || configuracaoNotificacaoRessuprimentoForm.$submitted)}">
72 <label class='control-label'><translate>ALMOXARIFADO.LABEL.CRON_EXPRESSION</translate> 75 <label class='control-label'><translate>ALMOXARIFADO.LABEL.CRON_EXPRESSION</translate>
@@ -77,17 +80,18 @@ @@ -77,17 +80,18 @@
77 <input type="text" class='form-control' id='configuracaoNotificacaoRessuprimento.cronExpression' maxlength='200' name='configuracaoNotificacaoRessuprimento.cronExpression' ng-model='configuracaoNotificacaoRessuprimento.cronExpression' ng-disabled='!edit' ng-required='true'/> 80 <input type="text" class='form-control' id='configuracaoNotificacaoRessuprimento.cronExpression' maxlength='200' name='configuracaoNotificacaoRessuprimento.cronExpression' ng-model='configuracaoNotificacaoRessuprimento.cronExpression' ng-disabled='!edit' ng-required='true'/>
78 </div> 81 </div>
79 </div> 82 </div>
80 -  
81 </div> 83 </div>
82 84
83 <div class="row"> 85 <div class="row">
84 86
85 <div class="col-md-6"> 87 <div class="col-md-6">
86 - <auto-complete ng-id="configuracaoNotificacaoRessuprimento.material" ng-label="LABEL.MATERIAL" ng-model="configuracaoNotificacaoRessuprimento.materialConsumo" form="configuracaoNotificacaoRessuprimentoForm" ng-obrigatorio="true" ng-disabled="!edit" ng-find="findAutoCompleteMaterial(value)" ng-item="item.codigoEDescricao" /> 88 + <label-input-number ng-id="configuracaoNotificacaoRessuprimento.pontoPedido" ng-label="ALMOXARIFADO.LABEL.PONTO_PEDIDO" ng-model="configuracaoNotificacaoRessuprimento.pontoPedido" form="configuracaoNotificacaoRessuprimentoForm" ng-obrigatorio="false" ng-disabled="!edit" />
87 </div> 89 </div>
88 90
89 </div> 91 </div>
90 92
  93 +
  94 +
91 <div class="row"> 95 <div class="row">
92 <div class="col-md-12"> 96 <div class="col-md-12">
93 <label-text-area ng-id="configuracaoNotificacaoRessuprimento.notificacao.mensagem" name="configuracaoNotificacaoRessuprimento.notificacao.mensagem" ng-label="LABEL.MENSAGEM" ng-model="configuracaoNotificacaoRessuprimento.notificacao.mensagem" ng-custom-maxlength="255" ng-obrigatorio="true" form="configuracaoNotificacaoRessuprimentoForm" ng-disabled="!edit"/> 97 <label-text-area ng-id="configuracaoNotificacaoRessuprimento.notificacao.mensagem" name="configuracaoNotificacaoRessuprimento.notificacao.mensagem" ng-label="LABEL.MENSAGEM" ng-model="configuracaoNotificacaoRessuprimento.notificacao.mensagem" ng-custom-maxlength="255" ng-obrigatorio="true" form="configuracaoNotificacaoRessuprimentoForm" ng-disabled="!edit"/>