Commit 381a1c71bdf329cd47db2f9dea25ee3a49329b06

Authored by geovane.filho
2 parents c4791372 ac65002e
Exists in master

Merge branch 'adm-1.16.0'

cit-adm-materiais-api/src/main/java/br/com/centralit/api/dao/ConfiguracaoDao.java
... ... @@ -1,38 +0,0 @@
1   -package br.com.centralit.api.dao;
2   -
3   -import br.com.centralit.framework.dao.arquitetura.CitGenericDAO;
4   -import br.com.centralit.framework.model.Usuario;
5   -
6   -/**
7   - * <p><img src="http://centralit.com.br/images/logo_central.png"></p>
8   - *
9   - * <p><b>Company: </b> Central IT - Governança Corporativa - </p>
10   - *
11   - * <p><b>Title: ConfiguracaoDao </b></p>
12   - *
13   - * <p><b>Description: </b></p>
14   - *
15   - * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p>
16   - *
17   - * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
18   - *
19   - * @since 09/01/2015 - 13:15:56
20   - *
21   - * @version 1.0.0
22   - *
23   - * @author rogerio.cassimiro
24   - *
25   - */
26   -public interface ConfiguracaoDao extends CitGenericDAO {
27   -
28   - /**
29   - *
30   - * Método responsável por
31   - *
32   - * @author wilker.machado
33   - *
34   - * @param idContaContabil
35   - * @param usuarioLogado
36   - * @return
37   - */
38   - boolean existeContaContabilVinculadoACOnfiguracao(Long idContaContabil, Usuario usuarioLogado);}
cit-adm-materiais-api/src/main/java/br/com/centralit/api/dao/impl/ConfiguracaoDaoHibernate.java
... ... @@ -1,66 +0,0 @@
1   -package br.com.centralit.api.dao.impl;
2   -
3   -import br.com.centralit.api.dao.ConfiguracaoDao;
4   -
5   -import org.springframework.stereotype.Repository;
6   -
7   -import com.googlecode.genericdao.search.Filter;
8   -
9   -import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl;
10   -import br.com.centralit.framework.dao.arquitetura.SearchSeven;
11   -import br.com.centralit.framework.model.Configuracao;
12   -import br.com.centralit.framework.model.Usuario;
13   -
14   -/**
15   - * <p>
16   - * <img src="http://centralit.com.br/images/logo_central.png">
17   - * </p>
18   - *
19   - * <p>
20   - * <b>Company: </b> Central IT - Governança Corporativa -
21   - * </p>
22   - *
23   - * <p>
24   - * <b>Title: ConfiguracaoDaoHibernate</b>
25   - * </p>
26   - *
27   - * <p>
28   - * <b>Description: </b>
29   - * </p>
30   - *
31   - * <p>
32   - * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>
33   - * </p>
34   - *
35   - * <p>
36   - * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
37   - * </p>
38   - *
39   - * @since 09/01/2015 - 13:16:29
40   - *
41   - * @version 1.0.0
42   - *
43   - * @author rogerio.cassimiro
44   - *
45   - */
46   -@Repository("configuracaoDao")
47   -public class ConfiguracaoDaoHibernate extends CitGenericDAOImpl implements ConfiguracaoDao {
48   -
49   - public ConfiguracaoDaoHibernate() {
50   -
51   - super(Configuracao.class);
52   - }
53   -
54   - /**
55   - * {@inheritDoc}
56   - */
57   - @Override
58   - public boolean existeContaContabilVinculadoACOnfiguracao(Long idContaContabil, Usuario usuarioLogado) {
59   -
60   - SearchSeven searchSeven = new SearchSeven();
61   -
62   - searchSeven.addFilterOr(Filter.equal("contaContabilAlmoxarifado.id", idContaContabil), Filter.equal("contaContabilExtraviado.id", idContaContabil));
63   -
64   - return this.count(searchSeven) > 0;
65   - }
66   -}
cit-adm-materiais-api/src/main/java/br/com/centralit/api/dao/impl/MaterialConsumoTipoUnidadeMedidaEntradaDaoHibernate.java
... ... @@ -37,10 +37,10 @@ public class MaterialConsumoTipoUnidadeMedidaEntradaDaoHibernate extends CitGene
37 37 public boolean validarUnidadeEmUsoEntradaAlmoxarifado(Long idUnidadeMedida, Long idMaterialConsumo) {
38 38  
39 39 StringBuilder sb = new StringBuilder();
40   - sb.append("select eai.id from entradaalmoxarifadoitem eai ")
41   - .append("inner join entradaalmoxarifado ea on ea.id = eai.entrada_id ")
  40 + sb.append("select eai.id from alm_en_entradaitem eai ")
  41 + .append("inner join alm_entrada ea on ea.id = eai.entrada_id ")
42 42 .append("inner join unidademedida um on um.id = eai.unidademedidaentrada_id ")
43   - .append("inner join materialconsumo mc on mc.id = eai.material_id ")
  43 + .append("inner join alm_materialconsumo mc on mc.id = eai.material_id ")
44 44 .append("where um.id = :idUnidadeMedida and mc.id = :idMaterialConsumo");
45 45  
46 46 Query q = em().createNativeQuery(sb.toString());
... ...
cit-adm-materiais-api/src/main/java/br/com/centralit/api/model/MaterialConsumo.java
... ... @@ -70,7 +70,8 @@ public class MaterialConsumo extends Material {
70 70 ViewsAdmMateriais.EntradaAlmoxarifadoEditView.class,
71 71 ViewsAdmMateriais.MaterialConsumoBaixaAutoCompleteView.class,
72 72 ViewsAdmMateriais.BaixaAlmoxarifadoEditView.class,
73   - ViewsAdmMateriais.CatalogoMaterialItemEditView.class, Views.MaterialConsultaInfo.class, ViewsAdmMateriais.RequisicaoConsumo.class})
  73 + ViewsAdmMateriais.CatalogoMaterialItemEditView.class, Views.MaterialConsultaInfo.class, ViewsAdmMateriais.RequisicaoConsumo.class,
  74 + Views.GenericView.class})
74 75 private UnidadeMedida unidadeArmazenamento;
75 76  
76 77 /** Atributo tiposUnidadeMedidaEntrada. */
... ...
cit-adm-materiais-api/src/main/java/br/com/centralit/api/service/impl/ContaContabilServiceImpl.java
... ... @@ -202,7 +202,7 @@ public class ContaContabilServiceImpl extends GenericServiceImpl&lt;ContaContabil,
202 202 this.montaContaContabilSaldoAnterior(entity);
203 203 }
204 204  
205   - contaContabil = calcularTaxaDepreciacao(entity);
  205 + calcularTaxaDepreciacao(entity);
206 206  
207 207 return super.merge(entity);
208 208  
... ...
cit-adm-materiais-api/src/main/java/br/com/centralit/api/service/impl/InicializarAdmMateriaisServiceImpl.java
... ... @@ -112,8 +112,8 @@ public class InicializarAdmMateriaisServiceImpl extends UtilStartup {
112 112 pgFechamentoMes = this.paginaService.saveIfNotExist(pgFechamentoMes);
113 113 Menu menuFechamentoMes = new Menu("Fechamento do mês de referência", pgFechamentoMes, menuFinanceiro, null, 3, null, null, null, null, moduloSelecionado);
114 114 List<MenuFile> filesMenuFileFechamentoMes = this.gerarArquivosMenu(menuFechamentoMes, CIT_ADM_MATERIAIS_WEB_ANGULAR_CUSTOM, "MesReferencia", true, false, false);
115   - filesMenuFileFechamentoMes.add(new MenuFile(CIT_ADM_MATERIAIS_WEB_ANGULAR_CUSTOM + "repository/OrganizacaoAdmMateriaisRepository.js", dominioJS, menuFechamentoMes));
116   - filesMenuFileFechamentoMes.add(new MenuFile(CIT_ADM_MATERIAIS_WEB_ANGULAR_CUSTOM + "repository/OrganizacaoAdmMateriaisRepository.min.js", dominioJS, menuFechamentoMes));
  115 + filesMenuFileFechamentoMes.add(new MenuFile(CIT_PATRIMONIO_WEB_ANGULAR_CUSTOM + "repository/OrganizacaoPatrimonioRepository.js", dominioJS, menuFechamentoMes));
  116 + filesMenuFileFechamentoMes.add(new MenuFile(CIT_PATRIMONIO_WEB_ANGULAR_CUSTOM + "repository/OrganizacaoPatrimonioRepository.min.js", dominioJS, menuFechamentoMes));
117 117 //Observar comportamento pois nao preciso de todos os arquivos do backend para esse fechamento
118 118 menuFechamentoMes.setIncludes(filesMenuFileFechamentoMes);
119 119 this.menuService.mergeIfNotExist(menuFechamentoMes);
... ...
cit-adm-materiais-api/src/main/java/br/com/centralit/api/viewHelper/AtendimentoVH.java
1 1 package br.com.centralit.api.viewHelper;
2 2  
3 3 import java.io.Serializable;
  4 +import java.util.List;
  5 +
  6 +import br.com.centralit.framework.model.SearchParams;
4 7  
5 8 /**
6 9 * <p>
... ... @@ -46,6 +49,16 @@ public class AtendimentoVH implements Serializable {
46 49 /** Atributo idRequisicao. */
47 50 private Long idRequisicao;
48 51  
  52 + private List<Long> idsRequisicao;
  53 +
  54 + private List<Long> idsMaterais;
  55 +
  56 + private List<Long> idsUnidadesRequisitantes;
  57 +
  58 + private SearchParams searchParams;
  59 +
  60 + private boolean bloquearAtendimento;
  61 +
49 62 /**
50 63 * Retorna o valor do atributo <code>idOrganizacao</code>
51 64 *
... ... @@ -86,4 +99,43 @@ public class AtendimentoVH implements Serializable {
86 99 this.idRequisicao = idRequisicao;
87 100 }
88 101  
  102 + public List<Long> getIdsRequisicao() {
  103 + return idsRequisicao;
  104 + }
  105 +
  106 + public void setIdsRequisicao(List<Long> idsRequisicao) {
  107 + this.idsRequisicao = idsRequisicao;
  108 + }
  109 +
  110 + public List<Long> getIdsMaterais() {
  111 + return idsMaterais;
  112 + }
  113 +
  114 + public void setIdsMaterais(List<Long> idsMaterais) {
  115 + this.idsMaterais = idsMaterais;
  116 + }
  117 +
  118 + public List<Long> getIdsUnidadesRequisitantes() {
  119 + return idsUnidadesRequisitantes;
  120 + }
  121 +
  122 + public void setIdsUnidadesRequisitantes(List<Long> idsUnidadesRequisitantes) {
  123 + this.idsUnidadesRequisitantes = idsUnidadesRequisitantes;
  124 + }
  125 +
  126 + public SearchParams getSearchParams() {
  127 + return searchParams;
  128 + }
  129 +
  130 + public void setSearchParams(SearchParams searchParams) {
  131 + this.searchParams = searchParams;
  132 + }
  133 +
  134 + public boolean isBloquearAtendimento() {
  135 + return bloquearAtendimento;
  136 + }
  137 +
  138 + public void setBloquearAtendimento(boolean bloquearAtendimento) {
  139 + this.bloquearAtendimento = bloquearAtendimento;
  140 + }
89 141 }
... ...
cit-adm-materiais-api/src/main/java/br/com/centralit/api/viewHelper/RequisicaoVH.java
... ... @@ -78,6 +78,8 @@ public class RequisicaoVH implements Serializable {
78 78 @JsonDeserialize(using = JsonCalendarSimpleDateDeserializer.class)
79 79 private Calendar dataFinalizacao;
80 80  
  81 + private Boolean statusAtendimentoRequsicao;
  82 +
81 83 /**
82 84 * Retorna o valor do atributo <code>idsTtipoStatusRequisicao</code>
83 85 *
... ... @@ -238,4 +240,12 @@ public class RequisicaoVH implements Serializable {
238 240 this.dataFinalizacao = dataFinalizacao;
239 241 }
240 242  
  243 + public Boolean getStatusAtendimentoRequsicao() {
  244 + return statusAtendimentoRequsicao;
  245 + }
  246 +
  247 + public void setStatusAtendimentoRequsicao(Boolean statusAtendimentoRequsicao) {
  248 + this.statusAtendimentoRequsicao = statusAtendimentoRequsicao;
  249 + }
  250 +
241 251 }
... ...
cit-adm-materiais-api/src/main/resources/scripts-bd/postgres/v1.16.0/01-cit-adm-materiais-v1.16.0-postgres.sql 0 → 100644
... ... @@ -0,0 +1,329 @@
  1 +-- THIAGO INICIO 18/05/2016
  2 +INSERT INTO configuracaoparametrosistema (
  3 + id, datacriacao, dataedicao, version,
  4 + chave, valor, configuracao_id)
  5 +VALUES (
  6 + NEXTVAL('hibernate_sequence'), LOCALTIMESTAMP, LOCALTIMESTAMP, 0,
  7 + 'TIPO_CONFIGURACAO_UNIDADE_MEDIDA_ENTRADA', '1', 1);
  8 +
  9 +
  10 +INSERT INTO dominio (
  11 + id,datacriacao,dataedicao,version,
  12 + chave,codigo,descricao,nome)
  13 +VALUES(
  14 + (SELECT NEXTVAL('hibernate_sequence')),
  15 + LOCALTIMESTAMP, LOCALTIMESTAMP,0,'tipoConfiguracaoUnidadeMedida',
  16 + 1,'Considerar a mesma unidade de medida de armazenamento',
  17 + 'UNIDADE_MEDIDA_ARMAZENAMENTO');
  18 +
  19 +INSERT INTO dominio (
  20 + id,datacriacao,dataedicao,version,
  21 + chave,codigo,descricao,nome)
  22 +VALUES(
  23 + (SELECT NEXTVAL('hibernate_sequence')) ,
  24 + LOCALTIMESTAMP, LOCALTIMESTAMP,0,'tipoConfiguracaoUnidadeMedida',
  25 + 2,'Permitir múltiplas unidades de medida de entrada',
  26 + 'PERMITIR_MULTIPLAS_UNIDADES_MEDIDA');
  27 +-- THIAGO FIM 18/05/2016
  28 +
  29 +
  30 +-- GEOVANE INICIO 24/05/2016
  31 +
  32 +DO $$
  33 +
  34 + DECLARE r record;
  35 + BEGIN
  36 +
  37 + FOR r IN (SELECT id FROM configuracao) LOOP
  38 +
  39 + IF NOT EXISTS (SELECT id FROM configuracaoparametrosistema WHERE configuracao_id = r.id AND chave = 'MARGEM_ERRO_PRECO_MEDIO') THEN
  40 + INSERT INTO configuracaoparametrosistema(id, datacriacao, dataedicao, version, chave, isobrigatorio, valor, configuracao_id)
  41 + VALUES(NEXTVAL('hibernate_sequence'),
  42 + LOCALTIMESTAMP,
  43 + LOCALTIMESTAMP,
  44 + 0,
  45 + 'MARGEM_ERRO_PRECO_MEDIO',
  46 + true,
  47 + '20',
  48 + r.id);
  49 + END IF;
  50 +
  51 + END LOOP;
  52 +
  53 +END $$;
  54 +
  55 +INSERT INTO alm_mc_unidmedidaentrada(id, materialconsumo_id, unidademedida_id, ispadrao)
  56 + SELECT NEXTVAL('hibernate_sequence') AS id,
  57 + mat.id AS materialconsumo_id,
  58 + mat.unidadearmazenamento_id AS unidademedida_id,
  59 + false AS ispadrao
  60 + FROM alm_materialconsumo mat
  61 + WHERE mat.unidadearmazenamento_id NOT IN (
  62 + SELECT unidademedida_id FROM alm_mc_unidmedidaentrada WHERE materialconsumo_id = mat.id
  63 + );
  64 +
  65 +UPDATE
  66 + alm_mc_unidmedidaentrada und
  67 +SET
  68 + ispadrao = true
  69 +FROM
  70 + (SELECT mat.id, mat.unidadearmazenamento_id FROM alm_materialconsumo mat WHERE
  71 + (SELECT count(*) FROM alm_mc_unidmedidaentrada WHERE materialconsumo_id = mat.id AND ispadrao = true) = 0) AS undidadesEnt
  72 +WHERE
  73 + und.materialconsumo_id = undidadesEnt.id AND und.unidademedida_id = undidadesEnt.unidadearmazenamento_id;
  74 +
  75 +-- GEOVANE FIM 24/05/2016
  76 +-- ERICK INICIO 16/05/2016
  77 +DELETE FROM alm_bem_caracteristica CASCADE;
  78 +DELETE FROM alm_me_fifoitem CASCADE;
  79 +DELETE FROM alm_en_documento CASCADE;
  80 +DELETE FROM alm_en_entradaitem CASCADE;
  81 +DELETE FROM alm_en_observacao CASCADE;
  82 +DELETE FROM alm_entrada CASCADE;
  83 +DELETE FROM alm_me_movimentoestoque CASCADE;
  84 +DELETE FROM alm_me_localestoque CASCADE;
  85 +DELETE FROM alm_materialestoque CASCADE;
  86 +
  87 +DELETE FROM alm_rc_atendimentoitem CASCADE;
  88 +DELETE FROM alm_rc_atendimento CASCADE;
  89 +
  90 +DELETE FROM alm_rc_item CASCADE;
  91 +DELETE FROM alm_rc_observacao CASCADE;
  92 +DELETE FROM alm_requisicaoconsumo CASCADE;
  93 +
  94 +DELETE FROM DOMINIO WHERE CHAVE = 'tipoStatusRequisicao';
  95 +
  96 +INSERT INTO dominio
  97 +(id, datacriacao, dataedicao, datainativo, version, chave, descricao, nome, codigo, ispadrao)
  98 +VALUES
  99 +(NEXTVAL('hibernate_sequence'), LOCALTIMESTAMP, LOCALTIMESTAMP, NULL, 0, 'tipoStatusRequisicao', 'Atendida parcialmente', 'ATENDIDA_PARCIALMENTE', 1, false),
  100 +(NEXTVAL('hibernate_sequence'), LOCALTIMESTAMP, LOCALTIMESTAMP, NULL, 0, 'tipoStatusRequisicao', 'Pronta para atendimento', 'PRONTA_PARA_ATENDIMENTO', 2, false),
  101 +(NEXTVAL('hibernate_sequence'), LOCALTIMESTAMP, LOCALTIMESTAMP, NULL, 0, 'tipoStatusRequisicao', 'Não concluída', 'NAO_CONCLUIDA', 3, false),
  102 +(NEXTVAL('hibernate_sequence'), LOCALTIMESTAMP, LOCALTIMESTAMP, NULL, 0, 'tipoStatusRequisicao', 'Devolvida', 'DEVOLVIDA', 4, false),
  103 +(NEXTVAL('hibernate_sequence'), LOCALTIMESTAMP, LOCALTIMESTAMP, NULL, 0, 'tipoStatusRequisicao', 'Finalizada', 'FINALIZADA', 5, false);
  104 +-- ERICK FIM 16/05/2016
  105 +
  106 +-- RONAN INICIO 18/05/2016
  107 +
  108 +ALTER TABLE alm_rc_atendimentoitem ADD COLUMN materiallocalestoque_id bigint;
  109 +ALTER TABLE alm_rc_atendimentoitem
  110 + ADD CONSTRAINT fk_hx3srtvuubkwfds6s3bckj3yp FOREIGN KEY (materiallocalestoque_id)
  111 + REFERENCES public.alm_me_localestoque (id) MATCH SIMPLE
  112 + ON UPDATE NO ACTION ON DELETE NO ACTION;
  113 +
  114 +-- RONAN FIM 18/05/2016
  115 +
  116 +
  117 +-- ERICK INICIO 19/05/2016
  118 +
  119 + CREATE TABLE alm_rc_atendimento_aud
  120 +(
  121 + id bigint NOT NULL,
  122 + rev integer NOT NULL,
  123 + revtype smallint,
  124 + databloqueio date,
  125 + datainativo date,
  126 + datacriacao timestamp without time zone,
  127 + dataedicao timestamp without time zone,
  128 + dataatendimento timestamp without time zone,
  129 + numeroatendimento character varying(30),
  130 + autor_id bigint,
  131 + editor_id bigint,
  132 + requisicaoconsumo_id bigint
  133 +);
  134 +
  135 +CREATE TABLE alm_requisicaoconsumo_aud
  136 +(
  137 + id bigint NOT NULL,
  138 + rev integer NOT NULL,
  139 + revtype smallint,
  140 + databloqueio date,
  141 + datainativo date,
  142 + datacriacao timestamp without time zone,
  143 + dataedicao timestamp without time zone,
  144 + datafinalizacaoatendimento timestamp without time zone,
  145 + datarequisicao timestamp without time zone,
  146 + numerorequisicao character varying(30),
  147 + autor_id bigint,
  148 + editor_id bigint,
  149 + almoxarifado_id bigint,
  150 + centrocusto_id bigint,
  151 + tipostatusrequisicao_id bigint,
  152 + unidaderequisitante_id bigint
  153 +);
  154 +
  155 +CREATE TABLE centrocusto_aud
  156 +(
  157 + id bigint NOT NULL,
  158 + rev integer NOT NULL,
  159 + revtype smallint,
  160 + databloqueio date,
  161 + datainativo date,
  162 + datacriacao timestamp without time zone,
  163 + dataedicao timestamp without time zone,
  164 + codigo character varying(30),
  165 + descricao character varying(255),
  166 + autor_id bigint,
  167 + editor_id bigint,
  168 + centrocustoparent_id bigint
  169 +);
  170 +
  171 +
  172 +CREATE TABLE alm_rc_item_aud
  173 +(
  174 + id bigint NOT NULL,
  175 + rev integer NOT NULL,
  176 + revtype smallint,
  177 + databloqueio date,
  178 + datainativo date,
  179 + datacriacao timestamp without time zone,
  180 + dataedicao timestamp without time zone,
  181 + quantidade numeric(19,2),
  182 + quantidadeatendida numeric(19,2),
  183 + quantidadedevolvida numeric(19,2),
  184 + autor_id bigint,
  185 + editor_id bigint,
  186 + materialconsumo_id bigint,
  187 + requisicaoconsumo_id bigint
  188 +);
  189 +
  190 +
  191 +CREATE TABLE alm_rc_atenditem_aud
  192 +(
  193 + id bigint NOT NULL,
  194 + rev integer NOT NULL,
  195 + revtype smallint,
  196 + databloqueio date,
  197 + datainativo date,
  198 + datacriacao timestamp without time zone,
  199 + dataedicao timestamp without time zone,
  200 + quantidade numeric(19,2),
  201 + autor_id bigint,
  202 + editor_id bigint,
  203 + atendimentoreqconsumo_id bigint,
  204 + material_id bigint,
  205 + materiallocalestoque_id bigint,
  206 + requisicaoconsumoitem_id bigint
  207 +);
  208 +
  209 +-- ERICK FIM 19/05/2016
  210 +
  211 +-- ERICK INICIO 20/05/2016
  212 +ALTER TABLE alm_requisicaoconsumo ADD COLUMN emAtendimento BOOLEAN DEFAULT FALSE;
  213 +ALTER TABLE alm_requisicaoconsumo_aud ADD COLUMN emAtendimento BOOLEAN;
  214 +
  215 +ALTER TABLE alm_requisicaoconsumo ADD COLUMN atendente_id BIGINT;
  216 +ALTER TABLE alm_requisicaoconsumo_aud ADD COLUMN atendente_id BIGINT;
  217 +
  218 +ALTER TABLE ONLY alm_requisicaoconsumo
  219 +ADD CONSTRAINT fk_req_atendente FOREIGN KEY (atendente_id) REFERENCES seguranca_usuario(id);
  220 +-- ERICK FIM 20/05/2016
  221 +
  222 +-- RONAN INICIO 19/05/2016
  223 +
  224 +alter table alm_rc_atendimentoitem drop column quantidade;
  225 +alter table alm_rc_atendimentoitem drop constraint fk_hx3srtvuubkwfds6s3bckj3yp;
  226 +alter table alm_rc_atendimentoitem drop column materiallocalestoque_id;
  227 +
  228 +CREATE TABLE alm_rc_at_item_endereco
  229 +(
  230 + id bigint NOT NULL,
  231 + databloqueio date,
  232 + datainativo date,
  233 + quantidade numeric(19,2),
  234 + inativador_id bigint,
  235 + at_req_consumoitem_id bigint NOT NULL,
  236 + materiallocalestoque_id bigint NOT NULL,
  237 + CONSTRAINT alm_rc_at_item_endereco_pkey PRIMARY KEY (id),
  238 + CONSTRAINT fk_7ep45inuirh29oxc70t085n7t FOREIGN KEY (at_req_consumoitem_id)
  239 + REFERENCES public.alm_rc_atendimentoitem (id) MATCH SIMPLE
  240 + ON UPDATE NO ACTION ON DELETE NO ACTION,
  241 + CONSTRAINT fk_9tdi5v43fn5qtt3n4wn2c9ma4 FOREIGN KEY (materiallocalestoque_id)
  242 + REFERENCES public.alm_me_localestoque (id) MATCH SIMPLE
  243 + ON UPDATE NO ACTION ON DELETE NO ACTION,
  244 + CONSTRAINT fk_g385pn6ltxma9nmkq8sohtkw2 FOREIGN KEY (inativador_id)
  245 + REFERENCES public.seguranca_usuario (id) MATCH SIMPLE
  246 + ON UPDATE NO ACTION ON DELETE NO ACTION
  247 +);
  248 +
  249 +-- RONAN FIM 19/05/2016
  250 +
  251 +-- Erick INICIO 23/05/2016
  252 +CREATE TABLE alm_rc_at_item_end_aud
  253 +(
  254 + id bigint NOT NULL,
  255 + rev integer NOT NULL,
  256 + revtype smallint,
  257 + databloqueio date,
  258 + datainativo date,
  259 + quantidade numeric(19,2),
  260 + at_req_consumoitem_id bigint,
  261 + materiallocalestoque_id bigint
  262 +);
  263 +
  264 +-- ERICK FIM 23/05/2016
  265 +
  266 +-- Erick INICIO 24/05/2016
  267 +CREATE TABLE alm_rc_atendimentoitemfifo
  268 +(
  269 + id bigint NOT NULL,
  270 + databloqueio date,
  271 + datainativo date,
  272 + datacriacao timestamp without time zone NOT NULL,
  273 + dataedicao timestamp without time zone NOT NULL,
  274 + version bigint,
  275 + quantidadeutilizada numeric(20,4) NOT NULL,
  276 + inativador_id bigint,
  277 + autor_id bigint,
  278 + editor_id bigint,
  279 + organizacao_id bigint,
  280 + at_req_consumoitem_id bigint NOT NULL,
  281 + materialestoquefifoitem_id bigint,
  282 + CONSTRAINT alm_rc_atendimentoitemfifo_pkey PRIMARY KEY (id),
  283 + CONSTRAINT fk_182ti3frfvwwapjtm4qkhoyao FOREIGN KEY (inativador_id)
  284 + REFERENCES seguranca_usuario (id) MATCH SIMPLE
  285 + ON UPDATE NO ACTION ON DELETE NO ACTION,
  286 + CONSTRAINT fk_97ui5rhx7nsr6h8eourfsxct0 FOREIGN KEY (at_req_consumoitem_id)
  287 + REFERENCES alm_rc_atendimentoitem (id) MATCH SIMPLE
  288 + ON UPDATE NO ACTION ON DELETE NO ACTION,
  289 + CONSTRAINT fk_cvmj6dr7enhmoi7huv9rjf2sp FOREIGN KEY (organizacao_id)
  290 + REFERENCES organizacao (id) MATCH SIMPLE
  291 + ON UPDATE NO ACTION ON DELETE NO ACTION,
  292 + CONSTRAINT fk_pfax4c9citfm74ok7q8oe7m2l FOREIGN KEY (autor_id)
  293 + REFERENCES seguranca_usuario (id) MATCH SIMPLE
  294 + ON UPDATE NO ACTION ON DELETE NO ACTION,
  295 + CONSTRAINT fk_r6b6iwwn5nu263ulnugc55o8a FOREIGN KEY (editor_id)
  296 + REFERENCES seguranca_usuario (id) MATCH SIMPLE
  297 + ON UPDATE NO ACTION ON DELETE NO ACTION,
  298 + CONSTRAINT fk_s34cvykt2pw5kmw63ctdod3hi FOREIGN KEY (materialestoquefifoitem_id)
  299 + REFERENCES alm_me_fifoitem (id) MATCH SIMPLE
  300 + ON UPDATE NO ACTION ON DELETE NO ACTION
  301 +);
  302 +
  303 +CREATE TABLE alm_rc_atitfifo_aud
  304 +(
  305 + id bigint NOT NULL,
  306 + rev integer NOT NULL,
  307 + revtype smallint,
  308 + databloqueio date,
  309 + datainativo date,
  310 + datacriacao timestamp without time zone,
  311 + dataedicao timestamp without time zone,
  312 + quantidadeutilizada numeric(20,4),
  313 + autor_id bigint,
  314 + editor_id bigint,
  315 + at_req_consumoitem_id bigint,
  316 + materialestoquefifoitem_id bigint
  317 +);
  318 +-- Erick FIM 24/05/2016
  319 +
  320 +-- GEOVANE INICIO 30/05/2016
  321 +ALTER TABLE contacontabilmovimento DISABLE TRIGGER ALL;
  322 +
  323 +DELETE FROM contacontabilmovimento WHERE contacontabil_id IN (SELECT id FROM contacontabil WHERE dominiotipomaterial_id = 655);
  324 +
  325 +ALTER TABLE contacontabilmovimento ENABLE TRIGGER ALL;
  326 +-- GEOVANE FIM 30/05/2016
  327 +--JOYFAS INICIO 31/05/2016
  328 +ALTER TABLE seguranca_usuario ADD COLUMN nome CHARACTER VARYING(255);
  329 +--JOYFAS FIM
0 330 \ No newline at end of file
... ...
cit-adm-materiais-web/src/main/java/br/com/centralit/listener/StartupListenerAdmMaterial.java
... ... @@ -215,8 +215,9 @@ public class StartupListenerAdmMaterial extends UtilStartup implements Applicati
215 215 internacionalizacaoList.add(new Internacionalizacao("ADMINISTRACAODEMATERIAIS.LABEL.APURACAO_FECHADA", "FECHADA", dominio, modulo));
216 216 internacionalizacaoList.add(new Internacionalizacao("ADMINISTRACAODEMATERIAIS.LABEL.APURACAO_PARCIAL", "PARCIAL", dominio, modulo));
217 217 internacionalizacaoList.add(new Internacionalizacao("ADMINISTRACAODEMATERIAIS.LABEL.REFERENCIA_SUBSEQUENTE", "Referência Subsequente", dominio, modulo));
  218 + internacionalizacaoList.add(new Internacionalizacao("ADMINISTRACAODEMATERIAIS.LABEL.UNIDADE_MEDIDA_ENTRADA_ARMAZENAMENTO", "Unidade de medida de entrada e de armazenamento", dominio, modulo));
  219 + internacionalizacaoList.add(new Internacionalizacao("MSG.ALTERACAO_QUANTIDADE_PADRAO", "Alteração permitida somente para unidades de medidas que não são padrões do sistema", dominio, modulo));
218 220 internacionalizacaoList.add(new Internacionalizacao("MSG.ALTERACAO_QUANTIDADE_PADRAO", "Alteração permitida somente para unidades de medidas que não são padrões do sistema", dominio, modulo));
219   -
220 221  
221 222 }
222 223  
... ...
cit-adm-materiais-web/src/main/webapp/assets/js/angular/custom/controller/MaterialController.js
1 1 'use strict';
2 2 citApp.controller('MaterialController', ['$scope', 'MaterialRepository', 'ClassificacaoMaterialRepository', 'CaracteristicaRepository', 'FileUploader', 'MaterialImagemRepository',
3   - '$timeout', 'MaterialCaracteristicaRepository', 'MaterialPermanenteConsumoRepository', 'ContaContabilRepository', 'DominioRepository', '$translate', '$filter', 'MaterialConsumoRepository', 'MaterialConsumoTipoUnidadeMedidaEntradaRepository', 'MaterialPermanenteRepository', 'UnidadeMedidaRepository', '$injector',
  3 + '$timeout', 'MaterialCaracteristicaRepository', 'MaterialPermanenteConsumoRepository', 'ContaContabilRepository', 'DominioRepository', '$translate', '$filter', 'MaterialConsumoRepository', 'MaterialConsumoTipoUnidadeMedidaEntradaRepository', 'MaterialPermanenteRepository', 'UnidadeMedidaRepository', 'ConfiguracaoParametroSistemaRepository','$injector',
4 4 function MaterialController($scope, MaterialRepository, ClassificacaoMaterialRepository, CaracteristicaRepository, FileUploader, MaterialImagemRepository,
5   - $timeout, MaterialCaracteristicaRepository, MaterialPermanenteConsumoRepository, ContaContabilRepository, DominioRepository, $translate, $filter, MaterialConsumoRepository, MaterialConsumoTipoUnidadeMedidaEntradaRepository, MaterialPermanenteRepository, UnidadeMedidaRepository, $injector) {
  5 + $timeout, MaterialCaracteristicaRepository, MaterialPermanenteConsumoRepository, ContaContabilRepository, DominioRepository, $translate, $filter, MaterialConsumoRepository, MaterialConsumoTipoUnidadeMedidaEntradaRepository, MaterialPermanenteRepository, UnidadeMedidaRepository, ConfiguracaoParametroSistemaRepository,$injector) {
6 6  
7 7 // CONSTANTES DOMINIO
8 8 var CODIGO_TIPO_CLASSIFICACAO_DETALHE = 4;
... ... @@ -27,7 +27,17 @@ citApp.controller(&#39;MaterialController&#39;, [&#39;$scope&#39;, &#39;MaterialRepository&#39;, &#39;Classi
27 27 $scope.edit = true;
28 28 $scope.limpar();
29 29 };
30   -
  30 +
  31 + //recupera o parametro TIPO_CONFIGURACAO_UNIDADE_MEDIDA_ENTRADA
  32 + ConfiguracaoParametroSistemaRepository.getParametro('TIPO_CONFIGURACAO_UNIDADE_MEDIDA_ENTRADA').then(function(result) {
  33 + if(result !== undefined && result.valor === '1' ) {
  34 + $scope.indicaMultiplasUnidadesMedida = false;
  35 + } else if(result !== undefined && result.valor === '2' ) {
  36 + $scope.indicaMultiplasUnidadesMedida = true;
  37 + }
  38 +
  39 + });
  40 +
31 41 function verificaMaterialConsumoSetGenerico(){
32 42 if ($scope.material.dominioTipoMaterial && $scope.material.dominioTipoMaterial.codigo) {
33 43 if($scope.material.dominioTipoMaterial.codigo == 1){
... ... @@ -279,6 +289,41 @@ citApp.controller(&#39;MaterialController&#39;, [&#39;$scope&#39;, &#39;MaterialRepository&#39;, &#39;Classi
279 289 $scope.$watch('material.dominioTipoMaterial.codigo', function() {
280 290 verificaMaterialConsumoSetGenerico();
281 291 });
  292 +
  293 + $scope.$watch('material.unidadeArmazenamento', function() {
  294 + if ($scope.material.unidadeArmazenamento) {
  295 + if (!$scope.material.tiposUnidadeMedidaEntrada) {
  296 + $scope.material.tiposUnidadeMedidaEntrada = [];
  297 + }
  298 +
  299 + var jaAdd = false;
  300 + var isPossuiPadrao = false;
  301 + for (var i = 0; i < $scope.material.tiposUnidadeMedidaEntrada.length; i++) {
  302 + if ($scope.material.tiposUnidadeMedidaEntrada[i].unidadeMedida.id == $scope.material.unidadeArmazenamento.id) {
  303 + jaAdd = true;
  304 + }
  305 + if ($scope.material.tiposUnidadeMedidaEntrada[i].isPadrao) {
  306 + isPossuiPadrao = true;
  307 + }
  308 + }
  309 +
  310 + if (!jaAdd) {
  311 + if(isPossuiPadrao){
  312 + var unidadeEntrada = {
  313 + unidadeMedida : $scope.material.unidadeArmazenamento,
  314 + isPadrao : false
  315 + };
  316 + $scope.material.tiposUnidadeMedidaEntrada.push(unidadeEntrada);
  317 + } else {
  318 + var unidadeEntrada = {
  319 + unidadeMedida : $scope.material.unidadeArmazenamento,
  320 + isPadrao : true
  321 + };
  322 + $scope.material.tiposUnidadeMedidaEntrada.push(unidadeEntrada);
  323 + }
  324 + }
  325 + }
  326 + });
282 327  
283 328  
284 329 DominioRepository.findAllDominio('tipoMaterial').then(function(result) {
... ...
cit-adm-materiais-web/src/main/webapp/html/material/materialCaracteristica.html
... ... @@ -13,15 +13,15 @@
13 13 <div class="widget-main clearfix">
14 14 <div class="row">
15 15 <div class="col-sm-6">
16   - <auto-complete button-new-show="true" button-new-tooltip="{{$translate.instant('LABEL.CLIQUE_ADD_CARATERISTICA')}}" button-new-action="novaCaracteristica();"
17   - ng-find="findCaracteristica(value)" ng-label="LABEL.CARACTERISTICA" ng-acao-borracha="limparCaracteristicaAutoComplete(item)"
  16 + <auto-complete button-new-show="edit" button-new-tooltip="{{$translate.instant('LABEL.CLIQUE_ADD_CARATERISTICA')}}" button-new-action="novaCaracteristica();"
  17 + ng-find="findCaracteristica(value)" ng-label="LABEL.CARACTERISTICA" ng-acao-borracha="limparCaracteristicaAutoComplete(item)" ng-show="edit"
18 18 ng-item="item.descricao" ng-id="materialCaracteristica.caracteristica" ng-model="materialCaracteristica.caracteristica" ng-disabled="materialCaracteristica.$edit" />
19 19 </div>
20 20 <div class="col-sm-2">
21 21 <div class="form-group no-label">
22 22 <div class="input-group">
23 23 <label>
24   - <input type="checkbox" ng-model="materialCaracteristica.obrigatorio" value="true" />
  24 + <input type="checkbox" ng-model="materialCaracteristica.obrigatorio" value="true" ng-disabled="!edit"/>
25 25 <translate>LABEL.OBRIGATORIO</translate>
26 26 </label>
27 27 </div>
... ... @@ -43,23 +43,23 @@
43 43 <div class="col-sm-12">
44 44 <div class="panel panel-default">
45 45 <div class="panel-heading clearfix">
46   - <button title="{{$translate.instant('LABEL.ADICIONAR')}}" alt="{{$translate.instant('LABEL.ADICIONAR')}}" class="btn btn-clear" ng-click="adicionarCaracteristica()" ng-disabled="!materialCaracteristica.caracteristica.id" type="button">
  46 + <button title="{{$translate.instant('LABEL.ADICIONAR')}}" alt="{{$translate.instant('LABEL.ADICIONAR')}}" class="btn btn-clear" ng-click="adicionarCaracteristica()" ng-disabled="!materialCaracteristica.caracteristica.id && !edit" type="button">
47 47 <i class="fa fa-plus-circle yellow-dark"></i>
48 48 <translate>LABEL.ADICIONAR</translate> </a>
49 49 </button>
50 50  
51   - <button title="{{$translate.instant('LABEL.EDITAR')}}" alt="{{$translate.instant('LABEL.EDITAR')}}" class="btn btn-clear" ng-click="editCaracteristica();" ng-show="material.materialCaracteristicas.length > 0" type="button">
  51 + <button title="{{$translate.instant('LABEL.EDITAR')}}" ng-disabled="!edit" alt="{{$translate.instant('LABEL.EDITAR')}}" class="btn btn-clear" ng-click="editCaracteristica();" ng-show="material.materialCaracteristicas.length > 0" type="button">
52 52 <i class="fa fa-pencil blue"></i>
53 53 <translate>LABEL.EDITAR</translate>
54 54 </button>
55 55  
56   - <button-lock ng-model="dataBloqueio" action-lock="bloquearCaracteristica(dataBloqueio);" ng-show="apresentarBloquearCaracteristica"></button-lock>
  56 + <button-lock ng-model="dataBloqueio" ng-disabled="!edit" action-lock="bloquearCaracteristica(dataBloqueio);" ng-show="apresentarBloquearCaracteristica"></button-lock>
57 57  
58 58 <button title="{{$translate.instant('LABEL.DESBLOQUEAR')}}" alt="{{$translate.instant('LABEL.DESBLOQUEAR')}}" class="btn btn-clear" ng-show="apresentarDesbloquearCaracteristica" ng-click="desbloquearCaracteristica()" type="button">
59 59 <i class="fa fa-unlock grey"></i> <translate>LABEL.DESBLOQUEAR</translate>
60 60 </button>
61 61  
62   - <button title="{{$translate.instant('LABEL.REMOVER')}}" alt="{{$translate.instant('LABEL.REMOVER')}}" class="btn btn-clear" ng-click="excluirCaracteristica()" ng-show="material.materialCaracteristicas.length > 0" type="button">
  62 + <button title="{{$translate.instant('LABEL.REMOVER')}}" ng-disabled="!edit" alt="{{$translate.instant('LABEL.REMOVER')}}" class="btn btn-clear" ng-click="excluirCaracteristica()" ng-show="material.materialCaracteristicas.length > 0" type="button">
63 63 <i class="fa fa-close red"></i>
64 64 <translate>LABEL.REMOVER</translate> </a>
65 65 </button>
... ... @@ -88,7 +88,7 @@
88 88 <tbody>
89 89 <tr ng-repeat="mat in material.materialCaracteristicas">
90 90 <td class="text-center">
91   - <input type="radio" name="materialCaracteristicaSelected" ng-checked="mat.$checked" ng-click="checkMaterialCaracteristica(mat)"/>
  91 + <input type="radio" ng-disabled="!edit" name="materialCaracteristicaSelected" ng-checked="mat.$checked" ng-click="checkMaterialCaracteristica(mat)"/>
92 92 </td>
93 93 <td>
94 94 {{mat.caracteristica.descricao}}
... ...
cit-adm-materiais-web/src/main/webapp/html/material/materialDadosMaterial.html
... ... @@ -43,9 +43,9 @@
43 43 </div>
44 44 </div>
45 45 <div class="col-sm-4">
46   - <auto-complete ng-find="findContaContabil(value)" ng-show='material.dominioTipoMaterial.codigo' button-new-show="true" button-new-tooltip="{{$translate.instant('LABEL.CLIQUE_ADD_CONTA')}}"
  46 + <auto-complete ng-find="findContaContabil(value)" ng-show='material.dominioTipoMaterial.codigo' button-new-show="edit" button-new-tooltip="{{$translate.instant('LABEL.CLIQUE_ADD_CONTA')}}"
47 47 button-new-action="novaContaContabil();" ng-item="item.codigo + ' / ' + item.descricao" ng-id="material.contaContabil" ng-label="LABEL.CONTA_CONTABIL" ng-model="material.contaContabil"
48   - ng-disabled="material.id" form="materialForm" ng-obrigatorio="true" ng-min-length="1"></auto-complete>
  48 + ng-disabled="material.id" form="materialForm" ng-obrigatorio="true" ng-min-length="1" ng-disabled="!edit" ></auto-complete>
49 49 </div>
50 50  
51 51 <div class="col-sm-2" ng-show="material.dominioTipoMaterial.codigo == 2">
... ... @@ -60,7 +60,7 @@
60 60 </div>
61 61  
62 62 <div class="col-sm-6">
63   - <label-input ng-show='material.dominioTipoMaterial.codigo == 1' ng-id="material.elementoDespesa" name="material.elementoDespesa" ng-typ="text" ng-obrigatorio='false' ng-label="ADMINISTRACAODEMATERIAIS.LABEL.ELEMENTO_DESPESA" ng-model="material.elementoDespesa"/>
  63 + <label-input ng-show='material.dominioTipoMaterial.codigo == 1' ng-id="material.elementoDespesa" name="material.elementoDespesa" ng-typ="text" ng-obrigatorio='false' ng-label="ADMINISTRACAODEMATERIAIS.LABEL.ELEMENTO_DESPESA" ng-model="material.elementoDespesa" ng-disabled="!edit" />
64 64 </div>
65 65  
66 66 </div>
... ... @@ -68,11 +68,11 @@
68 68 <div class='row'>
69 69  
70 70 <div class='col-sm-6'>
71   - <label-select ng-show="material.dominioTipoMaterial.codigo == 1" ng-id="material.unidadeArmazenamento.id" ng-model="material.unidadeArmazenamento.id" ng-label="ADMINISTRACAODEMATERIAIS.LABEL.UNIDADE_MEDIDA_ARMAZENAMENTO"
72   - ng-obrigatorio="material.dominioTipoMaterial.codigo == 1" ng-disabled="false" form="materialForm" ng-list="unidadesMedida" ng-custom-options="unidadeMedida.id as unidadeMedida.descricao for unidadeMedida"> </label-select>
  71 + <label-select ng-show="material.dominioTipoMaterial.codigo == 1" ng-id="material.unidadeArmazenamento.id" ng-model="material.unidadeArmazenamento.id" ng-label="{{indicaMultiplasUnidadesMedida ? 'ADMINISTRACAODEMATERIAIS.LABEL.UNIDADE_MEDIDA_ARMAZENAMENTO' : 'ADMINISTRACAODEMATERIAIS.LABEL.UNIDADE_MEDIDA_ENTRADA_ARMAZENAMENTO'}}"
  72 + ng-obrigatorio="material.dominioTipoMaterial.codigo == 1" ng-disabled="!edit" form="materialForm" ng-list="unidadesMedida" ng-custom-options="unidadeMedida.id as unidadeMedida.descricao for unidadeMedida"> </label-select>
73 73  
74 74 <label-select ng-show="material.dominioTipoMaterial.codigo == 2" ng-id="material.unidadeMedida" ng-model="material.unidadeMedida.id" ng-label="LABEL.UNIDADE_MEDIDA"
75   - ng-obrigatorio="material.dominioTipoMaterial.codigo == 2" ng-disabled="false" form="materialForm" ng-list="unidadesMedida" ng-custom-options="unidadeArmazenamento.id as unidadeArmazenamento.descricao for unidadeArmazenamento"> </label-select>
  75 + ng-obrigatorio="material.dominioTipoMaterial.codigo == 2" ng-disabled="!edit" form="materialForm" ng-list="unidadesMedida" ng-custom-options="unidadeArmazenamento.id as unidadeArmazenamento.descricao for unidadeArmazenamento"> </label-select>
76 76 </div>
77 77  
78 78 </div>
... ...
cit-adm-materiais-web/src/main/webapp/html/material/materialEdit.html
... ... @@ -66,7 +66,7 @@
66 66 </div>
67 67  
68 68  
69   - <div class="row margin-top" ng-show="material.dominioTipoMaterial.codigo == 1">
  69 + <div class="row margin-top" ng-show="material.dominioTipoMaterial.codigo == 1 && indicaMultiplasUnidadesMedida">
70 70 <div class="col-sm-12">
71 71 <div ng-include src="'/cit-adm-materiais-web/html/material/materialTipoUnidadeMedidaEntrada.html'" />
72 72 </div>
... ...
cit-adm-materiais-web/src/main/webapp/html/material/materialEnderecoEstoque.html
... ... @@ -15,28 +15,28 @@
15 15 <div class="col-sm-12">
16 16 <div class="panel panel-default">
17 17 <div class="panel-heading clearfix">
18   - <button title="{{$translate.instant('LABEL.ADICIONAR')}}" alt="{{$translate.instant('LABEL.ADICIONAR')}}" class="btn btn-clear" ng-click="adicionarEnderecoEstoque()" type="button">
  18 + <button title="{{$translate.instant('LABEL.ADICIONAR')}}" ng-disabled="!edit" alt="{{$translate.instant('LABEL.ADICIONAR')}}" class="btn btn-clear" ng-click="adicionarEnderecoEstoque()" type="button">
19 19 <i class="fa fa-plus-circle yellow-dark"></i>
20 20 <translate>LABEL.ADICIONAR</translate> </a>
21 21 </button>
22 22  
23   - <button title="{{$translate.instant('LABEL.EDITAR')}}" alt="{{$translate.instant('LABEL.EDITAR')}}" class="btn btn-clear" type="button"
  23 + <button title="{{$translate.instant('LABEL.EDITAR')}}" ng-disabled="!edit" alt="{{$translate.instant('LABEL.EDITAR')}}" class="btn btn-clear" type="button"
24 24 ng-click="editarEnderecoEstoque()">
25 25 <i class="fa fa-pencil blue"></i>
26 26 <translate>LABEL.EDITAR</translate>
27 27 </button>
28 28  
29   - <button title="{{$translate.instant('LABEL.REMOVER')}}" alt="{{$translate.instant('LABEL.REMOVER')}}" class="btn btn-clear" ng-click="removerEnderecoEstoque()" type="button">
  29 + <button title="{{$translate.instant('LABEL.REMOVER')}}" ng-disabled="!edit" alt="{{$translate.instant('LABEL.REMOVER')}}" class="btn btn-clear" ng-click="removerEnderecoEstoque()" type="button">
30 30 <i class="fa fa-close red"></i>
31 31 <translate>LABEL.REMOVER</translate> </a>
32 32 </button>
33 33  
34   - <button title="{{$translate.instant('PORTAL.LABEL.BLOQUEAR')}}" alt="{{$translate.instant('PORTAL.LABEL.BLOQUEAR')}}" class="btn btn-clear" ng-show="!matEndEstoqueCheck.dataBloqueio" ng-click="bloquearEnderecoEstoque()" type="button">
  34 + <button title="{{$translate.instant('PORTAL.LABEL.BLOQUEAR')}}" ng-disabled="!edit" alt="{{$translate.instant('PORTAL.LABEL.BLOQUEAR')}}" class="btn btn-clear" ng-show="!matEndEstoqueCheck.dataBloqueio" ng-click="bloquearEnderecoEstoque()" type="button">
35 35 <i class="fa fa-lock"></i>
36 36 <translate>PORTAL.LABEL.BLOQUEAR</translate> </a>
37 37 </button>
38 38  
39   - <button type="button" title="{{$translate.instant('LABEL.DESBLOQUEAR')}}" alt="{{$translate.instant('LABEL.DESBLOQUEAR')}}" class="btn btn-clear" ng-show="matEndEstoqueCheck.dataBloqueio" ng-click="desbloquearEnderecoEstoque();">
  39 + <button type="button" title="{{$translate.instant('LABEL.DESBLOQUEAR')}}" ng-disabled="!edit" alt="{{$translate.instant('LABEL.DESBLOQUEAR')}}" class="btn btn-clear" ng-show="matEndEstoqueCheck.dataBloqueio" ng-click="desbloquearEnderecoEstoque();">
40 40 <i class="fa fa-unlock grey"></i> <translate>LABEL.DESBLOQUEAR</translate>
41 41 </button>
42 42  
... ...