1569 - Categoria
1568 - Funcionários 1572 - Sub-categoria 1574 - Fornecedores 1573 - Tela de créditos 1567 - Tela lançamento de débitos 1571 - Sócios 1570 - Forma pagamento 1565 - Veículos 1566 - Operação
This commit is contained in:
@@ -0,0 +1,6 @@
|
|||||||
|
CREATE TABLE public.categoria (
|
||||||
|
codigo NUMERIC(15,0) NOT NULL,
|
||||||
|
descricao VARCHAR(50),
|
||||||
|
CONSTRAINT categoria_pkey PRIMARY KEY(codigo)
|
||||||
|
)
|
||||||
|
WITH (oids = false);
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
CREATE TABLE public.combustivel (
|
||||||
|
codigo INTEGER NOT NULL,
|
||||||
|
descricao VARCHAR(100) NOT NULL,
|
||||||
|
CONSTRAINT combustivel_pkey PRIMARY KEY(codigo)
|
||||||
|
)
|
||||||
|
WITH (oids = false);
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.combustivel.codigo
|
||||||
|
IS 'Código da tabela';
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.combustivel.descricao
|
||||||
|
IS 'Descrição do Combustível';
|
||||||
@@ -0,0 +1,58 @@
|
|||||||
|
CREATE TABLE public.controle_despesas_combustiveis (
|
||||||
|
chave_despesa_combustivel INTEGER NOT NULL,
|
||||||
|
data DATE NOT NULL,
|
||||||
|
chave_veiculo INTEGER,
|
||||||
|
chave_operacao INTEGER,
|
||||||
|
observacoes VARCHAR(4000),
|
||||||
|
chave_combustivel INTEGER,
|
||||||
|
litros NUMERIC(15,3),
|
||||||
|
valor_litro NUMERIC(15,3),
|
||||||
|
km_inicial NUMERIC(20,3),
|
||||||
|
km_final NUMERIC(20,3),
|
||||||
|
total_combustivel NUMERIC(15,2),
|
||||||
|
km_rodado NUMERIC(20,3),
|
||||||
|
CONSTRAINT controle_despesas_combustiveis_pkey PRIMARY KEY(chave_despesa_combustivel)
|
||||||
|
)
|
||||||
|
WITH (oids = false);
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.controle_despesas_combustiveis.chave_despesa_combustivel
|
||||||
|
IS 'Código da tabela';
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.controle_despesas_combustiveis.data
|
||||||
|
IS 'Data do lançamento';
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.controle_despesas_combustiveis.chave_veiculo
|
||||||
|
IS 'Código do veículo';
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.controle_despesas_combustiveis.chave_operacao
|
||||||
|
IS 'Código da operação';
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.controle_despesas_combustiveis.observacoes
|
||||||
|
IS 'Observação do lançamento';
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.controle_despesas_combustiveis.chave_combustivel
|
||||||
|
IS 'Código do combustível';
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.controle_despesas_combustiveis.litros
|
||||||
|
IS 'Quantidade de litros lançados.';
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.controle_despesas_combustiveis.valor_litro
|
||||||
|
IS 'Valor do litro de combustível';
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.controle_despesas_combustiveis.km_inicial
|
||||||
|
IS 'Km inicial do veículo';
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.controle_despesas_combustiveis.km_final
|
||||||
|
IS 'Km na chegada do veículo';
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.controle_despesas_combustiveis.total_combustivel
|
||||||
|
IS 'Valor total do Combustível';
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.controle_despesas_combustiveis.km_rodado
|
||||||
|
IS 'Total de km rodada';
|
||||||
|
|
||||||
|
CREATE INDEX controle_despesas_combustiveis_idx1 ON public.controle_despesas_combustiveis
|
||||||
|
USING btree (data);
|
||||||
|
|
||||||
|
CREATE INDEX controle_despesas_combustiveis_idx2 ON public.controle_despesas_combustiveis
|
||||||
|
USING btree (chave_veiculo, data);
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
CREATE TABLE public.controle_despesas_operacionais (
|
||||||
|
chave_despesa_operacional INTEGER NOT NULL,
|
||||||
|
data DATE NOT NULL,
|
||||||
|
chave_operacao INTEGER,
|
||||||
|
chave_categoria INTEGER,
|
||||||
|
chave_subcategoria INTEGER,
|
||||||
|
numero_documento INTEGER,
|
||||||
|
chave_forma_pagamento INTEGER,
|
||||||
|
chave_veiculo INTEGER,
|
||||||
|
chave_funcionario INTEGER,
|
||||||
|
chave_fornecedor INTEGER,
|
||||||
|
observacoes VARCHAR(4000),
|
||||||
|
valor NUMERIC(15,2),
|
||||||
|
CONSTRAINT controle_despesas_operacionais_pkey PRIMARY KEY(chave_despesa_operacional)
|
||||||
|
)
|
||||||
|
WITH (oids = false);
|
||||||
|
|
||||||
|
ALTER TABLE public.controle_despesas_operacionais
|
||||||
|
ALTER COLUMN chave_categoria SET STATISTICS 0;
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.controle_despesas_operacionais.chave_despesa_operacional
|
||||||
|
IS 'Chave da tabela';
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.controle_despesas_operacionais.data
|
||||||
|
IS 'Data do lançamento';
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.controle_despesas_operacionais.chave_operacao
|
||||||
|
IS 'Código da operação';
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.controle_despesas_operacionais.chave_categoria
|
||||||
|
IS 'Código da categoria';
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.controle_despesas_operacionais.chave_subcategoria
|
||||||
|
IS 'Código da subcategoria';
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.controle_despesas_operacionais.numero_documento
|
||||||
|
IS 'Número do documento de identificação';
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.controle_despesas_operacionais.chave_forma_pagamento
|
||||||
|
IS 'Código da forma de pagamento';
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.controle_despesas_operacionais.chave_veiculo
|
||||||
|
IS 'Código do veículo';
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.controle_despesas_operacionais.chave_funcionario
|
||||||
|
IS 'Código do funcionário';
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.controle_despesas_operacionais.chave_fornecedor
|
||||||
|
IS 'Código do fornecedor';
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.controle_despesas_operacionais.observacoes
|
||||||
|
IS 'Observações sobre o lançamento';
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.controle_despesas_operacionais.valor
|
||||||
|
IS 'Valor total do lançamento';
|
||||||
|
|
||||||
|
CREATE INDEX controle_despesas_operacionais_idx_1 ON public.controle_despesas_operacionais
|
||||||
|
USING btree (data);
|
||||||
|
|
||||||
|
CREATE INDEX controle_despesas_operacionais_idx_2 ON public.controle_despesas_operacionais
|
||||||
|
USING btree (chave_veiculo, data);
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
CREATE TABLE public.controle_despesas_pessoais (
|
||||||
|
chave_pessoal INTEGER NOT NULL,
|
||||||
|
data DATE NOT NULL,
|
||||||
|
chave_categoria INTEGER,
|
||||||
|
chave_responsavel INTEGER,
|
||||||
|
valor NUMERIC(15,2),
|
||||||
|
observacoes VARCHAR(4000),
|
||||||
|
CONSTRAINT controle_despesas_pessoais_pkey PRIMARY KEY(chave_pessoal)
|
||||||
|
)
|
||||||
|
WITH (oids = false);
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.controle_despesas_pessoais.chave_pessoal
|
||||||
|
IS 'Chave da tabela';
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.controle_despesas_pessoais.data
|
||||||
|
IS 'Data do lançamento da despesa';
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.controle_despesas_pessoais.chave_categoria
|
||||||
|
IS 'Código da categoria';
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.controle_despesas_pessoais.chave_responsavel
|
||||||
|
IS 'Código do responsável';
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.controle_despesas_pessoais.valor
|
||||||
|
IS 'Valor da despesa';
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.controle_despesas_pessoais.observacoes
|
||||||
|
IS 'Observações do lançamento';
|
||||||
|
|
||||||
|
CREATE INDEX controle_despesas_pessoais_idx1 ON public.controle_despesas_pessoais
|
||||||
|
USING btree (data);
|
||||||
|
|
||||||
|
CREATE INDEX controle_despesas_pessoais_idx2 ON public.controle_despesas_pessoais
|
||||||
|
USING btree (chave_categoria, data);
|
||||||
@@ -0,0 +1,66 @@
|
|||||||
|
CREATE TABLE public.controle_receitas_fretes (
|
||||||
|
chave_receita_frete INTEGER NOT NULL,
|
||||||
|
data DATE NOT NULL,
|
||||||
|
chave_operacao INTEGER NOT NULL,
|
||||||
|
chave_veiculo INTEGER NOT NULL,
|
||||||
|
chave_funcionario INTEGER,
|
||||||
|
valor_frete NUMERIC(15,2),
|
||||||
|
valor_imposto NUMERIC(15,2),
|
||||||
|
valor_liquido NUMERIC(15,2),
|
||||||
|
CONSTRAINT controle_receitas_fretes_pkey PRIMARY KEY(chave_receita_frete)
|
||||||
|
)
|
||||||
|
WITH (oids = false);
|
||||||
|
|
||||||
|
ALTER TABLE public.controle_receitas_fretes
|
||||||
|
ALTER COLUMN chave_receita_frete SET STATISTICS 0;
|
||||||
|
|
||||||
|
ALTER TABLE public.controle_receitas_fretes
|
||||||
|
ALTER COLUMN data SET STATISTICS 0;
|
||||||
|
|
||||||
|
ALTER TABLE public.controle_receitas_fretes
|
||||||
|
ALTER COLUMN chave_operacao SET STATISTICS 0;
|
||||||
|
|
||||||
|
ALTER TABLE public.controle_receitas_fretes
|
||||||
|
ALTER COLUMN chave_veiculo SET STATISTICS 0;
|
||||||
|
|
||||||
|
ALTER TABLE public.controle_receitas_fretes
|
||||||
|
ALTER COLUMN chave_funcionario SET STATISTICS 0;
|
||||||
|
|
||||||
|
ALTER TABLE public.controle_receitas_fretes
|
||||||
|
ALTER COLUMN valor_frete SET STATISTICS 0;
|
||||||
|
|
||||||
|
ALTER TABLE public.controle_receitas_fretes
|
||||||
|
ALTER COLUMN valor_imposto SET STATISTICS 0;
|
||||||
|
|
||||||
|
ALTER TABLE public.controle_receitas_fretes
|
||||||
|
ALTER COLUMN valor_liquido SET STATISTICS 0;
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.controle_receitas_fretes.chave_receita_frete
|
||||||
|
IS 'Código da receita';
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.controle_receitas_fretes.data
|
||||||
|
IS 'Data do lançamento';
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.controle_receitas_fretes.chave_operacao
|
||||||
|
IS 'Código da operação';
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.controle_receitas_fretes.chave_veiculo
|
||||||
|
IS 'Código do veículo';
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.controle_receitas_fretes.chave_funcionario
|
||||||
|
IS 'Código do funcionário';
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.controle_receitas_fretes.valor_frete
|
||||||
|
IS 'Valor total do frete';
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.controle_receitas_fretes.valor_imposto
|
||||||
|
IS 'Valor do imposto (padrão 7,5%)';
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.controle_receitas_fretes.valor_liquido
|
||||||
|
IS 'Valor líquido (frete - imposto)';
|
||||||
|
|
||||||
|
CREATE INDEX controle_receitas_fretes_idx1 ON public.controle_receitas_fretes
|
||||||
|
USING btree (data);
|
||||||
|
|
||||||
|
CREATE INDEX controle_receitas_fretes_idx2 ON public.controle_receitas_fretes
|
||||||
|
USING btree (chave_veiculo, chave_operacao, data);
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
CREATE TABLE public.forma_pagamento (
|
||||||
|
codigo NUMERIC(15,0) NOT NULL,
|
||||||
|
nome VARCHAR(50),
|
||||||
|
CONSTRAINT forma_pagamento_pkey PRIMARY KEY(codigo)
|
||||||
|
)
|
||||||
|
WITH (oids = false);
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
CREATE TABLE public.fornecedor (
|
||||||
|
codigo NUMERIC(15,0) NOT NULL,
|
||||||
|
nome VARCHAR(50),
|
||||||
|
razao_social VARCHAR(50) NOT NULL,
|
||||||
|
cnpj VARCHAR(20),
|
||||||
|
endereco VARCHAR(70),
|
||||||
|
cep VARCHAR(10),
|
||||||
|
CONSTRAINT fornecedor_pkey PRIMARY KEY(codigo)
|
||||||
|
)
|
||||||
|
WITH (oids = false);
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.fornecedor.codigo
|
||||||
|
IS 'Chave da tabela';
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.fornecedor.nome
|
||||||
|
IS 'Nome fantasia do fornecedor';
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.fornecedor.razao_social
|
||||||
|
IS 'Razão social do fornecedor';
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.fornecedor.cnpj
|
||||||
|
IS 'Cadastro Nacional de Pessoal Jurídica';
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.fornecedor.endereco
|
||||||
|
IS 'Endereço do fornecedor';
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.fornecedor.cep
|
||||||
|
IS 'CEP do Fornecedor';
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
CREATE TABLE public.funcionario (
|
||||||
|
codigo NUMERIC(15,0) NOT NULL,
|
||||||
|
nome VARCHAR(50),
|
||||||
|
cnh NUMERIC(15,0),
|
||||||
|
vencimento_cnh DATE,
|
||||||
|
admissao DATE,
|
||||||
|
CONSTRAINT funcionario_pkey PRIMARY KEY(codigo)
|
||||||
|
)
|
||||||
|
WITH (oids = false);
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
CREATE TABLE public.operacao (
|
||||||
|
codigo NUMERIC(15,0) NOT NULL,
|
||||||
|
nome VARCHAR(50),
|
||||||
|
CONSTRAINT operacao_pkey PRIMARY KEY(codigo)
|
||||||
|
)
|
||||||
|
WITH (oids = false);
|
||||||
@@ -0,0 +1,90 @@
|
|||||||
|
CREATE SEQUENCE public.categoria_seq
|
||||||
|
INCREMENT 1 MINVALUE 1
|
||||||
|
MAXVALUE 999999999 START 1
|
||||||
|
CACHE 1;
|
||||||
|
|
||||||
|
ALTER SEQUENCE public.categoria_seq RESTART WITH 15;
|
||||||
|
|
||||||
|
CREATE SEQUENCE public.combustivel_seq
|
||||||
|
INCREMENT 1 MINVALUE 1
|
||||||
|
MAXVALUE 999999 START 1
|
||||||
|
CACHE 1;
|
||||||
|
|
||||||
|
ALTER SEQUENCE public.combustivel_seq RESTART WITH 10;
|
||||||
|
|
||||||
|
CREATE SEQUENCE public.controle_desp_comb_seq
|
||||||
|
INCREMENT 1 MINVALUE 1
|
||||||
|
MAXVALUE 999999999 START 1
|
||||||
|
CACHE 1;
|
||||||
|
|
||||||
|
ALTER SEQUENCE public.controle_desp_comb_seq RESTART WITH 6;
|
||||||
|
|
||||||
|
CREATE SEQUENCE public.controle_desp_op_seq
|
||||||
|
INCREMENT 1 MINVALUE 1
|
||||||
|
MAXVALUE 99999999999 START 1
|
||||||
|
CACHE 1;
|
||||||
|
|
||||||
|
ALTER SEQUENCE public.controle_desp_op_seq RESTART WITH 30;
|
||||||
|
|
||||||
|
CREATE SEQUENCE public.controle_desp_pes_seq
|
||||||
|
INCREMENT 1 MINVALUE 1
|
||||||
|
MAXVALUE 99999999999 START 1
|
||||||
|
CACHE 1;
|
||||||
|
|
||||||
|
ALTER SEQUENCE public.controle_desp_pes_seq RESTART WITH 7;
|
||||||
|
|
||||||
|
CREATE SEQUENCE public.controle_rec_fr_seq
|
||||||
|
INCREMENT 1 MINVALUE 1
|
||||||
|
MAXVALUE 99999999999 START 1
|
||||||
|
CACHE 1;
|
||||||
|
|
||||||
|
ALTER SEQUENCE public.controle_rec_fr_seq RESTART WITH 7;
|
||||||
|
|
||||||
|
CREATE SEQUENCE public.forma_pagamento_seq
|
||||||
|
INCREMENT 1 MINVALUE 1
|
||||||
|
MAXVALUE 99999999 START 1
|
||||||
|
CACHE 1;
|
||||||
|
|
||||||
|
ALTER SEQUENCE public.forma_pagamento_seq RESTART WITH 11;
|
||||||
|
|
||||||
|
CREATE SEQUENCE public.fornecedor_seq
|
||||||
|
INCREMENT 1 MINVALUE 1
|
||||||
|
MAXVALUE 999999999 START 1
|
||||||
|
CACHE 1;
|
||||||
|
|
||||||
|
ALTER SEQUENCE public.fornecedor_seq RESTART WITH 12;
|
||||||
|
|
||||||
|
CREATE SEQUENCE public.funcionario_seq
|
||||||
|
INCREMENT 1 MINVALUE 1
|
||||||
|
MAXVALUE 999999999 START 1
|
||||||
|
CACHE 1;
|
||||||
|
|
||||||
|
ALTER SEQUENCE public.funcionario_seq RESTART WITH 9;
|
||||||
|
|
||||||
|
CREATE SEQUENCE public.operacao_seq
|
||||||
|
INCREMENT 1 MINVALUE 1
|
||||||
|
MAXVALUE 999999999 START 1
|
||||||
|
CACHE 1;
|
||||||
|
|
||||||
|
ALTER SEQUENCE public.operacao_seq RESTART WITH 15;
|
||||||
|
|
||||||
|
CREATE SEQUENCE public.socio_seq
|
||||||
|
INCREMENT 1 MINVALUE 1
|
||||||
|
MAXVALUE 99999999 START 1
|
||||||
|
CACHE 1;
|
||||||
|
|
||||||
|
ALTER SEQUENCE public.socio_seq RESTART WITH 12;
|
||||||
|
|
||||||
|
CREATE SEQUENCE public.subcategoria_seq
|
||||||
|
INCREMENT 1 MINVALUE 1
|
||||||
|
MAXVALUE 999999 START 1
|
||||||
|
CACHE 1;
|
||||||
|
|
||||||
|
ALTER SEQUENCE public.subcategoria_seq RESTART WITH 3;
|
||||||
|
|
||||||
|
CREATE SEQUENCE public.veiculo_seq
|
||||||
|
INCREMENT 1 MINVALUE 1
|
||||||
|
MAXVALUE 99999999 START 1
|
||||||
|
CACHE 1;
|
||||||
|
|
||||||
|
ALTER SEQUENCE public.veiculo_seq RESTART WITH 6;
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
CREATE TABLE public.socios (
|
||||||
|
codigo NUMERIC(15,0) NOT NULL,
|
||||||
|
nome VARCHAR(50),
|
||||||
|
percentual_participacao NUMERIC(15,2),
|
||||||
|
CONSTRAINT socios_pkey PRIMARY KEY(codigo)
|
||||||
|
)
|
||||||
|
WITH (oids = false);
|
||||||
|
|
||||||
|
COMMENT ON COLUMN public.socios.percentual_participacao
|
||||||
|
IS 'Valor percentual da participação do sócio.';
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
CREATE TABLE public.subcategoria (
|
||||||
|
codigo NUMERIC(15,0) NOT NULL,
|
||||||
|
descricao VARCHAR(50),
|
||||||
|
codigo_categoria NUMERIC(15,0),
|
||||||
|
CONSTRAINT subcategoria_pkey PRIMARY KEY(codigo)
|
||||||
|
)
|
||||||
|
WITH (oids = false);
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
CREATE TABLE public.veiculo (
|
||||||
|
codigo NUMERIC(15,0) NOT NULL,
|
||||||
|
placa VARCHAR(8),
|
||||||
|
modelo VARCHAR(30),
|
||||||
|
marca VARCHAR(30),
|
||||||
|
ano NUMERIC(15,0),
|
||||||
|
CONSTRAINT veiculo_pkey PRIMARY KEY(codigo)
|
||||||
|
)
|
||||||
|
WITH (oids = false);
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
CREATE OR REPLACE FUNCTION public.fnc_geraldia_pivot (
|
||||||
|
parinicio date,
|
||||||
|
parfinal date
|
||||||
|
)
|
||||||
|
RETURNS varchar AS
|
||||||
|
$body$
|
||||||
|
DECLARE
|
||||||
|
strCategorias TEXT;
|
||||||
|
strSQL TEXT;
|
||||||
|
strColunas TEXT;
|
||||||
|
BEGIN
|
||||||
|
|
||||||
|
BEGIN
|
||||||
|
SELECT coalesce(STRING_AGG(distinct '"C_'|| C.DESCRICAO||'" text',','),'') as cat,
|
||||||
|
coalesce(STRING_AGG(distinct 'COALESCE("C_'|| C.DESCRICAO|| '",''0,00'') AS "C_'|| C.DESCRICAO||'"',','),'') as COLUNA
|
||||||
|
into strCategorias,strColunas
|
||||||
|
FROM controle_despesas_operacionais CDO
|
||||||
|
,CATEGORIA C
|
||||||
|
WHERE C.CODIGO = CDO.chave_categoria
|
||||||
|
AND CDO.DATA BETWEEN parinicio and parfinal;
|
||||||
|
EXCEPTION
|
||||||
|
WHEN NO_DATA_FOUND THEN
|
||||||
|
strCategorias := '';
|
||||||
|
END;
|
||||||
|
|
||||||
|
strSQL := 'SELECT row_number() over() as CHAVE
|
||||||
|
,CDO."DATA" AS DT
|
||||||
|
,(SELECT coalesce(replace(to_char(sum(crf.valor_liquido),''FM999999999.00''),''.'','',''),''0,00'') FROM CONTROLE_RECEITAS_FRETES crf WHERE crf.DATA = CDO."DATA") AS VALOR_FRETE
|
||||||
|
,coalesce(replace(to_char(cast((SELECT sum(crf.valor_liquido) FROM CONTROLE_RECEITAS_FRETES crf WHERE crf.DATA = CDO."DATA") - (Select sum(cd.valor) from controle_despesas_operacionais cd where cd.data = CDO."DATA") as numeric(15,2)),''FM999999999.00''),''.'','',''),''0,00'') as liquido
|
||||||
|
,'||strColunas||'
|
||||||
|
FROM (SELECT CR.* FROM (SELECT *
|
||||||
|
FROM crosstab(''SELECT CDO.DATA, CDO.CHAVE_CATEGORIA, coalesce(replace(to_char(sum(cdo.valor),''''FM999999999.00''''),''''.'''','''',''''),''''0,00'''')
|
||||||
|
FROM CONTROLE_DESPESAS_OPERACIONAIS CDO
|
||||||
|
WHERE CDO.DATA BETWEEN '''''||parinicio||''''' and '''''||parfinal||''''' group by cdo.data,cdo.chave_categoria ORDER BY 1,2'',''select distinct chave_categoria from controle_despesas_operacionais WHERE DATA BETWEEN '''''||parinicio||''''' and '''''||parfinal||''''' order by 1'')
|
||||||
|
AS ct("DATA" date, '||strCategorias||')) CR) CDO
|
||||||
|
union all
|
||||||
|
SELECT CAST(''0'' AS INTEGER) as CHAVE
|
||||||
|
,to_date(''01/01/1900'',''dd/MM/yyyy'') AS DT
|
||||||
|
,coalesce(replace(to_char(cast((SELECT sum(crf.valor_liquido) FROM CONTROLE_RECEITAS_FRETES crf WHERE crf.DATA BETWEEN '''||parinicio||''' and '''||parfinal||''' ) as numeric(15,2)),''FM999999999.00''),''.'','',''),''0,00'') AS VALOR_FRETE
|
||||||
|
,coalesce(replace(to_char(cast((SELECT sum(crf.valor_liquido) FROM CONTROLE_RECEITAS_FRETES crf WHERE crf.DATA BETWEEN '''||parinicio||''' and '''||parfinal||''') - (Select sum(cd.valor) from controle_despesas_operacionais cd where cd.data BETWEEN '''||parinicio||''' and '''||parfinal||''') as numeric(15,2)),''FM999999999.00''),''.'','',''),''0,00'') as liquido
|
||||||
|
,'||strColunas||'
|
||||||
|
FROM (SELECT CR.* FROM (SELECT *
|
||||||
|
FROM crosstab(''SELECT to_date(''''01/01/1900'''',''''dd/MM/yyyy''''), CDO.CHAVE_CATEGORIA, coalesce(replace(to_char(sum(cdo.valor),''''FM999999999.00''''),''''.'''','''',''''),''''0,00'''')
|
||||||
|
FROM CONTROLE_DESPESAS_OPERACIONAIS CDO
|
||||||
|
WHERE CDO.DATA BETWEEN '''''||parinicio||''''' and '''''||parfinal||''''' group by cdo.chave_categoria ORDER BY 1,2'',''select distinct chave_categoria from controle_despesas_operacionais where DATA BETWEEN '''''||parinicio||''''' and '''''||parfinal||''''' order by 1'')
|
||||||
|
AS ct("DATA" date, '|| strCategorias ||')) CR) CDO order by 1';
|
||||||
|
|
||||||
|
return strSQL;
|
||||||
|
|
||||||
|
END;
|
||||||
|
$body$
|
||||||
|
LANGUAGE 'plpgsql'
|
||||||
|
VOLATILE
|
||||||
|
CALLED ON NULL INPUT
|
||||||
|
SECURITY INVOKER
|
||||||
|
COST 100;
|
||||||
@@ -0,0 +1,99 @@
|
|||||||
|
CREATE OR REPLACE FUNCTION public.fnc_geralplaca_pivot (
|
||||||
|
parinicio date,
|
||||||
|
parfinal date,
|
||||||
|
parveiculo integer
|
||||||
|
)
|
||||||
|
RETURNS varchar AS
|
||||||
|
$body$
|
||||||
|
DECLARE
|
||||||
|
strCategorias TEXT;
|
||||||
|
strSQL TEXT;
|
||||||
|
strColunas TEXT;
|
||||||
|
BEGIN
|
||||||
|
|
||||||
|
BEGIN
|
||||||
|
SELECT coalesce(STRING_AGG(distinct '"C_'|| C.DESCRICAO||'" text',','),'') as cat,
|
||||||
|
coalesce(STRING_AGG(distinct 'COALESCE("C_'|| C.DESCRICAO|| '",''0,00'') AS "C_'|| C.DESCRICAO||'"',','),'') as COLUNA
|
||||||
|
into strCategorias,strColunas
|
||||||
|
FROM controle_despesas_operacionais CDO
|
||||||
|
,CATEGORIA C
|
||||||
|
WHERE C.CODIGO = CDO.chave_categoria
|
||||||
|
AND CDO.DATA BETWEEN parinicio and parfinal;
|
||||||
|
EXCEPTION
|
||||||
|
WHEN NO_DATA_FOUND THEN
|
||||||
|
strCategorias := '';
|
||||||
|
strColunas := '';
|
||||||
|
END;
|
||||||
|
if parveiculo is null then
|
||||||
|
strSQL := 'SELECT row_number() over() as CHAVE
|
||||||
|
,(Select v.placa from veiculo v where v.codigo = CDO."chave_veiculo") AS placa
|
||||||
|
,(SELECT coalesce(replace(to_char(sum(crf.valor_liquido),''FM999999999.00''),''.'','',''),''0,00'') FROM CONTROLE_RECEITAS_FRETES crf WHERE crf.chave_veiculo = CDO."chave_veiculo" and crf.DATA BETWEEN '''||parinicio||''' and '''||parfinal||''') AS VALOR_FRETE
|
||||||
|
,coalesce(replace(to_char(cast((SELECT sum(crf.valor_liquido) FROM CONTROLE_RECEITAS_FRETES crf WHERE crf.chave_veiculo = CDO."chave_veiculo" and crf.DATA BETWEEN '''||parinicio||''' and '''||parfinal||''') - (Select sum(cd.valor) from controle_despesas_operacionais cd where cd.chave_veiculo = CDO."chave_veiculo" and cd.DATA BETWEEN '''||parinicio||''' and '''||parfinal||''') as numeric(15,2)),''FM999999999.00''),''.'','',''),''0,00'') as liquido
|
||||||
|
,CDO.CHAVE_VEICULO
|
||||||
|
,'||strColunas||'
|
||||||
|
FROM (SELECT CR.* FROM (SELECT *
|
||||||
|
FROM crosstab(''SELECT distinct cdo.chave_veiculo, cdo.chave_categoria codigo, cdo.chave_categoria cat, replace(to_char(sum(cdo.valor),''''FM999999999.00''''),''''.'''','''','''')
|
||||||
|
FROM controle_despesas_operacionais cdo
|
||||||
|
where CDO.DATA BETWEEN '''''||parinicio||''''' and '''''||parfinal||'''''
|
||||||
|
group by cdo.chave_veiculo,cdo.chave_categoria
|
||||||
|
ORDER BY 1,2'',''select distinct chave_categoria from controle_despesas_operacionais where DATA BETWEEN '''''||parinicio||''''' and '''''||parfinal||''''' order by 1''
|
||||||
|
)
|
||||||
|
AS ct(chave_veiculo integer, cat integer, '||strCategorias||')) CR) CDO
|
||||||
|
union all
|
||||||
|
SELECT 0 as CHAVE
|
||||||
|
,''Total'' AS placa
|
||||||
|
,(SELECT coalesce(replace(to_char(sum(crf.valor_liquido),''FM999999999.00''),''.'','',''),''0,00'') FROM CONTROLE_RECEITAS_FRETES crf WHERE crf.DATA BETWEEN '''||parinicio||''' and '''||parfinal||''') AS VALOR_FRETE
|
||||||
|
,coalesce(replace(to_char(cast((SELECT sum(crf.valor_liquido) FROM CONTROLE_RECEITAS_FRETES crf WHERE crf.DATA BETWEEN '''||parinicio||''' and '''||parfinal||''') - (Select sum(cd.valor) from controle_despesas_operacionais cd where cd.DATA BETWEEN '''||parinicio||''' and '''||parfinal||''') as numeric(15,2)),''FM999999999.00''),''.'','',''),''0,00'') as liquido
|
||||||
|
,CDO.CHAVE_VEICULO
|
||||||
|
,'||strColunas||'
|
||||||
|
FROM (SELECT CR.* FROM (SELECT *
|
||||||
|
FROM crosstab(''SELECT distinct 0, cdo.chave_categoria codigo, cdo.chave_categoria cat, replace(to_char(sum(cdo.valor),''''FM999999999.00''''),''''.'''','''','''')
|
||||||
|
FROM controle_despesas_operacionais cdo
|
||||||
|
where CDO.DATA BETWEEN '''''||parinicio||''''' and '''''||parfinal||'''''
|
||||||
|
group by cdo.chave_categoria
|
||||||
|
ORDER BY 1,2'',''select distinct chave_categoria from controle_despesas_operacionais where DATA BETWEEN '''''||parinicio||''''' and '''''||parfinal||''''' order by 1''
|
||||||
|
)
|
||||||
|
AS ct(chave_veiculo integer, cat integer, '||strCategorias||')) CR) CDO ORDER BY 1';
|
||||||
|
ELSE
|
||||||
|
strSQL := 'SELECT row_number() over() as CHAVE
|
||||||
|
,(Select v.placa from veiculo v where v.codigo = CDO."chave_veiculo") AS placa
|
||||||
|
,(SELECT coalesce(replace(to_char(sum(crf.valor_liquido),''FM999999999.00''),''.'','',''),''0,00'') FROM CONTROLE_RECEITAS_FRETES crf WHERE crf.chave_veiculo = CDO."chave_veiculo" and crf.DATA BETWEEN '''||parinicio||''' and '''||parfinal||''') AS VALOR_FRETE
|
||||||
|
,coalesce(replace(to_char(cast((SELECT sum(crf.valor_liquido) FROM CONTROLE_RECEITAS_FRETES crf WHERE crf.chave_veiculo = CDO."chave_veiculo" and crf.DATA BETWEEN '''||parinicio||''' and '''||parfinal||''') - (Select sum(cd.valor) from controle_despesas_operacionais cd where cd.chave_veiculo = CDO."chave_veiculo" and cd.DATA BETWEEN '''||parinicio||''' and '''||parfinal||''') as numeric(15,2)),''FM999999999.00''),''.'','',''),''0,00'') as liquido
|
||||||
|
,CDO.CHAVE_VEICULO
|
||||||
|
,'||strColunas||'
|
||||||
|
FROM (SELECT CR.* FROM (SELECT *
|
||||||
|
FROM crosstab(''SELECT distinct cdo.chave_veiculo, cdo.chave_categoria codigo, cdo.chave_categoria cat, replace(to_char(sum(cdo.valor),''''FM999999999.00''''),''''.'''','''','''')
|
||||||
|
FROM controle_despesas_operacionais cdo
|
||||||
|
where CDO.DATA BETWEEN '''''||parinicio||''''' and '''''||parfinal||'''''
|
||||||
|
and cdo.chave_veiculo = '||parveiculo||'
|
||||||
|
group by cdo.chave_veiculo,cdo.chave_categoria
|
||||||
|
ORDER BY 1,2'',''select distinct chave_categoria from controle_despesas_operacionais where DATA BETWEEN '''''||parinicio||''''' and '''''||parfinal||''''' order by 1''
|
||||||
|
)
|
||||||
|
AS ct(chave_veiculo integer, cat integer, '||strCategorias||')) CR) CDO
|
||||||
|
union all
|
||||||
|
SELECT 0 as CHAVE
|
||||||
|
,''Total'' AS placa
|
||||||
|
,(SELECT coalesce(replace(to_char(sum(crf.valor_liquido),''FM999999999.00''),''.'','',''),''0,00'') FROM CONTROLE_RECEITAS_FRETES crf WHERE crf.DATA BETWEEN '''||parinicio||''' and '''||parfinal||''' and crf.chave_veiculo = '||parveiculo||') AS VALOR_FRETE
|
||||||
|
,coalesce(replace(to_char(cast((SELECT coalesce(sum(crf.valor_liquido),0) FROM CONTROLE_RECEITAS_FRETES crf WHERE crf.DATA BETWEEN '''||parinicio||''' and '''||parfinal||''' and crf.chave_veiculo = '||parveiculo||') - (Select sum(cd.valor) from controle_despesas_operacionais cd where cd.DATA BETWEEN '''||parinicio||''' and '''||parfinal||''' and cd.chave_veiculo = '||parveiculo||') as numeric(15,2)),''FM999999999.00''),''.'','',''),''0,00'') as liquido
|
||||||
|
,CDO.CHAVE_VEICULO
|
||||||
|
,'||strColunas||'
|
||||||
|
FROM (SELECT CR.* FROM (SELECT *
|
||||||
|
FROM crosstab(''SELECT distinct 0, cdo.chave_categoria codigo, cdo.chave_categoria cat, replace(to_char(sum(cdo.valor),''''FM999999999.00''''),''''.'''','''','''')
|
||||||
|
FROM controle_despesas_operacionais cdo
|
||||||
|
where CDO.DATA BETWEEN '''''||parinicio||''''' and '''''||parfinal||'''''
|
||||||
|
and cdo.chave_veiculo = '||parveiculo||'
|
||||||
|
group by cdo.chave_categoria
|
||||||
|
ORDER BY 1,2'',''select distinct chave_categoria from controle_despesas_operacionais where DATA BETWEEN '''''||parinicio||''''' and '''''||parfinal||''''' order by 1''
|
||||||
|
)
|
||||||
|
AS ct(chave_veiculo integer, cat integer, '||strCategorias||')) CR) CDO ORDER BY 1';
|
||||||
|
end if;
|
||||||
|
|
||||||
|
return strSQL;
|
||||||
|
|
||||||
|
END;
|
||||||
|
$body$
|
||||||
|
LANGUAGE 'plpgsql'
|
||||||
|
VOLATILE
|
||||||
|
CALLED ON NULL INPUT
|
||||||
|
SECURITY INVOKER
|
||||||
|
COST 100;
|
||||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,471 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<panel-form xmlns="http://www.davinti.com.br/vitruvio/form/panel" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://www.davinti.com.br/vitruvio/form/panel https://bitbucket.org/davinTI/vitruvio-xds/raw/master/vitruvio-panel-form.xsd">
|
||||||
|
<form formKey="formCadastroPadrao" height="100%" width="100%">
|
||||||
|
<name>Combustíveis</name>
|
||||||
|
<description>Cadastro de Combustíveis</description>
|
||||||
|
<afterFormRenderScript language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
/*, */
|
||||||
|
var config = { "tabela" :
|
||||||
|
{
|
||||||
|
"conexao" : "vitruvio",
|
||||||
|
"nome" : "combustivel" ,
|
||||||
|
"sequence" : "combustivel_seq" ,
|
||||||
|
"idTabela" : "CODIGO",
|
||||||
|
"campos" : ["CODIGO", "DESCRICAO" ],
|
||||||
|
"camposTable" : ["CODIGO", "DESCRICAO" ]
|
||||||
|
|
||||||
|
},
|
||||||
|
"relaciona" : [ ["CODIGO","idChave","Number"] ,
|
||||||
|
["DESCRICAO","idDescricao","String"]
|
||||||
|
] ,
|
||||||
|
"validacaoExclusao" : [ ["SELECT 0 AS CONTAR FROM COMBUSTIVEL WHERE CODIGO = ", "Existem registros ligados a esta tabela!"],
|
||||||
|
["SELECT COUNT(CHAVE_COMBUSTIVEL) AS CONTAR FROM CONTROLE_DESPESAS_COMBUSTIVEIS WHERE CHAVE_COMBUSTIVEL = ", "Existem registros ligados a esta tabela!"]
|
||||||
|
],
|
||||||
|
'painel' :
|
||||||
|
{
|
||||||
|
'titulo' : 'Cadastro de Combustíveis',
|
||||||
|
'icone' : 'data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMraHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjMtYzAxMSA2Ni4xNDU2NjEsIDIwMTIvMDIvMDYtMTQ6NTY6MjcgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjRFRkU5NTYyOTc1MjExRTg5OTQ1REMzMURFNkIzMkUyIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjRFRkU5NTYzOTc1MjExRTg5OTQ1REMzMURFNkIzMkUyIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NEVGRTk1NjA5NzUyMTFFODk5NDVEQzMxREU2QjMyRTIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NEVGRTk1NjE5NzUyMTFFODk5NDVEQzMxREU2QjMyRTIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7/7gAOQWRvYmUAZMAAAAAB/9sAhAAGBAQEBQQGBQUGCQYFBgkLCAYGCAsMCgoLCgoMEAwMDAwMDBAMDg8QDw4MExMUFBMTHBsbGxwfHx8fHx8fHx8fAQcHBw0MDRgQEBgaFREVGh8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx//wAARCAA0AFADAREAAhEBAxEB/8QAkQABAAMBAAMBAAAAAAAAAAAAAAUGBwQBAgMIAQEAAQUBAAAAAAAAAAAAAAAABgEDBAUHAhAAAQMDBAEBBQcFAQAAAAAAAQIDBAARBTESBgchE0FRgSIUYXGRsTJCI1JigjMkFhEAAgIABAIIBgMAAAAAAAAAAAECAxEhBAUxQfBRYYGh0RIGcZHBIjIUQhMz/9oADAMBAAIRAxEAPwD9RT50SBCfmzHAzFjIU6+6rRKEC6lH7hQFSHa/HnUhUOJkJiFAFDjUVe0g+QQV7fBoDlkdv45h0tuYXJJKQFG7SL2KSrTd/bQH3Y7g4ipaUShLglRtukMLSgEEJsVDcPbQFrxeYxWVjCTjZbUtg2O9pQUBfS9tPjQHYVJAJJAA1J9lBiejT7DwJacS4BrtIV+VVwB71QCgFAVDtvleO4r15mcxkIqJ0dtn0voXFFKXy8Q36RULkX3UBG4TqjrqZioU1qLIkRpLDTzAflyVj03EBSB/s/pNASieqeCIFmscWgPICHnhY+Df9fvSn8BQHJK6j46tsiHJmQ1ftCXi62PcCh3cCPFqAo/Iuus/gCp+NKvDkgpkZGCl2PIbKR8vqIZJSpLngXtZFMUs3wQwOkrmONJS/kH33diUOvlZ/kKRbcpOnmuT6rftTZZOSnKMZfxTeS5ImWn0NdcIpxjJrm1nidMCbIhrC0LKdujrZKSPvFY+j3O6iWNc3F9XFP4p5HrU6Ou1ZrM0rjmVOSxwdWoKeQSh23jyNCR9orqG1639nTxteHqfFLk10xIlqaP6rHElK2BYFAUbuPrd/sHh5wTGQGOfTIaktvLR6rai3cbXEApNrK9h1oCycVwKeP8AGcXg0vrlJxkVmKJLgAU56KAjcQNL20oCVoBQHhSUqSUqAKVCxB0INAZPySJFjZPIpjD00RnEWaH6drgGnusa5l7l00K9W1BKKcYvLrazJdtFspVR9Txx9XgRTT9R1wNrKBLcfzjmHyrTpJ+ikKDb6fYncfB+BqRe3NzdF3ok/snk/pLu59hq9y0SurbX+kM12rmjWAQQCPIOhrppEBQCgFAKAUAoDH+0JCMHk5U7IrMeBNLYaf2qIUtKf0DaD83jSoXv+1ai/VKVcfUnFZ8lhlmSXaddTVR98sJRk/EhuuZuB5fOkxkz/pPp1Jbbbc2pefWQVHYgnwAPf5PurzpPaTed8sOyPmV1PuBcKo978iy8j405iXwypRehvj+J0ixuNUm3tHsrU77sn6TjZXi6318U+rv5F7btxd2KllNeK6cTRcFPZm4qO80dEhC0+0KSLEGuiaXUwvqjZD8ZLou7gRe2twm4y4o76yC2KAUAoBQCgKr2fxL/ANVwrIYlsf8AXtD8I+59k70fjbb8aAwyLIjK6sM1qOiPmOP5CCFPISEOtht0DaSLHz+d6A1jtbsTi2Fxa4D952VcSHI8JggrQdUqcVogH7dax9VpYaiqVU/xkvl1PueZcqtlXJTjxRzcB5SxeO+0oqx2RSkkEEFC9PKdQUq+VQqE7BrZ6LUS0l+S9WXZLykvp2m83ClX1q6HFL5rzRp1T4j4oBQCgFAKAUBiHZPWmaZy2Ql4OK7KxebAM2LGsVpd3biCjx8pUN6SNDegIbC9Ecqy7weyricPFWQpxayH5a/8QSlJ+1SvhQE72T1BkcX164xwGTMTNiuGVkIwdUuTPbUP5kocPzId/enZbcRa3msK7bqLLVdOKlOKwWPlza5F6GonGDgnhFl/6tyHMJ3Cce9y6EqFm0pLboXYLdQjw2+42L+ktxPlSDoazSyWygFAKAUAoBQCgFAKAUB//9k='
|
||||||
|
}
|
||||||
|
};
|
||||||
|
function run()
|
||||||
|
{
|
||||||
|
engine.setGlobalVariable('config', config);
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
|
||||||
|
</afterFormRenderScript>
|
||||||
|
<initScript language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.icons.IconFactory);
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.resources.icons16x16.IconLibraryAPISmall);
|
||||||
|
importClass(Packages.java.util.Calendar);
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.layout.MessageBox);
|
||||||
|
importClass(Packages.com.vaadin.ui.Notification);
|
||||||
|
|
||||||
|
|
||||||
|
var getDataAtual = function() {
|
||||||
|
var c = java.util.Calendar.getInstance();
|
||||||
|
c.setTime(new java.util.Date());
|
||||||
|
c.set(Calendar.HOUR_OF_DAY, 0);
|
||||||
|
c.set(Calendar.MINUTE, 0);
|
||||||
|
c.set(Calendar.SECOND, 0);
|
||||||
|
c.set(Calendar.MILLISECOND, 0);
|
||||||
|
|
||||||
|
return c.getTime();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
var fncLimpaCampos = function(){
|
||||||
|
var config = engine.getGlobalVariable('config');
|
||||||
|
var lib = libService.loadScript('lib_cadastro_padrao');
|
||||||
|
var retorno = lib.fncLimpaCampos(config);
|
||||||
|
};
|
||||||
|
|
||||||
|
var habilitaCampos = function(lHabilita){
|
||||||
|
var botaoNovo = engine.getWidgetController('btnNovo').getButton();
|
||||||
|
var botaoSalvar = engine.getWidgetController('btnSalvar').getButton();
|
||||||
|
var botaoExcluir = engine.getWidgetController('btnExcluir').getButton();
|
||||||
|
var botaoVoltar = engine.getWidgetController('btnVoltar').getButton();
|
||||||
|
|
||||||
|
botaoNovo.setEnabled(true);
|
||||||
|
botaoSalvar.setEnabled(lHabilita);
|
||||||
|
botaoExcluir.setEnabled(lHabilita);
|
||||||
|
|
||||||
|
if(engine.getGlobalVariable('painelLista') == 1) {
|
||||||
|
botaoVoltar.setVisible(false);
|
||||||
|
botaoSalvar.setVisible(false);
|
||||||
|
botaoExcluir.setVisible(false);
|
||||||
|
} else {
|
||||||
|
botaoVoltar.setVisible(true);
|
||||||
|
botaoSalvar.setVisible(true);
|
||||||
|
botaoExcluir.setVisible(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
var config = engine.getGlobalVariable('config');
|
||||||
|
var lib = libService.loadScript('lib_cadastro_padrao');
|
||||||
|
var retorno = lib.fncHabilitaCampos(config, lHabilita);
|
||||||
|
|
||||||
|
engine.getField('idChave').setEnabled(false);
|
||||||
|
|
||||||
|
engine.getField('listaPrincipal').refresh();
|
||||||
|
};
|
||||||
|
|
||||||
|
var novoRegistro = function() {
|
||||||
|
fncLimpaCampos();
|
||||||
|
|
||||||
|
habilitaCampos(true);
|
||||||
|
engine.getLayout('pnlTitulo').getRootComposition().setVisible(false);
|
||||||
|
engine.getLayout('pnlInclusao').getRootComposition().setVisible(true);
|
||||||
|
engine.getWidgetController('btnVoltar').getButton().setVisible(true);
|
||||||
|
|
||||||
|
engine.getField('idChave').focus();
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
var carregarCampos = function(id) {
|
||||||
|
|
||||||
|
var config = engine.getGlobalVariable('config');
|
||||||
|
var lib = libService.loadScript('lib_cadastro_padrao');
|
||||||
|
var sql = lib.fncCarregarCampos(config, id);
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
var telaInicial = function() {
|
||||||
|
engine.getLayout('pnlTitulo').getRootComposition().setVisible(true);
|
||||||
|
engine.getLayout('pnlInclusao').getRootComposition().setVisible(false);
|
||||||
|
var botaoNovo = engine.getWidgetController('btnNovo').getButton();
|
||||||
|
var botaoSalvar = engine.getWidgetController('btnSalvar').getButton();
|
||||||
|
var botaoExcluir = engine.getWidgetController('btnExcluir').getButton();
|
||||||
|
var botaoVoltar = engine.getWidgetController('btnVoltar').getButton();
|
||||||
|
|
||||||
|
botaoNovo.setVisible(true);
|
||||||
|
botaoNovo.setEnabled(true);
|
||||||
|
botaoSalvar.setVisible(false);
|
||||||
|
botaoExcluir.setVisible(false);
|
||||||
|
botaoVoltar.setVisible(false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
var deletarRegistro = function(id) {
|
||||||
|
var config = engine.getGlobalVariable('config');
|
||||||
|
var lib = libService.loadScript('lib_cadastro_padrao');
|
||||||
|
var retorno = lib.fncDeletarRegistro(config, id);
|
||||||
|
if (retorno) {
|
||||||
|
engine.getGlobalVariable('fncLimpaCampos')();
|
||||||
|
engine.getGlobalVariable('habilitaCampos')(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var validarDuplicidade = function(valor) {
|
||||||
|
var sql = "Select count(descricao) ct from combustivel where descricao = '" + valor + "'";
|
||||||
|
var db = libService.loadScript('db');
|
||||||
|
var dbVitruvio = new db('vitruvio');
|
||||||
|
var row = dbVitruvio.queryRow(sql);
|
||||||
|
if (row.ct == 0) {
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function run() {
|
||||||
|
var config = engine.getGlobalVariable('config');
|
||||||
|
var titulo = config['painel'].titulo;
|
||||||
|
var icone = config['painel'].icone;
|
||||||
|
engine.getLabel('Descricaocadastro').setValue('<img align="middle" alt="" src="'+ icone + '" width="68" /><font color="Gray" face="Calibri" size="6" > ' + titulo + '</font>');
|
||||||
|
engine.getLabel('DescricaocadastroDentro').setValue('<img align="middle" alt="" src="'+ icone + '" width="68" /><font color="Gray" face="Calibri" size="6" > ' + titulo + '</font>');
|
||||||
|
engine.setGlobalVariable('novoRegistro', novoRegistro);
|
||||||
|
engine.setGlobalVariable('carregarCampos', carregarCampos);
|
||||||
|
engine.setGlobalVariable('habilitaCampos', habilitaCampos);
|
||||||
|
engine.setGlobalVariable('fncLimpaCampos', fncLimpaCampos);
|
||||||
|
engine.setGlobalVariable('telaInicial', telaInicial);
|
||||||
|
engine.setGlobalVariable('deletarRegistro', deletarRegistro);
|
||||||
|
engine.setGlobalVariable('validarDuplicidade', validarDuplicidade);
|
||||||
|
engine.setGlobalVariable('painelLista',1);
|
||||||
|
|
||||||
|
//fncLimpaCampos();
|
||||||
|
habilitaCampos(false);
|
||||||
|
|
||||||
|
engine.getWidgetController('btnSalvar').getButton().setIcon(IconFactory.instance().getIconAsResource(IconLibraryAPISmall.APLICAR));
|
||||||
|
engine.getWidgetController('btnNovo').getButton().setIcon(IconFactory.instance().getIconAsResource(IconLibraryAPISmall.CRIAR));
|
||||||
|
engine.getWidgetController('btnExcluir').getButton().setIcon(IconFactory.instance().getIconAsResource(IconLibraryAPISmall.REMOVER));
|
||||||
|
engine.getWidgetController('btnVoltar').getButton().setIcon(IconFactory.instance().getIconAsResource(IconLibraryAPISmall.VOLTAR));
|
||||||
|
//engine.getFieldLocked('idAjuda', false); // pode ser erro no componente, aberto caso Eduardo = 20108
|
||||||
|
telaInicial();
|
||||||
|
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</initScript>
|
||||||
|
<components>
|
||||||
|
<VerticalLayout spacing="false" margin="false" height="100%" width="100%" align="TOP_LEFT" >
|
||||||
|
<Panel width="100%" height="100%" caption="" expandRatio="1" margin="false" id="pnlTitulo" align="TOP_LEFT" >
|
||||||
|
<VerticalLayout width="100%" expandRatio="1" margin="true">
|
||||||
|
<Label id="Descricaocadastro" contentMode="HTML" align="MIDDLE_CENTER" > </Label>
|
||||||
|
<TextField id="idPesquisaLista" caption="Digite aqui para pesquisar:" type="string" width="100%" visible="true" immediate="true">
|
||||||
|
<events>
|
||||||
|
<valueChange>
|
||||||
|
<script language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
function run(){
|
||||||
|
engine.getField('listaPrincipal').refresh();
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</script>
|
||||||
|
</valueChange>
|
||||||
|
</events>
|
||||||
|
</TextField>
|
||||||
|
<DBTable id="listaPrincipal" type="number" visible="true" width="100%" immediate="true" rows="5" selectable="false" multivalue="false" showRowCount="true">
|
||||||
|
<datasource>
|
||||||
|
<sqlBuilderDataSource connection-key="vitruvio" language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
|
||||||
|
var getSql = function() {
|
||||||
|
|
||||||
|
var config = { "tabela" :
|
||||||
|
{
|
||||||
|
"conexao" : "vitruvio",
|
||||||
|
"nome" : "combustivel" ,
|
||||||
|
"sequence" : "combustivel_seq" ,
|
||||||
|
"idTabela" : "CODIGO",
|
||||||
|
"campos" : ["CODIGO", "DESCRICAO" ],
|
||||||
|
"camposTable" : ["CODIGO", "DESCRICAO" ]
|
||||||
|
},
|
||||||
|
"relaciona" : [ ["CODIGO","idChave","Number"] ,
|
||||||
|
["DESCRICAO","idDescricao","String"]
|
||||||
|
] ,
|
||||||
|
|
||||||
|
"validacaoExclusao" :
|
||||||
|
[ ["SELECT 0 AS CONTAR FROM COMBUSTIVEL WHERE CODIGO = ", "Existem registros ligados a esta tabela"],
|
||||||
|
["SELECT COUNT(CHAVE_COMBUSTIVEL) AS CONTAR FROM CONTROLE_DESPESAS_COMBUSTIVEIS WHERE CHAVE_COMBUSTIVEL = ", "Existem registros ligados a esta tabela!"]
|
||||||
|
],
|
||||||
|
'painel' :
|
||||||
|
{
|
||||||
|
'titulo' : 'Cadastro de Funcionário',
|
||||||
|
'icone' : 'data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMraHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjMtYzAxMSA2Ni4xNDU2NjEsIDIwMTIvMDIvMDYtMTQ6NTY6MjcgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjRFRkU5NTYyOTc1MjExRTg5OTQ1REMzMURFNkIzMkUyIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjRFRkU5NTYzOTc1MjExRTg5OTQ1REMzMURFNkIzMkUyIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NEVGRTk1NjA5NzUyMTFFODk5NDVEQzMxREU2QjMyRTIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NEVGRTk1NjE5NzUyMTFFODk5NDVEQzMxREU2QjMyRTIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7/7gAOQWRvYmUAZMAAAAAB/9sAhAAGBAQEBQQGBQUGCQYFBgkLCAYGCAsMCgoLCgoMEAwMDAwMDBAMDg8QDw4MExMUFBMTHBsbGxwfHx8fHx8fHx8fAQcHBw0MDRgQEBgaFREVGh8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx//wAARCAA0AFADAREAAhEBAxEB/8QAkQABAAMBAAMBAAAAAAAAAAAAAAUGBwQBAgMIAQEAAQUBAAAAAAAAAAAAAAAABgEDBAUHAhAAAQMDBAEBBQcFAQAAAAAAAQIDBAARBTESBgchE0FRgSIUYXGRsTJCI1JigjMkFhEAAgIABAIIBgMAAAAAAAAAAAECAxEhBAUxQfBRYYGh0RIGcZHBIjIUQhMz/9oADAMBAAIRAxEAPwD9RT50SBCfmzHAzFjIU6+6rRKEC6lH7hQFSHa/HnUhUOJkJiFAFDjUVe0g+QQV7fBoDlkdv45h0tuYXJJKQFG7SL2KSrTd/bQH3Y7g4ipaUShLglRtukMLSgEEJsVDcPbQFrxeYxWVjCTjZbUtg2O9pQUBfS9tPjQHYVJAJJAA1J9lBiejT7DwJacS4BrtIV+VVwB71QCgFAVDtvleO4r15mcxkIqJ0dtn0voXFFKXy8Q36RULkX3UBG4TqjrqZioU1qLIkRpLDTzAflyVj03EBSB/s/pNASieqeCIFmscWgPICHnhY+Df9fvSn8BQHJK6j46tsiHJmQ1ftCXi62PcCh3cCPFqAo/Iuus/gCp+NKvDkgpkZGCl2PIbKR8vqIZJSpLngXtZFMUs3wQwOkrmONJS/kH33diUOvlZ/kKRbcpOnmuT6rftTZZOSnKMZfxTeS5ImWn0NdcIpxjJrm1nidMCbIhrC0LKdujrZKSPvFY+j3O6iWNc3F9XFP4p5HrU6Ou1ZrM0rjmVOSxwdWoKeQSh23jyNCR9orqG1639nTxteHqfFLk10xIlqaP6rHElK2BYFAUbuPrd/sHh5wTGQGOfTIaktvLR6rai3cbXEApNrK9h1oCycVwKeP8AGcXg0vrlJxkVmKJLgAU56KAjcQNL20oCVoBQHhSUqSUqAKVCxB0INAZPySJFjZPIpjD00RnEWaH6drgGnusa5l7l00K9W1BKKcYvLrazJdtFspVR9Txx9XgRTT9R1wNrKBLcfzjmHyrTpJ+ikKDb6fYncfB+BqRe3NzdF3ok/snk/pLu59hq9y0SurbX+kM12rmjWAQQCPIOhrppEBQCgFAKAUAoDH+0JCMHk5U7IrMeBNLYaf2qIUtKf0DaD83jSoXv+1ai/VKVcfUnFZ8lhlmSXaddTVR98sJRk/EhuuZuB5fOkxkz/pPp1Jbbbc2pefWQVHYgnwAPf5PurzpPaTed8sOyPmV1PuBcKo978iy8j405iXwypRehvj+J0ixuNUm3tHsrU77sn6TjZXi6318U+rv5F7btxd2KllNeK6cTRcFPZm4qO80dEhC0+0KSLEGuiaXUwvqjZD8ZLou7gRe2twm4y4o76yC2KAUAoBQCgKr2fxL/ANVwrIYlsf8AXtD8I+59k70fjbb8aAwyLIjK6sM1qOiPmOP5CCFPISEOtht0DaSLHz+d6A1jtbsTi2Fxa4D952VcSHI8JggrQdUqcVogH7dax9VpYaiqVU/xkvl1PueZcqtlXJTjxRzcB5SxeO+0oqx2RSkkEEFC9PKdQUq+VQqE7BrZ6LUS0l+S9WXZLykvp2m83ClX1q6HFL5rzRp1T4j4oBQCgFAKAUBiHZPWmaZy2Ql4OK7KxebAM2LGsVpd3biCjx8pUN6SNDegIbC9Ecqy7weyricPFWQpxayH5a/8QSlJ+1SvhQE72T1BkcX164xwGTMTNiuGVkIwdUuTPbUP5kocPzId/enZbcRa3msK7bqLLVdOKlOKwWPlza5F6GonGDgnhFl/6tyHMJ3Cce9y6EqFm0pLboXYLdQjw2+42L+ktxPlSDoazSyWygFAKAUAoBQCgFAKAUB//9k='
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
var lib = libService.loadScript('lib_cadastro_padrao');
|
||||||
|
return lib.table(config, 'camposTable');
|
||||||
|
}
|
||||||
|
|
||||||
|
function buildSQL(params) {
|
||||||
|
var sql = getSql();
|
||||||
|
if(engine) {
|
||||||
|
var idPesquisaLista = engine.getField('idPesquisaLista').getValue();
|
||||||
|
if (idPesquisaLista != null) {
|
||||||
|
sql = "SELECT * FROM ( " + sql + " ) T WHERE T.DESCRICAO LIKE UPPER('%" + idPesquisaLista + "%')";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return sql;
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</sqlBuilderDataSource>
|
||||||
|
|
||||||
|
</datasource>
|
||||||
|
<key-field>CODIGO</key-field>
|
||||||
|
<columns>
|
||||||
|
<!-- icone de edição -->
|
||||||
|
<generated name="Editar" align="CENTER" expand-ratio="0.2">
|
||||||
|
<scriptColumnGenerator language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.resources.icons16x16.IconLibraryAPISmall);
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.icons.IconFactory);
|
||||||
|
|
||||||
|
function Generator() {
|
||||||
|
var comp = libService.loadScript('vaadinComponents');
|
||||||
|
this.generate = function (itemId, columnId, item, container) {
|
||||||
|
var btn = comp.buttonIcon('editar', function () {
|
||||||
|
|
||||||
|
var id = itemId;
|
||||||
|
engine.getField('idChave').setValue(id);
|
||||||
|
|
||||||
|
if (id != null) {
|
||||||
|
engine.setGlobalVariable('painelLista',0);
|
||||||
|
engine.getGlobalVariable('carregarCampos')(id);
|
||||||
|
engine.getGlobalVariable('habilitaCampos')(true);
|
||||||
|
engine.getLayout('pnlInclusao').getRootComposition().setVisible(true);
|
||||||
|
engine.getLayout('pnlTitulo').getRootComposition().setVisible(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
}, 'pencil');
|
||||||
|
|
||||||
|
return btn;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var script = new Generator();
|
||||||
|
]]>
|
||||||
|
</scriptColumnGenerator>
|
||||||
|
</generated>
|
||||||
|
|
||||||
|
<!-- icone de exclusão -->
|
||||||
|
<generated name="Excluir" align="CENTER" expand-ratio="0.2">
|
||||||
|
<scriptColumnGenerator language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.layout.ConfirmationBox);
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.resources.icons16x16.IconLibraryAPISmall);
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.icons.IconFactory);
|
||||||
|
|
||||||
|
function Generator() {
|
||||||
|
var comp = libService.loadScript('vaadinComponents');
|
||||||
|
this.generate = function (itemId, columnId, item, container) {
|
||||||
|
var btn = comp.buttonIcon('excluir', function () {
|
||||||
|
|
||||||
|
var deletar = engine.getGlobalVariable('deletarRegistro');
|
||||||
|
var registro = item.getItemProperty('CODIGO') + " - " + item.getItemProperty('DESCRICAO');
|
||||||
|
var msg = 'Confirma a exclusão das informações para \n';
|
||||||
|
msg = msg.concat(registro, "?");
|
||||||
|
|
||||||
|
ConfirmationBox.show( 'Confirmar operação'
|
||||||
|
, msg
|
||||||
|
, new ConfirmationBox.ConfirmationBoxListener() {
|
||||||
|
dialogEnd: function(context, action) {
|
||||||
|
if(action == ConfirmationBox.Action.YES) {
|
||||||
|
if(deletar){
|
||||||
|
engine.setGlobalVariable('painelLista',1);
|
||||||
|
deletar(itemId);
|
||||||
|
engine.getField('listaPrincipal').refresh();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}, 'trash');
|
||||||
|
|
||||||
|
return btn;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var script = new Generator();
|
||||||
|
]]>
|
||||||
|
</scriptColumnGenerator>
|
||||||
|
</generated>
|
||||||
|
<column name="CODIGO" caption="Código"/>
|
||||||
|
<column name="DESCRICAO" caption="Descrição"/>
|
||||||
|
</columns>
|
||||||
|
</DBTable>
|
||||||
|
</VerticalLayout>
|
||||||
|
</Panel>
|
||||||
|
|
||||||
|
<Panel width="100%" height="100%" expandRatio="1" caption="" margin="false" id="pnlInclusao">
|
||||||
|
<VerticalLayout width="100%" margin="true">
|
||||||
|
<Label id="DescricaocadastroDentro" contentMode="HTML" align="MIDDLE_CENTER" > </Label>
|
||||||
|
<TabLayout height="100%" width="100%">
|
||||||
|
<Tab caption="Dados" >
|
||||||
|
<VerticalLayout width="70%" margin="true" spacing="true">
|
||||||
|
<DBSearchField type="number" id="idPesquisa" expandRatio="1" caption="Pesquisar Combustível" width="100%" searchCaption="Descrição do combustível" searchViewWidth="85%" description="Selecione um fornecedor" >
|
||||||
|
<datasource>
|
||||||
|
<freeQuery connection-key="vitruvio">
|
||||||
|
<![CDATA[
|
||||||
|
SELECT * FROM combustivel
|
||||||
|
]]>
|
||||||
|
</freeQuery>
|
||||||
|
</datasource>
|
||||||
|
<loadItemQuery>
|
||||||
|
<![CDATA[
|
||||||
|
SELECT *
|
||||||
|
FROM combustivel
|
||||||
|
descricao = ? ORDER BY codigo
|
||||||
|
]]>
|
||||||
|
</loadItemQuery>
|
||||||
|
<key-field>CODIGO</key-field>
|
||||||
|
<caption-field>DESCRICAO</caption-field>
|
||||||
|
<columns>
|
||||||
|
<column name="CODIGO" caption="Código" />
|
||||||
|
<column name="DESCRICAO" caption="Descrição" />
|
||||||
|
</columns>
|
||||||
|
<filterProperties filterRequired="false">
|
||||||
|
<value>CODIGO</value>
|
||||||
|
<value>DESCRICAO</value>
|
||||||
|
</filterProperties>
|
||||||
|
<events>
|
||||||
|
<valueChange>
|
||||||
|
<script language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
function run() {
|
||||||
|
engine.getGlobalVariable('fncLimpaCampos')();
|
||||||
|
engine.getGlobalVariable('carregarCampos')(engine.getField('idPesquisa').getValue());
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</script>
|
||||||
|
</valueChange>
|
||||||
|
</events>
|
||||||
|
</DBSearchField>
|
||||||
|
<HorizontalLayout width="100%" spacing="true">
|
||||||
|
<TextField id="idChave" caption="Código" type="number" width="100%" expandRatio="0.08" />
|
||||||
|
<TextField id="idDescricao" text-transform="uppercase" type="string" caption="Descrição" required="true" width="100%" expandRatio="1" />
|
||||||
|
</HorizontalLayout>
|
||||||
|
</VerticalLayout>
|
||||||
|
</Tab>
|
||||||
|
</TabLayout>
|
||||||
|
</VerticalLayout>
|
||||||
|
|
||||||
|
</Panel>
|
||||||
|
<Panel width="100%" margin="false" id="pnlBotoes" >
|
||||||
|
<VerticalLayout width="100%" >
|
||||||
|
<HorizontalLayout margin="true" spacing="true" align="MIDDLE_CENTER" >
|
||||||
|
<ButtonWidget id="btnSalvar" caption="Salvar" expandRatio="0.2" description="Salva os dados do combustível" align="MIDDLE_CENTER">
|
||||||
|
<onClickScript language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.layout.MessageBox);
|
||||||
|
function run() {
|
||||||
|
if (engine.isValid()) {
|
||||||
|
if (engine.getGlobalVariable('validarDuplicidade')(engine.getField('idDescricao').getValue())) {
|
||||||
|
MessageBox.show(MessageBox.BoxType.INFO, 'Atenção', 'Já existe um combustível cadastrado com esta descrição.');
|
||||||
|
} else {
|
||||||
|
var config = engine.getGlobalVariable('config');
|
||||||
|
var id = engine.getField('idChave').getConvertedValue();
|
||||||
|
var lib = libService.loadScript('lib_cadastro_padrao');
|
||||||
|
var retorno = lib.fncGravarRegistro(config, id);
|
||||||
|
|
||||||
|
if (retorno) {
|
||||||
|
engine.getGlobalVariable('fncLimpaCampos')();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</onClickScript>
|
||||||
|
</ButtonWidget>
|
||||||
|
<ButtonWidget caption="Novo" id="btnNovo" expandRatio="0.2" description="Descarta os dados atuais e deixa o formulário pronto para receber um novo cadastro" align="MIDDLE_CENTER">
|
||||||
|
<onClickScript language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
function run() {
|
||||||
|
engine.setGlobalVariable('painelLista',0);
|
||||||
|
engine.getGlobalVariable('novoRegistro')();
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</onClickScript>
|
||||||
|
</ButtonWidget>
|
||||||
|
<ButtonWidget caption="Excluir" id="btnExcluir" expandRatio="0.2" description="Excluir os dados atuais" align="MIDDLE_CENTER">
|
||||||
|
<onClickScript language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.layout.MessageBox);
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.layout.ConfirmationBox);
|
||||||
|
importClass(Packages.com.vaadin.ui.Notification);
|
||||||
|
|
||||||
|
function run() {
|
||||||
|
if(engine.isValid()) {
|
||||||
|
var deletar = engine.getGlobalVariable('deletarRegistro');
|
||||||
|
var listener = new ConfirmationBox.ConfirmationBoxListener() {
|
||||||
|
dialogEnd: function(context, action) {
|
||||||
|
if(action == ConfirmationBox.Action.YES) {
|
||||||
|
var id = engine.getField('idChave').getConvertedValue();
|
||||||
|
if(deletar){
|
||||||
|
engine.setGlobalVariable('painelLista',0);
|
||||||
|
deletar(id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
ConfirmationBox.show(ConfirmationBox.DialogIcon.WARNING, 'Confirmar exclusão do registro?', 'Tem certeza de que deseja excluir o tipo de ocorrência selecionado?', listener, ConfirmationBox.ACTION_YES_CANCEL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</onClickScript>
|
||||||
|
</ButtonWidget>
|
||||||
|
<ButtonWidget caption="Voltar" id="btnVoltar" expandRatio="0.2" description="Voltar a tela inicial" align="MIDDLE_CENTER">
|
||||||
|
<onClickScript language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
function run() {
|
||||||
|
engine.setGlobalVariable('painelLista',1);
|
||||||
|
engine.getGlobalVariable('fncLimpaCampos')();
|
||||||
|
newRecord = false;
|
||||||
|
saveStatus = false;
|
||||||
|
engine.getGlobalVariable('telaInicial')();
|
||||||
|
engine.getField('listaPrincipal').refresh();
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</onClickScript>
|
||||||
|
</ButtonWidget>
|
||||||
|
</HorizontalLayout>
|
||||||
|
</VerticalLayout>
|
||||||
|
</Panel>
|
||||||
|
</VerticalLayout>
|
||||||
|
</components>
|
||||||
|
</form>
|
||||||
|
</panel-form>
|
||||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,493 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<panel-form xmlns="http://www.davinti.com.br/vitruvio/form/panel" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://www.davinti.com.br/vitruvio/form/panel https://bitbucket.org/davinTI/vitruvio-xds/raw/master/vitruvio-panel-form.xsd">
|
||||||
|
<form formKey="formCadastroPadrao" height="100%" width="100%">
|
||||||
|
<name>Fornecedores</name>
|
||||||
|
<description>Cadastro de Fornecedores</description>
|
||||||
|
<afterFormRenderScript language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
var config = { "tabela" :
|
||||||
|
{
|
||||||
|
"conexao" : "vitruvio",
|
||||||
|
"nome" : "fornecedor" ,
|
||||||
|
"sequence" : "fornecedor_seq" ,
|
||||||
|
"idTabela" : "CODIGO",
|
||||||
|
"campos" : ["CODIGO", "NOME","RAZAO_SOCIAL","CNPJ","ENDERECO", "CEP"],
|
||||||
|
"camposTable" : ["CODIGO", "NOME","RAZAO_SOCIAL","CNPJ","ENDERECO", "CEP"]
|
||||||
|
},
|
||||||
|
"relaciona" : [ ["CODIGO","idChave","Number"] ,
|
||||||
|
["NOME","idDescricao","String"],
|
||||||
|
["RAZAO_SOCIAL","idRazao","String"],
|
||||||
|
["CNPJ","idCNPJ","String"],
|
||||||
|
["ENDERECO","idEndereco","String"],
|
||||||
|
["CEP","idCEP","String"]
|
||||||
|
|
||||||
|
] ,
|
||||||
|
"validacaoExclusao" : [ ["SELECT 0 AS CONTAR FROM fornecedor WHERE CODIGO = ", "Existem registros ligados a esta tabela"],
|
||||||
|
["SELECT count(chave_fornecedor) AS CONTAR FROM controle_despesas_operacionais WHERE chave_fornecedor = ", "Existem registros ligados a esta tabela"]
|
||||||
|
],
|
||||||
|
'painel' :
|
||||||
|
{
|
||||||
|
'titulo' : 'Cadastro de Fornecedores',
|
||||||
|
'icone' : 'data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMraHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjMtYzAxMSA2Ni4xNDU2NjEsIDIwMTIvMDIvMDYtMTQ6NTY6MjcgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkM3QkQzMTY1OTY3QzExRTg5MTkzODJBNzU4NThFRjUzIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkM3QkQzMTY2OTY3QzExRTg5MTkzODJBNzU4NThFRjUzIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzdCRDMxNjM5NjdDMTFFODkxOTM4MkE3NTg1OEVGNTMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QzdCRDMxNjQ5NjdDMTFFODkxOTM4MkE3NTg1OEVGNTMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7/7gAOQWRvYmUAZMAAAAAB/9sAhAAGBAQEBQQGBQUGCQYFBgkLCAYGCAsMCgoLCgoMEAwMDAwMDBAMDg8QDw4MExMUFBMTHBsbGxwfHx8fHx8fHx8fAQcHBw0MDRgQEBgaFREVGh8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx//wAARCABNAF4DAREAAhEBAxEB/8QAhwAAAgIDAQEAAAAAAAAAAAAAAAYEBQECAwcIAQEAAgMBAQAAAAAAAAAAAAAAAgQBAwUGBxAAAgEDAwIEBAQHAAAAAAAAAQIDABEEIRIFMQZBUSITYXGBFJGhMhXRQlJyIzMWEQACAQMEAwEAAwEAAAAAAAAAAQIRAwQhQRIFMVETImGRMhT/2gAMAwEAAhEDEQA/APqmgCgCgAkCgI+TyGHjKGyZkhUmwaRggv8AMkUB0gyYJ0EkMiyIejIQwP1FAdKAKAKAKAKAKAKAKAKAreV5OPCjMsl9q9dup+H50An5PI42Tt5HJIcyA7I2G4lvBQOgUAEk0B37b57DgzE/TjxTt7cq3suoLI1un8tr/Ghhug4rynHyX9rJikYdVRgT+RpQwpJ7lVy3ePHcfNFAIpciecOY1jW4ugvtLdBfwrKVTLdCrXvHmcoEw4aY3oRlWRgxDFiHVrdCFsRUqIxVjbi5UeREHQ3NhuHkagSO1AFAFAYYgC9AUHO9zx4EbLH68g6Ig8z0vQFDynPY02CsGdPHFmyAhY920ubE2QHU6CqmPmRuzlCNfwbrtlwim9xNjzo0cLKhlgS4QXswB8NfC9XuDOPc7O3GVPJU8ly0xePFw4DNOWJjjQFm+bW8qxJqOrIJyy9FpAhyy90YTxTZuK+PiswDvbTXzI6VCN9Nmy51fCDarUbeG5mLHjnky5j7IVWBN2tc20AufEVtlH0VusyZNuMmaQyrFzmZyOFhTy5GW0MMhdgqe2FYiRFPkWsabUZ1k9ao9H7N/d/28/uaos5diBGSV2abevwqDpsTVdxhrBkKAKA0mBKECgELuXCmWYzbdwqFyHKLj7J258JKXo8+7lxcXJn45o4HlysdyqZAP+i6m7P56VW6/FnZ5Kv5NvZ51q5STVJ7naRrnruIFi3S5866aPD35qU20qIt+xMELlZeayhvcVVjc6kWJ3CuZmy1oet6WFLVRq5mET8TlRbQxeMqoPmelU4OjR15rRnncKPjosV/Ug2k/Ku9HVHzy7JxuSp7LHh814eQid7upIVgddDSSN2Hkyhc1ejPVuPzW1VYWECLczHQfGufbvylcceL4rc9dKCUU66kvi+WweUxVy8GUT47MyCRb23IdrDW3QirbVDSnUmVgyFAR5clQdt9fKgK2QY3IJJ7bJIqEozXFgw6j6UAid5dux8Z7eVjsWiyWIk8gwFwK2wZwe1tNNS9ivUzjln2plNjco8Vz7MkZO34giqOdH81PR9DefNx2aGLneSReMkELHc1l3dLXqljR5TR2u1uu3Yk158CVXbPBDF2lFPBlfeJB9ydrBYrXF7aXJ0GorkT7BvI+UYviv8AUj0WB16ja+0nq/Ef4M9vdu968pyfIvzXcRxmmYOvFYpB9pBfYN9vxtV9ZVqT4xdWjqf8t1RU5KkWMnYq944uVyODzq4/2cMoHGyQAKxS2u9R49Na2Ta2IRruO3hWsmYboaAWeammx51lU6Ai/la+tAZx83j8TiJ5ZY0jhiDzysugYqNxbTzAo67eQqV10Qs4/dGH3jxGXi4jxS+2DJGYjfa0fqsfmARXHxc6+sn5XY0r4NvaYVqeO5W5cqC//wA3zsmKJ8bGEm8egFgPxvXZnkRWh5jH6q5cSb0iceG7d70xOYTLyMVGg2mN4ww0Bsbj8KqX7imqHocHEjjuqLjuniu4szAGNxuP63YNJIzAWA8B9ar2FxlVl7KauR40qimwO1u7r7MvFS3hIrD8xXQjkrc83kdM/MB97MeSLj87iJkVczH9SgaFlcHx+lQylytycd0Werbty+c/MWRIMPJXLgnMgw2ifdfVncdCp8xXlerxMhyq1wij117MtRi4v9VX9Dpje3NKZ1UqW869eefJttKAKAqOaw/dhJA1GooBdxMuLGd4MmBnhYWYDXdbwIPn0oBUUYHbk+XLwHGx8d96f88guW2+QHQVJ0lJN+UVclTjbfzHbgZJ5+HxpJ9ZCL3HwOlUbukmWsOTdqNSxZpdp29fDQVDkyzRGEMoOrlxYalQLHxFSlL0YSNrsbA1FtmUhLMPLZPdeUcZzE62RnX+gjQfWr9rSCOC7cpZTkvCHLj+3447PJd5PFjrrQ6pdxRLGthQG9AFAavGrixoCG/FYzNcqKApeb7egkQsIw4F/SRoaAq+N5VuIH28sO/FB/Qeq/2mtc7aYi3HwXidzduSwljOkTHSz6EE6Vodt+iauHROb7eDm2VG3pGgN6x836H1TWjNTy+JkH28JL+BlIsB8h41tjZ9kXcb8E3juPxoFLIl5HO6SVv1Mf4VvIRjQsQAKEgoAoAoAoAoDDorCxFAVuZwmNPe6i5oCmn7Nxna4WgOmN2jixkErQF1icXjwD0qKAnAADSgCgCgCgCgCgCgCgCgDSgDSgCgCgCgCgCgP//Z'
|
||||||
|
}
|
||||||
|
};
|
||||||
|
function run()
|
||||||
|
{
|
||||||
|
engine.setGlobalVariable('config', config);
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
|
||||||
|
</afterFormRenderScript>
|
||||||
|
<initScript language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.icons.IconFactory);
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.resources.icons16x16.IconLibraryAPISmall);
|
||||||
|
importClass(Packages.java.util.Calendar);
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.layout.MessageBox);
|
||||||
|
importClass(Packages.com.vaadin.ui.Notification);
|
||||||
|
|
||||||
|
|
||||||
|
var getDataAtual = function() {
|
||||||
|
var c = java.util.Calendar.getInstance();
|
||||||
|
c.setTime(new java.util.Date());
|
||||||
|
c.set(Calendar.HOUR_OF_DAY, 0);
|
||||||
|
c.set(Calendar.MINUTE, 0);
|
||||||
|
c.set(Calendar.SECOND, 0);
|
||||||
|
c.set(Calendar.MILLISECOND, 0);
|
||||||
|
|
||||||
|
return c.getTime();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
var fncLimpaCampos = function(){
|
||||||
|
var config = engine.getGlobalVariable('config');
|
||||||
|
var lib = libService.loadScript('lib_cadastro_padrao');
|
||||||
|
var retorno = lib.fncLimpaCampos(config);
|
||||||
|
};
|
||||||
|
|
||||||
|
var habilitaCampos = function(lHabilita){
|
||||||
|
var botaoNovo = engine.getWidgetController('btnNovo').getButton();
|
||||||
|
var botaoSalvar = engine.getWidgetController('btnSalvar').getButton();
|
||||||
|
var botaoExcluir = engine.getWidgetController('btnExcluir').getButton();
|
||||||
|
var botaoVoltar = engine.getWidgetController('btnVoltar').getButton();
|
||||||
|
|
||||||
|
botaoNovo.setEnabled(true);
|
||||||
|
botaoSalvar.setEnabled(lHabilita);
|
||||||
|
botaoExcluir.setEnabled(lHabilita);
|
||||||
|
|
||||||
|
if(engine.getGlobalVariable('painelLista') == 1) {
|
||||||
|
botaoVoltar.setVisible(false);
|
||||||
|
botaoSalvar.setVisible(false);
|
||||||
|
botaoExcluir.setVisible(false);
|
||||||
|
} else {
|
||||||
|
botaoVoltar.setVisible(true);
|
||||||
|
botaoSalvar.setVisible(true);
|
||||||
|
botaoExcluir.setVisible(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
var config = engine.getGlobalVariable('config');
|
||||||
|
var lib = libService.loadScript('lib_cadastro_padrao');
|
||||||
|
var retorno = lib.fncHabilitaCampos(config, lHabilita);
|
||||||
|
|
||||||
|
engine.getField('idChave').setEnabled(false);
|
||||||
|
|
||||||
|
engine.getField('listaPrincipal').refresh();
|
||||||
|
};
|
||||||
|
|
||||||
|
var novoRegistro = function() {
|
||||||
|
fncLimpaCampos();
|
||||||
|
|
||||||
|
habilitaCampos(true);
|
||||||
|
engine.getLayout('pnlTitulo').getRootComposition().setVisible(false);
|
||||||
|
engine.getLayout('pnlInclusao').getRootComposition().setVisible(true);
|
||||||
|
engine.getWidgetController('btnVoltar').getButton().setVisible(true);
|
||||||
|
|
||||||
|
engine.getField('idRazao').focus();
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
var carregarCampos = function(id) {
|
||||||
|
|
||||||
|
var config = engine.getGlobalVariable('config');
|
||||||
|
var lib = libService.loadScript('lib_cadastro_padrao');
|
||||||
|
var sql = lib.fncCarregarCampos(config, id);
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
var telaInicial = function() {
|
||||||
|
engine.getLayout('pnlTitulo').getRootComposition().setVisible(true);
|
||||||
|
engine.getLayout('pnlInclusao').getRootComposition().setVisible(false);
|
||||||
|
var botaoNovo = engine.getWidgetController('btnNovo').getButton();
|
||||||
|
var botaoSalvar = engine.getWidgetController('btnSalvar').getButton();
|
||||||
|
var botaoExcluir = engine.getWidgetController('btnExcluir').getButton();
|
||||||
|
var botaoVoltar = engine.getWidgetController('btnVoltar').getButton();
|
||||||
|
|
||||||
|
botaoNovo.setVisible(true);
|
||||||
|
botaoNovo.setEnabled(true);
|
||||||
|
botaoSalvar.setVisible(false);
|
||||||
|
botaoExcluir.setVisible(false);
|
||||||
|
botaoVoltar.setVisible(false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
var deletarRegistro = function(id) {
|
||||||
|
var config = engine.getGlobalVariable('config');
|
||||||
|
var lib = libService.loadScript('lib_cadastro_padrao');
|
||||||
|
var retorno = lib.fncDeletarRegistro(config, id);
|
||||||
|
if (retorno) {
|
||||||
|
engine.getGlobalVariable('fncLimpaCampos')();
|
||||||
|
engine.getGlobalVariable('habilitaCampos')(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var validarDuplicidade = function(valor) {
|
||||||
|
var sql = "Select count(razao_social) ct from fornecedor where razao_social = '" + valor + "'";
|
||||||
|
var db = libService.loadScript('db');
|
||||||
|
var dbVitruvio = new db('vitruvio');
|
||||||
|
var row = dbVitruvio.queryRow(sql);
|
||||||
|
if (row.ct == 0) {
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function run() {
|
||||||
|
var config = engine.getGlobalVariable('config');
|
||||||
|
var titulo = config['painel'].titulo;
|
||||||
|
var icone = config['painel'].icone;
|
||||||
|
engine.getLabel('Descricaocadastro').setValue('<img align="middle" alt="" src="'+ icone + '" width="68" /><font color="Gray" face="Calibri" size="6" > ' + titulo + '</font>');
|
||||||
|
engine.getLabel('DescricaocadastroDentro').setValue('<img align="middle" alt="" src="'+ icone + '" width="68" /><font color="Gray" face="Calibri" size="6" > ' + titulo + '</font>');
|
||||||
|
engine.setGlobalVariable('novoRegistro', novoRegistro);
|
||||||
|
engine.setGlobalVariable('carregarCampos', carregarCampos);
|
||||||
|
engine.setGlobalVariable('habilitaCampos', habilitaCampos);
|
||||||
|
engine.setGlobalVariable('fncLimpaCampos', fncLimpaCampos);
|
||||||
|
engine.setGlobalVariable('telaInicial', telaInicial);
|
||||||
|
engine.setGlobalVariable('deletarRegistro', deletarRegistro);
|
||||||
|
engine.setGlobalVariable('validarDuplicidade', validarDuplicidade);
|
||||||
|
engine.setGlobalVariable('painelLista',1);
|
||||||
|
|
||||||
|
//fncLimpaCampos();
|
||||||
|
habilitaCampos(false);
|
||||||
|
|
||||||
|
engine.getWidgetController('btnSalvar').getButton().setIcon(IconFactory.instance().getIconAsResource(IconLibraryAPISmall.APLICAR));
|
||||||
|
engine.getWidgetController('btnNovo').getButton().setIcon(IconFactory.instance().getIconAsResource(IconLibraryAPISmall.CRIAR));
|
||||||
|
engine.getWidgetController('btnExcluir').getButton().setIcon(IconFactory.instance().getIconAsResource(IconLibraryAPISmall.REMOVER));
|
||||||
|
engine.getWidgetController('btnVoltar').getButton().setIcon(IconFactory.instance().getIconAsResource(IconLibraryAPISmall.VOLTAR));
|
||||||
|
//engine.getFieldLocked('idAjuda', false); // pode ser erro no componente, aberto caso Eduardo = 20108
|
||||||
|
telaInicial();
|
||||||
|
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</initScript>
|
||||||
|
<components>
|
||||||
|
<VerticalLayout spacing="false" margin="false" height="100%" width="100%" align="TOP_LEFT">
|
||||||
|
<Panel width="100%" height="100%" caption="" expandRatio="1" margin="false" id="pnlTitulo" align="TOP_LEFT">
|
||||||
|
<VerticalLayout width="100%" expandRatio="1" margin="true">
|
||||||
|
<Label id="Descricaocadastro" contentMode="HTML" align="MIDDLE_CENTER"> </Label>
|
||||||
|
<TextField id="idPesquisaLista" caption="Digite aqui para pesquisar:" type="string" width="100%" visible="true" immediate="true">
|
||||||
|
<events>
|
||||||
|
<valueChange>
|
||||||
|
<script language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
function run(){
|
||||||
|
engine.getField('listaPrincipal').refresh();
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</script>
|
||||||
|
</valueChange>
|
||||||
|
</events>
|
||||||
|
</TextField>
|
||||||
|
<DBTable id="listaPrincipal" type="number" visible="true" width="100%" immediate="true" rows="5" selectable="false" multivalue="false" showRowCount="true">
|
||||||
|
<datasource>
|
||||||
|
<sqlBuilderDataSource connection-key="vitruvio" language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
|
||||||
|
var getSql = function() {
|
||||||
|
|
||||||
|
var config = { "tabela" :
|
||||||
|
{
|
||||||
|
"conexao" : "vitruvio",
|
||||||
|
"nome" : "fornecedor" ,
|
||||||
|
"sequence" : "fornecedor_seq" ,
|
||||||
|
"idTabela" : "CODIGO",
|
||||||
|
"campos" : ["CODIGO", "NOME","RAZAO_SOCIAL","CNPJ","ENDERECO", "CEP"],
|
||||||
|
"camposTable" : ["CODIGO", "NOME","RAZAO_SOCIAL","CNPJ","ENDERECO", "CEP"]
|
||||||
|
},
|
||||||
|
|
||||||
|
"relaciona" : [ ["CODIGO","idChave","Number"] ,
|
||||||
|
["NOME","idDescricao","String"],
|
||||||
|
["RAZAO_SOCIAL","idRazao","String"],
|
||||||
|
["CNPJ","idCNPJ","String"],
|
||||||
|
["ENDERECO","idEndereco","String"],
|
||||||
|
["CEP","idCEP","String"]
|
||||||
|
] ,
|
||||||
|
|
||||||
|
"validacaoExclusao" :
|
||||||
|
[ ["SELECT 0 AS CONTAR FROM fornecedor WHERE CODIGO = ", "Existem registros ligados a esta tabela"],
|
||||||
|
["SELECT count(chave_fornecedor) AS CONTAR FROM controle_despesas_operacionais WHERE chave_fornecedor = ", "Existem registros ligados a esta tabela"]
|
||||||
|
],
|
||||||
|
'painel' :
|
||||||
|
{
|
||||||
|
'titulo' : 'Cadastro de Fornecedores',
|
||||||
|
'icone' : 'data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMraHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjMtYzAxMSA2Ni4xNDU2NjEsIDIwMTIvMDIvMDYtMTQ6NTY6MjcgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkM3QkQzMTY1OTY3QzExRTg5MTkzODJBNzU4NThFRjUzIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkM3QkQzMTY2OTY3QzExRTg5MTkzODJBNzU4NThFRjUzIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzdCRDMxNjM5NjdDMTFFODkxOTM4MkE3NTg1OEVGNTMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QzdCRDMxNjQ5NjdDMTFFODkxOTM4MkE3NTg1OEVGNTMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7/7gAOQWRvYmUAZMAAAAAB/9sAhAAGBAQEBQQGBQUGCQYFBgkLCAYG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'
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
var lib = libService.loadScript('lib_cadastro_padrao');
|
||||||
|
return lib.table(config, 'camposTable');
|
||||||
|
}
|
||||||
|
|
||||||
|
function buildSQL(params) {
|
||||||
|
var sql = getSql();
|
||||||
|
if(engine) {
|
||||||
|
var idPesquisaLista = engine.getField('idPesquisaLista').getValue();
|
||||||
|
if (idPesquisaLista != null) {
|
||||||
|
sql = "SELECT * FROM ( " + sql + " ) T WHERE T.RAZAO_SOCIAL LIKE UPPER('%" + idPesquisaLista + "%')";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return sql;
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</sqlBuilderDataSource>
|
||||||
|
|
||||||
|
</datasource>
|
||||||
|
<key-field>CODIGO</key-field>
|
||||||
|
<columns>
|
||||||
|
<!-- icone de edição -->
|
||||||
|
<generated name="Editar" align="CENTER" expand-ratio="0.2">
|
||||||
|
<scriptColumnGenerator language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.resources.icons16x16.IconLibraryAPISmall);
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.icons.IconFactory);
|
||||||
|
|
||||||
|
function Generator() {
|
||||||
|
var comp = libService.loadScript('vaadinComponents');
|
||||||
|
this.generate = function (itemId, columnId, item, container) {
|
||||||
|
var btn = comp.buttonIcon('editar', function () {
|
||||||
|
|
||||||
|
var id = itemId;
|
||||||
|
engine.getField('idChave').setValue(id);
|
||||||
|
|
||||||
|
if (id != null) {
|
||||||
|
engine.setGlobalVariable('painelLista',0);
|
||||||
|
engine.getGlobalVariable('carregarCampos')(id);
|
||||||
|
engine.getGlobalVariable('habilitaCampos')(true);
|
||||||
|
engine.getLayout('pnlInclusao').getRootComposition().setVisible(true);
|
||||||
|
engine.getLayout('pnlTitulo').getRootComposition().setVisible(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
}, 'pencil');
|
||||||
|
|
||||||
|
return btn;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var script = new Generator();
|
||||||
|
]]>
|
||||||
|
</scriptColumnGenerator>
|
||||||
|
</generated>
|
||||||
|
|
||||||
|
<!-- icone de exclusão -->
|
||||||
|
<generated name="Excluir" align="CENTER" expand-ratio="0.2">
|
||||||
|
<scriptColumnGenerator language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.layout.ConfirmationBox);
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.resources.icons16x16.IconLibraryAPISmall);
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.icons.IconFactory);
|
||||||
|
|
||||||
|
function Generator() {
|
||||||
|
var comp = libService.loadScript('vaadinComponents');
|
||||||
|
this.generate = function (itemId, columnId, item, container) {
|
||||||
|
var btn = comp.buttonIcon('excluir', function () {
|
||||||
|
|
||||||
|
var deletar = engine.getGlobalVariable('deletarRegistro');
|
||||||
|
var registro = item.getItemProperty('CODIGO') + " - " + item.getItemProperty('RAZAO_SOCIAL');
|
||||||
|
var msg = 'Confirma a exclusão das informações para \n';
|
||||||
|
msg = msg.concat(registro, "?");
|
||||||
|
|
||||||
|
ConfirmationBox.show( 'Confirmar operação'
|
||||||
|
, msg
|
||||||
|
, new ConfirmationBox.ConfirmationBoxListener() {
|
||||||
|
dialogEnd: function(context, action) {
|
||||||
|
if(action == ConfirmationBox.Action.YES) {
|
||||||
|
if(deletar){
|
||||||
|
engine.setGlobalVariable('painelLista',1);
|
||||||
|
deletar(itemId);
|
||||||
|
engine.getField('listaPrincipal').refresh();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}, 'trash');
|
||||||
|
|
||||||
|
return btn;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var script = new Generator();
|
||||||
|
]]>
|
||||||
|
</scriptColumnGenerator>
|
||||||
|
</generated>
|
||||||
|
|
||||||
|
<column name="CODIGO" caption="Código"/>
|
||||||
|
<column name="NOME" caption="Nome"/>
|
||||||
|
<column name="RAZAO_SOCIAL" caption="Razão Social"/>
|
||||||
|
<column name="CNPJ" caption="CNPJ" />
|
||||||
|
<column name="ENDERECO" caption="Endereço"/>
|
||||||
|
<column name="CEP" caption="CEP"/>
|
||||||
|
</columns>
|
||||||
|
</DBTable>
|
||||||
|
</VerticalLayout>
|
||||||
|
</Panel>
|
||||||
|
|
||||||
|
<Panel width="100%" height="100%" expandRatio="1" caption="" margin="false" id="pnlInclusao" >
|
||||||
|
<VerticalLayout width="100%" margin="true">
|
||||||
|
<Label id="DescricaocadastroDentro" contentMode="HTML" align="MIDDLE_CENTER"> </Label>
|
||||||
|
<TabLayout height="100%" width="100%">
|
||||||
|
<Tab caption="Dados" >
|
||||||
|
<VerticalLayout width="100%" margin="true" spacing="true">
|
||||||
|
<DBSearchField type="number" id="idPesquisa" expandRatio="1" caption="Pesquisar Fornecedor" width="100%" searchCaption="Nome do fornecedor" searchViewWidth="85%" description="Selecione um fornecedor" >
|
||||||
|
<datasource>
|
||||||
|
<freeQuery connection-key="vitruvio">
|
||||||
|
<![CDATA[
|
||||||
|
SELECT * FROM fornecedor
|
||||||
|
]]>
|
||||||
|
</freeQuery>
|
||||||
|
</datasource>
|
||||||
|
<loadItemQuery>
|
||||||
|
<![CDATA[
|
||||||
|
SELECT *
|
||||||
|
FROM fornecedor
|
||||||
|
razao_social = ? ORDER BY codigo
|
||||||
|
]]>
|
||||||
|
</loadItemQuery>
|
||||||
|
<key-field>CODIGO</key-field>
|
||||||
|
<caption-field>RAZAO_SOCIAL</caption-field>
|
||||||
|
<columns>
|
||||||
|
<column name="CODIGO" caption="Código" />
|
||||||
|
<column name="RAZAO_SOCIAL" caption="Nome" />
|
||||||
|
<column name="CNPJ" caption="CNPJ" />
|
||||||
|
</columns>
|
||||||
|
<filterProperties filterRequired="false">
|
||||||
|
<value>CODIGO</value>
|
||||||
|
<value>RAZAO_SOCIAL</value>
|
||||||
|
<value>CNPJ</value>
|
||||||
|
</filterProperties>
|
||||||
|
<events>
|
||||||
|
<valueChange>
|
||||||
|
<script language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
function run() {
|
||||||
|
engine.getGlobalVariable('fncLimpaCampos')();
|
||||||
|
engine.getGlobalVariable('carregarCampos')(engine.getField('idPesquisa').getValue());
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</script>
|
||||||
|
</valueChange>
|
||||||
|
</events>
|
||||||
|
</DBSearchField>
|
||||||
|
<HorizontalLayout spacing="true" width="100%">
|
||||||
|
<TextField id="idChave" type="number" width="100%" caption="Código" expandRatio="0.1" />
|
||||||
|
<TextField id="idRazao" type="string" text-transform="uppercase" caption="Razão Social" required="true" width="100%" expandRatio="0.7" />
|
||||||
|
<MaskedField id="idCNPJ" type="string" caption="CNPJ" width="100%" expandRatio="0.2" mask="##.###.###/####-##" preservMask="false"/>
|
||||||
|
</HorizontalLayout>
|
||||||
|
<HorizontalLayout spacing="true" width="100%">
|
||||||
|
<TextField id="idDescricao" type="string" caption="Nome Fantasia" text-transform="uppercase" width="100%" expandRatio="0.4" />
|
||||||
|
<TextField id="idEndereco" type="string" caption="Endereco" width="100%" expandRatio="0.5" text-transform="uppercase" />
|
||||||
|
<MaskedField id="idCEP" type="string" caption="CEP" width="100%" expandRatio="0.1" mask="##.###-###" preservMask="false" />
|
||||||
|
</HorizontalLayout>
|
||||||
|
</VerticalLayout>
|
||||||
|
</Tab>
|
||||||
|
</TabLayout>
|
||||||
|
</VerticalLayout>
|
||||||
|
|
||||||
|
</Panel>
|
||||||
|
|
||||||
|
<Panel width="100%" margin="false" id="pnlBotoes" >
|
||||||
|
<VerticalLayout width="100%" >
|
||||||
|
<HorizontalLayout margin="true" spacing="true" align="MIDDLE_CENTER" >
|
||||||
|
<ButtonWidget id="btnSalvar" caption="Salvar" expandRatio="0.2" description="Salva os dados das Informações Adicionais do Cargo " align="MIDDLE_CENTER">
|
||||||
|
<onClickScript language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.layout.MessageBox);
|
||||||
|
function run() {
|
||||||
|
if (engine.isValid()) {
|
||||||
|
if (engine.getGlobalVariable('validarDuplicidade')(engine.getField('idRazao').getValue())) {
|
||||||
|
MessageBox.show(MessageBox.BoxType.INFO, 'Atenção', 'Já existe um fornecedor cadastrado com esta razão social.');
|
||||||
|
} else {
|
||||||
|
var config = engine.getGlobalVariable('config');
|
||||||
|
var id = engine.getField('idChave').getConvertedValue();
|
||||||
|
var lib = libService.loadScript('lib_cadastro_padrao');
|
||||||
|
var retorno = lib.fncGravarRegistro(config, id);
|
||||||
|
|
||||||
|
if (retorno) {
|
||||||
|
engine.getGlobalVariable('fncLimpaCampos')();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</onClickScript>
|
||||||
|
</ButtonWidget>
|
||||||
|
<ButtonWidget caption="Novo" id="btnNovo" expandRatio="0.2" description="Descarta os dados atuais e deixa o formulário pronto para receber um novo cadastro" align="MIDDLE_CENTER">
|
||||||
|
<onClickScript language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
function run() {
|
||||||
|
engine.setGlobalVariable('painelLista',0);
|
||||||
|
engine.getGlobalVariable('novoRegistro')();
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</onClickScript>
|
||||||
|
</ButtonWidget>
|
||||||
|
<ButtonWidget caption="Excluir" id="btnExcluir" expandRatio="0.2" description="Excluir os dados atuais" align="MIDDLE_CENTER">
|
||||||
|
<onClickScript language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.layout.MessageBox);
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.layout.ConfirmationBox);
|
||||||
|
importClass(Packages.com.vaadin.ui.Notification);
|
||||||
|
|
||||||
|
function run() {
|
||||||
|
if(engine.isValid()) {
|
||||||
|
var deletar = engine.getGlobalVariable('deletarRegistro');
|
||||||
|
var listener = new ConfirmationBox.ConfirmationBoxListener() {
|
||||||
|
dialogEnd: function(context, action) {
|
||||||
|
if(action == ConfirmationBox.Action.YES) {
|
||||||
|
var id = engine.getField('idChave').getConvertedValue();
|
||||||
|
if(deletar){
|
||||||
|
engine.setGlobalVariable('painelLista',0);
|
||||||
|
deletar(id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
ConfirmationBox.show(ConfirmationBox.DialogIcon.WARNING, 'Confirmar exclusão do registro?', 'Tem certeza de que deseja excluir o fornecedor?', listener, ConfirmationBox.ACTION_YES_CANCEL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</onClickScript>
|
||||||
|
</ButtonWidget>
|
||||||
|
<ButtonWidget caption="Voltar" id="btnVoltar" expandRatio="0.2" description="Voltar a tela inicial" align="MIDDLE_CENTER">
|
||||||
|
<onClickScript language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
function run() {
|
||||||
|
engine.setGlobalVariable('painelLista',1);
|
||||||
|
engine.getGlobalVariable('fncLimpaCampos')();
|
||||||
|
newRecord = false;
|
||||||
|
saveStatus = false;
|
||||||
|
engine.getGlobalVariable('telaInicial')();
|
||||||
|
engine.getField('listaPrincipal').refresh();
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</onClickScript>
|
||||||
|
</ButtonWidget>
|
||||||
|
</HorizontalLayout>
|
||||||
|
</VerticalLayout>
|
||||||
|
</Panel>
|
||||||
|
</VerticalLayout>
|
||||||
|
</components>
|
||||||
|
</form>
|
||||||
|
</panel-form>
|
||||||
@@ -0,0 +1,487 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<panel-form xmlns="http://www.davinti.com.br/vitruvio/form/panel" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://www.davinti.com.br/vitruvio/form/panel https://bitbucket.org/davinTI/vitruvio-xds/raw/master/vitruvio-panel-form.xsd">
|
||||||
|
<form formKey="formCadastroPadrao" height="100%" width="100%">
|
||||||
|
<name>Funcionários</name>
|
||||||
|
<description>Cadastro de funcionários</description>
|
||||||
|
<afterFormRenderScript language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
/*, */
|
||||||
|
var config = { "tabela" :
|
||||||
|
{
|
||||||
|
"conexao" : "vitruvio",
|
||||||
|
"nome" : "funcionario" ,
|
||||||
|
"sequence" : "funcionario_seq" ,
|
||||||
|
"idTabela" : "CODIGO",
|
||||||
|
"campos" : ["CODIGO", "NOME","VENCIMENTO_CNH","CNH","ADMISSAO"],
|
||||||
|
"camposTable" : ["CODIGO", "NOME","VENCIMENTO_CNH","CNH","ADMISSAO"]
|
||||||
|
|
||||||
|
},
|
||||||
|
"relaciona" : [ ["CODIGO","idChave","Number"] ,
|
||||||
|
["NOME","idDescricao","String"],
|
||||||
|
["VENCIMENTO_CNH","idVencimento","Date"],
|
||||||
|
["CNH","idCNH","Number"],
|
||||||
|
["ADMISSAO","idAdmissao","Date"]
|
||||||
|
] ,
|
||||||
|
"validacaoExclusao" : [ ["SELECT 0 AS CONTAR FROM FUNCIONARIO WHERE CODIGO = ", "Existem registros ligados a esta tabela!"],
|
||||||
|
["SELECT COUNT(CHAVE_FUNCIONARIO) AS CONTAR FROM CONTROLE_DESPESAS_OPERACIONAIS WHERE CHAVE_FUNCIONARIO = ", "Existem registros ligados a esta tabela!"],
|
||||||
|
["SELECT COUNT(CHAVE_FUNCIONARIO) AS CONTAR FROM CONTROLE_RECEITAS_FRETES WHERE CHAVE_FUNCIONARIO = ", "Existem registros ligados a esta tabela!"]
|
||||||
|
],
|
||||||
|
'painel' :
|
||||||
|
{
|
||||||
|
'titulo' : 'Cadastro de Funcionários',
|
||||||
|
'icone' : 'data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMraHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjMtYzAxMSA2Ni4xNDU2NjEsIDIwMTIvMDIvMDYtMTQ6NTY6MjcgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjgzODU4QTk2OTc1QjExRTg4Qzk4RkUzQzc5RTIwMEJFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjgzODU4QTk3OTc1QjExRTg4Qzk4RkUzQzc5RTIwMEJFIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6ODM4NThBOTQ5NzVCMTFFODhDOThGRTNDNzlFMjAwQkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6ODM4NThBOTU5NzVCMTFFODhDOThGRTNDNzlFMjAwQkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7/7gAOQWRvYmUAZMAAAAAB/9sAhAAGBAQEBQQGBQUGCQYFBgkLCAYG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'
|
||||||
|
}
|
||||||
|
};
|
||||||
|
function run()
|
||||||
|
{
|
||||||
|
engine.setGlobalVariable('config', config);
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
|
||||||
|
</afterFormRenderScript>
|
||||||
|
<initScript language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.icons.IconFactory);
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.resources.icons16x16.IconLibraryAPISmall);
|
||||||
|
importClass(Packages.java.util.Calendar);
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.layout.MessageBox);
|
||||||
|
importClass(Packages.com.vaadin.ui.Notification);
|
||||||
|
|
||||||
|
|
||||||
|
var getDataAtual = function() {
|
||||||
|
var c = java.util.Calendar.getInstance();
|
||||||
|
c.setTime(new java.util.Date());
|
||||||
|
c.set(Calendar.HOUR_OF_DAY, 0);
|
||||||
|
c.set(Calendar.MINUTE, 0);
|
||||||
|
c.set(Calendar.SECOND, 0);
|
||||||
|
c.set(Calendar.MILLISECOND, 0);
|
||||||
|
|
||||||
|
return c.getTime();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
var fncLimpaCampos = function(){
|
||||||
|
var config = engine.getGlobalVariable('config');
|
||||||
|
var lib = libService.loadScript('lib_cadastro_padrao');
|
||||||
|
var retorno = lib.fncLimpaCampos(config);
|
||||||
|
};
|
||||||
|
|
||||||
|
var habilitaCampos = function(lHabilita){
|
||||||
|
var botaoNovo = engine.getWidgetController('btnNovo').getButton();
|
||||||
|
var botaoSalvar = engine.getWidgetController('btnSalvar').getButton();
|
||||||
|
var botaoExcluir = engine.getWidgetController('btnExcluir').getButton();
|
||||||
|
var botaoVoltar = engine.getWidgetController('btnVoltar').getButton();
|
||||||
|
|
||||||
|
botaoNovo.setEnabled(true);
|
||||||
|
botaoSalvar.setEnabled(lHabilita);
|
||||||
|
botaoExcluir.setEnabled(lHabilita);
|
||||||
|
|
||||||
|
if(engine.getGlobalVariable('painelLista') == 1) {
|
||||||
|
botaoVoltar.setVisible(false);
|
||||||
|
botaoSalvar.setVisible(false);
|
||||||
|
botaoExcluir.setVisible(false);
|
||||||
|
} else {
|
||||||
|
botaoVoltar.setVisible(true);
|
||||||
|
botaoSalvar.setVisible(true);
|
||||||
|
botaoExcluir.setVisible(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
var config = engine.getGlobalVariable('config');
|
||||||
|
var lib = libService.loadScript('lib_cadastro_padrao');
|
||||||
|
var retorno = lib.fncHabilitaCampos(config, lHabilita);
|
||||||
|
|
||||||
|
engine.getField('idChave').setEnabled(false);
|
||||||
|
|
||||||
|
engine.getField('listaPrincipal').refresh();
|
||||||
|
};
|
||||||
|
|
||||||
|
var novoRegistro = function() {
|
||||||
|
fncLimpaCampos();
|
||||||
|
|
||||||
|
habilitaCampos(true);
|
||||||
|
engine.getLayout('pnlTitulo').getRootComposition().setVisible(false);
|
||||||
|
engine.getLayout('pnlInclusao').getRootComposition().setVisible(true);
|
||||||
|
engine.getWidgetController('btnVoltar').getButton().setVisible(true);
|
||||||
|
|
||||||
|
engine.getField('idChave').focus();
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
var carregarCampos = function(id) {
|
||||||
|
|
||||||
|
var config = engine.getGlobalVariable('config');
|
||||||
|
var lib = libService.loadScript('lib_cadastro_padrao');
|
||||||
|
var sql = lib.fncCarregarCampos(config, id);
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
var telaInicial = function() {
|
||||||
|
engine.getLayout('pnlTitulo').getRootComposition().setVisible(true);
|
||||||
|
engine.getLayout('pnlInclusao').getRootComposition().setVisible(false);
|
||||||
|
var botaoNovo = engine.getWidgetController('btnNovo').getButton();
|
||||||
|
var botaoSalvar = engine.getWidgetController('btnSalvar').getButton();
|
||||||
|
var botaoExcluir = engine.getWidgetController('btnExcluir').getButton();
|
||||||
|
var botaoVoltar = engine.getWidgetController('btnVoltar').getButton();
|
||||||
|
|
||||||
|
botaoNovo.setVisible(true);
|
||||||
|
botaoNovo.setEnabled(true);
|
||||||
|
botaoSalvar.setVisible(false);
|
||||||
|
botaoExcluir.setVisible(false);
|
||||||
|
botaoVoltar.setVisible(false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
var deletarRegistro = function(id) {
|
||||||
|
var config = engine.getGlobalVariable('config');
|
||||||
|
var lib = libService.loadScript('lib_cadastro_padrao');
|
||||||
|
var retorno = lib.fncDeletarRegistro(config, id);
|
||||||
|
if (retorno) {
|
||||||
|
engine.getGlobalVariable('fncLimpaCampos')();
|
||||||
|
engine.getGlobalVariable('habilitaCampos')(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var validarDuplicidade = function(valor) {
|
||||||
|
var sql = "Select count(nome) ct from FUNCIONARIO where NOME = '" + valor + "'";
|
||||||
|
var db = libService.loadScript('db');
|
||||||
|
var dbVitruvio = new db('vitruvio');
|
||||||
|
var row = dbVitruvio.queryRow(sql);
|
||||||
|
if (row.ct == 0) {
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function run() {
|
||||||
|
var config = engine.getGlobalVariable('config');
|
||||||
|
var titulo = config['painel'].titulo;
|
||||||
|
var icone = config['painel'].icone;
|
||||||
|
engine.getLabel('Descricaocadastro').setValue('<img align="middle" alt="" src="'+ icone + '" width="68" /><font color="Gray" face="Calibri" size="6" > ' + titulo + '</font>');
|
||||||
|
engine.getLabel('DescricaocadastroDentro').setValue('<img align="middle" alt="" src="'+ icone + '" width="68" /><font color="Gray" face="Calibri" size="6" > ' + titulo + '</font>');
|
||||||
|
engine.setGlobalVariable('novoRegistro', novoRegistro);
|
||||||
|
engine.setGlobalVariable('carregarCampos', carregarCampos);
|
||||||
|
engine.setGlobalVariable('habilitaCampos', habilitaCampos);
|
||||||
|
engine.setGlobalVariable('fncLimpaCampos', fncLimpaCampos);
|
||||||
|
engine.setGlobalVariable('telaInicial', telaInicial);
|
||||||
|
engine.setGlobalVariable('deletarRegistro', deletarRegistro);
|
||||||
|
engine.setGlobalVariable('validarDuplicidade', validarDuplicidade);
|
||||||
|
engine.setGlobalVariable('painelLista',1);
|
||||||
|
|
||||||
|
habilitaCampos(false);
|
||||||
|
|
||||||
|
engine.getWidgetController('btnSalvar').getButton().setIcon(IconFactory.instance().getIconAsResource(IconLibraryAPISmall.APLICAR));
|
||||||
|
engine.getWidgetController('btnNovo').getButton().setIcon(IconFactory.instance().getIconAsResource(IconLibraryAPISmall.CRIAR));
|
||||||
|
engine.getWidgetController('btnExcluir').getButton().setIcon(IconFactory.instance().getIconAsResource(IconLibraryAPISmall.REMOVER));
|
||||||
|
engine.getWidgetController('btnVoltar').getButton().setIcon(IconFactory.instance().getIconAsResource(IconLibraryAPISmall.VOLTAR));
|
||||||
|
//engine.getFieldLocked('idAjuda', false); // pode ser erro no componente, aberto caso Eduardo = 20108
|
||||||
|
telaInicial();
|
||||||
|
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</initScript>
|
||||||
|
<components>
|
||||||
|
<VerticalLayout spacing="false" margin="false" height="100%" width="100%" align="TOP_LEFT" >
|
||||||
|
<Panel width="100%" caption="" height="100%" expandRatio="1" margin="false" id="pnlTitulo" align="TOP_LEFT" >
|
||||||
|
<VerticalLayout width="100%" expandRatio="1" margin="true">
|
||||||
|
<Label id="Descricaocadastro" contentMode="HTML" align="MIDDLE_CENTER"> </Label>
|
||||||
|
<TextField id="idPesquisaLista" caption="Digite aqui para pesquisar:" type="string" width="100%" visible="true" immediate="true">
|
||||||
|
<events>
|
||||||
|
<valueChange>
|
||||||
|
<script language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
function run(){
|
||||||
|
engine.getField('listaPrincipal').refresh();
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</script>
|
||||||
|
</valueChange>
|
||||||
|
</events>
|
||||||
|
</TextField>
|
||||||
|
<DBTable id="listaPrincipal" type="number" visible="true" width="100%" immediate="true" rows="5" selectable="false" multivalue="false" showRowCount="true">
|
||||||
|
<datasource>
|
||||||
|
<sqlBuilderDataSource connection-key="vitruvio" language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
|
||||||
|
var getSql = function() {
|
||||||
|
|
||||||
|
var config = { "tabela" :
|
||||||
|
{
|
||||||
|
"conexao" : "vitruvio",
|
||||||
|
"nome" : "funcionario" ,
|
||||||
|
"sequence" : "funcionario_seq" ,
|
||||||
|
"idTabela" : "CODIGO",
|
||||||
|
"campos" : ["CODIGO", "NOME", "VENCIMENTO_CNH", "CNH", "ADMISSAO" ],
|
||||||
|
"camposTable" : ["CODIGO", "NOME", "VENCIMENTO_CNH", "CNH", "ADMISSAO"]
|
||||||
|
},
|
||||||
|
"relaciona" : [ ["CODIGO","idChave","Number"] ,
|
||||||
|
["NOME","idDescricao","String"],
|
||||||
|
["VENCIMENTO_CNH","idVencimento","Date"],
|
||||||
|
["CNH","idCNH","Number"],
|
||||||
|
["ADMISSAO","idAdmissao","Date"]
|
||||||
|
] ,
|
||||||
|
|
||||||
|
"validacaoExclusao" :
|
||||||
|
[ ["SELECT 0 AS CONTAR FROM FUNCIONARIO WHERE CODIGO = ", "Existem registros ligados a esta tabela!"],
|
||||||
|
["SELECT COUNT(CHAVE_FUNCIONARIO) AS CONTAR FROM CONTROLE_DESPESAS_OPERACIONAIS WHERE CHAVE_FUNCIONARIO = ", "Existem registros ligados a esta tabela!"],
|
||||||
|
["SELECT COUNT(CHAVE_FUNCIONARIO) AS CONTAR FROM CONTROLE_RECEITAS_FRETES WHERE CHAVE_FUNCIONARIO = ", "Existem registros ligados a esta tabela!"]
|
||||||
|
],
|
||||||
|
'painel' :
|
||||||
|
{
|
||||||
|
'titulo' : 'Cadastro de Funcionários',
|
||||||
|
'icone' : 'data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMraHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjMtYzAxMSA2Ni4xNDU2NjEsIDIwMTIvMDIvMDYtMTQ6NTY6MjcgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjgzODU4QTk2OTc1QjExRTg4Qzk4RkUzQzc5RTIwMEJFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjgzODU4QTk3OTc1QjExRTg4Qzk4RkUzQzc5RTIwMEJFIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6ODM4NThBOTQ5NzVCMTFFODhDOThGRTNDNzlFMjAwQkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6ODM4NThBOTU5NzVCMTFFODhDOThGRTNDNzlFMjAwQkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7/7gAOQWRvYmUAZMAAAAAB/9sAhAAGBAQEBQQGBQUGCQYFBgkLCAYG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'
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
var lib = libService.loadScript('lib_cadastro_padrao');
|
||||||
|
return lib.table(config, 'camposTable');
|
||||||
|
}
|
||||||
|
|
||||||
|
function buildSQL(params) {
|
||||||
|
var sql = getSql();
|
||||||
|
if(engine) {
|
||||||
|
var idPesquisaLista = engine.getField('idPesquisaLista').getValue();
|
||||||
|
if (idPesquisaLista != null) {
|
||||||
|
sql = "SELECT * FROM ( " + sql + " ) T WHERE T.NOME LIKE UPPER('%" + idPesquisaLista + "%')";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return sql;
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</sqlBuilderDataSource>
|
||||||
|
|
||||||
|
</datasource>
|
||||||
|
<key-field>CODIGO</key-field>
|
||||||
|
<columns>
|
||||||
|
<!-- icone de edição -->
|
||||||
|
<generated name="Editar" align="CENTER" expand-ratio="0.2">
|
||||||
|
<scriptColumnGenerator language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.resources.icons16x16.IconLibraryAPISmall);
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.icons.IconFactory);
|
||||||
|
|
||||||
|
function Generator() {
|
||||||
|
var comp = libService.loadScript('vaadinComponents');
|
||||||
|
this.generate = function (itemId, columnId, item, container) {
|
||||||
|
var btn = comp.buttonIcon('editar', function () {
|
||||||
|
|
||||||
|
var id = itemId;
|
||||||
|
engine.getField('idChave').setValue(id);
|
||||||
|
|
||||||
|
if (id != null) {
|
||||||
|
engine.setGlobalVariable('painelLista',0);
|
||||||
|
engine.getGlobalVariable('carregarCampos')(id);
|
||||||
|
engine.getGlobalVariable('habilitaCampos')(true);
|
||||||
|
engine.getLayout('pnlInclusao').getRootComposition().setVisible(true);
|
||||||
|
engine.getLayout('pnlTitulo').getRootComposition().setVisible(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
}, 'pencil');
|
||||||
|
|
||||||
|
return btn;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var script = new Generator();
|
||||||
|
]]>
|
||||||
|
</scriptColumnGenerator>
|
||||||
|
</generated>
|
||||||
|
|
||||||
|
<!-- icone de exclusão -->
|
||||||
|
<generated name="Excluir" align="CENTER" expand-ratio="0.2">
|
||||||
|
<scriptColumnGenerator language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.layout.ConfirmationBox);
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.resources.icons16x16.IconLibraryAPISmall);
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.icons.IconFactory);
|
||||||
|
|
||||||
|
function Generator() {
|
||||||
|
var comp = libService.loadScript('vaadinComponents');
|
||||||
|
this.generate = function (itemId, columnId, item, container) {
|
||||||
|
var btn = comp.buttonIcon('excluir', function () {
|
||||||
|
|
||||||
|
var deletar = engine.getGlobalVariable('deletarRegistro');
|
||||||
|
var registro = item.getItemProperty('CODIGO') + " - " + item.getItemProperty('NOME');
|
||||||
|
var msg = 'Confirma a exclusão das informações para \n';
|
||||||
|
msg = msg.concat(registro, "?");
|
||||||
|
|
||||||
|
ConfirmationBox.show( 'Confirmar operação'
|
||||||
|
, msg
|
||||||
|
, new ConfirmationBox.ConfirmationBoxListener() {
|
||||||
|
dialogEnd: function(context, action) {
|
||||||
|
if(action == ConfirmationBox.Action.YES) {
|
||||||
|
if(deletar){
|
||||||
|
engine.setGlobalVariable('painelLista',1);
|
||||||
|
deletar(itemId);
|
||||||
|
engine.getField('listaPrincipal').refresh();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}, 'trash');
|
||||||
|
|
||||||
|
return btn;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var script = new Generator();
|
||||||
|
]]>
|
||||||
|
</scriptColumnGenerator>
|
||||||
|
</generated>
|
||||||
|
|
||||||
|
<column name="CODIGO" caption="Código"/>
|
||||||
|
<column name="NOME" caption="Nome"/>
|
||||||
|
<column name="CNH" caption="CNH"/>
|
||||||
|
<column name="VENCIMENTO_CNH" caption="Vencimento CNH" format="dd/MM/yyyy"/>
|
||||||
|
<column name="ADMISSAO" caption="Data admissão" format="dd/MM/yyyy"/>
|
||||||
|
</columns>
|
||||||
|
</DBTable>
|
||||||
|
</VerticalLayout>
|
||||||
|
</Panel>
|
||||||
|
|
||||||
|
<Panel width="100%" height="100%" expandRatio="1" caption="" margin="false" id="pnlInclusao">
|
||||||
|
<VerticalLayout width="100%" margin="true">
|
||||||
|
<Label id="DescricaocadastroDentro" contentMode="HTML" align="MIDDLE_CENTER"> </Label>
|
||||||
|
<TabLayout height="100%" width="100%">
|
||||||
|
<Tab caption="Dados" >
|
||||||
|
<VerticalLayout width="70%" margin="true" spacing="true">
|
||||||
|
<DBSearchField type="number" id="idPesquisa" expandRatio="1" caption="Pesquisar funcionário" width="100%" searchCaption="Nome do funcionário" searchViewWidth="85%" description="Selecione um fornecedor" >
|
||||||
|
<datasource>
|
||||||
|
<freeQuery connection-key="vitruvio">
|
||||||
|
<![CDATA[
|
||||||
|
SELECT * FROM funcionario
|
||||||
|
]]>
|
||||||
|
</freeQuery>
|
||||||
|
</datasource>
|
||||||
|
<loadItemQuery>
|
||||||
|
<![CDATA[
|
||||||
|
SELECT *
|
||||||
|
FROM funcionario
|
||||||
|
nome = ? ORDER BY codigo
|
||||||
|
]]>
|
||||||
|
</loadItemQuery>
|
||||||
|
<key-field>CODIGO</key-field>
|
||||||
|
<caption-field>NOME</caption-field>
|
||||||
|
<columns>
|
||||||
|
<column name="CODIGO" caption="Código" />
|
||||||
|
<column name="NOME" caption="Descrição" />
|
||||||
|
</columns>
|
||||||
|
<filterProperties filterRequired="false">
|
||||||
|
<value>CODIGO</value>
|
||||||
|
<value>NOME</value>
|
||||||
|
</filterProperties>
|
||||||
|
<events>
|
||||||
|
<valueChange>
|
||||||
|
<script language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
function run() {
|
||||||
|
engine.getGlobalVariable('fncLimpaCampos')();
|
||||||
|
engine.getGlobalVariable('carregarCampos')(engine.getField('idPesquisa').getValue());
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</script>
|
||||||
|
</valueChange>
|
||||||
|
</events>
|
||||||
|
</DBSearchField>
|
||||||
|
<HorizontalLayout width="100%" spacing="true">
|
||||||
|
<TextField id="idChave" type="number" caption="Código" width="100%" expandRatio="0.08" />
|
||||||
|
<TextField id="idDescricao" type="string" caption="Nome" required="true" width="100%" expandRatio="1" />
|
||||||
|
</HorizontalLayout>
|
||||||
|
<HorizontalLayout width="70%" spacing="true">
|
||||||
|
<DateField id="idAdmissao" type="date" caption="Admissão" resolution="DAY" width="100%" expandRatio="0.3"/>
|
||||||
|
<TextField id="idCNH" type="number" caption="CNH" width="100%" expandRatio="1" maxLength="11" />
|
||||||
|
<DateField id="idVencimento" type="date" caption="Vencimento CNH" resolution="DAY" width="100%" expandRatio="0.3"/>
|
||||||
|
</HorizontalLayout>
|
||||||
|
</VerticalLayout>
|
||||||
|
</Tab>
|
||||||
|
</TabLayout>
|
||||||
|
</VerticalLayout>
|
||||||
|
|
||||||
|
</Panel>
|
||||||
|
<Panel width="100%" margin="false" id="pnlBotoes" >
|
||||||
|
<VerticalLayout width="100%">
|
||||||
|
<HorizontalLayout margin="true" spacing="true" align="MIDDLE_CENTER" >
|
||||||
|
<ButtonWidget id="btnSalvar" caption="Salvar" expandRatio="0.2" description="Salva os dados das Informações Adicionais do Cargo " align="MIDDLE_CENTER">
|
||||||
|
<onClickScript language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.layout.MessageBox);
|
||||||
|
function run() {
|
||||||
|
if (engine.isValid()) {
|
||||||
|
if (engine.getGlobalVariable('validarDuplicidade')(engine.getField('idDescricao').getValue())) {
|
||||||
|
MessageBox.show(MessageBox.BoxType.INFO, 'Atenção', 'Já existe um funcionário cadastrado com este nome.');
|
||||||
|
} else {
|
||||||
|
var config = engine.getGlobalVariable('config');
|
||||||
|
var id = engine.getField('idChave').getConvertedValue();
|
||||||
|
var lib = libService.loadScript('lib_cadastro_padrao');
|
||||||
|
var retorno = lib.fncGravarRegistro(config, id);
|
||||||
|
|
||||||
|
if (retorno) {
|
||||||
|
engine.getGlobalVariable('fncLimpaCampos')();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</onClickScript>
|
||||||
|
</ButtonWidget>
|
||||||
|
<ButtonWidget caption="Novo" id="btnNovo" expandRatio="0.2" description="Descarta os dados atuais e deixa o formulário pronto para receber um novo cadastro" align="MIDDLE_CENTER">
|
||||||
|
<onClickScript language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
function run() {
|
||||||
|
engine.setGlobalVariable('painelLista',0);
|
||||||
|
engine.getGlobalVariable('novoRegistro')();
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</onClickScript>
|
||||||
|
</ButtonWidget>
|
||||||
|
<ButtonWidget caption="Excluir" id="btnExcluir" expandRatio="0.2" description="Excluir os dados atuais" align="MIDDLE_CENTER">
|
||||||
|
<onClickScript language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.layout.MessageBox);
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.layout.ConfirmationBox);
|
||||||
|
importClass(Packages.com.vaadin.ui.Notification);
|
||||||
|
|
||||||
|
function run() {
|
||||||
|
if(engine.isValid()) {
|
||||||
|
var deletar = engine.getGlobalVariable('deletarRegistro');
|
||||||
|
var listener = new ConfirmationBox.ConfirmationBoxListener() {
|
||||||
|
dialogEnd: function(context, action) {
|
||||||
|
if(action == ConfirmationBox.Action.YES) {
|
||||||
|
var id = engine.getField('idChave').getConvertedValue();
|
||||||
|
if(deletar){
|
||||||
|
engine.setGlobalVariable('painelLista',0);
|
||||||
|
deletar(id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
ConfirmationBox.show(ConfirmationBox.DialogIcon.WARNING, 'Confirmar exclusão do registro?', 'Tem certeza de que deseja excluir o tipo de ocorrência selecionado?', listener, ConfirmationBox.ACTION_YES_CANCEL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</onClickScript>
|
||||||
|
</ButtonWidget>
|
||||||
|
<ButtonWidget caption="Voltar" id="btnVoltar" expandRatio="0.2" description="Voltar a tela inicial" align="MIDDLE_CENTER">
|
||||||
|
<onClickScript language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
function run() {
|
||||||
|
engine.setGlobalVariable('painelLista',1);
|
||||||
|
engine.getGlobalVariable('fncLimpaCampos')();
|
||||||
|
newRecord = false;
|
||||||
|
saveStatus = false;
|
||||||
|
engine.getGlobalVariable('telaInicial')();
|
||||||
|
engine.getField('listaPrincipal').refresh();
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</onClickScript>
|
||||||
|
</ButtonWidget>
|
||||||
|
</HorizontalLayout>
|
||||||
|
</VerticalLayout>
|
||||||
|
</Panel>
|
||||||
|
</VerticalLayout>
|
||||||
|
</components>
|
||||||
|
</form>
|
||||||
|
</panel-form>
|
||||||
@@ -0,0 +1,476 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<panel-form xmlns="http://www.davinti.com.br/vitruvio/form/panel" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://www.davinti.com.br/vitruvio/form/panel https://bitbucket.org/davinTI/vitruvio-xds/raw/master/vitruvio-panel-form.xsd">
|
||||||
|
<form formKey="formCadastroPadrao" height="100%" width="100%">
|
||||||
|
<name>Operações</name>
|
||||||
|
<description>Cadastro de Operações</description>
|
||||||
|
<afterFormRenderScript language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
/*, */
|
||||||
|
var config = { "tabela" :
|
||||||
|
{
|
||||||
|
"conexao" : "vitruvio",
|
||||||
|
"nome" : "OPERACAO" ,
|
||||||
|
"sequence" : "OPERACAO_SEQ" ,
|
||||||
|
"idTabela" : "CODIGO",
|
||||||
|
"campos" : ["CODIGO", "NOME" ],
|
||||||
|
"camposTable" : ["CODIGO", "DESCRICAO"]
|
||||||
|
},
|
||||||
|
"relaciona" : [ ["CODIGO","idChave","Number"] ,
|
||||||
|
["NOME","idDescricao","String"]
|
||||||
|
] ,
|
||||||
|
"validacaoExclusao" : [ ["SELECT 0 AS CONTAR FROM OPERACAO WHERE CODIGO = ", "Existem registros ligados a esta tabela."],
|
||||||
|
["SELECT COUNT(CHAVE_OPERACAO) AS CONTAR FROM CONTROLE_DESPESAS_OPERACIONAIS WHERE CHAVE_OPERACAO = ", "Existem registros ligados a esta tabela."],
|
||||||
|
["SELECT COUNT(CHAVE_OPERACAO) AS CONTAR FROM CONTROLE_DESPESAS_COMBUSTIVEIS WHERE CHAVE_OPERACAO = ", "Existem registros ligados a esta tabela."],
|
||||||
|
["SELECT COUNT(CHAVE_OPERACAO) AS CONTAR FROM CONTROLE_RECEITAS_FRETES WHERE CHAVE_OPERACAO = ", "Existem registros ligados a esta tabela."]
|
||||||
|
],
|
||||||
|
'painel' :
|
||||||
|
{
|
||||||
|
'titulo' : 'Cadastro de Operações',
|
||||||
|
'icone' : 'data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMraHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjMtYzAxMSA2Ni4xNDU2NjEsIDIwMTIvMDIvMDYtMTQ6NTY6MjcgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUwQzAzMkQxOTk3NDExRTg4MDQ2REYxQ0E4NTZDNzhFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUwQzAzMkQyOTk3NDExRTg4MDQ2REYxQ0E4NTZDNzhFIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RTBDMDMyQ0Y5OTc0MTFFODgwNDZERjFDQTg1NkM3OEUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RTBDMDMyRDA5OTc0MTFFODgwNDZERjFDQTg1NkM3OEUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7/7gAOQWRvYmUAZMAAAAAB/9sAhAAGBAQEBQQGBQUGCQYFBgkLCAYG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'
|
||||||
|
}
|
||||||
|
};
|
||||||
|
function run()
|
||||||
|
{
|
||||||
|
engine.setGlobalVariable('config', config);
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
|
||||||
|
</afterFormRenderScript>
|
||||||
|
<initScript language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.icons.IconFactory);
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.resources.icons16x16.IconLibraryAPISmall);
|
||||||
|
importClass(Packages.java.util.Calendar);
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.layout.MessageBox);
|
||||||
|
importClass(Packages.com.vaadin.ui.Notification);
|
||||||
|
|
||||||
|
|
||||||
|
var getDataAtual = function() {
|
||||||
|
var c = java.util.Calendar.getInstance();
|
||||||
|
c.setTime(new java.util.Date());
|
||||||
|
c.set(Calendar.HOUR_OF_DAY, 0);
|
||||||
|
c.set(Calendar.MINUTE, 0);
|
||||||
|
c.set(Calendar.SECOND, 0);
|
||||||
|
c.set(Calendar.MILLISECOND, 0);
|
||||||
|
|
||||||
|
return c.getTime();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
var fncLimpaCampos = function(){
|
||||||
|
var config = engine.getGlobalVariable('config');
|
||||||
|
var lib = libService.loadScript('lib_cadastro_padrao');
|
||||||
|
var retorno = lib.fncLimpaCampos(config);
|
||||||
|
};
|
||||||
|
|
||||||
|
var habilitaCampos = function(lHabilita){
|
||||||
|
var botaoNovo = engine.getWidgetController('btnNovo').getButton();
|
||||||
|
var botaoSalvar = engine.getWidgetController('btnSalvar').getButton();
|
||||||
|
var botaoExcluir = engine.getWidgetController('btnExcluir').getButton();
|
||||||
|
var botaoVoltar = engine.getWidgetController('btnVoltar').getButton();
|
||||||
|
|
||||||
|
botaoNovo.setEnabled(true);
|
||||||
|
botaoSalvar.setEnabled(lHabilita);
|
||||||
|
botaoExcluir.setEnabled(lHabilita);
|
||||||
|
|
||||||
|
if(engine.getGlobalVariable('painelLista') == 1) {
|
||||||
|
botaoVoltar.setVisible(false);
|
||||||
|
botaoSalvar.setVisible(false);
|
||||||
|
botaoExcluir.setVisible(false);
|
||||||
|
} else {
|
||||||
|
botaoVoltar.setVisible(true);
|
||||||
|
botaoSalvar.setVisible(true);
|
||||||
|
botaoExcluir.setVisible(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
var config = engine.getGlobalVariable('config');
|
||||||
|
var lib = libService.loadScript('lib_cadastro_padrao');
|
||||||
|
var retorno = lib.fncHabilitaCampos(config, lHabilita);
|
||||||
|
|
||||||
|
engine.getField('idChave').setEnabled(false);
|
||||||
|
|
||||||
|
engine.getField('listaPrincipal').refresh();
|
||||||
|
};
|
||||||
|
|
||||||
|
var novoRegistro = function() {
|
||||||
|
fncLimpaCampos();
|
||||||
|
|
||||||
|
habilitaCampos(true);
|
||||||
|
engine.getLayout('pnlTitulo').getRootComposition().setVisible(false);
|
||||||
|
engine.getLayout('pnlInclusao').getRootComposition().setVisible(true);
|
||||||
|
//engine.getWidgetController('btnVoltar').getButton().setVisible(true);
|
||||||
|
|
||||||
|
engine.getField('idChave').focus();
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
var carregarCampos = function(id) {
|
||||||
|
|
||||||
|
var config = engine.getGlobalVariable('config');
|
||||||
|
var lib = libService.loadScript('lib_cadastro_padrao');
|
||||||
|
var sql = lib.fncCarregarCampos(config, id);
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
var telaInicial = function() {
|
||||||
|
engine.getLayout('pnlTitulo').getRootComposition().setVisible(true);
|
||||||
|
engine.getLayout('pnlInclusao').getRootComposition().setVisible(false);
|
||||||
|
var botaoNovo = engine.getWidgetController('btnNovo').getButton();
|
||||||
|
var botaoSalvar = engine.getWidgetController('btnSalvar').getButton();
|
||||||
|
var botaoExcluir = engine.getWidgetController('btnExcluir').getButton();
|
||||||
|
var botaoVoltar = engine.getWidgetController('btnVoltar').getButton();
|
||||||
|
|
||||||
|
botaoNovo.setVisible(true);
|
||||||
|
botaoNovo.setEnabled(true);
|
||||||
|
botaoSalvar.setVisible(false);
|
||||||
|
botaoExcluir.setVisible(false);
|
||||||
|
botaoVoltar.setVisible(false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
var deletarRegistro = function(id) {
|
||||||
|
var config = engine.getGlobalVariable('config');
|
||||||
|
var lib = libService.loadScript('lib_cadastro_padrao');
|
||||||
|
var retorno = lib.fncDeletarRegistro(config, id);
|
||||||
|
if (retorno) {
|
||||||
|
//engine.getField('idChave').setValue(params.get('id'));
|
||||||
|
engine.getGlobalVariable('fncLimpaCampos')();
|
||||||
|
engine.getGlobalVariable('habilitaCampos')(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var validarDuplicidade = function(valor) {
|
||||||
|
var sql = "Select count(nome) ct from OPERACAO where NOME = '" + valor + "'";
|
||||||
|
var db = libService.loadScript('db');
|
||||||
|
var dbVitruvio = new db('vitruvio');
|
||||||
|
var row = dbVitruvio.queryRow(sql);
|
||||||
|
if (row.ct == 0) {
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function run() {
|
||||||
|
var config = engine.getGlobalVariable('config');
|
||||||
|
var titulo = config['painel'].titulo;
|
||||||
|
var icone = config['painel'].icone;
|
||||||
|
engine.getLabel('Descricaocadastro').setValue('<img align="middle" alt="" src="'+ icone + '" width="68" /><font color="Gray" face="Calibri" size="6" > ' + titulo + '</font>');
|
||||||
|
engine.getLabel('DescricaocadastroDentro').setValue('<img align="middle" alt="" src="'+ icone + '" width="68" /><font color="Gray" face="Calibri" size="6" > ' + titulo + '</font>');
|
||||||
|
engine.setGlobalVariable('novoRegistro', novoRegistro);
|
||||||
|
engine.setGlobalVariable('carregarCampos', carregarCampos);
|
||||||
|
engine.setGlobalVariable('habilitaCampos', habilitaCampos);
|
||||||
|
engine.setGlobalVariable('fncLimpaCampos', fncLimpaCampos);
|
||||||
|
engine.setGlobalVariable('telaInicial', telaInicial);
|
||||||
|
engine.setGlobalVariable('deletarRegistro', deletarRegistro);
|
||||||
|
engine.setGlobalVariable('validarDuplicidade', validarDuplicidade);
|
||||||
|
engine.setGlobalVariable('painelLista',1);
|
||||||
|
|
||||||
|
//fncLimpaCampos();
|
||||||
|
habilitaCampos(false);
|
||||||
|
|
||||||
|
engine.getWidgetController('btnSalvar').getButton().setIcon(IconFactory.instance().getIconAsResource(IconLibraryAPISmall.APLICAR));
|
||||||
|
engine.getWidgetController('btnNovo').getButton().setIcon(IconFactory.instance().getIconAsResource(IconLibraryAPISmall.CRIAR));
|
||||||
|
engine.getWidgetController('btnExcluir').getButton().setIcon(IconFactory.instance().getIconAsResource(IconLibraryAPISmall.REMOVER));
|
||||||
|
engine.getWidgetController('btnVoltar').getButton().setIcon(IconFactory.instance().getIconAsResource(IconLibraryAPISmall.VOLTAR));
|
||||||
|
//engine.getFieldLocked('idAjuda', false); // pode ser erro no componente, aberto caso Eduardo = 20108
|
||||||
|
telaInicial();
|
||||||
|
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</initScript>
|
||||||
|
<components>
|
||||||
|
<VerticalLayout spacing="false" margin="false" height="100%" width="100%" align="TOP_LEFT" >
|
||||||
|
<Panel width="100%" caption="" height="100%" expandRatio="1" margin="false" id="pnlTitulo" align="TOP_LEFT" >
|
||||||
|
<VerticalLayout width="100%" expandRatio="1" margin="true">
|
||||||
|
<Label id="Descricaocadastro" contentMode="HTML" align="MIDDLE_CENTER" > </Label>
|
||||||
|
<TextField id="idPesquisaLista" caption="Digite aqui para pesquisar:" type="string" width="100%" visible="true" immediate="true">
|
||||||
|
<events>
|
||||||
|
<valueChange>
|
||||||
|
<script language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
function run(){
|
||||||
|
engine.getField('listaPrincipal').refresh();
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</script>
|
||||||
|
</valueChange>
|
||||||
|
</events>
|
||||||
|
</TextField>
|
||||||
|
<DBTable id="listaPrincipal" type="number" visible="true" width="100%" immediate="true" rows="5" selectable="false" multivalue="false" showRowCount="true">
|
||||||
|
<datasource>
|
||||||
|
<sqlBuilderDataSource connection-key="vitruvio" language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
|
||||||
|
var getSql = function() {
|
||||||
|
|
||||||
|
var config = { "tabela" :
|
||||||
|
{
|
||||||
|
"conexao" : "vitruvio",
|
||||||
|
"nome" : "operacao" ,
|
||||||
|
"sequence" : "operacao_seq" ,
|
||||||
|
"idTabela" : "CODIGO",
|
||||||
|
"campos" : ["CODIGO", "NOME"],
|
||||||
|
"camposTable" : ["CODIGO", "NOME"]
|
||||||
|
},
|
||||||
|
"relaciona" :
|
||||||
|
[ ["CODIGO","idChave","Number"]
|
||||||
|
, ["NOME","idDescricao","String"]
|
||||||
|
] ,
|
||||||
|
"validacaoExclusao" :
|
||||||
|
[ ["SELECT 0 AS CONTAR FROM OPERACAO WHERE CODIGO = ", "Existem registros ligados a esta tabela."],
|
||||||
|
["SELECT COUNT(CHAVE_OPERACAO) AS CONTAR FROM CONTROLE_DESPESAS_OPERACIONAIS WHERE CHAVE_OPERACAO = ", "Existem registros ligados a esta tabela."],
|
||||||
|
["SELECT COUNT(CHAVE_OPERACAO) AS CONTAR FROM CONTROLE_DESPESAS_COMBUSTIVEIS WHERE CHAVE_OPERACAO = ", "Existem registros ligados a esta tabela."],
|
||||||
|
["SELECT COUNT(CHAVE_OPERACAO) AS CONTAR FROM CONTROLE_RECEITAS_FRETES WHERE CHAVE_OPERACAO = ", "Existem registros ligados a esta tabela."]
|
||||||
|
],
|
||||||
|
'painel' :
|
||||||
|
{
|
||||||
|
'titulo' : 'Cadastro de Operações',
|
||||||
|
'icone' : 'data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMraHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjMtYzAxMSA2Ni4xNDU2NjEsIDIwMTIvMDIvMDYtMTQ6NTY6MjcgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUwQzAzMkQxOTk3NDExRTg4MDQ2REYxQ0E4NTZDNzhFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUwQzAzMkQyOTk3NDExRTg4MDQ2REYxQ0E4NTZDNzhFIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RTBDMDMyQ0Y5OTc0MTFFODgwNDZERjFDQTg1NkM3OEUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RTBDMDMyRDA5OTc0MTFFODgwNDZERjFDQTg1NkM3OEUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7/7gAOQWRvYmUAZMAAAAAB/9sAhAAGBAQEBQQGBQUGCQYFBgkLCAYG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'
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
var lib = libService.loadScript('lib_cadastro_padrao');
|
||||||
|
return lib.table(config, 'camposTable');
|
||||||
|
}
|
||||||
|
|
||||||
|
function buildSQL(params) {
|
||||||
|
var sql = getSql();
|
||||||
|
if(engine) {
|
||||||
|
var idPesquisaLista = engine.getField('idPesquisaLista').getValue();
|
||||||
|
if (idPesquisaLista != null) {
|
||||||
|
sql = "SELECT * FROM ( " + sql + " ) T WHERE T.NOME LIKE UPPER('%" + idPesquisaLista + "%')";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return sql;
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</sqlBuilderDataSource>
|
||||||
|
|
||||||
|
</datasource>
|
||||||
|
<key-field>CODIGO</key-field>
|
||||||
|
<columns>
|
||||||
|
<!-- icone de edição -->
|
||||||
|
<generated name="Editar" align="CENTER" expand-ratio="0.2">
|
||||||
|
<scriptColumnGenerator language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.resources.icons16x16.IconLibraryAPISmall);
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.icons.IconFactory);
|
||||||
|
|
||||||
|
function Generator() {
|
||||||
|
var comp = libService.loadScript('vaadinComponents');
|
||||||
|
this.generate = function (itemId, columnId, item, container) {
|
||||||
|
var btn = comp.buttonIcon('editar', function () {
|
||||||
|
|
||||||
|
var id = itemId;
|
||||||
|
engine.getField('idChave').setValue(id);
|
||||||
|
|
||||||
|
if (id != null) {
|
||||||
|
engine.setGlobalVariable('painelLista',0);
|
||||||
|
engine.getGlobalVariable('carregarCampos')(id);
|
||||||
|
engine.getGlobalVariable('habilitaCampos')(true);
|
||||||
|
engine.getLayout('pnlInclusao').getRootComposition().setVisible(true);
|
||||||
|
engine.getLayout('pnlTitulo').getRootComposition().setVisible(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
}, 'pencil');
|
||||||
|
|
||||||
|
return btn;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var script = new Generator();
|
||||||
|
]]>
|
||||||
|
</scriptColumnGenerator>
|
||||||
|
</generated>
|
||||||
|
|
||||||
|
<!-- icone de exclusão -->
|
||||||
|
<generated name="Excluir" align="CENTER" expand-ratio="0.2">
|
||||||
|
<scriptColumnGenerator language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.layout.ConfirmationBox);
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.resources.icons16x16.IconLibraryAPISmall);
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.icons.IconFactory);
|
||||||
|
|
||||||
|
function Generator() {
|
||||||
|
var comp = libService.loadScript('vaadinComponents');
|
||||||
|
this.generate = function (itemId, columnId, item, container) {
|
||||||
|
var btn = comp.buttonIcon('excluir', function () {
|
||||||
|
|
||||||
|
var deletar = engine.getGlobalVariable('deletarRegistro');
|
||||||
|
var registro = item.getItemProperty('CODIGO') + " - " + item.getItemProperty('NOME');
|
||||||
|
var msg = 'Confirma a exclusão das informações para \n';
|
||||||
|
msg = msg.concat(registro, "?");
|
||||||
|
|
||||||
|
ConfirmationBox.show( 'Confirmar operação'
|
||||||
|
, msg
|
||||||
|
, new ConfirmationBox.ConfirmationBoxListener() {
|
||||||
|
dialogEnd: function(context, action) {
|
||||||
|
if(action == ConfirmationBox.Action.YES) {
|
||||||
|
if(deletar){
|
||||||
|
engine.setGlobalVariable('painelLista',1);
|
||||||
|
deletar(itemId);
|
||||||
|
engine.getField('listaPrincipal').refresh();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}, 'trash');
|
||||||
|
|
||||||
|
return btn;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var script = new Generator();
|
||||||
|
]]>
|
||||||
|
</scriptColumnGenerator>
|
||||||
|
</generated>
|
||||||
|
|
||||||
|
<column name="CODIGO" caption="Código"/>
|
||||||
|
<column name="NOME" caption="Nome"/>
|
||||||
|
</columns>
|
||||||
|
</DBTable>
|
||||||
|
</VerticalLayout>
|
||||||
|
</Panel>
|
||||||
|
|
||||||
|
<Panel width="100%" height="100%" expandRatio="1" caption="" margin="false" id="pnlInclusao">
|
||||||
|
<VerticalLayout width="100%" margin="true">
|
||||||
|
<Label id="DescricaocadastroDentro" contentMode="HTML" align="MIDDLE_CENTER"> </Label>
|
||||||
|
<TabLayout height="100%" width="100%">
|
||||||
|
<Tab caption="Dados" >
|
||||||
|
<VerticalLayout width="70%" margin="true" spacing="true">
|
||||||
|
<DBSearchField type="number" id="idPesquisa" expandRatio="1" caption="Pesquisar operação" width="100%" searchCaption="Nome do operação" searchViewWidth="85%" description="Selecione um fornecedor" >
|
||||||
|
<datasource>
|
||||||
|
<freeQuery connection-key="vitruvio">
|
||||||
|
<![CDATA[
|
||||||
|
SELECT * FROM operacao
|
||||||
|
]]>
|
||||||
|
</freeQuery>
|
||||||
|
</datasource>
|
||||||
|
<loadItemQuery>
|
||||||
|
<![CDATA[
|
||||||
|
SELECT *
|
||||||
|
FROM operacao
|
||||||
|
nome = ? ORDER BY codigo
|
||||||
|
]]>
|
||||||
|
</loadItemQuery>
|
||||||
|
<key-field>CODIGO</key-field>
|
||||||
|
<caption-field>NOME</caption-field>
|
||||||
|
<columns>
|
||||||
|
<column name="CODIGO" caption="Código" />
|
||||||
|
<column name="NOME" caption="Descrição" />
|
||||||
|
</columns>
|
||||||
|
<filterProperties filterRequired="false">
|
||||||
|
<value>CODIGO</value>
|
||||||
|
<value>NOME</value>
|
||||||
|
</filterProperties>
|
||||||
|
<events>
|
||||||
|
<valueChange>
|
||||||
|
<script language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
function run() {
|
||||||
|
engine.getGlobalVariable('fncLimpaCampos')();
|
||||||
|
engine.getGlobalVariable('carregarCampos')(engine.getField('idPesquisa').getValue());
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</script>
|
||||||
|
</valueChange>
|
||||||
|
</events>
|
||||||
|
</DBSearchField>
|
||||||
|
<HorizontalLayout spacing="true" width="100%" >
|
||||||
|
<TextField type="number" id="idChave" width="100%" caption="Código" expandRatio="0.08" />
|
||||||
|
<TextField type="string" id="idDescricao" text-transform="uppercase" caption="Descrição" required="true" width="100%" expandRatio="1" />
|
||||||
|
</HorizontalLayout>
|
||||||
|
</VerticalLayout>
|
||||||
|
</Tab>
|
||||||
|
</TabLayout>
|
||||||
|
</VerticalLayout>
|
||||||
|
|
||||||
|
</Panel>
|
||||||
|
<Panel width="100%" margin="false" id="pnlBotoes" >
|
||||||
|
<VerticalLayout width="100%" >
|
||||||
|
<HorizontalLayout margin="true" spacing="true" align="MIDDLE_CENTER" >
|
||||||
|
<ButtonWidget id="btnSalvar" caption="Salvar" expandRatio="0.2" description="Salva os dados das Informações Adicionais do Cargo " align="MIDDLE_CENTER">
|
||||||
|
<onClickScript language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.layout.MessageBox);
|
||||||
|
function run() {
|
||||||
|
if (engine.isValid()) {
|
||||||
|
if (engine.getGlobalVariable('validarDuplicidade')(engine.getField('idDescricao').getValue())) {
|
||||||
|
MessageBox.show(MessageBox.BoxType.INFO, 'Atenção', 'Já existe uma operação cadastrada com este nome.');
|
||||||
|
} else {
|
||||||
|
var config = engine.getGlobalVariable('config');
|
||||||
|
var id = engine.getField('idChave').getConvertedValue();
|
||||||
|
var lib = libService.loadScript('lib_cadastro_padrao');
|
||||||
|
var retorno = lib.fncGravarRegistro(config, id);
|
||||||
|
|
||||||
|
if (retorno) {
|
||||||
|
engine.getGlobalVariable('fncLimpaCampos')();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</onClickScript>
|
||||||
|
</ButtonWidget>
|
||||||
|
<ButtonWidget caption="Novo" id="btnNovo" expandRatio="0.2" description="Descarta os dados atuais e deixa o formulário pronto para receber um novo cadastro" align="MIDDLE_CENTER">
|
||||||
|
<onClickScript language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
function run() {
|
||||||
|
engine.setGlobalVariable('painelLista',0);
|
||||||
|
engine.getGlobalVariable('novoRegistro')();
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</onClickScript>
|
||||||
|
</ButtonWidget>
|
||||||
|
<ButtonWidget caption="Excluir" id="btnExcluir" expandRatio="0.2" description="Excluir os dados atuais" align="MIDDLE_CENTER">
|
||||||
|
<onClickScript language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.layout.MessageBox);
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.layout.ConfirmationBox);
|
||||||
|
importClass(Packages.com.vaadin.ui.Notification);
|
||||||
|
|
||||||
|
function run() {
|
||||||
|
if(engine.isValid()) {
|
||||||
|
var deletar = engine.getGlobalVariable('deletarRegistro');
|
||||||
|
var listener = new ConfirmationBox.ConfirmationBoxListener() {
|
||||||
|
dialogEnd: function(context, action) {
|
||||||
|
if(action == ConfirmationBox.Action.YES) {
|
||||||
|
var id = engine.getField('idChave').getConvertedValue();
|
||||||
|
if(deletar){
|
||||||
|
engine.setGlobalVariable('painelLista',0);
|
||||||
|
deletar(id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
ConfirmationBox.show(ConfirmationBox.DialogIcon.WARNING, 'Confirmar exclusão do registro?', 'Tem certeza de que deseja excluir o tipo de ocorrência selecionado?', listener, ConfirmationBox.ACTION_YES_CANCEL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</onClickScript>
|
||||||
|
</ButtonWidget>
|
||||||
|
<ButtonWidget caption="Voltar" id="btnVoltar" expandRatio="0.2" description="Voltar a tela inicial" align="MIDDLE_CENTER">
|
||||||
|
<onClickScript language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
function run() {
|
||||||
|
engine.setGlobalVariable('painelLista',1);
|
||||||
|
engine.getGlobalVariable('fncLimpaCampos')();
|
||||||
|
newRecord = false;
|
||||||
|
saveStatus = false;
|
||||||
|
engine.getGlobalVariable('telaInicial')();
|
||||||
|
engine.getField('listaPrincipal').refresh();
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</onClickScript>
|
||||||
|
</ButtonWidget>
|
||||||
|
</HorizontalLayout>
|
||||||
|
</VerticalLayout>
|
||||||
|
</Panel>
|
||||||
|
</VerticalLayout>
|
||||||
|
</components>
|
||||||
|
</form>
|
||||||
|
</panel-form>
|
||||||
@@ -0,0 +1,474 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<panel-form xmlns="http://www.davinti.com.br/vitruvio/form/panel" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://www.davinti.com.br/vitruvio/form/panel https://bitbucket.org/davinTI/vitruvio-xds/raw/master/vitruvio-panel-form.xsd">
|
||||||
|
<form formKey="formCadastroPadrao" height="100%" width="100%">
|
||||||
|
<name>Sócios</name>
|
||||||
|
<description>Cadastro de sócios</description>
|
||||||
|
<afterFormRenderScript language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
var config = { "tabela" :
|
||||||
|
{
|
||||||
|
"conexao" : "vitruvio",
|
||||||
|
"nome" : "socios" ,
|
||||||
|
"sequence" : "socio_seq" ,
|
||||||
|
"idTabela" : "CODIGO",
|
||||||
|
"campos" : ["CODIGO", "NOME", "PERCENTUAL_PARTICIPACAO" ],
|
||||||
|
"camposTable" : ["CODIGO", "NOME", "PERCENTUAL_PARTICIPACAO" ]
|
||||||
|
|
||||||
|
},
|
||||||
|
"relaciona" : [ ["CODIGO","idChave","Number"] ,
|
||||||
|
["NOME","idDescricao","String"],
|
||||||
|
["PERCENTUAL_PARTICIPACAO","idPercentual","Number"]
|
||||||
|
] ,
|
||||||
|
"validacaoExclusao" : [ ["SELECT 0 AS CONTAR FROM SOCIOS WHERE CODIGO = ", "Existem registros ligados a esta tabela"],
|
||||||
|
["SELECT COUNT(CHAVE_RESPONSAVEL) AS CONTAR FROM CONTROLE_DESPESAS_PESSOAIS WHERE CHAVE_RESPONSAVEL = ", "Existem registros ligados a esta tabela."]
|
||||||
|
],
|
||||||
|
'painel' :
|
||||||
|
{
|
||||||
|
'titulo' : 'Cadastro de Sócios',
|
||||||
|
'icone' : 'data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMraHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjMtYzAxMSA2Ni4xNDU2NjEsIDIwMTIvMDIvMDYtMTQ6NTY6MjcgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkQ1ODEzRDEzOTk3RDExRTg5MjM0OTVGQTc2Mjc4OEQ0IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkQ1ODEzRDE0OTk3RDExRTg5MjM0OTVGQTc2Mjc4OEQ0Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RDU4MTNEMTE5OTdEMTFFODkyMzQ5NUZBNzYyNzg4RDQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RDU4MTNEMTI5OTdEMTFFODkyMzQ5NUZBNzYyNzg4RDQiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7/7gAOQWRvYmUAZMAAAAAB/9sAhAAGBAQEBQQGBQUGCQYFBgkLCAYG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'
|
||||||
|
}
|
||||||
|
};
|
||||||
|
function run()
|
||||||
|
{
|
||||||
|
engine.setGlobalVariable('config', config);
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
|
||||||
|
</afterFormRenderScript>
|
||||||
|
<initScript language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.icons.IconFactory);
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.resources.icons16x16.IconLibraryAPISmall);
|
||||||
|
importClass(Packages.java.util.Calendar);
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.layout.MessageBox);
|
||||||
|
importClass(Packages.com.vaadin.ui.Notification);
|
||||||
|
|
||||||
|
|
||||||
|
var getDataAtual = function() {
|
||||||
|
var c = java.util.Calendar.getInstance();
|
||||||
|
c.setTime(new java.util.Date());
|
||||||
|
c.set(Calendar.HOUR_OF_DAY, 0);
|
||||||
|
c.set(Calendar.MINUTE, 0);
|
||||||
|
c.set(Calendar.SECOND, 0);
|
||||||
|
c.set(Calendar.MILLISECOND, 0);
|
||||||
|
|
||||||
|
return c.getTime();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
var fncLimpaCampos = function(){
|
||||||
|
var config = engine.getGlobalVariable('config');
|
||||||
|
var lib = libService.loadScript('lib_cadastro_padrao');
|
||||||
|
var retorno = lib.fncLimpaCampos(config);
|
||||||
|
};
|
||||||
|
|
||||||
|
var habilitaCampos = function(lHabilita){
|
||||||
|
var botaoNovo = engine.getWidgetController('btnNovo').getButton();
|
||||||
|
var botaoSalvar = engine.getWidgetController('btnSalvar').getButton();
|
||||||
|
var botaoExcluir = engine.getWidgetController('btnExcluir').getButton();
|
||||||
|
var botaoVoltar = engine.getWidgetController('btnVoltar').getButton();
|
||||||
|
|
||||||
|
botaoNovo.setEnabled(true);
|
||||||
|
botaoSalvar.setEnabled(lHabilita);
|
||||||
|
botaoExcluir.setEnabled(lHabilita);
|
||||||
|
|
||||||
|
if(engine.getGlobalVariable('painelLista') == 1) {
|
||||||
|
botaoVoltar.setVisible(false);
|
||||||
|
botaoSalvar.setVisible(false);
|
||||||
|
botaoExcluir.setVisible(false);
|
||||||
|
} else {
|
||||||
|
botaoVoltar.setVisible(true);
|
||||||
|
botaoSalvar.setVisible(true);
|
||||||
|
botaoExcluir.setVisible(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
var config = engine.getGlobalVariable('config');
|
||||||
|
var lib = libService.loadScript('lib_cadastro_padrao');
|
||||||
|
var retorno = lib.fncHabilitaCampos(config, lHabilita);
|
||||||
|
|
||||||
|
engine.getField('idChave').setEnabled(false);
|
||||||
|
|
||||||
|
engine.getField('listaPrincipal').refresh();
|
||||||
|
};
|
||||||
|
|
||||||
|
var novoRegistro = function() {
|
||||||
|
fncLimpaCampos();
|
||||||
|
|
||||||
|
habilitaCampos(true);
|
||||||
|
engine.getLayout('pnlTitulo').getRootComposition().setVisible(false);
|
||||||
|
engine.getLayout('pnlInclusao').getRootComposition().setVisible(true);
|
||||||
|
engine.getWidgetController('btnVoltar').getButton().setVisible(true);
|
||||||
|
|
||||||
|
engine.getField('idChave').focus();
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
var carregarCampos = function(id) {
|
||||||
|
|
||||||
|
var config = engine.getGlobalVariable('config');
|
||||||
|
var lib = libService.loadScript('lib_cadastro_padrao');
|
||||||
|
var sql = lib.fncCarregarCampos(config, id);
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
var telaInicial = function() {
|
||||||
|
engine.getLayout('pnlTitulo').getRootComposition().setVisible(true);
|
||||||
|
engine.getLayout('pnlInclusao').getRootComposition().setVisible(false);
|
||||||
|
var botaoNovo = engine.getWidgetController('btnNovo').getButton();
|
||||||
|
var botaoSalvar = engine.getWidgetController('btnSalvar').getButton();
|
||||||
|
var botaoExcluir = engine.getWidgetController('btnExcluir').getButton();
|
||||||
|
var botaoVoltar = engine.getWidgetController('btnVoltar').getButton();
|
||||||
|
|
||||||
|
botaoNovo.setVisible(true);
|
||||||
|
botaoNovo.setEnabled(true);
|
||||||
|
botaoSalvar.setVisible(false);
|
||||||
|
botaoExcluir.setVisible(false);
|
||||||
|
botaoVoltar.setVisible(false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
var deletarRegistro = function(id) {
|
||||||
|
var config = engine.getGlobalVariable('config');
|
||||||
|
var lib = libService.loadScript('lib_cadastro_padrao');
|
||||||
|
var retorno = lib.fncDeletarRegistro(config, id);
|
||||||
|
if (retorno) {
|
||||||
|
//engine.getField('idChave').setValue(params.get('id'));
|
||||||
|
engine.getGlobalVariable('fncLimpaCampos')();
|
||||||
|
engine.getGlobalVariable('habilitaCampos')(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var validarDuplicidade = function(valor) {
|
||||||
|
var sql = "Select count(nome) ct from socios where NOME = '" + valor + "'";
|
||||||
|
var db = libService.loadScript('db');
|
||||||
|
var dbVitruvio = new db('vitruvio');
|
||||||
|
var row = dbVitruvio.queryRow(sql);
|
||||||
|
if (row.ct == 0) {
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function run() {
|
||||||
|
var config = engine.getGlobalVariable('config');
|
||||||
|
var titulo = config['painel'].titulo;
|
||||||
|
var icone = config['painel'].icone;
|
||||||
|
engine.getLabel('Descricaocadastro').setValue('<img align="middle" alt="" src="'+ icone + '" width="68" /><font color="Gray" face="Calibri" size="6" > ' + titulo + '</font>');
|
||||||
|
engine.getLabel('DescricaocadastroDentro').setValue('<img align="middle" alt="" src="'+ icone + '" width="68" /><font color="Gray" face="Calibri" size="6" > ' + titulo + '</font>');
|
||||||
|
engine.setGlobalVariable('novoRegistro', novoRegistro);
|
||||||
|
engine.setGlobalVariable('carregarCampos', carregarCampos);
|
||||||
|
engine.setGlobalVariable('habilitaCampos', habilitaCampos);
|
||||||
|
engine.setGlobalVariable('fncLimpaCampos', fncLimpaCampos);
|
||||||
|
engine.setGlobalVariable('telaInicial', telaInicial);
|
||||||
|
engine.setGlobalVariable('deletarRegistro', deletarRegistro);
|
||||||
|
engine.setGlobalVariable('validarDuplicidade', validarDuplicidade);
|
||||||
|
engine.setGlobalVariable('painelLista',1);
|
||||||
|
|
||||||
|
habilitaCampos(false);
|
||||||
|
|
||||||
|
engine.getWidgetController('btnSalvar').getButton().setIcon(IconFactory.instance().getIconAsResource(IconLibraryAPISmall.APLICAR));
|
||||||
|
engine.getWidgetController('btnNovo').getButton().setIcon(IconFactory.instance().getIconAsResource(IconLibraryAPISmall.CRIAR));
|
||||||
|
engine.getWidgetController('btnExcluir').getButton().setIcon(IconFactory.instance().getIconAsResource(IconLibraryAPISmall.REMOVER));
|
||||||
|
engine.getWidgetController('btnVoltar').getButton().setIcon(IconFactory.instance().getIconAsResource(IconLibraryAPISmall.VOLTAR));
|
||||||
|
//engine.getFieldLocked('idAjuda', false); // pode ser erro no componente, aberto caso Eduardo = 20108
|
||||||
|
telaInicial();
|
||||||
|
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</initScript>
|
||||||
|
<components>
|
||||||
|
<VerticalLayout spacing="false" margin="false" height="100%" width="100%" align="TOP_LEFT" >
|
||||||
|
<Panel width="100%" caption="" height="100%" expandRatio="1" margin="false" id="pnlTitulo" align="TOP_LEFT" >
|
||||||
|
<VerticalLayout width="100%" expandRatio="1" margin="true">
|
||||||
|
<Label id="Descricaocadastro" contentMode="HTML" align="MIDDLE_CENTER"> </Label>
|
||||||
|
<TextField id="idPesquisaLista" caption="Digite aqui para pesquisar:" type="string" width="100%" visible="true" immediate="true">
|
||||||
|
<events>
|
||||||
|
<valueChange>
|
||||||
|
<script language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
function run(){
|
||||||
|
engine.getField('listaPrincipal').refresh();
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</script>
|
||||||
|
</valueChange>
|
||||||
|
</events>
|
||||||
|
</TextField>
|
||||||
|
<DBTable id="listaPrincipal" type="number" visible="true" width="100%" immediate="true" rows="5" selectable="false" multivalue="false" showRowCount="true">
|
||||||
|
<datasource>
|
||||||
|
<sqlBuilderDataSource connection-key="vitruvio" language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
|
||||||
|
var getSql = function() {
|
||||||
|
|
||||||
|
var config = { "tabela" :
|
||||||
|
{
|
||||||
|
"conexao" : "vitruvio",
|
||||||
|
"nome" : "socios" ,
|
||||||
|
"sequence" : "socio_seq" ,
|
||||||
|
"idTabela" : "CODIGO",
|
||||||
|
"campos" : ["CODIGO", "NOME", "PERCENTUAL_PARTICIPACAO" ],
|
||||||
|
"camposTable" : ["CODIGO", "NOME", "PERCENTUAL_PARTICIPACAO" ]
|
||||||
|
},
|
||||||
|
"relaciona" : [ ["CODIGO","idChave","Number"] ,
|
||||||
|
["NOME","idDescricao","String"],
|
||||||
|
["PERCENTUAL_PARTICIPACAO","idPercentual","Number"],
|
||||||
|
] ,
|
||||||
|
|
||||||
|
"validacaoExclusao" :
|
||||||
|
[ ["SELECT 0 AS CONTAR FROM SOCIOS WHERE CODIGO = ", "Existem registros ligados a esta tabela"],
|
||||||
|
["SELECT COUNT(CHAVE_RESPONSAVEL) AS CONTAR FROM CONTROLE_DESPESAS_PESSOAIS WHERE CHAVE_RESPONSAVEL = ", "Existem registros ligados a esta tabela."]
|
||||||
|
],
|
||||||
|
'painel' :
|
||||||
|
{
|
||||||
|
'titulo' : 'Cadastro de Sócios',
|
||||||
|
'icone' : 'data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMraHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjMtYzAxMSA2Ni4xNDU2NjEsIDIwMTIvMDIvMDYtMTQ6NTY6MjcgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkQ1ODEzRDEzOTk3RDExRTg5MjM0OTVGQTc2Mjc4OEQ0IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkQ1ODEzRDE0OTk3RDExRTg5MjM0OTVGQTc2Mjc4OEQ0Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RDU4MTNEMTE5OTdEMTFFODkyMzQ5NUZBNzYyNzg4RDQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RDU4MTNEMTI5OTdEMTFFODkyMzQ5NUZBNzYyNzg4RDQiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7/7gAOQWRvYmUAZMAAAAAB/9sAhAAGBAQEBQQGBQUGCQYFBgkLCAYG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'
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
var lib = libService.loadScript('lib_cadastro_padrao');
|
||||||
|
return lib.table(config, 'camposTable');
|
||||||
|
}
|
||||||
|
|
||||||
|
function buildSQL(params) {
|
||||||
|
var sql = getSql();
|
||||||
|
if(engine) {
|
||||||
|
var idPesquisaLista = engine.getField('idPesquisaLista').getValue();
|
||||||
|
if (idPesquisaLista != null) {
|
||||||
|
sql = "SELECT * FROM ( " + sql + " ) T WHERE T.NOME LIKE UPPER('%" + idPesquisaLista + "%')";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return sql;
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</sqlBuilderDataSource>
|
||||||
|
|
||||||
|
</datasource>
|
||||||
|
<key-field>CODIGO</key-field>
|
||||||
|
<columns>
|
||||||
|
<!-- icone de edição -->
|
||||||
|
<generated name="Editar" align="CENTER" expand-ratio="0.2">
|
||||||
|
<scriptColumnGenerator language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.resources.icons16x16.IconLibraryAPISmall);
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.icons.IconFactory);
|
||||||
|
|
||||||
|
function Generator() {
|
||||||
|
var comp = libService.loadScript('vaadinComponents');
|
||||||
|
this.generate = function (itemId, columnId, item, container) {
|
||||||
|
var btn = comp.buttonIcon('editar', function () {
|
||||||
|
|
||||||
|
var id = itemId;
|
||||||
|
engine.getField('idChave').setValue(id);
|
||||||
|
|
||||||
|
if (id != null) {
|
||||||
|
engine.setGlobalVariable('painelLista',0);
|
||||||
|
engine.getGlobalVariable('carregarCampos')(id);
|
||||||
|
engine.getGlobalVariable('habilitaCampos')(true);
|
||||||
|
engine.getLayout('pnlInclusao').getRootComposition().setVisible(true);
|
||||||
|
engine.getLayout('pnlTitulo').getRootComposition().setVisible(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
}, 'pencil');
|
||||||
|
|
||||||
|
return btn;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var script = new Generator();
|
||||||
|
]]>
|
||||||
|
</scriptColumnGenerator>
|
||||||
|
</generated>
|
||||||
|
|
||||||
|
<!-- icone de exclusão -->
|
||||||
|
<generated name="Excluir" align="CENTER" expand-ratio="0.2">
|
||||||
|
<scriptColumnGenerator language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.layout.ConfirmationBox);
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.resources.icons16x16.IconLibraryAPISmall);
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.icons.IconFactory);
|
||||||
|
|
||||||
|
function Generator() {
|
||||||
|
var comp = libService.loadScript('vaadinComponents');
|
||||||
|
this.generate = function (itemId, columnId, item, container) {
|
||||||
|
var btn = comp.buttonIcon('excluir', function () {
|
||||||
|
|
||||||
|
var deletar = engine.getGlobalVariable('deletarRegistro');
|
||||||
|
var registro = item.getItemProperty('CODIGO') + " - " + item.getItemProperty('NOME');
|
||||||
|
var msg = 'Confirma a exclusão das informações para \n';
|
||||||
|
msg = msg.concat(registro, "?");
|
||||||
|
|
||||||
|
ConfirmationBox.show( 'Confirmar operação'
|
||||||
|
, msg
|
||||||
|
, new ConfirmationBox.ConfirmationBoxListener() {
|
||||||
|
dialogEnd: function(context, action) {
|
||||||
|
if(action == ConfirmationBox.Action.YES) {
|
||||||
|
if(deletar){
|
||||||
|
engine.setGlobalVariable('painelLista',1);
|
||||||
|
deletar(itemId);
|
||||||
|
engine.getField('listaPrincipal').refresh();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}, 'trash');
|
||||||
|
|
||||||
|
return btn;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var script = new Generator();
|
||||||
|
]]>
|
||||||
|
</scriptColumnGenerator>
|
||||||
|
</generated>
|
||||||
|
<column name="CODIGO" caption="Código"/>
|
||||||
|
<column name="NOME" caption="Descrição"/>
|
||||||
|
<column name="PERCENTUAL_PARTICIPACAO" caption="% Participação"/>
|
||||||
|
</columns>
|
||||||
|
</DBTable>
|
||||||
|
</VerticalLayout>
|
||||||
|
</Panel>
|
||||||
|
|
||||||
|
<Panel width="100%" height="100%" expandRatio="1" caption="" margin="false" id="pnlInclusao">
|
||||||
|
<VerticalLayout width="100%" margin="true">
|
||||||
|
<Label id="DescricaocadastroDentro" contentMode="HTML" align="MIDDLE_CENTER" > </Label>
|
||||||
|
<TabLayout height="100%" width="100%">
|
||||||
|
<Tab caption="Dados" >
|
||||||
|
<VerticalLayout width="70%" margin="true" spacing="true">
|
||||||
|
<DBSearchField type="number" id="idPesquisa" expandRatio="1" caption="Pesquisar sócio" width="100%" searchCaption="Nome do sócio" searchViewWidth="85%" description="Selecione um fornecedor" >
|
||||||
|
<datasource>
|
||||||
|
<freeQuery connection-key="vitruvio">
|
||||||
|
<![CDATA[
|
||||||
|
SELECT * FROM socios
|
||||||
|
]]>
|
||||||
|
</freeQuery>
|
||||||
|
</datasource>
|
||||||
|
<loadItemQuery>
|
||||||
|
<![CDATA[
|
||||||
|
SELECT *
|
||||||
|
FROM socios
|
||||||
|
nome = ? ORDER BY codigo
|
||||||
|
]]>
|
||||||
|
</loadItemQuery>
|
||||||
|
<key-field>CODIGO</key-field>
|
||||||
|
<caption-field>NOME</caption-field>
|
||||||
|
<columns>
|
||||||
|
<column name="CODIGO" caption="Código" />
|
||||||
|
<column name="NOME" caption="Descrição" />
|
||||||
|
</columns>
|
||||||
|
<filterProperties filterRequired="false">
|
||||||
|
<value>CODIGO</value>
|
||||||
|
<value>NOME</value>
|
||||||
|
</filterProperties>
|
||||||
|
<events>
|
||||||
|
<valueChange>
|
||||||
|
<script language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
function run() {
|
||||||
|
engine.getGlobalVariable('fncLimpaCampos')();
|
||||||
|
engine.getGlobalVariable('carregarCampos')(engine.getField('idPesquisa').getValue());
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</script>
|
||||||
|
</valueChange>
|
||||||
|
</events>
|
||||||
|
</DBSearchField>
|
||||||
|
<HorizontalLayout spacing="true" width="100%">
|
||||||
|
<TextField id="idChave" type="number" caption="Código" width="100%" expandRatio="0.08" />
|
||||||
|
<TextField id="idDescricao" type="string" text-transform="uppercase" caption="Nome" required="true" width="100%" expandRatio="1" />
|
||||||
|
<DecimalField type="decimal" id="idPercentual" caption="Percentual" width="100%" expandRatio="0.1" />
|
||||||
|
</HorizontalLayout>
|
||||||
|
</VerticalLayout>
|
||||||
|
</Tab>
|
||||||
|
</TabLayout>
|
||||||
|
</VerticalLayout>
|
||||||
|
|
||||||
|
</Panel>
|
||||||
|
<Panel width="100%" margin="false" id="pnlBotoes" >
|
||||||
|
<VerticalLayout width="100%">
|
||||||
|
<HorizontalLayout spacing="true" margin="true" align="MIDDLE_CENTER" >
|
||||||
|
<ButtonWidget id="btnSalvar" caption="Salvar" expandRatio="0.2" description="Salva os dados das Informações Adicionais do Cargo " align="MIDDLE_CENTER">
|
||||||
|
<onClickScript language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.layout.MessageBox);
|
||||||
|
function run() {
|
||||||
|
if (engine.isValid()) {
|
||||||
|
if ((engine.getGlobalVariable('validarDuplicidade')(engine.getField('idDescricao').getValue())) && (!engine.getField('idChave').getValue())) {
|
||||||
|
MessageBox.show(MessageBox.BoxType.INFO, 'Atenção', 'Já existe um sócio cadastrado com este nome.');
|
||||||
|
} else {
|
||||||
|
var config = engine.getGlobalVariable('config');
|
||||||
|
var id = engine.getField('idChave').getConvertedValue();
|
||||||
|
var lib = libService.loadScript('lib_cadastro_padrao');
|
||||||
|
var retorno = lib.fncGravarRegistro(config, id);
|
||||||
|
|
||||||
|
if (retorno) {
|
||||||
|
engine.getGlobalVariable('fncLimpaCampos')();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</onClickScript>
|
||||||
|
</ButtonWidget>
|
||||||
|
<ButtonWidget caption="Novo" id="btnNovo" expandRatio="0.2" description="Descarta os dados atuais e deixa o formulário pronto para receber um novo cadastro" align="MIDDLE_CENTER">
|
||||||
|
<onClickScript language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
function run() {
|
||||||
|
engine.setGlobalVariable('painelLista',0);
|
||||||
|
engine.getGlobalVariable('novoRegistro')();
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</onClickScript>
|
||||||
|
</ButtonWidget>
|
||||||
|
<ButtonWidget caption="Excluir" id="btnExcluir" expandRatio="0.2" description="Excluir os dados atuais" align="MIDDLE_CENTER">
|
||||||
|
<onClickScript language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.layout.MessageBox);
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.layout.ConfirmationBox);
|
||||||
|
importClass(Packages.com.vaadin.ui.Notification);
|
||||||
|
|
||||||
|
function run() {
|
||||||
|
if(engine.isValid()) {
|
||||||
|
var deletar = engine.getGlobalVariable('deletarRegistro');
|
||||||
|
var listener = new ConfirmationBox.ConfirmationBoxListener() {
|
||||||
|
dialogEnd: function(context, action) {
|
||||||
|
if(action == ConfirmationBox.Action.YES) {
|
||||||
|
var id = engine.getField('idChave').getConvertedValue();
|
||||||
|
if(deletar){
|
||||||
|
engine.setGlobalVariable('painelLista',0);
|
||||||
|
deletar(id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
ConfirmationBox.show(ConfirmationBox.DialogIcon.WARNING, 'Confirmar exclusão do registro?', 'Tem certeza de que deseja excluir o tipo de ocorrência selecionado?', listener, ConfirmationBox.ACTION_YES_CANCEL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</onClickScript>
|
||||||
|
</ButtonWidget>
|
||||||
|
<ButtonWidget caption="Voltar" id="btnVoltar" expandRatio="0.2" description="Voltar a tela inicial" align="MIDDLE_CENTER">
|
||||||
|
<onClickScript language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
function run() {
|
||||||
|
engine.setGlobalVariable('painelLista',1);
|
||||||
|
engine.getGlobalVariable('fncLimpaCampos')();
|
||||||
|
newRecord = false;
|
||||||
|
saveStatus = false;
|
||||||
|
engine.getGlobalVariable('telaInicial')();
|
||||||
|
engine.getField('listaPrincipal').refresh();
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</onClickScript>
|
||||||
|
</ButtonWidget>
|
||||||
|
</HorizontalLayout>
|
||||||
|
</VerticalLayout>
|
||||||
|
</Panel>
|
||||||
|
</VerticalLayout>
|
||||||
|
</components>
|
||||||
|
</form>
|
||||||
|
</panel-form>
|
||||||
@@ -0,0 +1,470 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<panel-form xmlns="http://www.davinti.com.br/vitruvio/form/panel" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://www.davinti.com.br/vitruvio/form/panel https://bitbucket.org/davinTI/vitruvio-xds/raw/master/vitruvio-panel-form.xsd">
|
||||||
|
<form formKey="formCadastroPadrao" height="100%" width="100%">
|
||||||
|
<name>Sub-categorias</name>
|
||||||
|
<description>Cadastro de sub-categorias</description>
|
||||||
|
<afterFormRenderScript language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
var config = { "tabela" :
|
||||||
|
{
|
||||||
|
"conexao" : "vitruvio",
|
||||||
|
"nome" : "subcategoria" ,
|
||||||
|
"sequence" : "subcategoria_seq" ,
|
||||||
|
"idTabela" : "CODIGO",
|
||||||
|
"campos" : ["CODIGO", "DESCRICAO" ],
|
||||||
|
"camposTable" : ["CODIGO", "DESCRICAO" ]
|
||||||
|
|
||||||
|
},
|
||||||
|
"relaciona" : [ ["CODIGO","idChave","Number"] ,
|
||||||
|
["DESCRICAO","idDescricao","String"]
|
||||||
|
] ,
|
||||||
|
"validacaoExclusao" : [ ["SELECT 0 AS CONTAR FROM CATEGORIA WHERE CODIGO = ", "Existem registros ligados a esta tabela"],
|
||||||
|
["SELECT count(chave_subcategoria) AS CONTAR FROM CONTROLE_DESPESAS_OPERACIONAIS WHERE CHAVE_SUBCATEGORIA = ", "Existem registros ligados a esta tabela"]
|
||||||
|
],
|
||||||
|
'painel' :
|
||||||
|
{
|
||||||
|
'titulo' : 'Cadastro de Sub-Categorias',
|
||||||
|
'icone' : 'data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMraHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjMtYzAxMSA2Ni4xNDU2NjEsIDIwMTIvMDIvMDYtMTQ6NTY6MjcgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFCNEVGRDI1OTk4MDExRTg5RjEzQ0MzRjkwQTUyQ0Y3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFCNEVGRDI2OTk4MDExRTg5RjEzQ0MzRjkwQTUyQ0Y3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MUI0RUZEMjM5OTgwMTFFODlGMTNDQzNGOTBBNTJDRjciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MUI0RUZEMjQ5OTgwMTFFODlGMTNDQzNGOTBBNTJDRjciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7/7gAOQWRvYmUAZMAAAAAB/9sAhAAGBAQEBQQGBQUGCQYFBgkLCAYG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'
|
||||||
|
}
|
||||||
|
};
|
||||||
|
function run()
|
||||||
|
{
|
||||||
|
engine.setGlobalVariable('config', config);
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
|
||||||
|
</afterFormRenderScript>
|
||||||
|
<initScript language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.icons.IconFactory);
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.resources.icons16x16.IconLibraryAPISmall);
|
||||||
|
importClass(Packages.java.util.Calendar);
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.layout.MessageBox);
|
||||||
|
importClass(Packages.com.vaadin.ui.Notification);
|
||||||
|
|
||||||
|
|
||||||
|
var getDataAtual = function() {
|
||||||
|
var c = java.util.Calendar.getInstance();
|
||||||
|
c.setTime(new java.util.Date());
|
||||||
|
c.set(Calendar.HOUR_OF_DAY, 0);
|
||||||
|
c.set(Calendar.MINUTE, 0);
|
||||||
|
c.set(Calendar.SECOND, 0);
|
||||||
|
c.set(Calendar.MILLISECOND, 0);
|
||||||
|
|
||||||
|
return c.getTime();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
var fncLimpaCampos = function(){
|
||||||
|
var config = engine.getGlobalVariable('config');
|
||||||
|
var lib = libService.loadScript('lib_cadastro_padrao');
|
||||||
|
var retorno = lib.fncLimpaCampos(config);
|
||||||
|
};
|
||||||
|
|
||||||
|
var habilitaCampos = function(lHabilita){
|
||||||
|
var botaoNovo = engine.getWidgetController('btnNovo').getButton();
|
||||||
|
var botaoSalvar = engine.getWidgetController('btnSalvar').getButton();
|
||||||
|
var botaoExcluir = engine.getWidgetController('btnExcluir').getButton();
|
||||||
|
var botaoVoltar = engine.getWidgetController('btnVoltar').getButton();
|
||||||
|
|
||||||
|
botaoNovo.setEnabled(true);
|
||||||
|
botaoSalvar.setEnabled(lHabilita);
|
||||||
|
botaoExcluir.setEnabled(lHabilita);
|
||||||
|
|
||||||
|
if(engine.getGlobalVariable('painelLista') == 1) {
|
||||||
|
botaoVoltar.setVisible(false);
|
||||||
|
botaoSalvar.setVisible(false);
|
||||||
|
botaoExcluir.setVisible(false);
|
||||||
|
} else {
|
||||||
|
botaoVoltar.setVisible(true);
|
||||||
|
botaoSalvar.setVisible(true);
|
||||||
|
botaoExcluir.setVisible(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
var config = engine.getGlobalVariable('config');
|
||||||
|
var lib = libService.loadScript('lib_cadastro_padrao');
|
||||||
|
var retorno = lib.fncHabilitaCampos(config, lHabilita);
|
||||||
|
|
||||||
|
engine.getField('idChave').setEnabled(false);
|
||||||
|
|
||||||
|
engine.getField('listaPrincipal').refresh();
|
||||||
|
};
|
||||||
|
|
||||||
|
var novoRegistro = function() {
|
||||||
|
fncLimpaCampos();
|
||||||
|
|
||||||
|
habilitaCampos(true);
|
||||||
|
engine.getLayout('pnlTitulo').getRootComposition().setVisible(false);
|
||||||
|
engine.getLayout('pnlInclusao').getRootComposition().setVisible(true);
|
||||||
|
engine.getWidgetController('btnVoltar').getButton().setVisible(true);
|
||||||
|
|
||||||
|
engine.getField('idChave').focus();
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
var carregarCampos = function(id) {
|
||||||
|
|
||||||
|
var config = engine.getGlobalVariable('config');
|
||||||
|
var lib = libService.loadScript('lib_cadastro_padrao');
|
||||||
|
var sql = lib.fncCarregarCampos(config, id);
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
var telaInicial = function() {
|
||||||
|
engine.getLayout('pnlTitulo').getRootComposition().setVisible(true);
|
||||||
|
engine.getLayout('pnlInclusao').getRootComposition().setVisible(false);
|
||||||
|
var botaoNovo = engine.getWidgetController('btnNovo').getButton();
|
||||||
|
var botaoSalvar = engine.getWidgetController('btnSalvar').getButton();
|
||||||
|
var botaoExcluir = engine.getWidgetController('btnExcluir').getButton();
|
||||||
|
var botaoVoltar = engine.getWidgetController('btnVoltar').getButton();
|
||||||
|
|
||||||
|
botaoNovo.setVisible(true);
|
||||||
|
botaoNovo.setEnabled(true);
|
||||||
|
botaoSalvar.setVisible(false);
|
||||||
|
botaoExcluir.setVisible(false);
|
||||||
|
botaoVoltar.setVisible(false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
var deletarRegistro = function(id) {
|
||||||
|
var config = engine.getGlobalVariable('config');
|
||||||
|
var lib = libService.loadScript('lib_cadastro_padrao');
|
||||||
|
var retorno = lib.fncDeletarRegistro(config, id);
|
||||||
|
if (retorno) {
|
||||||
|
//engine.getField('idChave').setValue(params.get('id'));
|
||||||
|
engine.getGlobalVariable('fncLimpaCampos')();
|
||||||
|
engine.getGlobalVariable('habilitaCampos')(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var validarDuplicidade = function(valor) {
|
||||||
|
var sql = "Select count(DESCRICAO) ct from subcategoria where DESCRICAO = '" + valor + "'";
|
||||||
|
var db = libService.loadScript('db');
|
||||||
|
var dbVitruvio = new db('vitruvio');
|
||||||
|
var row = dbVitruvio.queryRow(sql);
|
||||||
|
if (row.ct == 0) {
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function run() {
|
||||||
|
var config = engine.getGlobalVariable('config');
|
||||||
|
var titulo = config['painel'].titulo;
|
||||||
|
var icone = config['painel'].icone;
|
||||||
|
engine.getLabel('Descricaocadastro').setValue('<img align="middle" alt="" src="'+ icone + '" width="68" /><font color="Gray" face="Calibri" size="6" > ' + titulo + '</font>');
|
||||||
|
engine.getLabel('DescricaocadastroDentro').setValue('<img align="middle" alt="" src="'+ icone + '" width="68" /><font color="Gray" face="Calibri" size="6" > ' + titulo + '</font>');
|
||||||
|
engine.setGlobalVariable('novoRegistro', novoRegistro);
|
||||||
|
engine.setGlobalVariable('carregarCampos', carregarCampos);
|
||||||
|
engine.setGlobalVariable('habilitaCampos', habilitaCampos);
|
||||||
|
engine.setGlobalVariable('fncLimpaCampos', fncLimpaCampos);
|
||||||
|
engine.setGlobalVariable('telaInicial', telaInicial);
|
||||||
|
engine.setGlobalVariable('deletarRegistro', deletarRegistro);
|
||||||
|
engine.setGlobalVariable('validarDuplicidade', validarDuplicidade);
|
||||||
|
engine.setGlobalVariable('painelLista',1);
|
||||||
|
|
||||||
|
habilitaCampos(false);
|
||||||
|
|
||||||
|
engine.getWidgetController('btnSalvar').getButton().setIcon(IconFactory.instance().getIconAsResource(IconLibraryAPISmall.APLICAR));
|
||||||
|
engine.getWidgetController('btnNovo').getButton().setIcon(IconFactory.instance().getIconAsResource(IconLibraryAPISmall.CRIAR));
|
||||||
|
engine.getWidgetController('btnExcluir').getButton().setIcon(IconFactory.instance().getIconAsResource(IconLibraryAPISmall.REMOVER));
|
||||||
|
engine.getWidgetController('btnVoltar').getButton().setIcon(IconFactory.instance().getIconAsResource(IconLibraryAPISmall.VOLTAR));
|
||||||
|
//engine.getFieldLocked('idAjuda', false); // pode ser erro no componente, aberto caso Eduardo = 20108
|
||||||
|
telaInicial();
|
||||||
|
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</initScript>
|
||||||
|
<components>
|
||||||
|
<VerticalLayout spacing="false" margin="false" height="100%" width="100%" align="TOP_LEFT" >
|
||||||
|
<Panel width="100%" caption="" height="100%" expandRatio="1" margin="false" id="pnlTitulo" align="TOP_LEFT" >
|
||||||
|
<VerticalLayout width="100%" expandRatio="1" margin="true">
|
||||||
|
<Label id="Descricaocadastro" contentMode="HTML" align="MIDDLE_CENTER" > </Label>
|
||||||
|
<TextField id="idPesquisaLista" caption="Digite aqui para pesquisar:" type="string" width="100%" visible="true" immediate="true">
|
||||||
|
<events>
|
||||||
|
<valueChange>
|
||||||
|
<script language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
function run(){
|
||||||
|
engine.getField('listaPrincipal').refresh();
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</script>
|
||||||
|
</valueChange>
|
||||||
|
</events>
|
||||||
|
</TextField>
|
||||||
|
<DBTable id="listaPrincipal" type="number" visible="true" width="100%" immediate="true" rows="5" selectable="false" multivalue="false" showRowCount="true">
|
||||||
|
<datasource>
|
||||||
|
<sqlBuilderDataSource connection-key="vitruvio" language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
|
||||||
|
var getSql = function() {
|
||||||
|
|
||||||
|
var config = { "tabela" :
|
||||||
|
{
|
||||||
|
"conexao" : "vitruvio",
|
||||||
|
"nome" : "subcategoria" ,
|
||||||
|
"sequence" : "subcategoria_seq" ,
|
||||||
|
"idTabela" : "CODIGO",
|
||||||
|
"campos" : ["CODIGO", "DESCRICAO" ],
|
||||||
|
"camposTable" : ["CODIGO", "DESCRICAO" ]
|
||||||
|
},
|
||||||
|
"relaciona" : [ ["CODIGO","idChave","Number"] ,
|
||||||
|
["DESCRICAO","idDescricao","String"]
|
||||||
|
] ,
|
||||||
|
|
||||||
|
"validacaoExclusao" :
|
||||||
|
[ ["SELECT 0 AS CONTAR FROM CATEGORIA WHERE CODIGO = ", "Existem registros ligados a esta tabela"],
|
||||||
|
["SELECT count(chave_subcategoria) AS CONTAR FROM CONTROLE_DESPESAS_OPERACIONAIS WHERE CHAVE_SUBCATEGORIA = ", "Existem registros ligados a esta tabela."]
|
||||||
|
],
|
||||||
|
'painel' :
|
||||||
|
{
|
||||||
|
'titulo' : 'Cadastro de Sócios',
|
||||||
|
'icone' : 'data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMraHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjMtYzAxMSA2Ni4xNDU2NjEsIDIwMTIvMDIvMDYtMTQ6NTY6MjcgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFCNEVGRDI1OTk4MDExRTg5RjEzQ0MzRjkwQTUyQ0Y3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFCNEVGRDI2OTk4MDExRTg5RjEzQ0MzRjkwQTUyQ0Y3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MUI0RUZEMjM5OTgwMTFFODlGMTNDQzNGOTBBNTJDRjciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MUI0RUZEMjQ5OTgwMTFFODlGMTNDQzNGOTBBNTJDRjciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7/7gAOQWRvYmUAZMAAAAAB/9sAhAAGBAQEBQQGBQUGCQYFBgkLCAYG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'
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
var lib = libService.loadScript('lib_cadastro_padrao');
|
||||||
|
return lib.table(config, 'camposTable');
|
||||||
|
}
|
||||||
|
|
||||||
|
function buildSQL(params) {
|
||||||
|
var sql = getSql();
|
||||||
|
if(engine) {
|
||||||
|
var idPesquisaLista = engine.getField('idPesquisaLista').getValue();
|
||||||
|
if (idPesquisaLista != null) {
|
||||||
|
sql = "SELECT * FROM ( " + sql + " ) T WHERE T.NOME LIKE UPPER('%" + idPesquisaLista + "%')";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return sql;
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</sqlBuilderDataSource>
|
||||||
|
|
||||||
|
</datasource>
|
||||||
|
<key-field>CODIGO</key-field>
|
||||||
|
<columns>
|
||||||
|
<!-- icone de edição -->
|
||||||
|
<generated name="Editar" align="CENTER" expand-ratio="0.2">
|
||||||
|
<scriptColumnGenerator language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.resources.icons16x16.IconLibraryAPISmall);
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.icons.IconFactory);
|
||||||
|
|
||||||
|
function Generator() {
|
||||||
|
var comp = libService.loadScript('vaadinComponents');
|
||||||
|
this.generate = function (itemId, columnId, item, container) {
|
||||||
|
var btn = comp.buttonIcon('editar', function () {
|
||||||
|
|
||||||
|
var id = itemId;
|
||||||
|
engine.getField('idChave').setValue(id);
|
||||||
|
|
||||||
|
if (id != null) {
|
||||||
|
engine.setGlobalVariable('painelLista',0);
|
||||||
|
engine.getGlobalVariable('carregarCampos')(id);
|
||||||
|
engine.getGlobalVariable('habilitaCampos')(true);
|
||||||
|
engine.getLayout('pnlInclusao').getRootComposition().setVisible(true);
|
||||||
|
engine.getLayout('pnlTitulo').getRootComposition().setVisible(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
}, 'pencil');
|
||||||
|
|
||||||
|
return btn;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var script = new Generator();
|
||||||
|
]]>
|
||||||
|
</scriptColumnGenerator>
|
||||||
|
</generated>
|
||||||
|
|
||||||
|
<!-- icone de exclusão -->
|
||||||
|
<generated name="Excluir" align="CENTER" expand-ratio="0.2">
|
||||||
|
<scriptColumnGenerator language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.layout.ConfirmationBox);
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.resources.icons16x16.IconLibraryAPISmall);
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.icons.IconFactory);
|
||||||
|
|
||||||
|
function Generator() {
|
||||||
|
var comp = libService.loadScript('vaadinComponents');
|
||||||
|
this.generate = function (itemId, columnId, item, container) {
|
||||||
|
var btn = comp.buttonIcon('excluir', function () {
|
||||||
|
|
||||||
|
var deletar = engine.getGlobalVariable('deletarRegistro');
|
||||||
|
var registro = item.getItemProperty('CODIGO') + " - " + item.getItemProperty('DESCRICAO');
|
||||||
|
var msg = 'Confirma a exclusão das informações para \n';
|
||||||
|
msg = msg.concat(registro, "?");
|
||||||
|
|
||||||
|
ConfirmationBox.show( 'Confirmar operação'
|
||||||
|
, msg
|
||||||
|
, new ConfirmationBox.ConfirmationBoxListener() {
|
||||||
|
dialogEnd: function(context, action) {
|
||||||
|
if(action == ConfirmationBox.Action.YES) {
|
||||||
|
if(deletar){
|
||||||
|
engine.setGlobalVariable('painelLista',1);
|
||||||
|
deletar(itemId);
|
||||||
|
engine.getField('listaPrincipal').refresh();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}, 'trash');
|
||||||
|
|
||||||
|
return btn;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var script = new Generator();
|
||||||
|
]]>
|
||||||
|
</scriptColumnGenerator>
|
||||||
|
</generated>
|
||||||
|
|
||||||
|
<column name="CODIGO" caption="Código"/>
|
||||||
|
<column name="DESCRICAO" caption="Descrição"/>
|
||||||
|
</columns>
|
||||||
|
</DBTable>
|
||||||
|
</VerticalLayout>
|
||||||
|
</Panel>
|
||||||
|
|
||||||
|
<Panel width="100%" height="100%" expandRatio="1" caption="" margin="false" id="pnlInclusao">
|
||||||
|
<VerticalLayout width="100%" margin="true">
|
||||||
|
<Label id="DescricaocadastroDentro" contentMode="HTML" align="MIDDLE_CENTER"> </Label>
|
||||||
|
<TabLayout height="100%" width="100%">
|
||||||
|
<Tab caption="Dados" >
|
||||||
|
<VerticalLayout width="70%" margin="true" spacing="true">
|
||||||
|
<DBSearchField type="number" id="idPesquisa" expandRatio="1" caption="Pesquisar sub-categoria" width="100%" searchCaption="Nome da sub-categoria" searchViewWidth="85%" description="Selecione um fornecedor" >
|
||||||
|
<datasource>
|
||||||
|
<freeQuery connection-key="vitruvio">
|
||||||
|
<![CDATA[
|
||||||
|
SELECT * FROM subcategoria
|
||||||
|
]]>
|
||||||
|
</freeQuery>
|
||||||
|
</datasource>
|
||||||
|
<loadItemQuery>
|
||||||
|
<![CDATA[
|
||||||
|
SELECT *
|
||||||
|
FROM subcategoria
|
||||||
|
descricao = ? ORDER BY codigo
|
||||||
|
]]>
|
||||||
|
</loadItemQuery>
|
||||||
|
<key-field>CODIGO</key-field>
|
||||||
|
<caption-field>DESCRICAO</caption-field>
|
||||||
|
<columns>
|
||||||
|
<column name="CODIGO" caption="Código" />
|
||||||
|
<column name="DESCRICAO" caption="Descrição" />
|
||||||
|
</columns>
|
||||||
|
<filterProperties filterRequired="false">
|
||||||
|
<value>CODIGO</value>
|
||||||
|
<value>DESCRICAO</value>
|
||||||
|
</filterProperties>
|
||||||
|
<events>
|
||||||
|
<valueChange>
|
||||||
|
<script language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
function run() {
|
||||||
|
engine.getGlobalVariable('fncLimpaCampos')();
|
||||||
|
engine.getGlobalVariable('carregarCampos')(engine.getField('idPesquisa').getValue());
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</script>
|
||||||
|
</valueChange>
|
||||||
|
</events>
|
||||||
|
</DBSearchField>
|
||||||
|
<HorizontalLayout width="100%" spacing="true">
|
||||||
|
<TextField id="idChave" type="string" caption="Código" width="100%" expandRatio="0.08" />
|
||||||
|
<TextField id="idDescricao" text-transform="uppercase" type="string" caption="Nome" required="true" width="100%" expandRatio="1" />
|
||||||
|
</HorizontalLayout>
|
||||||
|
</VerticalLayout>
|
||||||
|
</Tab>
|
||||||
|
</TabLayout>
|
||||||
|
</VerticalLayout>
|
||||||
|
</Panel>
|
||||||
|
<Panel width="100%" margin="false" id="pnlBotoes" >
|
||||||
|
<VerticalLayout width="100%">
|
||||||
|
<HorizontalLayout margin="true" spacing="true" align="MIDDLE_CENTER" >
|
||||||
|
<ButtonWidget id="btnSalvar" caption="Salvar" expandRatio="0.2" description="Salva os dados das Informações Adicionais do Cargo " align="MIDDLE_CENTER">
|
||||||
|
<onClickScript language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.layout.MessageBox);
|
||||||
|
function run() {
|
||||||
|
if (engine.isValid()) {
|
||||||
|
if (engine.getGlobalVariable('validarDuplicidade')(engine.getField('idDescricao').getValue())) {
|
||||||
|
MessageBox.show(MessageBox.BoxType.INFO, 'Atenção', 'Já existe uma operação cadastrada com este nome.');
|
||||||
|
} else {
|
||||||
|
var config = engine.getGlobalVariable('config');
|
||||||
|
var id = engine.getField('idChave').getConvertedValue();
|
||||||
|
var lib = libService.loadScript('lib_cadastro_padrao');
|
||||||
|
var retorno = lib.fncGravarRegistro(config, id);
|
||||||
|
|
||||||
|
if (retorno) {
|
||||||
|
engine.getGlobalVariable('fncLimpaCampos')();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</onClickScript>
|
||||||
|
</ButtonWidget>
|
||||||
|
<ButtonWidget caption="Novo" id="btnNovo" expandRatio="0.2" description="Descarta os dados atuais e deixa o formulário pronto para receber um novo cadastro" align="MIDDLE_CENTER">
|
||||||
|
<onClickScript language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
function run() {
|
||||||
|
engine.setGlobalVariable('painelLista',0);
|
||||||
|
engine.getGlobalVariable('novoRegistro')();
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</onClickScript>
|
||||||
|
</ButtonWidget>
|
||||||
|
<ButtonWidget caption="Excluir" id="btnExcluir" expandRatio="0.2" description="Excluir os dados atuais" align="MIDDLE_CENTER">
|
||||||
|
<onClickScript language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.layout.MessageBox);
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.layout.ConfirmationBox);
|
||||||
|
importClass(Packages.com.vaadin.ui.Notification);
|
||||||
|
|
||||||
|
function run() {
|
||||||
|
if(engine.isValid()) {
|
||||||
|
var deletar = engine.getGlobalVariable('deletarRegistro');
|
||||||
|
var listener = new ConfirmationBox.ConfirmationBoxListener() {
|
||||||
|
dialogEnd: function(context, action) {
|
||||||
|
if(action == ConfirmationBox.Action.YES) {
|
||||||
|
var id = engine.getField('idChave').getConvertedValue();
|
||||||
|
if(deletar){
|
||||||
|
engine.setGlobalVariable('painelLista',0);
|
||||||
|
deletar(id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
ConfirmationBox.show(ConfirmationBox.DialogIcon.WARNING, 'Confirmar exclusão do registro?', 'Tem certeza de que deseja excluir o tipo de ocorrência selecionado?', listener, ConfirmationBox.ACTION_YES_CANCEL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</onClickScript>
|
||||||
|
</ButtonWidget>
|
||||||
|
<ButtonWidget caption="Voltar" id="btnVoltar" expandRatio="0.2" description="Voltar a tela inicial" align="MIDDLE_CENTER">
|
||||||
|
<onClickScript language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
function run() {
|
||||||
|
engine.setGlobalVariable('painelLista',1);
|
||||||
|
engine.getGlobalVariable('fncLimpaCampos')();
|
||||||
|
newRecord = false;
|
||||||
|
saveStatus = false;
|
||||||
|
engine.getGlobalVariable('telaInicial')();
|
||||||
|
engine.getField('listaPrincipal').refresh();
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</onClickScript>
|
||||||
|
</ButtonWidget>
|
||||||
|
</HorizontalLayout>
|
||||||
|
</VerticalLayout>
|
||||||
|
</Panel>
|
||||||
|
</VerticalLayout>
|
||||||
|
</components>
|
||||||
|
</form>
|
||||||
|
</panel-form>
|
||||||
@@ -0,0 +1,485 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<panel-form xmlns="http://www.davinti.com.br/vitruvio/form/panel" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://www.davinti.com.br/vitruvio/form/panel https://bitbucket.org/davinTI/vitruvio-xds/raw/master/vitruvio-panel-form.xsd">
|
||||||
|
<form formKey="formCadastroPadrao" height="100%" width="100%">
|
||||||
|
<name>Veículos</name>
|
||||||
|
<description>Cadastro de Veículos</description>
|
||||||
|
<afterFormRenderScript language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
/*, */
|
||||||
|
var config = { "tabela" :
|
||||||
|
{
|
||||||
|
"conexao" : "vitruvio",
|
||||||
|
"nome" : "VEICULO" ,
|
||||||
|
"sequence" : "VEICULO_SEQ" ,
|
||||||
|
"idTabela" : "CODIGO",
|
||||||
|
"campos" : ["CODIGO", "PLACA", "MODELO", "MARCA", "ANO" ],
|
||||||
|
"camposTable" : ["CODIGO", "PLACA", "MODELO", "MARCA", "ANO" ]
|
||||||
|
},
|
||||||
|
"relaciona" : [ ["CODIGO","idChave","Number"] ,
|
||||||
|
["PLACA","idPlaca","String"] ,
|
||||||
|
["MODELO","idModelo","String"] ,
|
||||||
|
["MARCA","idMarca","String"] ,
|
||||||
|
["ANO","idAno","Number"]
|
||||||
|
] ,
|
||||||
|
"validacaoExclusao" : [ ["SELECT 0 AS CONTAR FROM VEICULO WHERE CODIGO = ", "Existem registros ligados a esta tabela."],
|
||||||
|
["SELECT COUNT(CHAVE_VEICULO) AS CONTAR FROM CONTROLE_DESPESAS_OPERACIONAIS WHERE CHAVE_VEICULO = ", "Existem registros ligados a esta tabela."],
|
||||||
|
["SELECT COUNT(CHAVE_VEICULO) AS CONTAR FROM CONTROLE_DESPESAS_COMBUSTIVEIS WHERE CHAVE_VEICULO = ", "Existem registros ligados a esta tabela."],
|
||||||
|
["SELECT COUNT(CHAVE_VEICULO) AS CONTAR FROM CONTROLE_RECEITAS_FRETES WHERE CHAVE_VEICULO = ", "Existem registros ligados a esta tabela."]
|
||||||
|
],
|
||||||
|
'painel' :
|
||||||
|
{
|
||||||
|
'titulo' : 'Cadastro de Veículos',
|
||||||
|
'icone' : 'data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMraHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjMtYzAxMSA2Ni4xNDU2NjEsIDIwMTIvMDIvMDYtMTQ6NTY6MjcgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkYyMDgwNTJFOTk4MjExRTg4Mzg3ODJENUVCMUZDNDhEIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkYyMDgwNTJGOTk4MjExRTg4Mzg3ODJENUVCMUZDNDhEIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RjIwODA1MkM5OTgyMTFFODgzODc4MkQ1RUIxRkM0OEQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RjIwODA1MkQ5OTgyMTFFODgzODc4MkQ1RUIxRkM0OEQiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7/7gAOQWRvYmUAZMAAAAAB/9sAhAAGBAQEBQQGBQUGCQYFBgkLCAYGCAsMCgoLCgoMEAwMDAwMDBAMDg8QDw4MExMUFBMTHBsbGxwfHx8fHx8fHx8fAQcHBw0MDRgQEBgaFREVGh8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx//wAARCAA+AEQDAREAAhEBAxEB/8QAfwAAAgMAAwEAAAAAAAAAAAAAAAQFBgcBAggDAQEBAAAAAAAAAAAAAAAAAAAAARAAAQMCBAUCAwYCCwAAAAAAAQIDBBEFACESBjEiExQHQRVRcTJhgaFCFghSGMHRYnKisiMzgyQXEQEBAQADAQAAAAAAAAAAAAAAAREhMQJh/9oADAMBAAIRAxEAPwD1TgDAGAMAYAwCl0uke2xTIeS45UhDbTKC44tZ4JSkfH4nIepwCzG47ZInNQmFlyQ6CrSAOVKRVRJ+zhlgJTAGAMAYAwBgIm87hiW5FNSVO/wngAONcBmFx3nOuswQobhmzXyQ001mkA+iR6/3lYDQdmbV9liKflKDt1lAGU6DUJA4NIJ/Kn8TgLJgDABIAqcgOJwCMm+2SKaSbhGYI4hx5tH+YjARrXkDZb85MCPeYsiYsKUlhlwOK0oFVHlrkPjgKdN8uSYm4LnFkR2lWRDSVW2bHXV4vAUWxIQojTXNQWnIYCjiVuzftycjQG1JhuAB9VSllKB6rcpyj8VegxRrHjvbG2bTEf8AbZLVwnsOKjXCWihKHkAamQB9ATUZccQXHAGArF92XLu89ck7hucFlSUpTChuoaaTpGZ+kqJV61OAh3PDO3H5CnJk65y2ykANOzHFDVnqUanOuWWAjJHgrYkdlkOx35FV/wDYe6nOr1A4coPzwFQ3JtXae1ZkqXYJakPPsFpqOtCXllalUPTVy6KjIHM8cXR0sfh7dF7jJnPLTBbWUdJqalRUUqNVuFtJSrIfSFU1fYMQSe3vC28LbfpkWXeZLlnnEvd1GdQhpBQAlCVxiKqUUcqSDROA16wbdtdihdpAaKEmhddWdTjigKBTivU0FPlgJPAGAMB0ebDjZQVKRXLUg6VD5HARFzsUBcdTjjkhTjdVIrIc5lAGicyRn8sBUIltehvGVEt0WPPXzd09R11J/sqdUvT9wwHNwl7+iVdkl5THEuMlCkgHgSEDUB92ATF/nOmqpLhJ+K1f14Bm23ueieWWpSmR0OtUp6gJDmj6SR8RgE9t+Ut2K3qxtzdUCDAYkxVSo8mK+uQpXOEpDiglDbR0nUoHAavUUrXLALzJrEbppcdQ2p1WlsLUBWgqogEiulOeAxi9eUPKsuxG47PsTtwlie9Fkwn4SwGmkKVpUgl1pSqN6CF0ook8KYBzam9/J91ti293bUnR56JASy3Fi6G1MlIo6pa3ikFK6hSa8KEfDBOT0vccRlclmhVIZKmVJSmpQ7QjmqRTSSK4KybZ3he7meld63CJkZlRfjyB3alNOuZKZeBWirKvqPNkoZcVVullvSx7jmztl2piRLmQ9zPqcDfY2h9vvAg5JUGXFFx7myOgVHr6nE3TFWv3mKdGt/uCdk3qNEbacakypqFsMgO6NALiQkt8w+qvyzxItL2XzsyxEft182lNW+zHSGmIznUWqOtNNbxe1FVcs86+uKj0d+qUf+Vfqbtl6faO97Tpq1/7Gvp9PjX0wFe8rbslWuXaFtpecs7vctXQsW/v1MkoBaeUk5hGSkqCc1avswGS7w/cBNehOsWp2K5YZDPYXOVKjvxJKZTmpwJQ0pRKEhhGk50qqo4YnqWzJc+rO+lRhfuB3F2q4ir7NiQoTWmIzAdgtkoRWoK5Tbrqjw0jMnDzLJzdLfmLRs+2+V90WZi9wnbTKE8reW1OXJalcyzzOKaT06rpq4VwkwtN7h8Zee58xi4QoceJNhs6IDluuhS2h0r1LdcQ8EBWpB0kEHFJSmyP29+XUbkj3ncLjMR2ItLkabGkNGW2pKiohJQ2pJSvWa6jl6YnnzPMydQttu1rty8TXm9WqRa7zue7yIExBalRlusKQtB9DVrFQrtP9v8AD2tOdn2bcl4jy32kR3XluR3iWWzqQ3/qMqokH4YDQvZ7t2nQ94kdWlO40ta6/H6NP+HAPSfbNJ6+in5q/wBOAzPfP8uPfMfq/wBoM2iuj3FddK510fb/ABYD67W/lv1p/T/6e6leXT0Ndf8Ak5sBo8P2jSOz6Gn8vS00+7TlgHBT0wBgDAGAMB//2Q=='
|
||||||
|
}
|
||||||
|
};
|
||||||
|
function run()
|
||||||
|
{
|
||||||
|
engine.setGlobalVariable('config', config);
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
|
||||||
|
</afterFormRenderScript>
|
||||||
|
<initScript language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.icons.IconFactory);
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.resources.icons16x16.IconLibraryAPISmall);
|
||||||
|
importClass(Packages.java.util.Calendar);
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.layout.MessageBox);
|
||||||
|
importClass(Packages.com.vaadin.ui.Notification);
|
||||||
|
|
||||||
|
|
||||||
|
var getDataAtual = function() {
|
||||||
|
var c = java.util.Calendar.getInstance();
|
||||||
|
c.setTime(new java.util.Date());
|
||||||
|
c.set(Calendar.HOUR_OF_DAY, 0);
|
||||||
|
c.set(Calendar.MINUTE, 0);
|
||||||
|
c.set(Calendar.SECOND, 0);
|
||||||
|
c.set(Calendar.MILLISECOND, 0);
|
||||||
|
|
||||||
|
return c.getTime();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
var fncLimpaCampos = function(){
|
||||||
|
var config = engine.getGlobalVariable('config');
|
||||||
|
var lib = libService.loadScript('lib_cadastro_padrao');
|
||||||
|
var retorno = lib.fncLimpaCampos(config);
|
||||||
|
};
|
||||||
|
|
||||||
|
var habilitaCampos = function(lHabilita){
|
||||||
|
var botaoNovo = engine.getWidgetController('btnNovo').getButton();
|
||||||
|
var botaoSalvar = engine.getWidgetController('btnSalvar').getButton();
|
||||||
|
var botaoExcluir = engine.getWidgetController('btnExcluir').getButton();
|
||||||
|
var botaoVoltar = engine.getWidgetController('btnVoltar').getButton();
|
||||||
|
|
||||||
|
botaoNovo.setEnabled(true);
|
||||||
|
botaoSalvar.setEnabled(lHabilita);
|
||||||
|
botaoExcluir.setEnabled(lHabilita);
|
||||||
|
|
||||||
|
if(engine.getGlobalVariable('painelLista') == 1) {
|
||||||
|
botaoVoltar.setVisible(false);
|
||||||
|
botaoSalvar.setVisible(false);
|
||||||
|
botaoExcluir.setVisible(false);
|
||||||
|
} else {
|
||||||
|
botaoVoltar.setVisible(true);
|
||||||
|
botaoSalvar.setVisible(true);
|
||||||
|
botaoExcluir.setVisible(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
var config = engine.getGlobalVariable('config');
|
||||||
|
var lib = libService.loadScript('lib_cadastro_padrao');
|
||||||
|
var retorno = lib.fncHabilitaCampos(config, lHabilita);
|
||||||
|
|
||||||
|
engine.getField('idChave').setEnabled(false);
|
||||||
|
|
||||||
|
engine.getField('listaPrincipal').refresh();
|
||||||
|
};
|
||||||
|
|
||||||
|
var novoRegistro = function() {
|
||||||
|
fncLimpaCampos();
|
||||||
|
|
||||||
|
habilitaCampos(true);
|
||||||
|
engine.getLayout('pnlTitulo').getRootComposition().setVisible(false);
|
||||||
|
engine.getLayout('pnlInclusao').getRootComposition().setVisible(true);
|
||||||
|
engine.getWidgetController('btnVoltar').getButton().setVisible(true);
|
||||||
|
|
||||||
|
engine.getField('idChave').focus();
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
var carregarCampos = function(id) {
|
||||||
|
|
||||||
|
var config = engine.getGlobalVariable('config');
|
||||||
|
var lib = libService.loadScript('lib_cadastro_padrao');
|
||||||
|
var sql = lib.fncCarregarCampos(config, id);
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
var telaInicial = function() {
|
||||||
|
engine.getLayout('pnlTitulo').getRootComposition().setVisible(true);
|
||||||
|
engine.getLayout('pnlInclusao').getRootComposition().setVisible(false);
|
||||||
|
var botaoNovo = engine.getWidgetController('btnNovo').getButton();
|
||||||
|
var botaoSalvar = engine.getWidgetController('btnSalvar').getButton();
|
||||||
|
var botaoExcluir = engine.getWidgetController('btnExcluir').getButton();
|
||||||
|
var botaoVoltar = engine.getWidgetController('btnVoltar').getButton();
|
||||||
|
|
||||||
|
botaoNovo.setVisible(true);
|
||||||
|
botaoNovo.setEnabled(true);
|
||||||
|
botaoSalvar.setVisible(false);
|
||||||
|
botaoExcluir.setVisible(false);
|
||||||
|
botaoVoltar.setVisible(false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
var deletarRegistro = function(id) {
|
||||||
|
var config = engine.getGlobalVariable('config');
|
||||||
|
var lib = libService.loadScript('lib_cadastro_padrao');
|
||||||
|
var retorno = lib.fncDeletarRegistro(config, id);
|
||||||
|
if (retorno) {
|
||||||
|
engine.getGlobalVariable('fncLimpaCampos')();
|
||||||
|
engine.getGlobalVariable('habilitaCampos')(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var validarDuplicidade = function(valor) {
|
||||||
|
var sql = "Select count(placa) ct from veiculo where placa = '" + valor + "'";
|
||||||
|
var db = libService.loadScript('db');
|
||||||
|
var dbVitruvio = new db('vitruvio');
|
||||||
|
var row = dbVitruvio.queryRow(sql);
|
||||||
|
if (row.ct == 0) {
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function run() {
|
||||||
|
var config = engine.getGlobalVariable('config');
|
||||||
|
var titulo = config['painel'].titulo;
|
||||||
|
var icone = config['painel'].icone;
|
||||||
|
engine.getLabel('Descricaocadastro').setValue('<img align="middle" alt="" src="'+ icone + '" width="68" /><font color="Gray" face="Calibri" size="6" > ' + titulo + '</font>');
|
||||||
|
engine.getLabel('DescricaocadastroDentro').setValue('<img align="middle" alt="" src="'+ icone + '" width="68" /><font color="Gray" face="Calibri" size="6" > ' + titulo + '</font>');
|
||||||
|
engine.setGlobalVariable('novoRegistro', novoRegistro);
|
||||||
|
engine.setGlobalVariable('carregarCampos', carregarCampos);
|
||||||
|
engine.setGlobalVariable('habilitaCampos', habilitaCampos);
|
||||||
|
engine.setGlobalVariable('fncLimpaCampos', fncLimpaCampos);
|
||||||
|
engine.setGlobalVariable('telaInicial', telaInicial);
|
||||||
|
engine.setGlobalVariable('deletarRegistro', deletarRegistro);
|
||||||
|
engine.setGlobalVariable('validarDuplicidade', validarDuplicidade);
|
||||||
|
engine.setGlobalVariable('painelLista',1);
|
||||||
|
|
||||||
|
habilitaCampos(false);
|
||||||
|
|
||||||
|
engine.getWidgetController('btnSalvar').getButton().setIcon(IconFactory.instance().getIconAsResource(IconLibraryAPISmall.APLICAR));
|
||||||
|
engine.getWidgetController('btnNovo').getButton().setIcon(IconFactory.instance().getIconAsResource(IconLibraryAPISmall.CRIAR));
|
||||||
|
engine.getWidgetController('btnExcluir').getButton().setIcon(IconFactory.instance().getIconAsResource(IconLibraryAPISmall.REMOVER));
|
||||||
|
engine.getWidgetController('btnVoltar').getButton().setIcon(IconFactory.instance().getIconAsResource(IconLibraryAPISmall.VOLTAR));
|
||||||
|
//engine.getFieldLocked('idAjuda', false); // pode ser erro no componente, aberto caso Eduardo = 20108
|
||||||
|
telaInicial();
|
||||||
|
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</initScript>
|
||||||
|
<components>
|
||||||
|
<VerticalLayout spacing="false" margin="false" height="100%" width="100%" align="TOP_LEFT" >
|
||||||
|
<Panel width="100%" caption="" height="100%" expandRatio="1" margin="false" id="pnlTitulo" align="TOP_LEFT" >
|
||||||
|
<VerticalLayout width="100%" expandRatio="1" margin="true">
|
||||||
|
<Label id="Descricaocadastro" contentMode="HTML" align="MIDDLE_CENTER"> </Label>
|
||||||
|
<TextField id="idPesquisaLista" caption="Digite aqui para pesquisar:" type="string" width="100%" visible="true" immediate="true">
|
||||||
|
<events>
|
||||||
|
<valueChange>
|
||||||
|
<script language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
function run(){
|
||||||
|
engine.getField('listaPrincipal').refresh();
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</script>
|
||||||
|
</valueChange>
|
||||||
|
</events>
|
||||||
|
</TextField>
|
||||||
|
<DBTable id="listaPrincipal" type="number" visible="true" width="100%" immediate="true" rows="5" selectable="false" multivalue="false" showRowCount="true">
|
||||||
|
<datasource>
|
||||||
|
<sqlBuilderDataSource connection-key="vitruvio" language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
|
||||||
|
var getSql = function() {
|
||||||
|
|
||||||
|
var config = { "tabela" :
|
||||||
|
{
|
||||||
|
"conexao" : "vitruvio",
|
||||||
|
"nome" : "VEICULO" ,
|
||||||
|
"sequence" : "VEICULO_SEQ" ,
|
||||||
|
"idTabela" : "CODIGO",
|
||||||
|
"campos" : ["CODIGO", "PLACA", "MODELO", "MARCA", "ANO" ],
|
||||||
|
"camposTable" : ["CODIGO", "PLACA", "MODELO", "MARCA", "ANO" ]
|
||||||
|
},
|
||||||
|
"relaciona" : [ ["CODIGO","idChave","Number"] ,
|
||||||
|
["PLACA","idPlaca","String"] ,
|
||||||
|
["MODELO","idModelo","String"] ,
|
||||||
|
["MARCA","idMarca","String"] ,
|
||||||
|
["ANO","idAno","Number"]
|
||||||
|
] ,
|
||||||
|
"validacaoExclusao" : [ ["SELECT 0 AS CONTAR FROM VEICULO WHERE CODIGO = ", "Existem registros ligados a esta tabela"],
|
||||||
|
["SELECT COUNT(CHAVE_VEICULO) AS CONTAR FROM CONTROLE_DESPESAS_OPERACIONAIS WHERE CHAVE_VEICULO = ", "Existem registros ligados a esta tabela."],
|
||||||
|
["SELECT COUNT(CHAVE_VEICULO) AS CONTAR FROM CONTROLE_DESPESAS_COMBUSTIVEIS WHERE CHAVE_VEICULO = ", "Existem registros ligados a esta tabela."],
|
||||||
|
["SELECT COUNT(CHAVE_VEICULO) AS CONTAR FROM CONTROLE_RECEITAS_FRETES WHERE CHAVE_VEICULO = ", "Existem registros ligados a esta tabela."]
|
||||||
|
],
|
||||||
|
'painel' :
|
||||||
|
{
|
||||||
|
'titulo' : 'Cadastro de Veículos',
|
||||||
|
'icone' : 'data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMraHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjMtYzAxMSA2Ni4xNDU2NjEsIDIwMTIvMDIvMDYtMTQ6NTY6MjcgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkYyMDgwNTJFOTk4MjExRTg4Mzg3ODJENUVCMUZDNDhEIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkYyMDgwNTJGOTk4MjExRTg4Mzg3ODJENUVCMUZDNDhEIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RjIwODA1MkM5OTgyMTFFODgzODc4MkQ1RUIxRkM0OEQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RjIwODA1MkQ5OTgyMTFFODgzODc4MkQ1RUIxRkM0OEQiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7/7gAOQWRvYmUAZMAAAAAB/9sAhAAGBAQEBQQGBQUGCQYFBgkLCAYG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'
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
var lib = libService.loadScript('lib_cadastro_padrao');
|
||||||
|
return lib.table(config, 'camposTable');
|
||||||
|
}
|
||||||
|
|
||||||
|
function buildSQL(params) {
|
||||||
|
var sql = getSql();
|
||||||
|
if(engine) {
|
||||||
|
var idPesquisaLista = engine.getField('idPesquisaLista').getValue();
|
||||||
|
if (idPesquisaLista != null) {
|
||||||
|
sql = "SELECT * FROM ( " + sql + " ) T WHERE T.NOME LIKE UPPER('%" + idPesquisaLista + "%')";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return sql;
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</sqlBuilderDataSource>
|
||||||
|
|
||||||
|
</datasource>
|
||||||
|
<key-field>CODIGO</key-field>
|
||||||
|
<columns>
|
||||||
|
<!-- icone de edição -->
|
||||||
|
<generated name="Editar" align="CENTER" expand-ratio="0.2">
|
||||||
|
<scriptColumnGenerator language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.resources.icons16x16.IconLibraryAPISmall);
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.icons.IconFactory);
|
||||||
|
|
||||||
|
function Generator() {
|
||||||
|
var comp = libService.loadScript('vaadinComponents');
|
||||||
|
this.generate = function (itemId, columnId, item, container) {
|
||||||
|
var btn = comp.buttonIcon('editar', function () {
|
||||||
|
|
||||||
|
var id = itemId;
|
||||||
|
engine.getField('idChave').setValue(id);
|
||||||
|
|
||||||
|
if (id != null) {
|
||||||
|
engine.setGlobalVariable('painelLista',0);
|
||||||
|
engine.getGlobalVariable('carregarCampos')(id);
|
||||||
|
engine.getGlobalVariable('habilitaCampos')(true);
|
||||||
|
engine.getLayout('pnlInclusao').getRootComposition().setVisible(true);
|
||||||
|
engine.getLayout('pnlTitulo').getRootComposition().setVisible(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
}, 'pencil');
|
||||||
|
|
||||||
|
return btn;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var script = new Generator();
|
||||||
|
]]>
|
||||||
|
</scriptColumnGenerator>
|
||||||
|
</generated>
|
||||||
|
|
||||||
|
<!-- icone de exclusão -->
|
||||||
|
<generated name="Excluir" align="CENTER" expand-ratio="0.2">
|
||||||
|
<scriptColumnGenerator language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.layout.ConfirmationBox);
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.resources.icons16x16.IconLibraryAPISmall);
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.icons.IconFactory);
|
||||||
|
|
||||||
|
function Generator() {
|
||||||
|
var comp = libService.loadScript('vaadinComponents');
|
||||||
|
this.generate = function (itemId, columnId, item, container) {
|
||||||
|
var btn = comp.buttonIcon('excluir', function () {
|
||||||
|
|
||||||
|
var deletar = engine.getGlobalVariable('deletarRegistro');
|
||||||
|
var registro = item.getItemProperty('CODIGO') + " - " + item.getItemProperty('NOME');
|
||||||
|
var msg = 'Confirma a exclusão das informações para \n';
|
||||||
|
msg = msg.concat(registro, "?");
|
||||||
|
|
||||||
|
ConfirmationBox.show( 'Confirmar operação'
|
||||||
|
, msg
|
||||||
|
, new ConfirmationBox.ConfirmationBoxListener() {
|
||||||
|
dialogEnd: function(context, action) {
|
||||||
|
if(action == ConfirmationBox.Action.YES) {
|
||||||
|
if(deletar){
|
||||||
|
engine.setGlobalVariable('painelLista',1);
|
||||||
|
deletar(itemId);
|
||||||
|
engine.getField('listaPrincipal').refresh();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}, 'trash');
|
||||||
|
|
||||||
|
return btn;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var script = new Generator();
|
||||||
|
]]>
|
||||||
|
</scriptColumnGenerator>
|
||||||
|
</generated>
|
||||||
|
<column name="CODIGO" caption="Código"/>
|
||||||
|
<column name="PLACA" caption="Placa"/>
|
||||||
|
<column name="MODELO" caption="Modelo"/>
|
||||||
|
<column name="ANO" caption="Ano"/>
|
||||||
|
</columns>
|
||||||
|
</DBTable>
|
||||||
|
</VerticalLayout>
|
||||||
|
</Panel>
|
||||||
|
|
||||||
|
<Panel width="100%" height="100%" expandRatio="1" caption="" margin="false" id="pnlInclusao">
|
||||||
|
<VerticalLayout width="100%" margin="true">
|
||||||
|
<Label id="DescricaocadastroDentro" contentMode="HTML" align="MIDDLE_CENTER"> </Label>
|
||||||
|
<TabLayout height="100%" width="100%">
|
||||||
|
<Tab caption="Dados" >
|
||||||
|
<VerticalLayout width="100%" margin="true" spacing="true">
|
||||||
|
<DBSearchField type="number" id="idPesquisa" expandRatio="1" caption="Pesquisar veículo" width="100%" searchCaption="Nome do veículo" searchViewWidth="85%" description="Selecione um fornecedor" >
|
||||||
|
<datasource>
|
||||||
|
<freeQuery connection-key="vitruvio">
|
||||||
|
<![CDATA[
|
||||||
|
SELECT * FROM veiculo
|
||||||
|
]]>
|
||||||
|
</freeQuery>
|
||||||
|
</datasource>
|
||||||
|
<loadItemQuery>
|
||||||
|
<![CDATA[
|
||||||
|
SELECT *
|
||||||
|
FROM veiculo
|
||||||
|
placa = ? ORDER BY codigo
|
||||||
|
]]>
|
||||||
|
</loadItemQuery>
|
||||||
|
<key-field>CODIGO</key-field>
|
||||||
|
<caption-field>PLACA</caption-field>
|
||||||
|
<columns>
|
||||||
|
<column name="CODIGO" caption="Código" />
|
||||||
|
<column name="PLACA" caption="Descrição" />
|
||||||
|
</columns>
|
||||||
|
<filterProperties filterRequired="false">
|
||||||
|
<value>CODIGO</value>
|
||||||
|
<value>PLACA</value>
|
||||||
|
</filterProperties>
|
||||||
|
<events>
|
||||||
|
<valueChange>
|
||||||
|
<script language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
function run() {
|
||||||
|
engine.getGlobalVariable('fncLimpaCampos')();
|
||||||
|
engine.getGlobalVariable('carregarCampos')(engine.getField('idPesquisa').getValue());
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</script>
|
||||||
|
</valueChange>
|
||||||
|
</events>
|
||||||
|
</DBSearchField>
|
||||||
|
<HorizontalLayout width="60%" spacing="true">
|
||||||
|
<TextField type="number" id="idChave" caption="Código" width="100%" expandRatio="0.08" />
|
||||||
|
<TextField type="string" id="idPlaca" text-transform="uppercase" caption="Placa" required="true" width="100%" expandRatio="1" />
|
||||||
|
</HorizontalLayout>
|
||||||
|
<HorizontalLayout width="100%" spacing="true" >
|
||||||
|
<TextField type="string" id="idModelo" caption="Modelo" required="true" width="100%" expandRatio="0.45" />
|
||||||
|
<TextField type="string" id="idMarca" caption="Marca" required="true" width="100%" expandRatio="0.45" />
|
||||||
|
<NumericField type="number" id="idAno" caption="Ano" required="true" width="100%" expandRatio="0.1" maximumValue="2999" />
|
||||||
|
</HorizontalLayout>
|
||||||
|
</VerticalLayout>
|
||||||
|
</Tab>
|
||||||
|
</TabLayout>
|
||||||
|
</VerticalLayout>
|
||||||
|
|
||||||
|
</Panel>
|
||||||
|
<Panel width="100%" margin="false" id="pnlBotoes" >
|
||||||
|
<VerticalLayout width="100%">
|
||||||
|
<HorizontalLayout margin="true" spacing="true" align="MIDDLE_CENTER" >
|
||||||
|
<ButtonWidget id="btnSalvar" caption="Salvar" expandRatio="0.2" description="Salva os dados das Informações Adicionais do Cargo " align="MIDDLE_CENTER">
|
||||||
|
<onClickScript language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.layout.MessageBox);
|
||||||
|
function run() {
|
||||||
|
if (engine.isValid()) {
|
||||||
|
if (engine.getGlobalVariable('validarDuplicidade')(engine.getField('idDescricao').getValue())) {
|
||||||
|
MessageBox.show(MessageBox.BoxType.INFO, 'Atenção', 'Já existe uma operação cadastrada com este nome.');
|
||||||
|
} else {
|
||||||
|
var config = engine.getGlobalVariable('config');
|
||||||
|
var id = engine.getField('idChave').getConvertedValue();
|
||||||
|
var lib = libService.loadScript('lib_cadastro_padrao');
|
||||||
|
var retorno = lib.fncGravarRegistro(config, id);
|
||||||
|
|
||||||
|
if (retorno) {
|
||||||
|
engine.getGlobalVariable('fncLimpaCampos')();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</onClickScript>
|
||||||
|
</ButtonWidget>
|
||||||
|
<ButtonWidget caption="Novo" id="btnNovo" expandRatio="0.2" description="Descarta os dados atuais e deixa o formulário pronto para receber um novo cadastro" align="MIDDLE_CENTER">
|
||||||
|
<onClickScript language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
function run() {
|
||||||
|
engine.setGlobalVariable('painelLista',0);
|
||||||
|
engine.getGlobalVariable('novoRegistro')();
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</onClickScript>
|
||||||
|
</ButtonWidget>
|
||||||
|
<ButtonWidget caption="Excluir" id="btnExcluir" expandRatio="0.2" description="Excluir os dados atuais" align="MIDDLE_CENTER">
|
||||||
|
<onClickScript language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.layout.MessageBox);
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.layout.ConfirmationBox);
|
||||||
|
importClass(Packages.com.vaadin.ui.Notification);
|
||||||
|
|
||||||
|
function run() {
|
||||||
|
if(engine.isValid()) {
|
||||||
|
var deletar = engine.getGlobalVariable('deletarRegistro');
|
||||||
|
var listener = new ConfirmationBox.ConfirmationBoxListener() {
|
||||||
|
dialogEnd: function(context, action) {
|
||||||
|
if(action == ConfirmationBox.Action.YES) {
|
||||||
|
var id = engine.getField('idChave').getConvertedValue();
|
||||||
|
if(deletar){
|
||||||
|
engine.setGlobalVariable('painelLista',0);
|
||||||
|
deletar(id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
ConfirmationBox.show(ConfirmationBox.DialogIcon.WARNING, 'Confirmar exclusão do registro?', 'Tem certeza de que deseja excluir o tipo de ocorrência selecionado?', listener, ConfirmationBox.ACTION_YES_CANCEL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</onClickScript>
|
||||||
|
</ButtonWidget>
|
||||||
|
<ButtonWidget caption="Voltar" id="btnVoltar" expandRatio="0.2" description="Voltar a tela inicial" align="MIDDLE_CENTER">
|
||||||
|
<onClickScript language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
function run() {
|
||||||
|
engine.setGlobalVariable('painelLista',1);
|
||||||
|
engine.getGlobalVariable('fncLimpaCampos')();
|
||||||
|
newRecord = false;
|
||||||
|
saveStatus = false;
|
||||||
|
engine.getGlobalVariable('telaInicial')();
|
||||||
|
engine.getField('listaPrincipal').refresh();
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</onClickScript>
|
||||||
|
</ButtonWidget>
|
||||||
|
</HorizontalLayout>
|
||||||
|
</VerticalLayout>
|
||||||
|
</Panel>
|
||||||
|
</VerticalLayout>
|
||||||
|
</components>
|
||||||
|
</form>
|
||||||
|
</panel-form>
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,307 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<panel-form xmlns="http://www.davinti.com.br/vitruvio/form/panel"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://www.davinti.com.br/vitruvio/form/panel https://bitbucket.org/davinTI/vitruvio-xds/raw/master/vitruvio-panel-form.xsd"
|
||||||
|
>
|
||||||
|
<form formKey="formCadastro" width="100%" height="100%">
|
||||||
|
<name>Lançar Valor</name>
|
||||||
|
<description>Regras Contábeis</description>
|
||||||
|
<initScript language="JavaScript">
|
||||||
|
<;
|
||||||
|
engine.getField('operacao')["setValue(java.lang.Object)"](null);
|
||||||
|
engine.getField('placa')["setValue(java.lang.Object)"](null);
|
||||||
|
engine.getField('funcionario')["setValue(java.lang.Object)"](null);
|
||||||
|
engine.getField('valorFrete')['setValue(java.lang.String)'](null);
|
||||||
|
engine.getField('valorImposto')['setValue(java.lang.String)'](null);
|
||||||
|
engine.getField('valorLiquido')['setValue(java.lang.String)'](null);
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncSubTotal() {
|
||||||
|
var params = {id: 0};
|
||||||
|
var db = vScriptService.loadScript('db', 'javascript');
|
||||||
|
var vitruvio = new db('vitruvio');
|
||||||
|
var sql = "Select replace(replace(replace(to_char(sum(ccf.valor_frete), 'L9G999G990D99'),',','-' ),'.',','),'-','.') total_frete, " +
|
||||||
|
"replace(replace(replace(to_char(sum(ccf.valor_imposto), 'L9G999G990D99'),',','-' ),'.',','),'-','.') total_imposto, " +
|
||||||
|
"replace(replace(replace(to_char(sum(ccf.valor_liquido), 'L9G999G990D99'),',','-' ),'.',','),'-','.') total_liquido " +
|
||||||
|
"from controle_receitas_fretes ccf where ccf.data between '" + engine.getField('dataInicio') + "' and '" + engine.getField('dataFinal') + "'";
|
||||||
|
vitruvio.query(sql).each(function (r) {
|
||||||
|
if (r.total_frete) {
|
||||||
|
engine.getLabel('sub').setValue('<b><font color="blue">Subtotal Frete <br>R' + r.total_frete + '</font></b>');
|
||||||
|
} else {
|
||||||
|
engine.getLabel('sub').setValue('<b><font color="blue">Subtotal Frete <br>R$ 0,00</font></b>');
|
||||||
|
}
|
||||||
|
if (r.total_imposto) {
|
||||||
|
engine.getLabel('subImposto').setValue('<b><font color="red">Subtotal Impostos <br>R' + r.total_imposto + '</font></b>');
|
||||||
|
} else {
|
||||||
|
engine.getLabel('subImposto').setValue('<b><font color="red">Subtotal Impostos <br>R$ 0,00</font></b>');
|
||||||
|
}
|
||||||
|
if (r.total_liquido) {
|
||||||
|
engine.getLabel('subLiquido').setValue('<b><font color="green">Subtotal (Frete - Impostos) <br>R' + r.total_liquido + '</font></b>');
|
||||||
|
} else {
|
||||||
|
engine.getLabel('subLiquido').setValue('<b><font color="green">Subtotal (Frete - Impostos) <br>R$ 0,00</font></b>');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function run() {
|
||||||
|
engine.getField('valorImposto').setEnabled(false);
|
||||||
|
engine.getField('valorLiquido').setEnabled(false);
|
||||||
|
engine.setGlobalVariable('abertura',1);
|
||||||
|
|
||||||
|
var d = new java.util.Date();
|
||||||
|
engine.setGlobalVariable('fncLimpaCampos', fncLimpaCampos);
|
||||||
|
engine.setGlobalVariable('fncSubTotal', fncSubTotal);
|
||||||
|
engine.getField('dataInicio').setValue(d);
|
||||||
|
engine.getField('dataFinal').setValue(d);
|
||||||
|
engine.getField('tbLancamentos').refresh();
|
||||||
|
engine.getGlobalVariable('fncSubTotal')();
|
||||||
|
|
||||||
|
// Registrando icones
|
||||||
|
engine.getWidgetController('btnGravar').getButton().setIcon(IconFactory.instance().getIconAsResource(IconLibraryAPISmall.SALVAR));
|
||||||
|
engine.getWidgetController('btnFiltrar').getButton().setIcon(IconFactory.instance().getIconAsResource(IconLibraryAPISmall.FILTRAR));
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</initScript>
|
||||||
|
|
||||||
|
<components>
|
||||||
|
<VerticalLayout margin="true" width="100%" >
|
||||||
|
<TabLayout align="BOTTOM_LEFT" id="credito" compact="true" width="100%" height="100%" >
|
||||||
|
<Tab caption="Fretes">
|
||||||
|
<VerticalLayout spacing="true" width="100%" height="100%">
|
||||||
|
<Panel caption=" " width="100%" expandRatio="0.1" align="TOP_LEFT" height="100%">
|
||||||
|
<VerticalLayout width="100%" margin="true" spacing="true">
|
||||||
|
<HorizontalLayout width="100%" spacing="true" height="100%">
|
||||||
|
<ImageWidget id="img1" height="46" width="68" align="TOP_LEFT">
|
||||||
|
<image>
|
||||||
|
<base64 extension="jpg">
|
||||||
|
<![CDATA[
|
||||||
|
,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMraHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjMtYzAxMSA2Ni4xNDU2NjEsIDIwMTIvMDIvMDYtMTQ6NTY6MjcgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVFQTIxQTExOTRFODExRThCQTY5OUIwNzFEMDlCNzIxIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVFQTIxQTEyOTRFODExRThCQTY5OUIwNzFEMDlCNzIxIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RUVBMjFBMEY5NEU4MTFFOEJBNjk5QjA3MUQwOUI3MjEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUVBMjFBMTA5NEU4MTFFOEJBNjk5QjA3MUQwOUI3MjEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7/7gAOQWRvYmUAZMAAAAAB/9sAhAAGBAQEBQQGBQUGCQYFBgkLCAYG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
|
||||||
|
]]>
|
||||||
|
</base64>
|
||||||
|
</image>
|
||||||
|
</ImageWidget>
|
||||||
|
<DateField type="date" id="dataLancamento" align="TOP_LEFT" caption="Data" width="100%" expandRatio="0.15" required="true" resolution="DAY" description="Informe a data do lançamento" format="dd/MM/yyyy" >
|
||||||
|
</DateField>
|
||||||
|
<DBComboBox type="string" id="operacao" required="true" width="100%" expandRatio="0.2" align="TOP_LEFT" caption="Operação">
|
||||||
|
<datasource>
|
||||||
|
<freeQuery connection-key="vitruvio">
|
||||||
|
<![CDATA[
|
||||||
|
Select * from operacao
|
||||||
|
]]>
|
||||||
|
</freeQuery>
|
||||||
|
</datasource>
|
||||||
|
<key-field>CODIGO</key-field>
|
||||||
|
<caption-field>NOME</caption-field>
|
||||||
|
</DBComboBox>
|
||||||
|
<DBComboBox type="string" id="placa" width="100%" required="true" expandRatio="0.2" align="TOP_LEFT" caption="Placa">
|
||||||
|
<datasource>
|
||||||
|
<freeQuery connection-key="vitruvio">
|
||||||
|
<![CDATA[
|
||||||
|
Select * from veiculo
|
||||||
|
]]>
|
||||||
|
</freeQuery>
|
||||||
|
</datasource>
|
||||||
|
<key-field>CODIGO</key-field>
|
||||||
|
<caption-field>PLACA</caption-field>
|
||||||
|
</DBComboBox>
|
||||||
|
<DBComboBox type="string" id="funcionario" width="100%" expandRatio="0.2" align="TOP_LEFT" caption="Funcionário">
|
||||||
|
<datasource>
|
||||||
|
<freeQuery connection-key="vitruvio">
|
||||||
|
<![CDATA[
|
||||||
|
Select * from funcionario
|
||||||
|
]]>
|
||||||
|
</freeQuery>
|
||||||
|
</datasource>
|
||||||
|
<key-field>CODIGO</key-field>
|
||||||
|
<caption-field>NOME</caption-field>
|
||||||
|
</DBComboBox>
|
||||||
|
</HorizontalLayout>
|
||||||
|
<HorizontalLayout width="100%" spacing="true">
|
||||||
|
<DecimalField type="decimal" id="valorFrete" required="true" immediate="true" caption="Valor frete (R$)" format="#,##0.00" description="Valor frete" width="100%" expandRatio="0.2" >
|
||||||
|
<events>
|
||||||
|
<valueChange>
|
||||||
|
<script language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
function run() {
|
||||||
|
var impostos = engine.getField('valorFrete').getConvertedValue() * 0.075;
|
||||||
|
var liquido = engine.getField('valorFrete').getConvertedValue() - impostos;
|
||||||
|
engine.getField('valorImposto').setValue(impostos);
|
||||||
|
engine.getField('valorLiquido').setValue(liquido);
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</script>
|
||||||
|
</valueChange>
|
||||||
|
</events>
|
||||||
|
</DecimalField>
|
||||||
|
<DecimalField type="decimal" id="valorImposto" caption="Valor impostos (R$)" format="#,##0.00" description="Valor impostos" width="100%" expandRatio="0.2" />
|
||||||
|
<DecimalField type="decimal" id="valorLiquido" caption="Frete - Impostos (R$)" format="#,##0.00" description="Valor frete menos o valor dos impostos" width="100%" expandRatio="0.2" />
|
||||||
|
<ButtonWidget id="btnGravar" caption="Gravar" align="BOTTOM_RIGHT" description="Grava o lançamento" width="100" >
|
||||||
|
<onClickScript language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
importClass(Packages.com.vaadin.ui.Notification);
|
||||||
|
function run() {
|
||||||
|
if (engine.isValid()) {
|
||||||
|
var db = libService.loadScript('db');
|
||||||
|
var dbVitruvio = new db('vitruvio');
|
||||||
|
var sql;
|
||||||
|
dbVitruvio.transaction(function() {
|
||||||
|
sql = "insert into controle_receitas_fretes (chave_receita_frete,data,chave_operacao,chave_veiculo,chave_funcionario,valor_frete,valor_imposto,valor_liquido) " +
|
||||||
|
" values (" + dbVitruvio.getSequenceNextValSql('controle_rec_fr_seq') + ",:data,:chave_operacao,:chave_veiculo,:chave_funcionario,:valor_frete,:valor_imposto,:valor_liquido)";
|
||||||
|
this.update(sql, {
|
||||||
|
data: engine.getField('dataLancamento').getValue(),
|
||||||
|
chave_operacao: Number(engine.getField('operacao').getValue()),
|
||||||
|
chave_veiculo: Number(engine.getField('placa').getValue()),
|
||||||
|
chave_funcionario: Number(engine.getField('funcionario').getValue()),
|
||||||
|
valor_frete: engine.getField('valorFrete').getConvertedValue(),
|
||||||
|
valor_imposto: engine.getField('valorImposto').getConvertedValue(),
|
||||||
|
valor_liquido: engine.getField('valorLiquido').getConvertedValue()
|
||||||
|
});
|
||||||
|
});
|
||||||
|
engine.getField('tbLancamentos').refresh();
|
||||||
|
engine.getGlobalVariable('fncLimpaCampos')();
|
||||||
|
engine.getGlobalVariable('fncSubTotal')();
|
||||||
|
Notification.show(null, 'Dados salvos', Notification.Type.TRAY_NOTIFICATION);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</onClickScript>
|
||||||
|
</ButtonWidget>
|
||||||
|
</HorizontalLayout>
|
||||||
|
</VerticalLayout>
|
||||||
|
</Panel>
|
||||||
|
|
||||||
|
<Panel width="100%" margin="true" >
|
||||||
|
<VerticalLayout width="100%" spacing="true" align="TOP_LEFT" >
|
||||||
|
<HorizontalLayout width="70%" spacing="true" align="TOP_LEFT">
|
||||||
|
<DateField type="date" id="dataInicio" caption="Data inicial" align="TOP_LEFT" width="100%" expandRatio="0.5" description="Data iniacial da exibição" format="dd/MM/yyyy" />
|
||||||
|
<DateField type="date" id="dataFinal" caption="Data final" align="TOP_LEFT" width="100%" expandRatio="0.5" description="Data final da exibição" format="dd/MM/yyyy" />
|
||||||
|
<ButtonWidget id="btnFiltrar" caption="Filtrar" align="BOTTOM_RIGHT" description="Aplica filtro de data" width="100" >
|
||||||
|
<onClickScript language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
function run() {
|
||||||
|
engine.getField('tbLancamentos').refresh();
|
||||||
|
engine.getGlobalVariable('fncSubTotal')();
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</onClickScript>
|
||||||
|
</ButtonWidget>
|
||||||
|
<Label id="sub" align="BOTTOM_RIGHT" width="100%" expandRatio="1" contentMode="HTML">
|
||||||
|
<value>
|
||||||
|
|
||||||
|
</value>
|
||||||
|
</Label>
|
||||||
|
<Label id="subImposto" align="BOTTOM_RIGHT" width="100%" expandRatio="1" contentMode="HTML">
|
||||||
|
<value>
|
||||||
|
|
||||||
|
</value>
|
||||||
|
</Label>
|
||||||
|
<Label id="subLiquido" align="BOTTOM_RIGHT" width="100%" expandRatio="1" contentMode="HTML">
|
||||||
|
<value>
|
||||||
|
|
||||||
|
</value>
|
||||||
|
</Label>
|
||||||
|
</HorizontalLayout>
|
||||||
|
<DBTable id="tbLancamentos" type="number" showRowCount="true" width="100%" rows="6" selectable="false" exportXLS="true" editable="false" >
|
||||||
|
<datasource>
|
||||||
|
<sqlBuilderDataSource connection-key="vitruvio" language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
function buildSQL(params) {
|
||||||
|
var sql = "Select ccf.chave_receita_frete, ccf.data, " +
|
||||||
|
" (select co.nome from operacao co where co.codigo = ccf.chave_operacao) operacao," +
|
||||||
|
" (select cv.placa from veiculo cv where cv.codigo = ccf.chave_veiculo) veiculo," +
|
||||||
|
" (select cf.nome from funcionario cf where cf.codigo = ccf.chave_funcionario) funcionario," +
|
||||||
|
" 'R' || replace(replace(replace(to_char(ccf.valor_frete, 'L9G999G990D99'),',','-' ),'.',','),'-','.') valor_frete, " +
|
||||||
|
" 'R' || replace(replace(replace(to_char(ccf.valor_imposto, 'L9G999G990D99'),',','-' ),'.',','),'-','.') valor_imposto, " +
|
||||||
|
" 'R' || replace(replace(replace(to_char(ccf.valor_liquido, 'L9G999G990D99'),',','-' ),'.',','),'-','.') valor_liquido " +
|
||||||
|
" from controle_receitas_fretes ccf" +
|
||||||
|
" where 1 = 2";
|
||||||
|
if (engine) {
|
||||||
|
sql = "Select ccf.chave_receita_frete, ccf.data, " +
|
||||||
|
" (select co.nome from operacao co where co.codigo = ccf.chave_operacao) operacao," +
|
||||||
|
" (select cv.placa from veiculo cv where cv.codigo = ccf.chave_veiculo) veiculo," +
|
||||||
|
" (select cf.nome from funcionario cf where cf.codigo = ccf.chave_funcionario) funcionario," +
|
||||||
|
" 'R' || replace(replace(replace(to_char(ccf.valor_frete, 'L9G999G990D99'),',','-' ),'.',','),'-','.') valor_frete, " +
|
||||||
|
" 'R' || replace(replace(replace(to_char(ccf.valor_imposto, 'L9G999G990D99'),',','-' ),'.',','),'-','.') valor_imposto, " +
|
||||||
|
" 'R' || replace(replace(replace(to_char(ccf.valor_liquido, 'L9G999G990D99'),',','-' ),'.',','),'-','.') valor_liquido " +
|
||||||
|
" from controle_receitas_fretes ccf" +
|
||||||
|
" where ccf.data between '" + engine.getField('dataInicio') + "' and '" + engine.getField('dataFinal') + "' order by data desc";
|
||||||
|
}
|
||||||
|
return sql;
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</sqlBuilderDataSource>
|
||||||
|
</datasource>
|
||||||
|
<key-field>chave_receita_frete</key-field>
|
||||||
|
<columns>
|
||||||
|
<column name="DATA" caption="Data" format="dd/MM/yyyy" />
|
||||||
|
<column name="OPERACAO" caption="Operação" />
|
||||||
|
<column name="VEICULO" caption="Veículo" />
|
||||||
|
<column name="FUNCIONARIO" caption="Funcionário" />
|
||||||
|
<column name="VALOR_FRETE" caption="Valor frete" format="#.##0,00"/>
|
||||||
|
<column name="VALOR_IMPOSTO" caption="Valor impostos" format="#.##0,00"/>
|
||||||
|
<column name="VALOR_LIQUIDO" caption="Frete - Impostos" format="#.##0,00"/>
|
||||||
|
<generated name="EXCLUIR" caption="Excluir">
|
||||||
|
<scriptColumnGenerator language="JavaScript">
|
||||||
|
<![CDATA[
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.layout.ConfirmationBox);
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.resources.icons16x16.IconLibraryAPISmall);
|
||||||
|
importClass(Packages.br.com.davinti.base.vaadin.components.icons.IconFactory);
|
||||||
|
importClass(Packages.br.com.davinti.vitruvio.spi.is.DatabaseSnippet);
|
||||||
|
|
||||||
|
function Generator() {
|
||||||
|
var comp = libService.loadScript('vaadinComponents');
|
||||||
|
this.generate = function (itemId, columnId, item, container) {
|
||||||
|
var btn = comp.buttonIcon('excluir', function () {
|
||||||
|
|
||||||
|
var deletar = function(idRegistro) {
|
||||||
|
var sql = 'delete from controle_receitas_fretes where chave_receita_frete = :id';
|
||||||
|
vQueryService.doInTransaction('vitruvio', new DatabaseSnippet() {
|
||||||
|
execute: function(db, transaction) {
|
||||||
|
var params = new java.util.HashMap();
|
||||||
|
params.put('id', idRegistro);
|
||||||
|
db.update(sql, params);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
engine.getField('tbLancamentos').refresh();
|
||||||
|
engine.getGlobalVariable('fncSubTotal')();
|
||||||
|
}
|
||||||
|
var msg = 'Confirma a exclusão?'
|
||||||
|
|
||||||
|
ConfirmationBox.show( 'Confirmar operação'
|
||||||
|
, msg
|
||||||
|
, new ConfirmationBox.ConfirmationBoxListener() {
|
||||||
|
dialogEnd: function(context, action) {
|
||||||
|
if(action == ConfirmationBox.Action.YES) {
|
||||||
|
if(deletar){
|
||||||
|
deletar(itemId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}, 'trash');
|
||||||
|
|
||||||
|
return btn;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var script = new Generator();
|
||||||
|
]]>
|
||||||
|
</scriptColumnGenerator>
|
||||||
|
</generated>
|
||||||
|
</columns>
|
||||||
|
</DBTable>
|
||||||
|
</VerticalLayout>
|
||||||
|
</Panel>
|
||||||
|
</VerticalLayout>
|
||||||
|
</Tab>
|
||||||
|
</TabLayout>
|
||||||
|
</VerticalLayout>
|
||||||
|
</components>
|
||||||
|
|
||||||
|
</form>
|
||||||
|
</panel-form>
|
||||||
File diff suppressed because one or more lines are too long
Binary file not shown.
@@ -0,0 +1,192 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project name="Lançamento" themeId="1" version="65540" templateID="SimpleProjectTemplate">
|
||||||
|
<MediaItems>
|
||||||
|
<MediaItem id="1" filePath="C:\Users\Ceará\Downloads\y2mate.com - no_copyright_music_chill_sax_esteban_orlando_80r6vWF5e44.mp3" arWidth="0" arHeight="0" duration="176.40481249999999" songTitle="" songArtist="" songAlbum="" songCopyrightUrl="" songArtistUrl="" songAudioFileUrl="" stabilizationMode="0" mediaItemType="3" />
|
||||||
|
<MediaItem id="2" filePath="C:\Users\Ceará\Videos\videorec_tmp.mp4" arWidth="1328" arHeight="720" duration="99.252980699999995" songTitle="" songArtist="" songAlbum="" songCopyrightUrl="" songArtistUrl="" songAudioFileUrl="" stabilizationMode="0" mediaItemType="1" />
|
||||||
|
<MediaItem id="5" filePath="C:\Users\Ceará\Downloads\Abertura.jpg" arWidth="1920" arHeight="1080" duration="0" songTitle="" songArtist="" songAlbum="" songCopyrightUrl="" songArtistUrl="" songAudioFileUrl="" stabilizationMode="0" mediaItemType="2" />
|
||||||
|
</MediaItems>
|
||||||
|
<Extents>
|
||||||
|
<TitleClip extentID="19" gapBefore="0" duration="7">
|
||||||
|
<Effects />
|
||||||
|
<Transitions>
|
||||||
|
<ShaderEffect effectTemplateID="CrossfadeTransitionTemplate" duration="1.5">
|
||||||
|
<BoundProperties />
|
||||||
|
</ShaderEffect>
|
||||||
|
</Transitions>
|
||||||
|
<BoundProperties>
|
||||||
|
<BoundPropertyFloatSet Name="diffuseColor">
|
||||||
|
<BoundPropertyFloatElement Value="0" />
|
||||||
|
<BoundPropertyFloatElement Value="0" />
|
||||||
|
<BoundPropertyFloatElement Value="0" />
|
||||||
|
</BoundPropertyFloatSet>
|
||||||
|
<BoundPropertyFloat Name="transparency" Value="0" />
|
||||||
|
</BoundProperties>
|
||||||
|
</TitleClip>
|
||||||
|
<TitleClip extentID="20" gapBefore="4.1666666666666679" duration="5.6666666666666679">
|
||||||
|
<Effects>
|
||||||
|
<TextEffect effectTemplateID="TextEffectContemporaryFade1Template" TextScriptId="19">
|
||||||
|
<BoundProperties>
|
||||||
|
<BoundPropertyBool Name="automatic" Value="false" />
|
||||||
|
<BoundPropertyFloatSet Name="color">
|
||||||
|
<BoundPropertyFloatElement Value="1" />
|
||||||
|
<BoundPropertyFloatElement Value="1" />
|
||||||
|
<BoundPropertyFloatElement Value="1" />
|
||||||
|
</BoundPropertyFloatSet>
|
||||||
|
<BoundPropertyStringSet Name="family">
|
||||||
|
<BoundPropertyStringElement Value="Segoe UI" />
|
||||||
|
</BoundPropertyStringSet>
|
||||||
|
<BoundPropertyBool Name="horizontal" Value="true" />
|
||||||
|
<BoundPropertyStringSet Name="justify">
|
||||||
|
<BoundPropertyStringElement Value="MIDDLE" />
|
||||||
|
</BoundPropertyStringSet>
|
||||||
|
<BoundPropertyBool Name="leftToRight" Value="true" />
|
||||||
|
<BoundPropertyFloatSet Name="length" />
|
||||||
|
<BoundPropertyFloat Name="maxExtent" Value="0" />
|
||||||
|
<BoundPropertyFloatSet Name="outlineColor">
|
||||||
|
<BoundPropertyFloatElement Value="0.64705884456634521" />
|
||||||
|
<BoundPropertyFloatElement Value="0.64705884456634521" />
|
||||||
|
<BoundPropertyFloatElement Value="0.64705884456634521" />
|
||||||
|
</BoundPropertyFloatSet>
|
||||||
|
<BoundPropertyInt Name="outlineSizeIndex" Value="0" />
|
||||||
|
<BoundPropertyFloatSet Name="position">
|
||||||
|
<BoundPropertyFloatElement Value="0" />
|
||||||
|
<BoundPropertyFloatElement Value="-1.1860466003417969" />
|
||||||
|
<BoundPropertyFloatElement Value="0.02500000037252903" />
|
||||||
|
</BoundPropertyFloatSet>
|
||||||
|
<BoundPropertyFloat Name="size" Value="0.43333333730697632" />
|
||||||
|
<BoundPropertyStringSet Name="string">
|
||||||
|
<BoundPropertyStringElement Value="Lançamentos" />
|
||||||
|
<BoundPropertyStringElement Value="Despesas" />
|
||||||
|
</BoundPropertyStringSet>
|
||||||
|
<BoundPropertyString Name="style" Value="Plain" />
|
||||||
|
<BoundPropertyFloat Name="transparency" Value="0" />
|
||||||
|
</BoundProperties>
|
||||||
|
</TextEffect>
|
||||||
|
</Effects>
|
||||||
|
<Transitions />
|
||||||
|
<BoundProperties>
|
||||||
|
<BoundPropertyFloatSet Name="diffuseColor">
|
||||||
|
<BoundPropertyFloatElement Value="0.75" />
|
||||||
|
<BoundPropertyFloatElement Value="1" />
|
||||||
|
<BoundPropertyFloatElement Value="0" />
|
||||||
|
</BoundPropertyFloatSet>
|
||||||
|
<BoundPropertyFloat Name="transparency" Value="1" />
|
||||||
|
</BoundProperties>
|
||||||
|
</TitleClip>
|
||||||
|
<ImageClip extentID="5" gapBefore="0" mediaItemID="5" duration="4">
|
||||||
|
<Effects>
|
||||||
|
<PanAndZoomShapeEffect effectTemplateID="PanAndZoomEffectPanBottomToTopAlongMiddleTemplate">
|
||||||
|
<BoundProperties>
|
||||||
|
<BoundPropertyInt Name="effectType" Value="4" />
|
||||||
|
</BoundProperties>
|
||||||
|
</PanAndZoomShapeEffect>
|
||||||
|
</Effects>
|
||||||
|
<Transitions>
|
||||||
|
<ShapeEffect effectTemplateID="ContemporarySlideDownWide1TransitionTemplate" duration="1.5">
|
||||||
|
<BoundProperties />
|
||||||
|
</ShapeEffect>
|
||||||
|
</Transitions>
|
||||||
|
<BoundProperties>
|
||||||
|
<BoundPropertyInt Name="rotateStepNinety" Value="0" />
|
||||||
|
</BoundProperties>
|
||||||
|
</ImageClip>
|
||||||
|
<AudioClip extentID="6" gapBefore="0" mediaItemID="1" inTime="0" outTime="0" speed="1">
|
||||||
|
<Effects>
|
||||||
|
<AudioEffect effectTemplateID="AudioFadeEffectTemplate">
|
||||||
|
<BoundProperties>
|
||||||
|
<BoundPropertyFloat Name="AudioFadeInDuration" Value="2.5" />
|
||||||
|
<BoundPropertyFloat Name="AudioFadeOutDuration" Value="0" />
|
||||||
|
</BoundProperties>
|
||||||
|
</AudioEffect>
|
||||||
|
</Effects>
|
||||||
|
<Transitions />
|
||||||
|
<BoundProperties>
|
||||||
|
<BoundPropertyBool Name="Mute" Value="false" />
|
||||||
|
<BoundPropertyFloat Name="Volume" Value="0.11764706671237946" />
|
||||||
|
</BoundProperties>
|
||||||
|
</AudioClip>
|
||||||
|
<ImageClip extentID="7" gapBefore="0" mediaItemID="5" duration="7">
|
||||||
|
<Effects>
|
||||||
|
<PanAndZoomShapeEffect effectTemplateID="PanAndZoomEffectPanBottomToTopAlongMiddleTemplate">
|
||||||
|
<BoundProperties>
|
||||||
|
<BoundPropertyInt Name="effectType" Value="4" />
|
||||||
|
</BoundProperties>
|
||||||
|
</PanAndZoomShapeEffect>
|
||||||
|
</Effects>
|
||||||
|
<Transitions>
|
||||||
|
<ShapeEffect effectTemplateID="ContemporarySlideDownNarrow3TransitionTemplate" duration="1.5">
|
||||||
|
<BoundProperties />
|
||||||
|
</ShapeEffect>
|
||||||
|
</Transitions>
|
||||||
|
<BoundProperties>
|
||||||
|
<BoundPropertyInt Name="rotateStepNinety" Value="0" />
|
||||||
|
</BoundProperties>
|
||||||
|
</ImageClip>
|
||||||
|
<VideoClip extentID="9" gapBefore="0" mediaItemID="2" inTime="0" outTime="93.399999999999991" speed="1" stabilizationMode="0">
|
||||||
|
<Effects />
|
||||||
|
<Transitions>
|
||||||
|
<ShapeEffect effectTemplateID="BlurTransitionTemplate" duration="1.5">
|
||||||
|
<BoundProperties />
|
||||||
|
</ShapeEffect>
|
||||||
|
</Transitions>
|
||||||
|
<BoundProperties>
|
||||||
|
<BoundPropertyBool Name="Mute" Value="false" />
|
||||||
|
<BoundPropertyInt Name="rotateStepNinety" Value="0" />
|
||||||
|
<BoundPropertyFloat Name="Volume" Value="1" />
|
||||||
|
</BoundProperties>
|
||||||
|
</VideoClip>
|
||||||
|
<ExtentSelector extentID="1" gapBefore="0" primaryTrack="true">
|
||||||
|
<Effects />
|
||||||
|
<Transitions />
|
||||||
|
<BoundProperties />
|
||||||
|
<ExtentRefs>
|
||||||
|
<ExtentRef id="5" />
|
||||||
|
<ExtentRef id="19" />
|
||||||
|
<ExtentRef id="9" />
|
||||||
|
<ExtentRef id="7" />
|
||||||
|
</ExtentRefs>
|
||||||
|
</ExtentSelector>
|
||||||
|
<ExtentSelector extentID="2" gapBefore="0" primaryTrack="false">
|
||||||
|
<Effects />
|
||||||
|
<Transitions />
|
||||||
|
<BoundProperties />
|
||||||
|
<ExtentRefs>
|
||||||
|
<ExtentRef id="6" />
|
||||||
|
</ExtentRefs>
|
||||||
|
</ExtentSelector>
|
||||||
|
<ExtentSelector extentID="3" gapBefore="0" primaryTrack="false">
|
||||||
|
<Effects />
|
||||||
|
<Transitions />
|
||||||
|
<BoundProperties />
|
||||||
|
<ExtentRefs />
|
||||||
|
</ExtentSelector>
|
||||||
|
<ExtentSelector extentID="4" gapBefore="0" primaryTrack="false">
|
||||||
|
<Effects />
|
||||||
|
<Transitions />
|
||||||
|
<BoundProperties />
|
||||||
|
<ExtentRefs>
|
||||||
|
<ExtentRef id="20" />
|
||||||
|
</ExtentRefs>
|
||||||
|
</ExtentSelector>
|
||||||
|
</Extents>
|
||||||
|
<BoundPlaceholders>
|
||||||
|
<BoundPlaceholder placeholderID="SingleExtentView" extentID="0" />
|
||||||
|
<BoundPlaceholder placeholderID="Main" extentID="1" />
|
||||||
|
<BoundPlaceholder placeholderID="SoundTrack" extentID="2" />
|
||||||
|
<BoundPlaceholder placeholderID="Text" extentID="4" />
|
||||||
|
<BoundPlaceholder placeholderID="Narration" extentID="3" />
|
||||||
|
</BoundPlaceholders>
|
||||||
|
<BoundProperties>
|
||||||
|
<BoundPropertyFloatSet Name="AspectRatio">
|
||||||
|
<BoundPropertyFloatElement Value="1.7777776718139648" />
|
||||||
|
</BoundPropertyFloatSet>
|
||||||
|
<BoundPropertyFloat Name="DuckedNarrationAndSoundTrackMix" Value="1" />
|
||||||
|
<BoundPropertyFloat Name="DuckedVideoAndNarrationMix" Value="0" />
|
||||||
|
<BoundPropertyFloat Name="DuckedVideoAndSoundTrackMix" Value="0.10196079313755035" />
|
||||||
|
<BoundPropertyFloat Name="SoundTrackMix" Value="0.5" />
|
||||||
|
</BoundProperties>
|
||||||
|
<ThemeOperationLog themeID="1">
|
||||||
|
<MonolithicThemeOperations />
|
||||||
|
</ThemeOperationLog>
|
||||||
|
<AudioDuckingProperties emphasisPlaceholderID="Narration" />
|
||||||
|
</Project>
|
||||||
Reference in New Issue
Block a user