Commit 4957dd1c7c23b8629618b85b05c05c4134c28666

Authored by juliana.barbosa
1 parent 7afe5c4e
Exists in master

Redmine #4703 - scripts almox novo modelo

cit-adm-materiais-api/src/main/resources/scripts-bd/Migracao_MPOG/00-AjustesIniciais.sql
... ... @@ -89,15 +89,15 @@
89 89 ALTER TABLE public.contacontabilmovimento ADD COLUMN bempatrimonial_id BIGINT; -- ** JULIANA
90 90 ALTER TABLE public.contacontabilmovimento ADD COLUMN transferencia_id BIGINT; -- ** JULIANA
91 91 ALTER TABLE public.baixa ALTER COLUMN codigo TYPE BIGINT; -- ** HERBERT
92   - ALTER TABLE public.requisicaoconsumoitem ADD COLUMN sq_requisicao_item NUMERIC(10,0); -- ** JULIANA (PRECISO DESSE CAMPO PARA FAZER LINK COM O ATENDIMENTO DA REQUISICAO)
93   - ALTER TABLE public.baixaalmoxarifadoitem ADD COLUMN sq_baixa_item CHARACTER VARYING(10); -- ** JULIANA (PRECISO DESSE CAMPO PARA LINKAR A BAIXA ITEM COM O ASI NA HORA DE PEGAR O VALOR NO MOVIMENTOESTOQUE)
  92 + ALTER TABLE public.alm_rc_item ADD COLUMN sq_requisicao_item NUMERIC(10,0); -- ** JULIANA (PRECISO DESSE CAMPO PARA FAZER LINK COM O ATENDIMENTO DA REQUISICAO)
  93 + ALTER TABLE public.alm_en_entradaitem ADD COLUMN sq_baixa_item CHARACTER VARYING(10); -- ** JULIANA (PRECISO DESSE CAMPO PARA LINKAR A BAIXA ITEM COM O ASI NA HORA DE PEGAR O VALOR NO alm_me_movimentoestoque)
94 94 ALTER TABLE public.dominio ALTER COLUMN ispadrao SET DEFAULT FALSE; -- ** HERBERT
95 95 ALTER TABLE public.localizacao ALTER COLUMN nome TYPE CHARACTER VARYING(250); -- ** HERBERT
96   - ALTER TABLE public.entradaalmoxarifadoitem ADD COLUMN CD_CONTA CHARACTER VARYING(15); -- ** JULIANA (PRECISO DESSE CAMPO PARA FALAR A CONTA CONTABIL QUE O MATERIAL PERTENCIA A EPOCA DA ENTRADA
97   - ALTER TABLE public.baixaalmoxarifadoitem ADD COLUMN CD_CONTA CHARACTER VARYING(15); -- ** JULIANA (PRECISO DESSE CAMPO PARA FALAR A CONTA CONTABIL QUE O MATERIAL PERTENCIA A EPOCA DA BAIXA
98   - ALTER TABLE public.devolucaoitem ADD COLUMN CD_CONTA CHARACTER VARYING(15); -- ** JULIANA (PRECISO DESSE CAMPO PARA FALAR A CONTA CONTABIL QUE O MATERIAL PERTENCIA A EPOCA DA devolucao
99   - ALTER TABLE public.requisicaoconsumoitem ADD COLUMN CD_CONTA CHARACTER VARYING(15); -- ** JULIANA (PRECISO DESSE CAMPO PARA FALAR A CONTA CONTABIL QUE O MATERIAL PERTENCIA A EPOCA DA requisicaoconsumo
100   - ALTER TABLE public.atendimentoreqconsumoitem ADD COLUMN VALOR NUMERIC(15,4); -- ** JULIANA (PRECISO DESSE CAMPO PRA SALVAR NO MOVIMENTO ESTOQUE)
  96 + ALTER TABLE public.alm_en_entradaitem ADD COLUMN CD_CONTA CHARACTER VARYING(15); -- ** JULIANA (PRECISO DESSE CAMPO PARA FALAR A CONTA CONTABIL QUE O MATERIAL PERTENCIA A EPOCA DA ENTRADA
  97 + ALTER TABLE public.alm_bx_item ADD COLUMN CD_CONTA CHARACTER VARYING(15); -- ** JULIANA (PRECISO DESSE CAMPO PARA FALAR A CONTA CONTABIL QUE O MATERIAL PERTENCIA A EPOCA DA BAIXA
  98 + ALTER TABLE public.alm_dev_item ADD COLUMN CD_CONTA CHARACTER VARYING(15); -- ** JULIANA (PRECISO DESSE CAMPO PARA FALAR A CONTA CONTABIL QUE O MATERIAL PERTENCIA A EPOCA DA devolucao
  99 + ALTER TABLE public.alm_rc_item ADD COLUMN CD_CONTA CHARACTER VARYING(15); -- ** JULIANA (PRECISO DESSE CAMPO PARA FALAR A CONTA CONTABIL QUE O MATERIAL PERTENCIA A EPOCA DA requisicaoconsumo
  100 + ALTER TABLE public.alm_rc_atendimentoitem ADD COLUMN VALOR NUMERIC(15,4); -- ** JULIANA (PRECISO DESSE CAMPO PRA SALVAR NO MOVIMENTO ESTOQUE)
101 101  
102 102 -- VERIFICAR SE ESSES INDICES SERARO MANTIDOS NO MODELO
103 103 CREATE INDEX ix01_entrada_cd ON public.entrada (codigo);
... ... @@ -120,10 +120,10 @@
120 120 CREATE INDEX idx02_transfitem_undid ON public.transferenciaitem (unidadeorigem_id);
121 121 CREATE INDEX idx03_transfitem_bemid ON public.transferenciaitem (bempatrimonial_id);
122 122  
123   - CREATE INDEX ix01_movimentoestoque_material ON public.movimentoestoque (material_id);
124   - CREATE INDEX ix01_movimentoestoque_data ON public.movimentoestoque (datamovimento);
125   - CREATE INDEX ix01_materialestoquesaldo_material ON public.materialestoquesaldo (material_id);
126   - CREATE INDEX ix01_materialestoquesaldo_dataRef ON public.materialestoquesaldo (datareferencia);
  123 + CREATE INDEX ix01_movimentoestoque_material ON public.alm_me_movimentoestoque (material_id);
  124 + CREATE INDEX ix01_movimentoestoque_data ON public.alm_me_movimentoestoque (datamovimento);
  125 + CREATE INDEX ix01_materialestoquesaldo_material ON public.alm_me_saldo (material_id);
  126 + CREATE INDEX ix01_materialestoquesaldo_dataRef ON public.alm_me_saldo (datareferencia);
127 127 -- #FIM :: ALTERACOES ESPECIFICAS PARA MIGRACAO
128 128  
129 129  
... ... @@ -169,15 +169,15 @@ BEGIN; -- #INI :: ACRESCENTANDO DOMINIOS
169 169 INSERT INTO public.dominio
170 170 (id, datacriacao, dataedicao, datainativo, version, chave, descricao, nome, codigo, ispadrao)
171 171 VALUES
172   - (NEXTVAL('hibernate_sequence'), LOCALTIMESTAMP, LOCALTIMESTAMP, NULL, 0, 'tipoDocumento', 'Requisição', 'REQUISICAO', 9, false),
173   - (NEXTVAL('hibernate_sequence'), LOCALTIMESTAMP, LOCALTIMESTAMP, NULL, 0, 'tipoDocumento', 'Contrato', 'CONTRATO', 10, false),
174   - (NEXTVAL('hibernate_sequence'), LOCALTIMESTAMP, LOCALTIMESTAMP, NULL, 0, 'tipoDocumento', 'Processo de Baixa', 'PROCESSO_BAIXA', 11, false),
175   - (NEXTVAL('hibernate_sequence'), LOCALTIMESTAMP, LOCALTIMESTAMP, NULL, 0, 'tipoDocumento', 'Nº Processo', 'NUMERO_PROCESSO', 12, false),
176   - (NEXTVAL('hibernate_sequence'), LOCALTIMESTAMP, LOCALTIMESTAMP, NULL, 0, 'tipoDocumento', 'Memorando', 'MEMORANDO', 13, false),
177   - (NEXTVAL('hibernate_sequence'), LOCALTIMESTAMP, LOCALTIMESTAMP, NULL, 0, 'tipoDocumento', 'Portaria', 'PORTARIA', 14, false),
178   - (NEXTVAL('hibernate_sequence'), LOCALTIMESTAMP, LOCALTIMESTAMP, NULL, 0, 'tipoDocumento', 'Despacho', 'DESPACHO', 15, false),
179   - (NEXTVAL('hibernate_sequence'), LOCALTIMESTAMP, LOCALTIMESTAMP, NULL, 0, 'tipoDocumento', 'Ocorrência', 'OCORRENCIA', 16, false),
180   - (NEXTVAL('hibernate_sequence'), LOCALTIMESTAMP, LOCALTIMESTAMP, NULL, 0, 'tipoDocumento', 'Nota de Sistema', 'NOTA_SISTEMA', 17, false);
  172 + (NEXTVAL('hibernate_sequence'), LOCALTIMESTAMP, LOCALTIMESTAMP, NULL, 0, 'tipoDocumento', 'Requisição', 'REQUISICAO', 100, false),
  173 + (NEXTVAL('hibernate_sequence'), LOCALTIMESTAMP, LOCALTIMESTAMP, NULL, 0, 'tipoDocumento', 'Contrato', 'CONTRATO', 101, false),
  174 + (NEXTVAL('hibernate_sequence'), LOCALTIMESTAMP, LOCALTIMESTAMP, NULL, 0, 'tipoDocumento', 'Processo de Baixa', 'PROCESSO_BAIXA', 102, false),
  175 + (NEXTVAL('hibernate_sequence'), LOCALTIMESTAMP, LOCALTIMESTAMP, NULL, 0, 'tipoDocumento', 'Nº Processo', 'NUMERO_PROCESSO', 103, false),
  176 + (NEXTVAL('hibernate_sequence'), LOCALTIMESTAMP, LOCALTIMESTAMP, NULL, 0, 'tipoDocumento', 'Memorando', 'MEMORANDO', 104, false),
  177 + (NEXTVAL('hibernate_sequence'), LOCALTIMESTAMP, LOCALTIMESTAMP, NULL, 0, 'tipoDocumento', 'Portaria', 'PORTARIA', 105, false),
  178 + (NEXTVAL('hibernate_sequence'), LOCALTIMESTAMP, LOCALTIMESTAMP, NULL, 0, 'tipoDocumento', 'Despacho', 'DESPACHO', 106, false),
  179 + (NEXTVAL('hibernate_sequence'), LOCALTIMESTAMP, LOCALTIMESTAMP, NULL, 0, 'tipoDocumento', 'Ocorrência', 'OCORRENCIA', 107, false),
  180 + (NEXTVAL('hibernate_sequence'), LOCALTIMESTAMP, LOCALTIMESTAMP, NULL, 0, 'tipoDocumento', 'Nota de Sistema', 'NOTA_SISTEMA', 108, false);
181 181  
182 182 --> ACRESCENTA TIPOINVENTARIO
183 183 INSERT INTO public.dominio
... ...
cit-adm-materiais-api/src/main/resources/scripts-bd/Migracao_MPOG/02-EstruturaOrganizacional.sql
... ... @@ -4,15 +4,18 @@
4 4  
5 5 BEGIN; -- #INI :: INICIALIZA AS TABELAS
6 6 DELETE FROM public.seguranca_usuario_privilegio;
7   - DELETE FROM public.usuarioorganizacaoitem;
  7 + DELETE FROM public.usuarioorganizacaoitem;
  8 + DELETE FROM GRUPOUSUARIO;
  9 + DELETE FROM GRUPO;
8 10 DELETE FROM public.seguranca_usuario;
9 11 DELETE FROM public.configuracaoparametrosistema;
10 12 DELETE FROM public.configuracao;
  13 + DELETE FROM estruturaorganizacionalpatrim;
11 14 DELETE FROM public.estruturaorganizacional;
12 15 DELETE FROM public.localizacao;
13   - DELETE FROM public.organizacao;
14   - DELETE FROM public.centrocusto;
15 16 DELETE FROM public.contacontabil;
  17 + DELETE FROM public.centrocusto;
  18 + DELETE FROM public.organizacao;
16 19 UPDATE public.menu SET editor_id = NULL;
17 20 COMMIT; -- #FIM :: INICIALIZA AS TABELAS
18 21  
... ... @@ -428,8 +431,8 @@ BEGIN; -- #INI :: REPLICACAO ESTRUTURAORGANIZACIONAL >> ESTRUTURAORGANIZACIONAL
428 431 COMMIT; -- #FIM :: REPLICACAO ESTRUTURAORGANIZACIONAL >> ESTRUTURAORGANIZACIONALPATRIM
429 432  
430 433  
431   -BEGIN; -- #INI :: REPLICACAO ESTRUTURAORGANIZACIONAL >> ESTRUTURAORGANIZACIONALALMOX
432   - INSERT INTO public.estruturaorganizacionalalmox
  434 +BEGIN; -- #INI :: REPLICACAO ESTRUTURAORGANIZACIONAL >> alm_eo_almoxarifado
  435 + INSERT INTO public.alm_eo_almoxarifado
433 436 ( id
434 437 , databloqueio
435 438 , datainativo
... ... @@ -462,12 +465,12 @@ BEGIN; -- #INI :: REPLICACAO ESTRUTURAORGANIZACIONAL >> ESTRUTURAORGANIZACIONAL
462 465 -- TOTALIZADORES
463 466 DO $$ DECLARE
464 467 BEGIN
465   - RAISE NOTICE 'REPLICACAO ESTRUTURAORGANIZACIONAL >> ESTRUTURAORGANIZACIONALALMOX';
  468 + RAISE NOTICE 'REPLICACAO ESTRUTURAORGANIZACIONAL >> alm_eo_almoxarifado';
466 469 RAISE NOTICE 'Total de registros do EO (%)', (SELECT COUNT(*) FROM PUBLIC.ESTRUTURAORGANIZACIONAL);
467   - RAISE NOTICE 'Total de registros no EOA (%)', (SELECT COUNT(*) FROM PUBLIC.ESTRUTURAORGANIZACIONALALMOX);
  470 + RAISE NOTICE 'Total de registros no EOA (%)', (SELECT COUNT(*) FROM PUBLIC.alm_eo_almoxarifado);
468 471 RAISE NOTICE ' ';
469 472 END$$;
470   -COMMIT; -- #FIM :: REPLICACAO ESTRUTURAORGANIZACIONAL >> ESTRUTURAORGANIZACIONALALMOX
  473 +COMMIT; -- #FIM :: REPLICACAO ESTRUTURAORGANIZACIONAL >> alm_eo_almoxarifado
471 474  
472 475  
473 476 BEGIN; -- #INI :: AJUSTAR PARENT_ID COM BASE NO CD_UA_SUP IMPORTADO PARA CLASSIFICACAO
... ... @@ -498,16 +501,16 @@ COMMIT; -- #FIM :: PRECISEI JOGAR 1 NO CODIGO DAS URS POR QUE URS TINHAM CODIGOS
498 501  
499 502  
500 503 BEGIN; -- #INI :: AJUSTAR CENTROCUSTO_ID COM BASE NO CD_CENTRO_CUSTO DA UNIDADE REQUISITANTE
501   - UPDATE public.estruturaorganizacionalalmox
  504 + UPDATE public.alm_eo_almoxarifado
502 505 SET centrocusto_id = und_requisitante.cc_id
503 506 FROM
504 507 ( SELECT E.ID AS EO_ID, CC.ID AS CC_ID
505 508 FROM ASIWEB.AX_UR UR
506 509 INNER JOIN PUBLIC.ESTRUTURAORGANIZACIONAL E ON (E.CODIGO = UR.CD_UR||'1')
507   - INNER JOIN PUBLIC.ESTRUTURAORGANIZACIONALALMOX EA ON (EA.ESTRUTURAORGANIZACIONAL_ID = E.ID AND EA.ISUNDCONSUMIDORAREQUISITANTE)
  510 + INNER JOIN PUBLIC.alm_eo_almoxarifado EA ON (EA.ESTRUTURAORGANIZACIONAL_ID = E.ID AND EA.ISUNDCONSUMIDORAREQUISITANTE)
508 511 INNER JOIN PUBLIC.CENTROCUSTO CC ON (CC.CODIGO = UR.CD_CENTRO_CUSTO)
509 512 ) AS und_requisitante
510   - WHERE public.estruturaorganizacionalalmox.estruturaorganizacional_id = und_requisitante.eo_id;
  513 + WHERE public.alm_eo_almoxarifado.estruturaorganizacional_id = und_requisitante.eo_id;
511 514 COMMIT; -- #FIM :: AJUSTAR CENTROCUSTO_ID COM BASE NO CD_CENTRO_CUSTO DA UNIDADE REQUISITANTE
512 515  
513 516  
... ...
cit-adm-materiais-api/src/main/resources/scripts-bd/Migracao_MPOG/03-TabelasApoio.sql
... ... @@ -1797,7 +1797,7 @@ BEGIN; -- #INI :: IMPORTACAO MATERIAIS >> MATERIAL
1797 1797  
1798 1798  
1799 1799 --> MATERIAIS :: BEM SERVICO :: MATERIALCONSUMO
1800   - INSERT INTO public.materialconsumo
  1800 + INSERT INTO public.alm_materialconsumo
1801 1801 ( elementodespesa
1802 1802 , id
1803 1803 , unidadearmazenamento_id
... ... @@ -1813,8 +1813,8 @@ BEGIN; -- #INI :: IMPORTACAO MATERIAIS >> MATERIAL
1813 1813 ORDER BY B.ID_BEM_SERVICO;
1814 1814  
1815 1815  
1816   - --> MATERIAIS :: CARGA UNIDADE MEDIDA ENTRADA :: MATCONSUMOTIPOUNIDADEENTRADA
1817   - INSERT INTO public.matconsumotipounidadeentrada
  1816 + --> MATERIAIS :: CARGA UNIDADE MEDIDA ENTRADA :: alm_mc_unidmedidaentrada
  1817 + INSERT INTO public.alm_mc_unidmedidaentrada
1818 1818 ( id
1819 1819 , databloqueio
1820 1820 , datainativo
... ... @@ -1833,7 +1833,7 @@ BEGIN; -- #INI :: IMPORTACAO MATERIAIS >> MATERIAL
1833 1833 FROM ASIWEB.CR_BEM_SERVICO B
1834 1834 INNER JOIN ASIWEB.CR_BEM_GENERICO C ON C.CD_BEM_GENERICO=B.CD_BEM_GENERICO
1835 1835 INNER JOIN PUBLIC.MATERIAL M ON M.CODIGO=B.CD_BEM_SERVICO
1836   - INNER JOIN PUBLIC.MATERIALCONSUMO MC ON MC.ID=M.ID
  1836 + INNER JOIN PUBLIC.alm_materialconsumo MC ON MC.ID=M.ID
1837 1837 INNER JOIN PUBLIC.UNIDADEMEDIDA U ON U.CODIGO=B.CD_UM_ELEMENTAR
1838 1838 WHERE C.CD_TIPO_BS IN ('C','S') -- REVER MODELO PARA CONTEMPLAR 'SERVICO' TAMBEM
1839 1839 ORDER BY B.ID_BEM_SERVICO;
... ... @@ -1892,7 +1892,7 @@ BEGIN; -- #INI :: IMPORTACAO MATERIAIS >> MATERIAL
1892 1892  
1893 1893  
1894 1894 --> MATERIAIS :: BEM SERVICO :: MATERIALPERMANENTE
1895   - INSERT INTO public.materialpermanenteconsumo
  1895 + INSERT INTO public.mat_matpermanenteconsumo
1896 1896 ( id
1897 1897 , databloqueio
1898 1898 , datainativo
... ... @@ -1920,7 +1920,7 @@ BEGIN; -- #INI :: IMPORTACAO MATERIAIS >> MATERIAL
1920 1920 INNER JOIN ASIWEB.CR_BEM_SERVICO B ON B.CD_BEM_SERVICO=S.CD_BEM_SERVICO_PRI
1921 1921 INNER JOIN PUBLIC.MATERIAL M ON M.CODIGO=B.CD_BEM_SERVICO
1922 1922 INNER JOIN PUBLIC.MATERIALPERMANENTE MP ON MP.ID=M.ID
1923   - INNER JOIN PUBLIC.MATERIALCONSUMO MC ON MC.ID=M.ID
  1923 + INNER JOIN PUBLIC.alm_materialconsumo MC ON MC.ID=M.ID
1924 1924 ORDER BY B.ID_BEM_SERVICO;
1925 1925 COMMIT; -- #FIM :: IMPORTACAO MATERIAIS >> MATERIAL
1926 1926  
... ...
cit-adm-materiais-api/src/main/resources/scripts-bd/Migracao_MPOG/04-Patrimonio.sql
... ... @@ -584,7 +584,7 @@ COMMIT; -- #FIM :: ATRIBUINDO DETENTOR AOS BENS QUE POSSUEM DETENTOR ATRIBUIDO
584 584 -- #FIM :: MIGRACAO DOS VALORES DAS CARACTERISTICAS ESPECIFICAS DOS BENS
585 585  
586 586  
587   -BEGIN; -- #INI :: AJUSTA ATRIBUTOS 'ISLOCALIZADORADEBENS'/'ISALMOXARIFADO'/'ISUNDCONSUMIDORAREQUISITANTE'
  587 +BEGIN; -- #INI :: AJUSTA ATRIBUTOS 'ISLOCALIZADORADEBENS'/'ISALMOXARIFADO'
588 588 DO $$ BEGIN RAISE NOTICE 'Marca as unidades como LOCALIZADORAS se existir bens...'; END;$$;
589 589 UPDATE ESTRUTURAORGANIZACIONALPATRIM
590 590 SET ISLOCALIZADORADEBEM=TRUE
... ... @@ -596,17 +596,6 @@ BEGIN; -- #INI :: AJUSTA ATRIBUTOS 'ISLOCALIZADORADEBENS'/'ISALMOXARIFADO'/'ISU
596 596 ) AS B
597 597 WHERE B.UNIDADEATUAL_ID=ESTRUTURAORGANIZACIONAL_ID
598 598 AND B.QTD > 0;
599   -
600   - DO $$ BEGIN RAISE NOTICE 'Marca as unidades como ALMOXARIFADO (ALM) se foi informada na entrada de bens...'; END;$$;
601   - UPDATE PUBLIC.ESTRUTURAORGANIZACIONALALMOX
602   - SET ISALMOXARIFADO = TRUE
603   - FROM
604   - ( SELECT EO.ID AS ALM_ID
605   - FROM PUBLIC.ESTRUTURAORGANIZACIONAL EO
606   - WHERE EO.DATAFIM IS NULL
607   - AND EO.ID IN (SELECT DISTINCT(UNIDADECOMPRA_ID) FROM PUBLIC.BEMPATRIMONIAL)
608   - ) AS B
609   - WHERE ESTRUTURAORGANIZACIONAL_ID=B.ALM_ID;
610 599  
611 600 DO $$ BEGIN RAISE NOTICE 'Marca as unidades como ALMOXARIFADO (ALM) se foi informada na entrada de bens...'; END;$$;
612 601 UPDATE PUBLIC.ESTRUTURAORGANIZACIONALPATRIM
... ... @@ -618,22 +607,13 @@ BEGIN; -- #INI :: AJUSTA ATRIBUTOS 'ISLOCALIZADORADEBENS'/'ISALMOXARIFADO'/'ISU
618 607 AND EO.ID IN (SELECT DISTINCT(UNIDADECOMPRA_ID) FROM PUBLIC.BEMPATRIMONIAL)
619 608 ) AS B
620 609 WHERE ESTRUTURAORGANIZACIONAL_ID=B.ALM_ID;
621   -
622   - DO $$ BEGIN RAISE NOTICE 'Marca as unidades requisitantes (sem ul correspondente) como requisitantes...'; END;$$;
623   - UPDATE ESTRUTURAORGANIZACIONALALMOX
624   - SET ISUNDCONSUMIDORAREQUISITANTE=TRUE
625   - FROM
626   - ( SELECT UR.ID FROM PUBLIC.ESTRUTURAORGANIZACIONAL UR
627   - INNER JOIN PUBLIC.DOMINIO D ON UR.TIPOESTRUTURAORGANIZACIONAL_ID = D.ID AND D.CHAVE = 'tipoEstruturaOrganizacional' AND D.CODIGO=4
628   - ) AS U
629   - WHERE U.ID = ESTRUTURAORGANIZACIONAL_ID;
630 610  
631 611 --> ATUALIZANDO AS UNIDADES ALMOXARIFADO E ALMOXARIFADO PADRÃO
632 612 DO $$ BEGIN RAISE NOTICE 'Marca as unidades requisitantes (sem ul correspondente) como requisitantes...'; END;$$;
633 613 UPDATE PUBLIC.ESTRUTURAORGANIZACIONALPATRIM
634 614 SET ISALMOXARIFADOPADRAO = ISALMOXARIFADO
635 615 WHERE ISALMOXARIFADOPADRAO IS NULL;
636   -COMMIT; -- #FIM :: AJUSTA ATRIBUTOS 'ISLOCALIZADORADEBENS'/'ISALMOXARIFADO'/'ISUNDCONSUMIDORAREQUISITANTE
  616 +COMMIT; -- #FIM :: AJUSTA ATRIBUTOS 'ISLOCALIZADORADEBENS'/'ISALMOXARIFADO'
637 617  
638 618  
639 619 BEGIN; -- #INI :: AJUSTES PARA SETAR OS BENS PRINCIPAIS COMO PRINCIPAIS
... ...
cit-adm-materiais-api/src/main/resources/scripts-bd/Migracao_MPOG/05-Almoxarifado.sql
... ... @@ -2,258 +2,188 @@
2 2 -- ##INI :: IMPORTACAO TABELAS DE MOVIMENTO DE MATERIAS DE CONSUMO --
3 3 --===========================================================================--
4 4  
5   ---#######################################################################################################################################
6   ---############# SO PRECISA SER RODADO QUANDO FOR REFEITA A MIGRACAO SOMENTE DO ALMOXARIFADO #############################################
7   ---#######################################################################################################################################
8   --- #INI :: AJUSTAR URS POIS UMA ESTAVA DUPLICADA
  5 +BEGIN; -- #INI :: AJUSTA ATRIBUTOS 'ISALMOXARIFADO'/'ISUNDCONSUMIDORAREQUISITANTE'
  6 +
  7 + DO $$ BEGIN RAISE NOTICE 'Marca as unidades como ALMOXARIFADO (ALM) se foi informada na entrada de bens...'; END;$$;
  8 + UPDATE PUBLIC.alm_eo_almoxarifado
  9 + SET ISALMOXARIFADO = TRUE
  10 + FROM
  11 + ( SELECT EO.ID AS ALM_ID
  12 + FROM PUBLIC.ESTRUTURAORGANIZACIONAL EO
  13 + WHERE EO.DATAFIM IS NULL
  14 + AND EO.codigo IN (SELECT DISTINCT(cd_ul_entrada) FROM ASIWEB.BP_BEM)
  15 + ) AS B
  16 + WHERE ESTRUTURAORGANIZACIONAL_ID=B.ALM_ID;
  17 +
  18 + DO $$ BEGIN RAISE NOTICE 'Marca as unidades requisitantes (sem ul correspondente) como requisitantes...'; END;$$;
  19 + UPDATE alm_eo_almoxarifado
  20 + SET ISUNDCONSUMIDORAREQUISITANTE=TRUE
  21 + FROM
  22 + ( SELECT UR.ID FROM PUBLIC.ESTRUTURAORGANIZACIONAL UR
  23 + INNER JOIN PUBLIC.DOMINIO D ON UR.TIPOESTRUTURAORGANIZACIONAL_ID = D.ID AND D.CHAVE = 'tipoEstruturaOrganizacional' AND D.CODIGO=4
  24 + ) AS U
  25 + WHERE U.ID = ESTRUTURAORGANIZACIONAL_ID;
  26 +
  27 +COMMIT; -- #FIM :: AJUSTA ATRIBUTOS 'ISALMOXARIFADO'/'ISUNDCONSUMIDORAREQUISITANTE
  28 +
  29 +BEGIN; -- #INI :: DEFINE AS UNIDADES ALMOXARIFADO DO ORGAO >> ALM_ESTOQUE (novo)
  30 + DO $$ BEGIN RAISE NOTICE 'Importando os registros de estoque'; END;$$;
  31 +
  32 + INSERT INTO public.ALM_ESTOQUE
  33 + ( id
  34 + , databloqueio
  35 + , datainativo
  36 + , datacriacao
  37 + , dataedicao
  38 + , version
  39 + , inativador_id
  40 + , autor_id
  41 + , editor_id
  42 + , organizacao_id
  43 + , almoxarifado_id
  44 + )
  45 + SELECT (ROW_NUMBER() OVER (ORDER BY EA.ESTRUTURAORGANIZACIONAL_ID)) + M.MAX AS id
  46 + , NULL AS databloqueio
  47 + , NULL AS datainativo
  48 + , LOCALTIMESTAMP AS datacriacao
  49 + , LOCALTIMESTAMP AS dataedicao
  50 + , 0 AS "version"
  51 + , NULL AS inativador_id
  52 + , NULL AS autor_id
  53 + , NULL AS editor_id
  54 + , 1 AS organizacao_id
  55 + , EA.ESTRUTURAORGANIZACIONAL_ID AS almoxarifado_id
  56 + FROM alm_eo_almoxarifado EA
  57 + JOIN (SELECT COALESCE(MAX(ID),0) AS MAX FROM PUBLIC.ALM_ESTOQUE) M ON 1=1
  58 + WHERE EA.ISALMOXARIFADO IS TRUE;
  59 +COMMIT; -- #FIM :: DEFINE AS UNIDADES ALMOXARIFADO DO ORGAO >> ALM_ESTOQUE
  60 +
  61 +--Script para migrar endereço de estoque
9 62 BEGIN;
10   - delete from estruturaorganizacionalalmox ea where ea.estruturaorganizacional_id in (select id from estruturaorganizacional e where e.tipoestruturaorganizacional_id = (select id from dominio where chave = 'tipoEstruturaOrganizacional' and codigo = 4));
11   - delete from estruturaorganizacionalpatrim ep where ep.estruturaorganizacional_id in (select id from estruturaorganizacional e where e.tipoestruturaorganizacional_id = (select id from dominio where chave = 'tipoEstruturaOrganizacional' and codigo = 4));
12   - delete from estruturaorganizacional where tipoestruturaorganizacional_id = (select id from dominio where chave = 'tipoEstruturaOrganizacional' and codigo = 4);
13   -
14   - BEGIN; -- #INI :: IMPORTACAO UNIDADE REQUISITANTE >> ESTRUTURAORGANIZACIONAL
15   - /*
16   - - Conceito diferente de UG/UA/UL
17   - - Unidades Requisitantes com mesma UA e mesmo LOCAL que a UL, não serão criadas
18   - - Estamos considerando somente as Unidades Requisitantes que não possuem correspondente com UL
19   - */
20   - INSERT INTO public.estruturaorganizacional
21   - ( id
22   - , databloqueio
23   - , datainativo
24   - , datacriacao
25   - , dataedicao
26   - , version
27   - , classificacao
28   - , codigo
29   - , datafim
30   - , datainicio
31   - , nome
32   - , sigla
33   - , inativador_id
34   - , autor_id
35   - , editor_id
36   - , organizacao_id
37   - , tipoestruturaorganizacional_id
38   - , unidadesuperior_id
39   - , localizacao_id
40   - , unidadegestora_id
41   - )
42   - SELECT NEXTVAL('hibernate_sequence') AS id
43   - , UR.DT_BLOQUEIO AS databloqueio
44   - , NULL AS datainativo
45   - , LOCALTIMESTAMP AS datacriacao
46   - , LOCALTIMESTAMP AS dataedicao
47   - , 0 AS "version"
48   - , UR.CD_UA AS classificacao
49   - , UR.CD_UR||'1' AS codigo
50   - , UR.DT_BLOQUEIO AS datafim
51   - , COALESCE(UR.DT_BLOQUEIO,LOCALTIMESTAMP) AS datainicio
52   - , UR.NM_UR AS nome
53   - , CASE WHEN UR.SG_UR IS NULL THEN 'SG' ELSE UR.SG_UR END AS sigla
54   - , NULL AS inativador_id
55   - , NULL AS autor_id
56   - , NULL AS editor_id
57   - , 1 AS organizacao_id
58   - , (SELECT ID FROM PUBLIC.DOMINIO WHERE CHAVE='tipoEstruturaOrganizacional' AND CODIGO=4) AS tipoestruturaorganizacional_id -- 1;"Unidade gestora"; 2;"Unidade administrativa"; 3;"Unidade localizadora"; 4;"Unidade requisitante"
59   - , UA.ID AS unidadesuperior_id
60   - , L.ID AS localizacao_id
61   - , UA.UNIDADEGESTORA_ID AS unidadegestora_id
62   - FROM ASIWEB.AX_UR UR
63   - INNER JOIN PUBLIC.ESTRUTURAORGANIZACIONAL UA ON (UA.CODIGO = UR.CD_UA and UA.tipoestruturaorganizacional_id = (SELECT ID FROM PUBLIC.DOMINIO WHERE CHAVE='tipoEstruturaOrganizacional' AND CODIGO=2))
64   - INNER JOIN PUBLIC.LOCALIZACAO L ON L.CODIGO = UR.CD_LOCAL
65   - ORDER BY UR.ID_UR;
66   -
67   - -- TOTALIZADORES
68   - DO $$ DECLARE
69   - BEGIN
70   - RAISE NOTICE 'IMPORTACAO UNIDADE REQUISITANTE >> ESTRUTURAORGANIZACIONAL';
71   - RAISE NOTICE 'Total de registros do ASI (%)', (SELECT COUNT(*) FROM ASIWEB.AX_UR);
72   - RAISE NOTICE 'Total de registros no GRP (%)', (SELECT COUNT(*) FROM PUBLIC.ESTRUTURAORGANIZACIONAL WHERE TIPOESTRUTURAORGANIZACIONAL_ID = (SELECT ID FROM PUBLIC.DOMINIO WHERE CHAVE='tipoEstruturaOrganizacional' AND CODIGO=4));
73   - RAISE NOTICE ' ';
74   - END$$;
75   - COMMIT; -- #FIM :: IMPORTACAO UNIDADE REQUISITANTE >> ESTRUTURAORGANIZACIONAL
76   -
77   -
78   - BEGIN; -- #INI :: REPLICACAO ESTRUTURAORGANIZACIONAL >> ESTRUTURAORGANIZACIONALPATRIM
79   - INSERT INTO public.estruturaorganizacionalpatrim
80   - ( id
81   - , databloqueio
82   - , datainativo
83   - , datacriacao
84   - , dataedicao
85   - , version
86   - , isalmoxarifado
87   - , islocalizadoradebem
88   - , inativador_id
89   - , autor_id
90   - , editor_id
91   - , estruturaorganizacional_id
92   - )
93   - SELECT NEXTVAL('hibernate_sequence')
94   - , NULL AS databloqueio
95   - , NULL AS datainativo
96   - , LOCALTIMESTAMP AS datacriacao
97   - , LOCALTIMESTAMP AS dataedicao
98   - , 0 AS version
99   - , FALSE AS isalmoxarifado
100   - , FALSE AS islocalizadoradebem
101   - , NULL AS inativador_id
102   - , NULL AS autor_id
103   - , NULL AS editor_id
104   - , E.ID AS estruturaorganizacional_id
105   - FROM ESTRUTURAORGANIZACIONAL E
106   - where tipoestruturaorganizacional_id = (select id from dominio where chave = 'tipoEstruturaOrganizacional' and codigo = 4);
107   -
108   - -- TOTALIZADORES
109   - DO $$ DECLARE
110   - BEGIN
111   - RAISE NOTICE 'REPLICACAO ESTRUTURAORGANIZACIONAL >> ESTRUTURAORGANIZACIONALPATRIM';
112   - RAISE NOTICE 'Total de registros do EO (%)', (SELECT COUNT(*) FROM PUBLIC.ESTRUTURAORGANIZACIONAL);
113   - RAISE NOTICE 'Total de registros no EOP (%)', (SELECT COUNT(*) FROM PUBLIC.ESTRUTURAORGANIZACIONALPATRIM);
114   - RAISE NOTICE ' ';
115   - END$$;
116   - COMMIT; -- #FIM :: REPLICACAO ESTRUTURAORGANIZACIONAL >> ESTRUTURAORGANIZACIONALPATRIM
117   -
118   -
119   - BEGIN; -- #INI :: REPLICACAO ESTRUTURAORGANIZACIONAL >> ESTRUTURAORGANIZACIONALALMOX
120   - INSERT INTO public.estruturaorganizacionalalmox
121   - ( id
122   - , databloqueio
123   - , datainativo
124   - , datacriacao
125   - , dataedicao
126   - , version
127   - , diasrequisicao
128   - , isalmoxarifado
129   - , isundconsumidorarequisitante
130   - , inativador_id
131   - , autor_id
132   - , editor_id
133   - , estruturaorganizacional_id
134   - )
135   - SELECT NEXTVAL('hibernate_sequence')
136   - , NULL AS databloqueio
137   - , NULL AS datainativo
138   - , LOCALTIMESTAMP AS datacriacao
139   - , LOCALTIMESTAMP AS dataedicao
140   - , 0 AS version
141   - , NULL AS diasrequisicao
142   - , FALSE AS isalmoxarifado
143   - , FALSE AS isundconsumidorarequisitante
144   - , NULL AS inativador_id
145   - , NULL AS autor_id
146   - , NULL AS editor_id
147   - , E.ID AS estruturaorganizacional_id
148   - FROM ESTRUTURAORGANIZACIONAL E
149   - where tipoestruturaorganizacional_id = (select id from dominio where chave = 'tipoEstruturaOrganizacional' and codigo = 4);
150   -
151   - -- TOTALIZADORES
152   - DO $$ DECLARE
153   - BEGIN
154   - RAISE NOTICE 'REPLICACAO ESTRUTURAORGANIZACIONAL >> ESTRUTURAORGANIZACIONALALMOX';
155   - RAISE NOTICE 'Total de registros do EO (%)', (SELECT COUNT(*) FROM PUBLIC.ESTRUTURAORGANIZACIONAL);
156   - RAISE NOTICE 'Total de registros no EOA (%)', (SELECT COUNT(*) FROM PUBLIC.ESTRUTURAORGANIZACIONALALMOX);
157   - RAISE NOTICE ' ';
158   - END$$;
159   - COMMIT; -- #FIM :: REPLICACAO ESTRUTURAORGANIZACIONAL >> ESTRUTURAORGANIZACIONALALMOX
160   -
161   -
162   - BEGIN; -- #INI :: AJUSTAR PARENT_ID COM BASE NO CD_UA_SUP IMPORTADO PARA CLASSIFICACAO
163   - UPDATE public.estruturaorganizacional
164   - SET unidadesuperior_id = ep.parent_id
165   - FROM
166   - ( SELECT f.id, p.id AS parent_id
167   - FROM public.estruturaorganizacional p INNER JOIN
168   - public.estruturaorganizacional f ON f.classificacao = p.codigo
169   - ) AS ep
170   - WHERE public.estruturaorganizacional.id = ep.id
171   - AND public.estruturaorganizacional.id <> 1;
172   - COMMIT; -- #FIM :: AJUSTAR PARENT_ID COM BASE NO CD_UA_SUP IMPORTADO PARA CLASSIFICACAO
173   -
174   -
175   - BEGIN; -- #INI :: JOGANDO O CODIGO NA CLASSIFICACAO PARA FACILICAR A BUSCA PARA USUARIO
176   - /*
177   - * Alinhado com área de negócios de fazer esse update para jogar o código da classifição
178   - * sem o 1 para o usuário poder buscar pelo código antigo.
179   - */
180   - UPDATE public.estruturaorganizacional
181   - SET classificacao = SUBSTRING(codigo FROM 0 FOR 5)
182   - WHERE tipoestruturaorganizacional_id =
183   - ( SELECT ID FROM PUBLIC.DOMINIO
184   - WHERE CHAVE='tipoEstruturaOrganizacional'
185   - AND CODIGO=4 );
186   - COMMIT; -- #FIM :: JOGANDO O CODIGO NA CLASSIFICACAO PARA FACILICAR A BUSCA PARA USUARIO
187   -
188   -
189   - BEGIN; -- #INI :: AJUSTAR CENTROCUSTO_ID COM BASE NO CD_CENTRO_CUSTO DA UNIDADE REQUISITANTE
190   - UPDATE public.estruturaorganizacionalalmox
191   - SET centrocusto_id = und_requisitante.cc_id
192   - FROM
193   - ( SELECT E.ID AS EO_ID, CC.ID AS CC_ID
194   - FROM ASIWEB.AX_UR UR
195   - INNER JOIN PUBLIC.ESTRUTURAORGANIZACIONAL E ON (E.CODIGO = UR.CD_UR||'1')
196   - INNER JOIN PUBLIC.ESTRUTURAORGANIZACIONALALMOX EA ON (EA.ESTRUTURAORGANIZACIONAL_ID = E.ID AND EA.ISUNDCONSUMIDORAREQUISITANTE)
197   - INNER JOIN PUBLIC.CENTROCUSTO CC ON (CC.CODIGO = UR.CD_CENTRO_CUSTO)
198   - ) AS und_requisitante
199   - WHERE public.estruturaorganizacionalalmox.estruturaorganizacional_id = und_requisitante.eo_id;
200   - COMMIT; -- #FIM :: AJUSTAR CENTROCUSTO_ID COM BASE NO CD_CENTRO_CUSTO DA UNIDADE REQUISITANTE
  63 + ALTER TABLE PUBLIC.ALM_ES_ENDERECOESTOQUE
  64 + ADD COLUMN END_SUP CHARACTER VARYING(10);
  65 +
  66 + INSERT INTO public.alm_es_enderecoestoque
  67 + ( id
  68 + , databloqueio
  69 + , datacriacao
  70 + , dataedicao
  71 + , version
  72 + , acomodamaterial
  73 + , codigo
  74 + , descricao
  75 + , endertodomaterial
  76 + , sigla
  77 + , organizacao_id
  78 + , endeestoqsuperior_id
  79 + , estoque_id
  80 + , estoqueinativo_id
  81 + , END_SUP
  82 + )
  83 + SELECT
  84 + NEXTVAL('hibernate_sequence') AS id
  85 + , NULL AS DATABLOQUEIO
  86 + , LOCALTIMESTAMP AS DATACRIACAO
  87 + , LOCALTIMESTAMP AS DATAEDICAO
  88 + , 0 AS VERSION
  89 + , (CASE WHEN E.ID_ULT_NIVEL = 'S' THEN TRUE ELSE FALSE END) AS ACOMODAMATERIAL
  90 + , E.CD_ENDERECO AS CODIGO
  91 + , E.DS_COMPLETA AS DESCRICAO
  92 + , FALSE AS ENDERTODOMATERIAL
  93 + , E.SG_ENDERECO_EST AS SIGLA
  94 + , 1 AS ORGANIZACAO_ID
  95 + , NULL AS ENDESTOQSUPERIOR_ID
  96 + , (SELECT ID FROM PUBLIC.ALM_ESTOQUE WHERE ALMOXARIFADO_ID =(SELECT ESTRUTURAORGANIZACIONAL_ID FROM PUBLIC.alm_eo_almoxarifado WHERE ISALMOXARIFADO IS TRUE LIMIT 1)) AS ESTOQUE_ID
  97 + , NULL
  98 + , CD_ENDERECO_S
  99 + FROM ASIWEB.CR_ENDERECO_EST E;
  100 +
  101 + UPDATE PUBLIC.ALM_ES_ENDERECOESTOQUE E
  102 + SET ENDEESTOQSUPERIOR_ID = (SELECT ID FROM ALM_ES_ENDERECOESTOQUE WHERE CODIGO = E.CODIGO)
  103 + WHERE E.END_SUP IS NOT NULL;
201 104  
202   - BEGIN; -- #INI :: AJUSTA ATRIBUTOS 'ISLOCALIZADORADEBENS'/'ISALMOXARIFADO'/'ISUNDCONSUMIDORAREQUISITANTE'
203   - DO $$ BEGIN RAISE NOTICE 'Marca as unidades como LOCALIZADORAS se existir bens...'; END;$$;
204   - UPDATE ESTRUTURAORGANIZACIONALPATRIM
205   - SET ISLOCALIZADORADEBEM=TRUE
206   - FROM
207   - ( SELECT BP.UNIDADEATUAL_ID, COUNT(*) AS QTD
208   - FROM BEMPATRIMONIAL BP -- VERIFICA SE A ESTRUTURA POSSUI BENS NÃO BAIXADOS
209   - WHERE BP.DOMINIOSTATUS_ID <> (SELECT ID FROM DOMINIO WHERE CHAVE='tipoStatusBem' AND CODIGO=2) -- BAIXADO
210   - GROUP BY BP.UNIDADEATUAL_ID
211   - ) AS B
212   - WHERE B.UNIDADEATUAL_ID=ESTRUTURAORGANIZACIONAL_ID
213   - AND B.QTD > 0;
214   -
215   - DO $$ BEGIN RAISE NOTICE 'Marca as unidades como ALMOXARIFADO (ALM) se foi informada na entrada de bens...'; END;$$;
216   - UPDATE PUBLIC.ESTRUTURAORGANIZACIONALALMOX
217   - SET ISALMOXARIFADO = TRUE
218   - FROM
219   - ( SELECT EO.ID AS ALM_ID
220   - FROM PUBLIC.ESTRUTURAORGANIZACIONAL EO
221   - WHERE EO.DATAFIM IS NULL
222   - AND EO.ID IN (SELECT DISTINCT(UNIDADECOMPRA_ID) FROM PUBLIC.BEMPATRIMONIAL)
223   - ) AS B
224   - WHERE ESTRUTURAORGANIZACIONAL_ID=B.ALM_ID;
225   -
226   - DO $$ BEGIN RAISE NOTICE 'Marca as unidades como ALMOXARIFADO (ALM) se foi informada na entrada de bens...'; END;$$;
227   - UPDATE PUBLIC.ESTRUTURAORGANIZACIONALPATRIM
228   - SET ISALMOXARIFADO = TRUE
229   - FROM
230   - ( SELECT EO.ID AS ALM_ID
231   - FROM PUBLIC.ESTRUTURAORGANIZACIONAL EO
232   - WHERE EO.DATAFIM IS NULL
233   - AND EO.ID IN (SELECT DISTINCT(UNIDADECOMPRA_ID) FROM PUBLIC.BEMPATRIMONIAL)
234   - ) AS B
235   - WHERE ESTRUTURAORGANIZACIONAL_ID=B.ALM_ID;
236   -
237   - DO $$ BEGIN RAISE NOTICE 'Marca as unidades requisitantes (sem ul correspondente) como requisitantes...'; END;$$;
238   - UPDATE ESTRUTURAORGANIZACIONALALMOX
239   - SET ISUNDCONSUMIDORAREQUISITANTE=TRUE
240   - FROM
241   - ( SELECT UR.ID FROM PUBLIC.ESTRUTURAORGANIZACIONAL UR
242   - INNER JOIN PUBLIC.DOMINIO D ON UR.TIPOESTRUTURAORGANIZACIONAL_ID = D.ID AND D.CHAVE = 'tipoEstruturaOrganizacional' AND D.CODIGO=4
243   - ) AS U
244   - WHERE U.ID = ESTRUTURAORGANIZACIONAL_ID;
245   -
246   - --> ATUALIZANDO AS UNIDADES ALMOXARIFADO E ALMOXARIFADO PADRÃO
247   - DO $$ BEGIN RAISE NOTICE 'Marca as unidades requisitantes (sem ul correspondente) como requisitantes...'; END;$$;
248   - UPDATE PUBLIC.ESTRUTURAORGANIZACIONALPATRIM
249   - SET ISALMOXARIFADOPADRAO = ISALMOXARIFADO
250   - WHERE ISALMOXARIFADOPADRAO IS NULL;
251   - COMMIT; -- #FIM :: AJUSTA ATRIBUTOS 'ISLOCALIZADORADEBENS'/'ISALMOXARIFADO'/'ISUNDCONSUMIDORAREQUISITANTE
  105 + ALTER TABLE PUBLIC.ALM_ES_ENDERECOESTOQUE
  106 + DROP COLUMN END_SUP;
  107 +
  108 +COMMIT;
252 109  
  110 +BEGIN; -- #INI :: IMPORTACAO SALDOS PRECOS DOS MATERIAIS >> alm_materialestoque
  111 +
  112 + --CD_NATUREZA_CLASS = '01' QUER DIZER QUE E ESTOCAVEL, ELE SEPARA O PRECO POR ESTOCAVE E NAO ESTOCAVEL MAS O GRP NAO TEM ESSE CONCEITO
  113 + INSERT INTO alm_materialestoque
  114 + ( id
  115 + , datacriacao
  116 + , dataedicao
  117 + , version
  118 + , restomedio
  119 + , valorunitariomedio
  120 + , organizacao_id
  121 + , material_id
  122 + )
  123 + SELECT
  124 + NEXTVAL('hibernate_sequence') AS id
  125 + , LOCALTIMESTAMP
  126 + , LOCALTIMESTAMP
  127 + , 0
  128 + , E.VL_RESIDUO/100
  129 + , E.PR_MEDIO/100
  130 + , 1
  131 + , M.ID
  132 + FROM asiweb.AX_ESTOQUE_UG E
  133 + INNER JOIN MATERIAL M ON (M.CODIGO = E.CD_BEM_SERVICO AND DOMINIOTIPOMATERIAL_ID = (SELECT id FROM DOMINIO WHERE CHAVE='tipoMaterial' and codigo = 1))
  134 + WHERE E.CD_NATUREZA_CLASS = '01';
  135 +COMMIT; -- #FIM :: IMPORTACAO SALDOS PRECOS DOS MATERIAIS >> alm_materialestoque
  136 +
  137 +BEGIN; --script para migrar materialenderecodeestoque
  138 + INSERT INTO public.alm_me_localestoque
  139 + ( id
  140 + , databloqueio
  141 + , datacriacao
  142 + , dataedicao
  143 + , version
  144 + , quantidade
  145 + , organizacao_id
  146 + , endereco_id
  147 + , materialestoque_id
  148 + , unidademedidaentrada_id
  149 + , localprincipal
  150 + , capacidade
  151 + )
  152 + SELECT
  153 + NEXTVAL('hibernate_sequence') AS id
  154 + , NULL AS DATABLOQUEIO
  155 + , LOCALTIMESTAMP AS DATACRIACAO
  156 + , LOCALTIMESTAMP AS DATAEDICAO
  157 + , 0 AS VERSION
  158 + , 0 AS QUANTIDADE --SALDO DO MATERIAL NESSE ENDERECO DE ESTOQUE (FAZER UPDATE DEPOIS)
  159 + , 1 AS ORGANIZACAO_ID
  160 + , E.ID AS ENDERECO_ID
  161 + , ME.ID AS MATERIALESTOQUE_ID
  162 + , UM.ID AS UNIDADEMEDIDAENTRADA_ID
  163 + , (CASE WHEN ES.NR_ORDEM = 1 THEN TRUE ELSE FALSE END) AS LOCALPRINCIPAL
  164 + , ES.QT_CAPACIDADE AS CAPACIDADE
  165 + FROM ASIWEB.CR_END_BS_POSSIVEL ES
  166 + INNER JOIN PUBLIC.MATERIAL M ON (M.CODIGO = ES.CD_BEM_SERVICO)
  167 + INNER JOIN PUBLIC.alm_materialestoque ME ON (ME.MATERIAL_ID = M.ID)
  168 + INNER JOIN PUBLIC.ALM_ES_ENDERECOESTOQUE E ON (E.CODIGO = ES.CD_ENDERECO)
  169 + INNER JOIN PUBLIC.ALM_MATERIALCONSUMO MC ON (MC.ID = M.ID)
  170 + INNER JOIN PUBLIC.UNIDADEMEDIDA UM ON (UM.ID = MC.UNIDADEARMAZENAMENTO_ID);
  171 +
  172 + UPDATE public.alm_me_localestoque LE
  173 + SET QUANTIDADE = ESTOQUE.QT_ESTOQUE
  174 + FROM (
  175 + SELECT ME.ID AS MATERIALESTOQUE_ID,
  176 + EE.ID AS ENDERECO_ID,
  177 + E.QT_ESTOQUE
  178 + FROM ASIWEB.AX_ESTOQUE_END E
  179 + INNER JOIN MATERIAL M ON (M.CODIGO = E.CD_BEM_SERVICO)
  180 + INNER JOIN alm_es_enderecoestoque EE ON (EE.CODIGO = E.CD_ENDERECO)
  181 + INNER JOIN ALM_MATERIALESTOQUE ME ON (ME.MATERIAL_ID = M.ID)
  182 + ) AS ESTOQUE
  183 + WHERE LE.MATERIALESTOQUE_ID = ESTOQUE.MATERIALESTOQUE_ID AND LE.ENDERECO_ID = ESTOQUE.ENDERECO_ID;
253 184 COMMIT;
254   --- #FIM :: AJUSTAR URS POIS UMA ESTAVA DUPLICADA
255 185  
256   -BEGIN; -- #INI :: DEFINE AS UNIDADES ALMOXARIFADO DO ORGAO >> LOCALESTOQUE
  186 +/*BEGIN; -- #INI :: DEFINE AS UNIDADES ALMOXARIFADO DO ORGAO >> LOCALESTOQUE
257 187 DO $$ BEGIN RAISE NOTICE 'Importando os registros de local estoque'; END;$$;
258 188  
259 189 INSERT INTO public.localestoque
... ... @@ -280,10 +210,177 @@ BEGIN; -- #INI :: DEFINE AS UNIDADES ALMOXARIFADO DO ORGAO &gt;&gt; LOCALESTOQUE
280 210 , NULL AS editor_id
281 211 , 1 AS organizacao_id
282 212 , EA.ESTRUTURAORGANIZACIONAL_ID AS almoxarifado_id
283   - FROM ESTRUTURAORGANIZACIONALALMOX EA
  213 + FROM alm_eo_almoxarifado EA
284 214 JOIN (SELECT COALESCE(MAX(ID),0) AS MAX FROM PUBLIC.LOCALESTOQUE) M ON 1=1
285 215 WHERE EA.ISALMOXARIFADO IS TRUE;
286   -COMMIT; -- #FIM :: DEFINE AS UNIDADES ALMOXARIFADO DO ORGAO >> LOCALESTOQUE
  216 +COMMIT; -- #FIM :: DEFINE AS UNIDADES ALMOXARIFADO DO ORGAO >> LOCALESTOQUE*/
  217 +
  218 +BEGIN; -- #INI :: MOVIMENTACAO DE ENTRADAS NO ALMOXARIFADO >> ALM_ENTRADA (novo)
  219 + /*
  220 + TODAS AS ENTRADAS DO ALMOXARIFADO TEM DT_CONTABIL
  221 + */
  222 + --> REGISTROS DE ENTRADA
  223 + DO $$ BEGIN RAISE NOTICE 'Importando os registros consolidados de entrada almoxarifado (header)...'; END;$$;
  224 +
  225 + INSERT INTO public.alm_entrada
  226 + ( id
  227 + , datacriacao
  228 + , dataedicao
  229 + , version
  230 + , codigo
  231 + , codigoasi
  232 + , datacontabil
  233 + , datarecebimento
  234 + , datareferencia
  235 + , iscontabilizada
  236 + , isentradaconcluida
  237 + , notarecebimento
  238 + , valortotalnota
  239 + , organizacao_id
  240 + , almoxarifado_id
  241 + , dominiofinalidade_id
  242 + , dominiotipoentrada_id
  243 + , dominiotiporecebimento_id
  244 + , fornecedor_id
  245 + --, unidaderequisitante_id
  246 + )
  247 + SELECT DISTINCT
  248 + NEXTVAL('hibernate_sequence') AS id
  249 + , NR.DT_INCLUSAO AS datacriacao
  250 + , NR.DT_INCLUSAO AS dataedicao
  251 + , 0 AS "version"
  252 + , NR.CD_NOTA_REC AS codigo
  253 + , NR.CD_ALMOXARIFADO||NR.CD_ORGAO||NR.CD_NOTA_REC AS codigoasi
  254 + , NR.DT_CONTABIL AS datacontabil
  255 + , NR.DT_RECEBIMENTO AS datarecebimento
  256 + , NR.DT_CONTABIL AS datareferencia
  257 + , TRUE AS iscontabilizada
  258 + , TRUE AS isentradaconcluida
  259 + , NR.CD_NOTA_REC AS NOTARECEBIMENTO
  260 + , NRT.VL_TOTAL_ENTRADA/100 AS valortotalnota
  261 + , 1 AS organizacao_id
  262 + , (SELECT ESTRUTURAORGANIZACIONAL_ID FROM PUBLIC.alm_eo_almoxarifado WHERE ISALMOXARIFADO IS TRUE LIMIT 1) AS ALMOXARIFADO_ID --ESTA OK DESDE QUE O ESTOQUE TAMBEM SEJA ASSOCIADO A ESSE ALMOX
  263 + , (CASE WHEN NR.CD_FINALIDADE_MOV = '01' THEN (SELECT ID FROM DOMINIO WHERE CHAVE = 'tipoFinalidadeMaterial' and CODIGO = 1)
  264 + WHEN NR.CD_FINALIDADE_MOV = '03' THEN (SELECT ID FROM DOMINIO WHERE CHAVE = 'tipoFinalidadeMaterial' and CODIGO = 2) END) as dominiofinalidade_id
  265 + , (SELECT ID FROM PUBLIC.DOMINIO WHERE CHAVE='tipoEntrada' AND CODIGO=1) AS dominiotipoentrada_id
  266 + , (SELECT ID_GRP FROM PUBLIC.DOMINIO_ASI_GRP WHERE TP_GRP='tipoRecebimentoAlmoxarifado' AND CD_ASI=NR.CD_TIPO_MOVIMENTO) AS dominiotiporecebimento_id -- "asiweb.ax_tipo_movimento"
  267 + , PAR.ID AS fornecedor_id
  268 + --, null AS UNIDADEREQUISITANTE_ID -- COMO VAMOS MUDAR PARA A TABELA DE FILHOS, VOU DEIXAR NULL
  269 + FROM ASIWEB.AX_NOTA_REC NR
  270 + JOIN ( SELECT AX_NOTA_REC_ITEM.CD_ALMOXARIFADO, AX_NOTA_REC_ITEM.CD_ORGAO, AX_NOTA_REC_ITEM.CD_NOTA_REC
  271 + , SUM(AX_NOTA_REC_ITEM.QT_NOTA_REC_ITEM) AS QT_TOTAL_ENTRADA
  272 + , SUM(AX_NOTA_REC_ITEM.VL_NOTA_REC_ITEM) AS VL_TOTAL_ENTRADA
  273 + FROM ASIWEB.AX_NOTA_REC_ITEM
  274 + GROUP BY AX_NOTA_REC_ITEM.CD_ALMOXARIFADO, AX_NOTA_REC_ITEM.CD_ORGAO, AX_NOTA_REC_ITEM.CD_NOTA_REC) NRT
  275 + ON NRT.CD_ALMOXARIFADO::TEXT=NR.CD_ALMOXARIFADO::TEXT AND NRT.CD_ORGAO::TEXT=NR.CD_ORGAO::TEXT AND NRT.CD_NOTA_REC::TEXT=NR.CD_NOTA_REC::TEXT
  276 + JOIN ASIWEB.AX_V_AGENTE_ENTRADA AE ON NR.CD_AGENTE_ENTRADA::TEXT=AE.CD_AGENTE::TEXT
  277 + LEFT JOIN PESSOA P ON (P.AGENTE_ID=NR.CD_AGENTE_ENTRADA)
  278 + LEFT JOIN PARCEIRO PAR ON (PAR.PESSOA_ID = P.ID)
  279 + WHERE AE.CD_TIPO_AGENTE <> '2'; -- CD_TIPO_AGENTE=2 SAO URS E DECIDIMOS MIGRAR COMO DEVOLUCOES DEVIDO AO FEEDBACK DO USUARIO
  280 +
  281 + DO $$ BEGIN RAISE NOTICE 'Importando os registros consolidados de entrada almoxarifado (detail)...'; END;$$;
  282 +
  283 + /*
  284 + A estratégia usada para incluir os itens, foi agrupá-los por valor unitário para
  285 + bater com o total, pois um dos itens do mesmo material pode ter valor unitario
  286 + diferente por causa do resto de uma dízima periódica.
  287 + esta dando diferença entre o total da nota e os itens rever cd_entrada com erro = 2001000186
  288 + */
  289 + --> REGISTROS DOS ITENS DA REFERENCIA NECESSARIA EM ENTRADA DE ALMOXARIFADO
  290 + INSERT INTO alm_en_entradaitem
  291 + ( id
  292 + , datacriacao
  293 + , dataedicao
  294 + , version
  295 + , datavalidade
  296 + , numerolote
  297 + , quantidade
  298 + , valortotal
  299 + , valorunitario
  300 + , entrada_id
  301 + , material_id
  302 + , materiallocalestoque_id
  303 + , unidademedidaentrada_id
  304 + , cd_conta
  305 + )
  306 + SELECT DISTINCT
  307 + NEXTVAL('hibernate_sequence') AS id
  308 + , E.DATACRIACAO AS datacriacao
  309 + , E.DATAEDICAO AS dataedicao
  310 + , 0 AS "version"
  311 + , I.DT_VALIDADE AS datavalidade
  312 + , I.NR_LOTE AS numerolote
  313 + , I.QT_NOTA_REC_ITEM AS quantidade
  314 + , (I.VL_NOTA_REC_ITEM)/100 AS valortotal
  315 + , (I.VL_NOTA_REC_ITEM/I.QT_NOTA_REC_ITEM)/100 AS valorunitario
  316 + , E.ID AS entrada_id
  317 + , M.ID AS material_id
  318 + , LE.ID AS materiallocalestoque_id
  319 + , (SELECT ID FROM PUBLIC.UNIDADEMEDIDA WHERE CODIGO=I.CD_UM_ELEMENTAR) AS unidademedidaentrada_id
  320 + , I.CD_CONTA
  321 + FROM PUBLIC.ALM_ENTRADA E
  322 + JOIN ASIWEB.AX_NOTA_REC_ITEM I ON E.CODIGOASI::TEXT=I.CD_ALMOXARIFADO||I.CD_ORGAO||I.CD_NOTA_REC::TEXT
  323 + JOIN PUBLIC.ALM_ES_ENDERECOESTOQUE EE ON (EE.CODIGO = I.CD_ENDERECO)
  324 + JOIN PUBLIC.MATERIAL M ON (M.CODIGO=I.CD_BEM_SERVICO)
  325 + JOIN PUBLIC.ALM_MATERIALESTOQUE ME ON (ME.MATERIAL_ID = M.ID)
  326 + JOIN PUBLIC.ALM_ME_LOCALESTOQUE LE ON (LE.MATERIALESTOQUE_ID = ME.ID AND LE.ENDERECO_ID = EE.ID);
  327 +
  328 + DO $$
  329 + BEGIN
  330 + ALTER TABLE DOCUMENTO DROP COLUMN CODIGO;
  331 + ALTER TABLE DOCUMENTO ADD COLUMN codigo CHARACTER VARYING (30);
  332 + EXCEPTION
  333 + WHEN OTHERS THEN NULL;
  334 + END$$;
  335 +
  336 + --> DOCUMENTOS DA ENTRADA
  337 + INSERT INTO public.documento
  338 + ( id
  339 + , databloqueio
  340 + , datainativo
  341 + , datacriacao
  342 + , dataedicao
  343 + , version
  344 + , dataemissao
  345 + , numero
  346 + , inativador_id
  347 + , autor_id
  348 + , editor_id
  349 + , organizacao_id
  350 + , dominiotipodocumento_id
  351 + , emitente_id
  352 + , codigo
  353 + )
  354 + SELECT NEXTVAL('hibernate_sequence') AS id
  355 + , NULL AS databloqueio
  356 + , NULL AS datainativo
  357 + , LOCALTIMESTAMP AS datacriacao
  358 + , LOCALTIMESTAMP AS dataedicao
  359 + , 0 AS "version"
  360 + , DOC.DT_DOCUMENTO AS dataemissao
  361 + , DOC.NR_DOCUMENTO AS numero
  362 + , NULL AS inativador_id
  363 + , NULL AS autor_id
  364 + , NULL AS editor_id
  365 + , 1 AS organizacao_id
  366 + , (SELECT ID_GRP FROM PUBLIC.DOMINIO_ASI_GRP WHERE TP_GRP='tipoDocumento' AND CD_ASI=DOC.CD_TP_DOCUMENTO) AS dominiotipodocumento_id -- "asiweb.cr_tp_documento"
  367 + , NULL AS emitente_id
  368 + , DOC.CD_ALMOXARIFADO||DOC.CD_ORGAO||DOC.CD_NOTA_REC AS codigo
  369 + FROM ASIWEB.AX_DOC_NOTA_REC DOC
  370 + ORDER BY DOC.CD_NOTA_REC;
  371 +
  372 + --> REFERENCIA DOS DOCUMENTOS DAS ENTRADAS
  373 + INSERT INTO public.entradadocumento
  374 + ( id
  375 + , entrada_id
  376 + , entradainativo_id
  377 + )
  378 + SELECT D.ID AS id
  379 + , (SELECT E.ID FROM PUBLIC.ENTRADA E WHERE E.CODIGOASI=D.CODIGO) AS entrada_id
  380 + , NULL AS entradainativo_id
  381 + FROM PUBLIC.DOCUMENTO D
  382 + WHERE CODIGO IS NOT NULL;
  383 +COMMIT;
287 384  
288 385  
289 386 BEGIN; -- #INI :: MOVIMENTACAO DE ENTRADAS NO ALMOXARIFADO >> ENTRADA
... ... @@ -291,9 +388,9 @@ BEGIN; -- #INI :: MOVIMENTACAO DE ENTRADAS NO ALMOXARIFADO &gt;&gt; ENTRADA
291 388 TODAS AS ENTRADAS DO ALMOXARIFADO TEM DT_CONTABIL
292 389 */
293 390 --> REGISTROS DE ENTRADA
294   - DO $$ BEGIN RAISE NOTICE 'Importando os registros consolidados de entrada almoxarifado (header)...'; END;$$;
  391 + --DO $$ BEGIN RAISE NOTICE 'Importando os registros consolidados de entrada almoxarifado (header)...'; END;$$;
295 392  
296   - INSERT INTO public.entrada
  393 + /*INSERT INTO public.entrada
297 394 ( id
298 395 , datacriacao
299 396 , dataedicao
... ... @@ -346,15 +443,15 @@ BEGIN; -- #INI :: MOVIMENTACAO DE ENTRADAS NO ALMOXARIFADO &gt;&gt; ENTRADA
346 443 SELECT DISTINCT
347 444 E.ID AS id
348 445 , NRI.CD_NOTA_REC::BIGINT AS notarecebimento
349   - , (SELECT ESTRUTURAORGANIZACIONAL_ID FROM PUBLIC.ESTRUTURAORGANIZACIONALALMOX WHERE ISALMOXARIFADO IS TRUE LIMIT 1) AS estruturaorganizacional_id -- #REVER
  446 + , (SELECT ESTRUTURAORGANIZACIONAL_ID FROM PUBLIC.alm_eo_almoxarifado WHERE ISALMOXARIFADO IS TRUE LIMIT 1) AS estruturaorganizacional_id -- #REVER
350 447 , (CASE WHEN N.CD_FINALIDADE_MOV = '01' THEN 623
351 448 WHEN N.CD_FINALIDADE_MOV = '03' THEN 625
352 449 END)
353 450 FROM PUBLIC.ENTRADA E
354 451 INNER JOIN ASIWEB.AX_NOTA_REC N ON (E.CODIGOASI=N.CD_ALMOXARIFADO||N.CD_ORGAO||N.CD_NOTA_REC)
355   - INNER JOIN ASIWEB.AX_NOTA_REC_ITEM NRI ON (E.CODIGOASI=NRI.CD_ALMOXARIFADO||NRI.CD_ORGAO||NRI.CD_NOTA_REC);
  452 + INNER JOIN ASIWEB.AX_NOTA_REC_ITEM NRI ON (E.CODIGOASI=NRI.CD_ALMOXARIFADO||NRI.CD_ORGAO||NRI.CD_NOTA_REC);*/
356 453  
357   - DO $$ BEGIN RAISE NOTICE 'Importando os registros consolidados de entrada almoxarifado (detail)...'; END;$$;
  454 + --DO $$ BEGIN RAISE NOTICE 'Importando os registros consolidados de entrada almoxarifado (detail)...'; END;$$;
358 455  
359 456 /*
360 457 A estratégia usada para incluir os itens, foi agrupá-los por valor unitário para
... ... @@ -363,7 +460,7 @@ BEGIN; -- #INI :: MOVIMENTACAO DE ENTRADAS NO ALMOXARIFADO &gt;&gt; ENTRADA
363 460 esta dando diferença entre o total da nota e os itens rever cd_entrada com erro = 2001000186
364 461 */
365 462 --> REGISTROS DOS ITENS DA REFERENCIA NECESSARIA EM ENTRADA DE ALMOXARIFADO
366   - INSERT INTO public.entradaalmoxarifadoitem
  463 + /* INSERT INTO public.entradaalmoxarifadoitem
367 464 ( id
368 465 , datacriacao
369 466 , dataedicao
... ... @@ -463,9 +560,152 @@ BEGIN; -- #INI :: MOVIMENTACAO DE ENTRADAS NO ALMOXARIFADO &gt;&gt; ENTRADA
463 560 , (SELECT E.ID FROM PUBLIC.ENTRADA E WHERE E.CODIGOASI=D.CODIGO) AS entrada_id
464 561 , NULL AS entradainativo_id
465 562 FROM PUBLIC.DOCUMENTO D
466   - WHERE CODIGO IS NOT NULL;
  563 + WHERE CODIGO IS NOT NULL;*/
467 564 COMMIT; -- #FIM :: MOVIMENTACAO DE ENTRADAS NO ALMOXARIFADO >> ENTRADA
468 565  
  566 +BEGIN; -- #INI :: IMPORTACAO BAIXAS DE ESTOQUE >> BAIXA (NOVO)
  567 + DO $$ BEGIN RAISE NOTICE 'Importando os registros consolidados de baixa almoxarifado (header)...'; END;$$;
  568 +
  569 + DO $$
  570 + BEGIN
  571 + ALTER TABLE ALM_BX_ITEM DROP COLUMN sq_baixa_item;
  572 + ALTER TABLE ALM_BX_ITEM ADD COLUMN sq_baixa_item CHARACTER VARYING(20);
  573 + COMMIT;
  574 + EXCEPTION
  575 + WHEN OTHERS THEN NULL;
  576 + END$$;
  577 +
  578 + /*
  579 + BAIXA ALMOXARIFADO
  580 + ==================
  581 + 1. Somente uma baixa está sem data da baixa, deixei ela de fora pois a data é obrigatória, por isso a codicao dt_baixa is not null;
  582 + 2. dominiotipobaixa definido para 'tipoBaixa' do patrimonio, mudar/criar um dominio so da baixa almoxarifado
  583 + */
  584 + INSERT INTO public.baixa
  585 + ( id
  586 + , datacriacao
  587 + , dataedicao
  588 + , version
  589 + , organizacao_id
  590 + , codigo
  591 + )
  592 + SELECT
  593 + NEXTVAL('hibernate_sequence')
  594 + , B.DT_BAIXA AS DATACRIACAO
  595 + , LOCALTIMESTAMP AS DATAEDICAO
  596 + , 0 AS "version"
  597 + , 1 AS organizacao_id
  598 + , (B.CD_BAIXA||B.CD_UG)::bigint AS CODIGO
  599 + FROM ASIWEB.AX_BAIXA B
  600 + WHERE B.DT_BAIXA IS NOT NULL;
  601 +
  602 + INSERT INTO public.alm_baixa
  603 + ( id
  604 + , databaixa
  605 + , numerobaixa
  606 + , almoxarifado_id
  607 + , destino_id
  608 + , dominiosituacaoestorno_id
  609 + , dominiotipobaixa_id
  610 + )
  611 + SELECT B.ID AS id
  612 + , B.DATACRIACAO AS databaixa
  613 + , BA.CD_BAIXA::bigint AS numerobaixa
  614 + , (SELECT ESTRUTURAORGANIZACIONAL_ID FROM alm_eo_almoxarifado WHERE ISALMOXARIFADO IS TRUE LIMIT 1) AS almoxarifado_id
  615 + , PAR.ID AS destino_id
  616 + , (SELECT ID_GRP FROM PUBLIC.DOMINIO_ASI_GRP WHERE TP_GRP='tipoBaixaAlmoxarifado' AND CD_ASI=BA.CD_TIPO_MOVIMENTO) AS dominiotipobaixa_id -- "asiweb.ax_tipo_movimento"
  617 + , (SELECT ID FROM PUBLIC.DOMINIO WHERE CHAVE='tipoStatusBaixaEstorno' AND CODIGO=1) AS dominiosituacaoestorno_id -- por padrão ajustar no final
  618 + FROM BAIXA B
  619 + INNER JOIN ASIWEB.AX_BAIXA BA ON ((BA.CD_BAIXA||BA.CD_UG)::BIGINT=B.CODIGO)
  620 + LEFT JOIN PUBLIC.PARCEIRO PAR ON (PAR.AGENTE_ID=BA.CD_ORGAO_EXTERNO);
  621 +
  622 + DO $$ BEGIN RAISE NOTICE 'Importando os registros consolidados de baixa almoxarifado (detail)...'; END;$$;
  623 +
  624 + INSERT INTO public.alm_bx_item
  625 + ( id
  626 + , datacriacao
  627 + , dataedicao
  628 + , version
  629 + , quantidade
  630 + , materialconsumo_id
  631 + , dataestorno
  632 + , baixaalmoxarifado_id
  633 + , sq_baixa_item
  634 + , total
  635 + , CD_CONTA
  636 + )
  637 + SELECT NEXTVAL('hibernate_sequence') as id
  638 + , B.DATACRIACAO AS datacricao
  639 + , B.DATAEDICAO AS dataedicao
  640 + , 0 AS "version"
  641 + , CASE WHEN I.QT_BAIXAR IS NULL THEN L.QT_ATENDIDO ELSE I.QT_BAIXAR END AS quantidade
  642 + , M.ID AS materialconsumo_id
  643 + , NULL AS dataestorno
  644 + , B.ID AS baixaalmoxarifado_id
  645 + , I.SQ_BAIXA_ITEM AS sq_baixa_item
  646 + , L.VL_BAIXA_ITEM AS total
  647 + , I.CD_CONTA AS CD_CONTA
  648 + FROM ASIWEB.AX_BAIXA_ITEM I
  649 + INNER JOIN ASIWEB.AX_BAIXA BA ON (BA.CD_ORGAO=I.CD_ORGAO AND BA.CD_ALMOXARIFADO=I.CD_ALMOXARIFADO AND BA.CD_UG=I.CD_UG AND BA.CD_BAIXA=I.CD_BAIXA)
  650 + INNER JOIN ASIWEB.AX_BAIXA_UG_LOTE L ON (L.SQ_BAIXA_ITEM=I.SQ_BAIXA_ITEM AND L.CD_ORGAO=I.CD_ORGAO AND L.CD_UG=I.CD_UG AND L.CD_ALMOXARIFADO=I.CD_ALMOXARIFADO AND L.CD_BEM_SERVICO=I.CD_BEM_SERVICO AND L.CD_BAIXA=I.CD_BAIXA)
  651 + INNER JOIN PUBLIC.BAIXA B ON ((BA.CD_BAIXA||BA.CD_UG)::BIGINT=B.CODIGO)
  652 + INNER JOIN PUBLIC.ALM_BAIXA A ON (A.ID=B.ID)
  653 + LEFT JOIN MATERIAL M ON (M.CODIGO = I.CD_BEM_SERVICO);
  654 +
  655 + --Apago o codigo que foi criado so para a migracao, assim posso pegar so os documentos com codigo ou seja os da funcionalidade que estou migrando agora
  656 + update documento
  657 + set codigo = null
  658 + where codigo is not null;
  659 +
  660 + --> DOCUMENTOS DA BAIXAALMOXARIFADO
  661 + INSERT INTO public.documento
  662 + ( id
  663 + , databloqueio
  664 + , datainativo
  665 + , datacriacao
  666 + , dataedicao
  667 + , version
  668 + , dataemissao
  669 + , numero
  670 + , inativador_id
  671 + , autor_id
  672 + , editor_id
  673 + , organizacao_id
  674 + , dominiotipodocumento_id
  675 + , emitente_id
  676 + , codigo
  677 + )
  678 + SELECT NEXTVAL('hibernate_sequence') AS id
  679 + , NULL AS databloqueio
  680 + , NULL AS datainativo
  681 + , LOCALTIMESTAMP AS datacriacao
  682 + , LOCALTIMESTAMP AS dataedicao
  683 + , 0 AS "version"
  684 + , DOC.DT_DOCUMENTO AS dataemissao
  685 + , DOC.NR_DOCUMENTO AS numero
  686 + , NULL AS inativador_id
  687 + , NULL AS autor_id
  688 + , NULL AS editor_id
  689 + , 1 AS organizacao_id
  690 + , (SELECT ID_GRP FROM PUBLIC.DOMINIO_ASI_GRP WHERE TP_GRP='tipoDocumento' AND CD_ASI=DOC.CD_TP_DOCUMENTO) AS dominiotipodocumento_id -- "asiweb.cr_tp_documento"
  691 + , NULL AS emitente_id
  692 + , DOC.CD_BAIXA||DOC.CD_UG AS codigo
  693 + FROM ASIWEB.AX_DOC_BAIXA DOC
  694 + WHERE DOC.DT_DOCUMENTO IS NOT NULL
  695 + ORDER BY DOC.CD_BAIXA;
  696 +
  697 + --> REFERENCIA DOS DOCUMENTOS DAS BAIXASALMOXARIFADO
  698 + INSERT INTO public.baixadocumento
  699 + ( id
  700 + , baixa_ID
  701 + )
  702 + SELECT DOC.ID
  703 + , B.ID
  704 + FROM PUBLIC.DOCUMENTO DOC
  705 + INNER JOIN PUBLIC.BAIXA B ON (B.CODIGO::TEXT = DOC.CODIGO)
  706 + WHERE DOC.CODIGO IS NOT NULL
  707 + ORDER BY DOC.CODIGO;
  708 +COMMIT;
469 709  
470 710 BEGIN; -- #INI :: IMPORTACAO BAIXAS DE ESTOQUE >> BAIXA
471 711  
... ... @@ -477,7 +717,7 @@ BEGIN; -- #INI :: IMPORTACAO BAIXAS DE ESTOQUE &gt;&gt; BAIXA
477 717 1. Somente uma baixa está sem data da baixa, deixei ela de fora pois a data é obrigatória, por isso a codicao dt_baixa is not null;
478 718 2. dominiotipobaixa definido para 'tipoBaixa' do patrimonio, mudar/criar um dominio so da baixa almoxarifado
479 719 */
480   - INSERT INTO public.baixa
  720 + /* INSERT INTO public.baixa
481 721 ( id
482 722 , datacriacao
483 723 , dataedicao
... ... @@ -506,7 +746,7 @@ BEGIN; -- #INI :: IMPORTACAO BAIXAS DE ESTOQUE &gt;&gt; BAIXA
506 746 SELECT B.ID AS id
507 747 , B.DATACRIACAO AS databaixa
508 748 , BA.CD_BAIXA::bigint AS numerobaixa
509   - , (SELECT ESTRUTURAORGANIZACIONAL_ID FROM ESTRUTURAORGANIZACIONALALMOX WHERE ISALMOXARIFADO IS TRUE LIMIT 1) AS almoxarifado_id
  749 + , (SELECT ESTRUTURAORGANIZACIONAL_ID FROM alm_eo_almoxarifado WHERE ISALMOXARIFADO IS TRUE LIMIT 1) AS almoxarifado_id
510 750 , PAR.ID AS destino_id
511 751 , (SELECT ID_GRP FROM PUBLIC.DOMINIO_ASI_GRP WHERE TP_GRP='tipoBaixaAlmoxarifado' AND CD_ASI=BA.CD_TIPO_MOVIMENTO) AS dominiotipobaixa_id -- "asiweb.ax_tipo_movimento"
512 752 , (SELECT ID FROM PUBLIC.DOMINIO WHERE CHAVE='tipoStatusBaixaEstorno' AND CODIGO=1) AS dominiosituacaoestorno_id -- por padrão ajustar no final
... ... @@ -595,14 +835,93 @@ BEGIN; -- #INI :: IMPORTACAO BAIXAS DE ESTOQUE &gt;&gt; BAIXA
595 835 FROM PUBLIC.DOCUMENTO DOC
596 836 INNER JOIN PUBLIC.BAIXA B ON (B.CODIGO::TEXT = DOC.CODIGO)
597 837 WHERE DOC.CODIGO IS NOT NULL
598   - ORDER BY DOC.CODIGO;
  838 + ORDER BY DOC.CODIGO;*/
599 839  
600 840 COMMIT; -- #FIM :: IMPORTACAO BAIXAS DE ESTOQUE >> BAIXA
601 841  
  842 +BEGIN; -- #INI :: IMPORTACAO REQUISICAO >> REQUISICAOCONSUMO (NOVO)
  843 + DO $$ BEGIN RAISE NOTICE 'Importando os registros consolidados de requisicao (header)...'; END;$$;
  844 +
  845 + INSERT INTO public.alm_requisicaoconsumo
  846 + ( id
  847 + , datacriacao
  848 + , dataedicao
  849 + , datarequisicao
  850 + , version
  851 + , numerorequisicao
  852 + , organizacao_id
  853 + , almoxarifado_id
  854 + , centrocusto_id
  855 + , tipostatusrequisicao_id
  856 + , unidaderequisitante_id
  857 + , datafinalizacaoatendimento
  858 + )
  859 + SELECT NEXTVAL('hibernate_sequence')
  860 + , R.DT_INCLUSAO AS datacriacao
  861 + , LOCALTIMESTAMP AS dataedicao
  862 + , R.DT_REQUISICAO AS datarequisicao
  863 + , 0 AS version
  864 + , R.CD_REQUISICAO AS numeroreq
  865 + , 1 AS organizacao_id
  866 + , (SELECT ESTRUTURAORGANIZACIONAL_ID FROM PUBLIC.alm_eo_almoxarifado WHERE ISALMOXARIFADO LIMIT 1) AS almoxarifado_id
  867 + , EA.CENTROCUSTO_ID AS centrocusto_id -- REDMINE #3587
  868 + , (SELECT ID_GRP FROM PUBLIC.DOMINIO_ASI_GRP WHERE TP_GRP='tipoStatusRequisicao' AND CD_ASI=R.CD_SITUACAO_REQ_ATUAL) AS tipostatusrequisicao_id -- "asiweb.ax_situacao_req"
  869 + , E.ID AS unidaderequisitante_id
  870 + , CASE WHEN R.CD_SITUACAO_REQ_ATUAL='007'
  871 + THEN R.DT_SITUACAO_REQ_ATUAL
  872 + ELSE NULL
  873 + END AS datafinalizacaoatendimento
  874 + FROM ASIWEB.AX_REQUISICAO R
  875 + INNER JOIN ASIWEB.AX_UR UR ON (UR.CD_ORGAO = R.CD_ORGAO AND UR.CD_AGENTE::TEXT = R.CD_AGENTE::TEXT)
  876 + INNER JOIN ESTRUTURAORGANIZACIONAL E ON (E.CODIGO = UR.CD_UR||'1')
  877 + INNER JOIN alm_eo_almoxarifado EA ON (EA.ESTRUTURAORGANIZACIONAL_ID = E.ID AND EA.ISUNDCONSUMIDORAREQUISITANTE);
  878 +
  879 + DO $$ BEGIN RAISE NOTICE 'Importando os registros consolidados de requisicao (detail)...'; END;$$;
  880 +
  881 + INSERT INTO public.alm_rc_item
  882 + ( id
  883 + , datacriacao
  884 + , dataedicao
  885 + , version
  886 + , quantidade
  887 + , quantidadedevolvida
  888 + , organizacao_id
  889 + , materialconsumo_id
  890 + , requisicaoconsumo_id
  891 + , quantidadeatendida
  892 + , sq_requisicao_item
  893 + , cd_conta
  894 + )
  895 + SELECT NEXTVAL('hibernate_sequence') AS id
  896 + , R.DATACRIACAO AS datacriacao
  897 + , R.DATAEDICAO AS dataedicao
  898 + , 0 AS "version"
  899 + , I.QT_REQUISICAO AS quantidade
  900 + , 0 AS quantidadedevolvida
  901 + , R.ORGANIZACAO_ID AS organizacao_id
  902 + , M.ID AS materialconsumo_id
  903 + , R.ID AS requisicaoconsumo_id
  904 + , RUL.QT_ATENDIDO AS quantidadeatendida
  905 + , I.SQ_REQUISICAO_ITEM AS sq_requisicao_item
  906 + , I.CD_CONTA AS CD_CONTA
  907 + FROM ASIWEB.AX_REQUISICAO_ITEM I
  908 + INNER JOIN alm_requisicaoconsumo R ON (R.NUMEROREQUISICAO = I.CD_REQUISICAO)
  909 + INNER JOIN MATERIAL M ON (M.CODIGO = I.CD_BEM_SERVICO)
  910 + LEFT JOIN ASIWEB.AX_REQ_UG_LOTE RUL ON I.CD_ORGAO::TEXT = RUL.CD_ORGAO::TEXT AND I.CD_ALMOXARIFADO::TEXT = RUL.CD_ALMOXARIFADO::TEXT AND I.CD_REQUISICAO::TEXT = RUL.CD_REQUISICAO::TEXT AND I.SQ_REQUISICAO_ITEM = RUL.SQ_REQUISICAO_ITEM;
  911 +
  912 + -- O ASI nao tem o conceito de "Atendido Parcialmente" entao verificar necessidade de criar este no GRP
  913 + -- O comando abaixo atribui o novo dominio para as requisicoes com status atendida em que a quantidadeatendida eh menor que a quantidade
  914 + UPDATE public.alm_requisicaoconsumo
  915 + SET tipostatusrequisicao_id = (SELECT ID FROM DOMINIO WHERE CHAVE='tipoStatusRequisicao' AND NOME='ATENDIDA_PARCIALMENTE')
  916 + WHERE ID IN (SELECT DISTINCT R.ID FROM alm_requisicaoconsumo R
  917 + INNER JOIN alm_rc_item RCI ON (RCI.REQUISICAOCONSUMO_ID = R.ID)
  918 + WHERE R.TIPOSTATUSREQUISICAO_ID = (SELECT ID FROM PUBLIC.DOMINIO WHERE CHAVE ='tipoStatusRequisicao' AND CODIGO=3)
  919 + AND (RCI.QUANTIDADE <> RCI.QUANTIDADEATENDIDA));
  920 +COMMIT;
602 921  
603 922 BEGIN; -- #INI :: IMPORTACAO REQUISICAO >> REQUISICAOCONSUMO
604 923  
605   - DO $$ BEGIN RAISE NOTICE 'Importando os registros consolidados de requisicao (header)...'; END;$$;
  924 + /*DO $$ BEGIN RAISE NOTICE 'Importando os registros consolidados de requisicao (header)...'; END;$$;
606 925  
607 926 INSERT INTO public.requisicaoconsumo
608 927 ( id
... ... @@ -625,7 +944,7 @@ BEGIN; -- #INI :: IMPORTACAO REQUISICAO &gt;&gt; REQUISICAOCONSUMO
625 944 , 0 AS version
626 945 , R.CD_REQUISICAO AS numeroreq
627 946 , 1 AS organizacao_id
628   - , (SELECT ESTRUTURAORGANIZACIONAL_ID FROM PUBLIC.ESTRUTURAORGANIZACIONALALMOX WHERE ISALMOXARIFADO LIMIT 1) AS almoxarifado_id
  947 + , (SELECT ESTRUTURAORGANIZACIONAL_ID FROM PUBLIC.alm_eo_almoxarifado WHERE ISALMOXARIFADO LIMIT 1) AS almoxarifado_id
629 948 , EA.CENTROCUSTO_ID AS centrocusto_id -- REDMINE #3587
630 949 , (SELECT ID_GRP FROM PUBLIC.DOMINIO_ASI_GRP WHERE TP_GRP='tipoStatusRequisicao' AND CD_ASI=R.CD_SITUACAO_REQ_ATUAL) AS tipostatusrequisicao_id -- "asiweb.ax_situacao_req"
631 950 , E.ID AS unidaderequisitante_id
... ... @@ -636,7 +955,7 @@ BEGIN; -- #INI :: IMPORTACAO REQUISICAO &gt;&gt; REQUISICAOCONSUMO
636 955 FROM ASIWEB.AX_REQUISICAO R
637 956 INNER JOIN ASIWEB.AX_UR UR ON (UR.CD_ORGAO = R.CD_ORGAO AND UR.CD_AGENTE::TEXT = R.CD_AGENTE::TEXT)
638 957 INNER JOIN ESTRUTURAORGANIZACIONAL E ON (E.CODIGO = UR.CD_UR||'1')
639   - INNER JOIN ESTRUTURAORGANIZACIONALALMOX EA ON (EA.ESTRUTURAORGANIZACIONAL_ID = E.ID AND EA.ISUNDCONSUMIDORAREQUISITANTE);
  958 + INNER JOIN alm_eo_almoxarifado EA ON (EA.ESTRUTURAORGANIZACIONAL_ID = E.ID AND EA.ISUNDCONSUMIDORAREQUISITANTE);
640 959  
641 960 DO $$ BEGIN RAISE NOTICE 'Importando os registros consolidados de requisicao (detail)...'; END;$$;
642 961  
... ... @@ -679,13 +998,98 @@ BEGIN; -- #INI :: IMPORTACAO REQUISICAO &gt;&gt; REQUISICAOCONSUMO
679 998 WHERE ID IN (SELECT DISTINCT R.ID FROM REQUISICAOCONSUMO R
680 999 INNER JOIN REQUISICAOCONSUMOITEM RCI ON (RCI.REQUISICAOCONSUMO_ID = R.ID)
681 1000 WHERE R.TIPOSTATUSREQUISICAO_ID = (SELECT ID FROM PUBLIC.DOMINIO WHERE CHAVE ='tipoStatusRequisicao' AND CODIGO=3)
682   - AND (RCI.QUANTIDADE <> RCI.QUANTIDADEATENDIDA));
  1001 + AND (RCI.QUANTIDADE <> RCI.QUANTIDADEATENDIDA))*/;
683 1002 COMMIT; -- #FIM :: IMPORTACAO REQUISICAO >> REQUISICAOCONSUMO
684 1003  
  1004 +BEGIN; -- #INI :: IMPORTACAO ATENDIMENTO REQUISICAO >> TESTAR (novo)
  1005 + CREATE INDEX idx_requisicao_link
  1006 + ON alm_rc_item
  1007 + USING btree
  1008 + (requisicaoconsumo_id, materialconsumo_id, sq_requisicao_item);
  1009 +
  1010 + CREATE INDEX idx_atendimentorequisicao_numero
  1011 + ON alm_rc_atendimento
  1012 + USING btree
  1013 + (numeroatendimento);
  1014 +
  1015 + DO $$ BEGIN RAISE NOTICE 'Importando os registros consolidados de atendimento requisicao (header)...'; END;$$;
  1016 + INSERT INTO public.alm_rc_atendimento
  1017 + ( id
  1018 + , databloqueio
  1019 + , datainativo
  1020 + , datacriacao
  1021 + , dataedicao
  1022 + , version
  1023 + , dataatendimento
  1024 + , numeroatendimento
  1025 + , inativador_id
  1026 + , autor_id
  1027 + , editor_id
  1028 + , organizacao_id
  1029 + , requisicaoconsumo_id
  1030 + )
  1031 + SELECT NEXTVAL('hibernate_sequence')
  1032 + , NULL AS databloqueio
  1033 + , NULL AS datainativo
  1034 + , R.DT_CONFIRMADA AS datacriacao
  1035 + , LOCALTIMESTAMP AS dataedicao
  1036 + , 0 AS "version"
  1037 + , R.DT_CONFIRMADA AS dataatendimento
  1038 + , AR.ID_REQ_UG_LOTE AS numeroatendimento
  1039 + , NULL AS inativador_id
  1040 + , NULL AS autor_id
  1041 + , NULL AS editor_id
  1042 + , 1 AS organizacao_id
  1043 + , RC.ID AS requisicao_id
  1044 + FROM ASIWEB.AX_REQ_UG_LOTE AR
  1045 + INNER JOIN ASIWEB.AX_REQUISICAO R ON (R.CD_REQUISICAO = AR.CD_REQUISICAO)
  1046 + INNER JOIN ASIWEB.AX_REQUISICAO_ITEM RI ON (RI.CD_ALMOXARIFADO = AR.CD_ALMOXARIFADO AND RI.CD_REQUISICAO = AR.CD_REQUISICAO AND RI.CD_ORGAO = AR.CD_ORGAO AND RI.SQ_REQUISICAO_ITEM = AR.SQ_REQUISICAO_ITEM)
  1047 + INNER JOIN alm_requisicaoconsumo RC ON (RC.NUMEROREQUISICAO = R.CD_REQUISICAO)
  1048 + WHERE R.CD_SITUACAO_REQ_ATUAL IN ('002', '003', '007');
  1049 +
  1050 + DO $$ BEGIN RAISE NOTICE 'Importando os registros consolidados de atendimento requisicao item (detail)...'; END;$$;
  1051 + INSERT INTO public.alm_rc_atendimentoitem
  1052 + ( id
  1053 + , databloqueio
  1054 + , datainativo
  1055 + , datacriacao
  1056 + , dataedicao
  1057 + , version
  1058 + , quantidade
  1059 + , inativador_id
  1060 + , autor_id
  1061 + , editor_id
  1062 + , organizacao_id
  1063 + , atendimentoreqconsumo_id
  1064 + , material_id
  1065 + , requisicaoconsumoitem_id
  1066 + , VALOR
  1067 + )
  1068 + SELECT NEXTVAL('hibernate_sequence') AS id
  1069 + , NULL AS databloqueio
  1070 + , NULL AS datainativo
  1071 + , ARC.DATACRIACAO AS datacriacao
  1072 + , LOCALTIMESTAMP AS dataedicao
  1073 + , 0 AS "version"
  1074 + , AR.QT_ATENDIDO AS quantidade
  1075 + , NULL AS inativador_id
  1076 + , NULL AS autor_id
  1077 + , NULL AS editor_id
  1078 + , 1 AS organizacao_id
  1079 + , ARC.ID AS atendimentoreqconsumo_id
  1080 + , M.ID AS material_id
  1081 + , RCI.ID AS requisicaoconsumoitem_id
  1082 + , AR.VL_ATENDIDO/100 AS VALOR
  1083 + FROM ASIWEB.AX_REQ_UG_LOTE AR
  1084 + INNER JOIN alm_rc_atendimento ARC ON (ARC.NUMEROATENDIMENTO::NUMERIC = AR.ID_REQ_UG_LOTE)
  1085 + INNER JOIN MATERIAL M ON (M.CODIGO = AR.CD_BEM_SERVICO)
  1086 + INNER JOIN ALM_RC_ITEM RCI ON (RCI.REQUISICAOCONSUMO_ID = ARC.REQUISICAOCONSUMO_ID AND RCI.MATERIALCONSUMO_ID = M.ID AND RCI.SQ_REQUISICAO_ITEM = AR.SQ_REQUISICAO_ITEM);
  1087 +COMMIT;
  1088 +
685 1089  
686 1090 BEGIN; -- #INI :: IMPORTACAO ATENDIMENTO REQUISICAO >> TESTAR
687 1091  
688   - CREATE INDEX idx_requisicao_link
  1092 +/* CREATE INDEX idx_requisicao_link
689 1093 ON REQUISICAOCONSUMOITEM
690 1094 USING btree
691 1095 (requisicaoconsumo_id, materialconsumo_id, sq_requisicao_item);
... ... @@ -767,13 +1171,193 @@ BEGIN; -- #INI :: IMPORTACAO ATENDIMENTO REQUISICAO &gt;&gt; TESTAR
767 1171 INNER JOIN ATENDIMENTOREQUISICAOCONSUMO ARC ON (ARC.NUMEROATENDIMENTO::NUMERIC = AR.ID_REQ_UG_LOTE)
768 1172 INNER JOIN MATERIAL M ON (M.CODIGO = AR.CD_BEM_SERVICO)
769 1173 INNER JOIN REQUISICAOCONSUMOITEM RCI ON (RCI.REQUISICAOCONSUMO_ID = ARC.REQUISICAOCONSUMO_ID AND RCI.MATERIALCONSUMO_ID = M.ID AND RCI.SQ_REQUISICAO_ITEM = AR.SQ_REQUISICAO_ITEM);
770   -
  1174 + */
771 1175 --demorando maquina ju 28 min 15-03-2016
772 1176 COMMIT; -- #FIM :: IMPORTACAO ATENDIMENTO REQUISICAO >> TESTAR
773 1177  
  1178 +BEGIN; -- #INI :: DEVOLUCOES (novo)
  1179 + DO $$ BEGIN RAISE NOTICE 'Importando os registros consolidados de devolucao (header)...'; END;$$;
  1180 + ALTER TABLE alm_devolucao
  1181 + ALTER COLUMN REQUISICAO_ID DROP NOT NULL;
  1182 +
  1183 + INSERT INTO public.alm_devolucao
  1184 + ( ID
  1185 + ,DATABLOQUEIO
  1186 + ,DATAINATIVO
  1187 + ,DATACRIACAO
  1188 + ,DATAEDICAO
  1189 + ,VERSION
  1190 + ,CODIGO
  1191 + ,DATADEVOLUCAO
  1192 + ,INATIVADOR_ID
  1193 + ,AUTOR_ID
  1194 + ,EDITOR_ID
  1195 + ,ORGANIZACAO_ID
  1196 + ,REQUISICAO_ID
  1197 + )
  1198 + SELECT NEXTVAL('hibernate_sequence')
  1199 + ,NULL
  1200 + ,NULL
  1201 + ,NR.DT_INCLUSAO AS datacriacao
  1202 + ,NR.DT_INCLUSAO AS dataedicao
  1203 + ,0 AS "version"
  1204 + ,NR.CD_NOTA_REC AS codigo
  1205 + ,NR.DT_CONTABIL AS datacontabil
  1206 + ,NULL AS INATIVADOR_ID
  1207 + ,NULL AS AUTOR_ID
  1208 + ,NULL AS EDITOR_ID
  1209 + ,(select id from organizacao limit 1) AS ORGANIZACAO_ID
  1210 + ,NULL AS REQUISICAO_ID
  1211 + FROM ASIWEB.AX_NOTA_REC NR
  1212 + JOIN ASIWEB.AX_V_AGENTE_ENTRADA AE ON NR.CD_AGENTE_ENTRADA::TEXT=AE.CD_AGENTE::TEXT
  1213 + WHERE AE.CD_TIPO_AGENTE = '2' and NR.CD_TIPO_MOVIMENTO IN ('005', '033');
  1214 +
  1215 + DO $$ BEGIN RAISE NOTICE 'Importando os registros consolidados de devolucao (detail)...'; END;$$;
  1216 + INSERT INTO public.alm_dev_item
  1217 + ( ID
  1218 + ,DATABLOQUEIO
  1219 + ,DATAINATIVO
  1220 + ,DATACRIACAO
  1221 + ,DATAEDICAO
  1222 + ,VERSION
  1223 + ,QUANTIDADE
  1224 + ,INATIVADOR_ID
  1225 + ,AUTOR_ID
  1226 + ,EDITOR_ID
  1227 + ,ORGANIZACAO_ID
  1228 + ,DEVOLUCAO_ID
  1229 + ,MATERIALCONSUMO_ID
  1230 + ,cd_conta
  1231 + )
  1232 + SELECT NEXTVAL('hibernate_sequence')
  1233 + ,NULL
  1234 + ,NULL
  1235 + ,D.DATACRIACAO AS datacriacao
  1236 + ,D.DATAEDICAO AS dataedicao
  1237 + ,0 AS "version"
  1238 + ,I.QT_NOTA_REC_ITEM AS quantidade
  1239 + ,NULL AS INATIVADOR_ID
  1240 + ,NULL AS AUTOR_ID
  1241 + ,NULL AS EDITOR_ID
  1242 + ,(SELECT ID FROM ORGANIZACAO LIMIT 1) AS ORGANIZACAO_ID
  1243 + ,D.ID AS DEVOLUCAO_ID
  1244 + ,M.ID AS MATERIALCONSUMO_ID
  1245 + ,I.CD_CONTA AS CD_CONTA
  1246 + FROM PUBLIC.alm_devolucao D
  1247 + JOIN ASIWEB.AX_NOTA_REC_ITEM I ON D.CODIGO=I.CD_NOTA_REC
  1248 + JOIN PUBLIC.MATERIAL M ON (M.CODIGO=I.CD_BEM_SERVICO);
  1249 +
  1250 + ALTER TABLE ALM_REQUISICAOCONSUMO
  1251 + ADD COLUMN DEVOLUCAO_ID BIGINT;
  1252 +
  1253 + --CRIANDO AS REQUISICOES PARA LINKAR AS DEVOLUCOES
  1254 +
  1255 + -- #INI :: REQUISICAO CONSUMO VINCULADA A DEVOLUCAO
  1256 + DO $$ BEGIN RAISE NOTICE 'Importando os registros consolidados de requisicoes que devem ser linkadas a devolucao '; END;$$;
  1257 +
  1258 + DO $$
  1259 + DECLARE
  1260 + rREQ RECORD;
  1261 + v_codigo character varying(10);
  1262 + BEGIN
  1263 + -- REQUISICOES QUE DEVERAO SER VINCULADAS AS DEVOLUCOES
  1264 + FOR rREQ IN
  1265 + SELECT
  1266 + NR.DT_INCLUSAO AS datarequisicao
  1267 + ,(SELECT ID FROM ORGANIZACAO LIMIT 1) AS organizacao
  1268 + ,(SELECT ESTRUTURAORGANIZACIONAL_ID FROM PUBLIC.alm_eo_almoxarifado WHERE ISALMOXARIFADO IS TRUE LIMIT 1) AS ALMOXARIFADO_id
  1269 + ,(SELECT ID FROM PUBLIC.CENTROCUSTO WHERE CODIGO = CC.CD_CENTRO_CUSTO) AS CENTROCUSTO
  1270 + ,(SELECT ID FROM PUBLIC.DOMINIO WHERE CHAVE='tipoStatusRequisicao' AND CODIGO=5) AS TIPOSTATUSREQUISICAO -- FINALIZADA
  1271 + ,E.ID AS unidaderequisitante
  1272 + ,NR.DT_INCLUSAO AS DATAFINALIZACAO
  1273 + ,D.ID AS DEVOLUCAO
  1274 + FROM ASIWEB.AX_NOTA_REC NR
  1275 + JOIN ASIWEB.AX_V_AGENTE_ENTRADA AE ON NR.CD_AGENTE_ENTRADA::TEXT=AE.CD_AGENTE::TEXT
  1276 + JOIN ASIWEB.AX_UR UR ON (UR.CD_UR = AE.CD_AGENTE_EXT)
  1277 + JOIN ASIWEB.CR_CENTRO_CUSTO CC ON (CC.CD_CENTRO_CUSTO = UR.CD_CENTRO_CUSTO)
  1278 + INNER JOIN ESTRUTURAORGANIZACIONAL E ON (E.CODIGO = UR.CD_UR||'1')
  1279 + INNER JOIN alm_eo_almoxarifado EA ON (EA.ESTRUTURAORGANIZACIONAL_ID = E.ID AND EA.ISUNDCONSUMIDORAREQUISITANTE)
  1280 + INNER JOIN alm_devolucao D ON (D.CODIGO = NR.CD_NOTA_REC)
  1281 + WHERE AE.CD_TIPO_AGENTE = '2' and NR.CD_TIPO_MOVIMENTO IN ('005', '033')
  1282 + LOOP
  1283 + v_codigo := (select extract(year from rREQ.datarequisicao)||lpad(t.novareq::text, 6, '0') from (select substring(max(numerorequisicao) from 5 for 6)::bigint+1 as novareq from alm_requisicaoconsumo where extract(year from datarequisicao) = extract(year from rREQ.datarequisicao)) as t);
  1284 +
  1285 + INSERT INTO public.alm_requisicaoconsumo
  1286 + (id,
  1287 + datacriacao,
  1288 + dataedicao,
  1289 + datarequisicao,
  1290 + version,
  1291 + numerorequisicao,
  1292 + organizacao_id,
  1293 + almoxarifado_id,
  1294 + centrocusto_id,
  1295 + tipostatusrequisicao_id,
  1296 + unidaderequisitante_id,
  1297 + datafinalizacaoatendimento,
  1298 + devolucao_id
  1299 + )VALUES(
  1300 + NEXTVAL('hibernate_sequence'),
  1301 + rREQ.datarequisicao,
  1302 + rREQ.datarequisicao,
  1303 + rREQ.datarequisicao,
  1304 + 0,
  1305 + v_codigo,
  1306 + rREQ.organizacao,
  1307 + rREQ.almoxarifado_id,
  1308 + rREQ.centrocusto,
  1309 + rREQ.TIPOSTATUSREQUISICAO,
  1310 + rREQ.unidaderequisitante,
  1311 + rREQ.datarequisicao,
  1312 + rREQ.DEVOLUCAO
  1313 + );
  1314 + END LOOP;
  1315 +
  1316 + END$$;
  1317 + -- #FIM :: REQUISICAO CONSUMO VINCULADA A DEVOLUCAO
  1318 +
  1319 + INSERT INTO PUBLIC.alm_rc_item
  1320 + ( ID,
  1321 + DATACRIACAO,
  1322 + DATAEDICAO,
  1323 + VERSION,
  1324 + QUANTIDADE,
  1325 + QUANTIDADEDEVOLVIDA,
  1326 + organizacao_id,
  1327 + MATERIALCONSUMO_ID,
  1328 + REQUISICAOCONSUMO_ID,
  1329 + QUANTIDADEATENDIDA
  1330 + )
  1331 + SELECT NEXTVAL('hibernate_sequence')
  1332 + ,D.DATACRIACAO AS DATACRIACAO
  1333 + ,D.DATAEDICAO AS DATAEDICAO
  1334 + ,0 AS "VERSION"
  1335 + ,I.QT_NOTA_REC_ITEM AS QTD
  1336 + ,I.QT_NOTA_REC_ITEM AS QTDDEVOLVIDA
  1337 + ,(SELECT ID FROM ORGANIZACAO LIMIT 1) AS ORGANIZACAO
  1338 + ,M.ID AS MATERIAL_ID
  1339 + ,(select id from ALM_REQUISICAOCONSUMO where devolucao_id = d.id) as requisicao_id
  1340 + ,I.QT_NOTA_REC_ITEM AS QTDATENDIDA
  1341 + FROM PUBLIC.ALM_DEVOLUCAO D
  1342 + JOIN ASIWEB.AX_NOTA_REC_ITEM I ON D.CODIGO=I.CD_NOTA_REC
  1343 + JOIN PUBLIC.MATERIAL M ON (M.CODIGO=I.CD_BEM_SERVICO);
  1344 +
  1345 + -- Setando requisicoes nas devolucoes
  1346 +
  1347 + UPDATE ALM_DEVOLUCAO d
  1348 + SET requisicao_id = (select id from ALM_REQUISICAOCONSUMO where devolucao_id = d.id);
  1349 +
  1350 + --campo de devolucao na requisicao nao é mais necessario
  1351 + ALTER TABLE ALM_REQUISICAOCONSUMO
  1352 + DROP COLUMN DEVOLUCAO_ID;
  1353 +
  1354 +
  1355 + ALTER TABLE ALM_DEVOLUCAO
  1356 + ALTER COLUMN REQUISICAO_ID SET NOT NULL;
  1357 +COMMIT; -- #FIM :: DEVOLUCOES
774 1358  
775 1359 BEGIN; -- #INI :: DEVOLUCOES
776   - DO $$ BEGIN RAISE NOTICE 'Importando os registros consolidados de devolucao (header)...'; END;$$;
  1360 +/* DO $$ BEGIN RAISE NOTICE 'Importando os registros consolidados de devolucao (header)...'; END;$$;
777 1361 ALTER TABLE DEVOLUCAO
778 1362 ALTER COLUMN REQUISICAO_ID DROP NOT NULL;
779 1363  
... ... @@ -862,9 +1446,9 @@ BEGIN; -- #INI :: DEVOLUCOES
862 1446 SELECT
863 1447 NR.DT_INCLUSAO AS datarequisicao
864 1448 ,(SELECT ID FROM ORGANIZACAO LIMIT 1) AS organizacao
865   - ,(SELECT ESTRUTURAORGANIZACIONAL_ID FROM PUBLIC.ESTRUTURAORGANIZACIONALALMOX WHERE ISALMOXARIFADO IS TRUE LIMIT 1) AS ALMOXARIFADO_id
  1449 + ,(SELECT ESTRUTURAORGANIZACIONAL_ID FROM PUBLIC.alm_eo_almoxarifado WHERE ISALMOXARIFADO IS TRUE LIMIT 1) AS ALMOXARIFADO_id
866 1450 ,(SELECT ID FROM PUBLIC.CENTROCUSTO WHERE CODIGO = CC.CD_CENTRO_CUSTO) AS CENTROCUSTO
867   - ,(SELECT ID FROM PUBLIC.DOMINIO WHERE CHAVE='tipoStatusRequisicao' AND CODIGO=5) AS TIPOSTATUSREQUISICAO -- DEVOLVIDA
  1451 + ,(SELECT ID FROM PUBLIC.DOMINIO WHERE CHAVE='tipoStatusRequisicao' AND CODIGO=5) AS TIPOSTATUSREQUISICAO -- FINALIZADA
868 1452 ,E.ID AS unidaderequisitante
869 1453 ,NR.DT_INCLUSAO AS DATAFINALIZACAO
870 1454 ,D.ID AS DEVOLUCAO
... ... @@ -873,7 +1457,7 @@ BEGIN; -- #INI :: DEVOLUCOES
873 1457 JOIN ASIWEB.AX_UR UR ON (UR.CD_UR = AE.CD_AGENTE_EXT)
874 1458 JOIN ASIWEB.CR_CENTRO_CUSTO CC ON (CC.CD_CENTRO_CUSTO = UR.CD_CENTRO_CUSTO)
875 1459 INNER JOIN ESTRUTURAORGANIZACIONAL E ON (E.CODIGO = UR.CD_UR||'1')
876   - INNER JOIN ESTRUTURAORGANIZACIONALALMOX EA ON (EA.ESTRUTURAORGANIZACIONAL_ID = E.ID AND EA.ISUNDCONSUMIDORAREQUISITANTE)
  1460 + INNER JOIN alm_eo_almoxarifado EA ON (EA.ESTRUTURAORGANIZACIONAL_ID = E.ID AND EA.ISUNDCONSUMIDORAREQUISITANTE)
877 1461 INNER JOIN DEVOLUCAO D ON (D.CODIGO = NR.CD_NOTA_REC)
878 1462 WHERE AE.CD_TIPO_AGENTE = '2' and NR.CD_TIPO_MOVIMENTO IN ('005', '033')
879 1463 LOOP
... ... @@ -950,15 +1534,15 @@ BEGIN; -- #INI :: DEVOLUCOES
950 1534  
951 1535  
952 1536 ALTER TABLE DEVOLUCAO
953   - ALTER COLUMN REQUISICAO_ID SET NOT NULL;
  1537 + ALTER COLUMN REQUISICAO_ID SET NOT NULL; */
954 1538 COMMIT; -- #FIM :: DEVOLUCOES
955 1539  
956 1540  
957 1541 -- ############ ##########
958 1542 -- ############ REVER COM CONCEITO DE CLASSIFICACAO POR NATUREZA (ESTOCAVEL E NAO ESTOCAVEL) ##########
959 1543 -- ############ ##########
960   -BEGIN; -- #INI :: IMPORTACAO SALDOS DE ESTOQUE >> MOVIMENTOESTOQUESALDOMEDIO
961   - DO $$ BEGIN RAISE NOTICE 'Importando os registros consolidados de materialestoquesaldomedio ...'; END;$$;
  1544 +BEGIN; -- #INI :: IMPORTACAO SALDOS DE ESTOQUE >> MOVIMENTOESTOQUESALDOMEDIO
  1545 +/* DO $$ BEGIN RAISE NOTICE 'Importando os registros consolidados de materialestoquesaldomedio ...'; END;$$;
962 1546 INSERT INTO public.materialestoquesaldomedio
963 1547 ( id
964 1548 , datacriacao
... ... @@ -990,89 +1574,77 @@ BEGIN; -- #INI :: IMPORTACAO SALDOS DE ESTOQUE &gt;&gt; MOVIMENTOESTOQUESALDOMEDIO
990 1574 FROM MATERIALESTOQUESALDOMEDIO E
991 1575 INNER JOIN MATERIAL M ON (M.ID = E.MATERIAL_ID AND DOMINIOTIPOMATERIAL_ID = (SELECT id FROM DOMINIO WHERE CHAVE='tipoMaterial' and codigo = 1))
992 1576 ) AS ESTOQUE
993   - WHERE S.MATERIAL_ID = ESTOQUE.MATERIAL_ID;
  1577 + WHERE S.MATERIAL_ID = ESTOQUE.MATERIAL_ID; */
994 1578 COMMIT; -- #FIM :: IMPORTACAO SALDOS DE ESTOQUE >> MOVIMENTOESTOQUESALDOMEDIO
995 1579  
996   -BEGIN; -- #INI :: IMPORTACAO DOS MOVIMENTO DE ESTOQUE >> MOVIMENTOESTOQUE
  1580 +BEGIN; -- #INI :: IMPORTACAO DOS MOVIMENTO DE ESTOQUE >> alm_me_movimentoestoque
997 1581 DO $$ BEGIN RAISE NOTICE 'Criando os movimentos do estoque para geracao dos saldos mensais'; END;$$;
998 1582 -- MOVIMENTOS DE ENTRADA
999 1583 DO $$ BEGIN RAISE NOTICE 'Criando os movimentos do estoque para entradas'; END;$$;
1000   - INSERT INTO public.movimentoestoque
1001   - ( id
1002   - , databloqueio
1003   - , datainativo
1004   - , datacriacao
1005   - , dataedicao
1006   - , version
1007   - , datamovimento
1008   - , quantidade
1009   - , valorfifo
1010   - , valormedia
1011   - , inativador_id
1012   - , autor_id
1013   - , editor_id
1014   - , organizacao_id
1015   - , atendimentoreqconsumoitem_id
1016   - , baixaalmoxarifadoitem_id
1017   - , devolucaoitem_id
1018   - , entradaalmoxarifadoitem_id
1019   - , localestoque_id
1020   - , material_id
1021   - , materialestoquesaldo_id
1022   - , tipomovimento_id
1023   - )
  1584 + INSERT INTO alm_me_movimentoestoque
  1585 + ( id
  1586 + , databloqueio
  1587 + , datainativo
  1588 + , datacriacao
  1589 + , dataedicao
  1590 + , version
  1591 + , datamovimento
  1592 + , idclassereferencia
  1593 + , quantidade
  1594 + , valorfifo
  1595 + , valormedia
  1596 + , organizacao_id
  1597 + , dominioclassereferencia_id
  1598 + , material_id
  1599 + , materialestoque_id
  1600 + , materiallocalestoque_id
  1601 + , tipomovimento_id
  1602 + )
1024 1603 SELECT NEXTVAL('hibernate_sequence') AS ID
1025 1604 , NULL AS databloqueio
1026 1605 , NULL AS datainativo
1027   - , E.DATACRIACAO AS datacriacao
  1606 + , EA.DATACRIACAO AS datacriacao
1028 1607 , LOCALTIMESTAMP AS dataedicao
1029 1608 , 0 AS "version"
1030   - , E.DATACONTABIL AS datamovimento
  1609 + , EA.DATACONTABIL AS datamovimento
  1610 + , EA.ID AS IDCLASSEREFERENCIA
1031 1611 , EAI.QUANTIDADE AS quantidade
1032   - , EAI.VALORTOTAL AS valorfifo
1033   - , EAI.VALORTOTAL AS valormedia
1034   - , NULL AS inativador_id
1035   - , NULL AS autor_id
1036   - , NULL AS editor_id
  1612 + , EAI.VALORTOTAL AS valorfifo
  1613 + , EAI.VALORTOTAL AS valormedia
1037 1614 , 1 AS organizacao_id
1038   - , NULL AS atendimentoreqconsumoitem_id
1039   - , NULL AS baixaalmoxarifadoitem_id
1040   - , NULL AS devolucaoitem_id
1041   - , EAI.ID AS entradaalmoxarifadoitem_id
1042   - , (SELECT ID FROM LOCALESTOQUE LIMIT 1) AS LOCALESTOQUE_ID
  1615 + , (SELECT ID FROM DOMINIO WHERE CHAVE = 'classeReferencia' AND CODIGO = 15) AS DOMINIOCLASSEREFERENCIA_ID --ENTRADAALMOXARIFADO
  1616 + , (SELECT ID FROM ALM_ESTOQUE LIMIT 1) AS LOCALESTOQUE_ID
1043 1617 , EAI.MATERIAL_ID AS material_id
1044   - , NULL AS materialestoquesaldo_id
  1618 + , ME.ID AS MATERIALESTOQUE_ID
  1619 + , EAI.materiallocalestoque_id AS materiallocalestoque_id
1045 1620 , (SELECT ID FROM DOMINIO WHERE CHAVE = 'tipoMovimentoEstoque' AND CODIGO = 1) AS tipomovimento_id
1046   - FROM ENTRADAALMOXARIFADO EA
1047   - INNER JOIN ENTRADA E ON (E.ID = EA.ID)
1048   - INNER JOIN ENTRADAALMOXARIFADOITEM EAI ON (EAI.ENTRADA_ID = E.ID);
  1621 + FROM ALM_ENTRADA EA
  1622 + INNER JOIN alm_en_entradaitem EAI ON (EAI.ENTRADA_ID = EA.ID)
  1623 + INNER JOIN ALM_MATERIALESTOQUE ME ON (ME.MATERIAL_ID = EAI.MATERIAL_ID);
1049 1624  
1050 1625 --MOVIMENTOS DE BAIXA
1051 1626 DO $$ BEGIN RAISE NOTICE 'Criando os movimentos do estoque para a baixa'; END;$$;
1052   - INSERT INTO public.movimentoestoque
1053   - ( id
1054   - , databloqueio
1055   - , datainativo
1056   - , datacriacao
1057   - , dataedicao
1058   - , version
1059   - , datamovimento
1060   - , quantidade
1061   - , valorfifo
1062   - , valormedia
1063   - , inativador_id
1064   - , autor_id
1065   - , editor_id
1066   - , organizacao_id
1067   - , atendimentoreqconsumoitem_id
1068   - , baixaalmoxarifadoitem_id
1069   - , devolucaoitem_id
1070   - , entradaalmoxarifadoitem_id
1071   - , localestoque_id
1072   - , material_id
1073   - , materialestoquesaldo_id
1074   - , tipomovimento_id
1075   - )
  1627 + --MOVIMENTOS DE BAIXA
  1628 + DO $$ BEGIN RAISE NOTICE 'Criando os movimentos do estoque para a baixa'; END;$$;
  1629 + INSERT INTO alm_me_movimentoestoque
  1630 + ( id
  1631 + , databloqueio
  1632 + , datainativo
  1633 + , datacriacao
  1634 + , dataedicao
  1635 + , version
  1636 + , datamovimento
  1637 + , idclassereferencia
  1638 + , quantidade
  1639 + , valorfifo
  1640 + , valormedia
  1641 + , organizacao_id
  1642 + , dominioclassereferencia_id
  1643 + , material_id
  1644 + , materialestoque_id
  1645 + , materiallocalestoque_id
  1646 + , tipomovimento_id
  1647 + )
1076 1648 SELECT NEXTVAL('hibernate_sequence') AS ID
1077 1649 , NULL AS databloqueio
1078 1650 , NULL AS datainativo
... ... @@ -1080,54 +1652,48 @@ BEGIN; -- #INI :: IMPORTACAO DOS MOVIMENTO DE ESTOQUE &gt;&gt; MOVIMENTOESTOQUE
1080 1652 , LOCALTIMESTAMP AS dataedicao
1081 1653 , 0 AS "version"
1082 1654 , BA.DATABAIXA AS datamovimento
  1655 + , BAI.ID AS IDCLASSEREFERENCIA
1083 1656 , -BAI.QUANTIDADE AS quantidade
1084 1657 , -(BL.VL_BAIXA_ITEM/100) AS valorfifo
1085 1658 , -(BL.VL_BAIXA_ITEM/100) AS valormedia
1086   - , NULL AS inativador_id
1087   - , NULL AS autor_id
1088   - , NULL AS editor_id
1089 1659 , 1 AS organizacao_id
1090   - , NULL AS atendimentoreqconsumoitem_id
1091   - , BAI.ID AS baixaalmoxarifadoitem_id
1092   - , NULL AS devolucaoitem_id
1093   - , NULL AS entradaalmoxarifadoitem_id
1094   - , (SELECT ID FROM LOCALESTOQUE LIMIT 1) AS localestoque_id
  1660 + , (SELECT ID FROM DOMINIO WHERE CHAVE = 'classeReferencia' AND CODIGO = 13) AS DOMINIOCLASSEREFERENCIA_ID --BAIXAALMOXARIFADO
  1661 + , (SELECT ID FROM ALM_ESTOQUE LIMIT 1) AS localestoque_id
1095 1662 , BAI.MATERIALCONSUMO_ID AS material_id
1096   - , NULL AS materialestoquesaldo_id
  1663 + , ME.ID AS MATERIALESTOQUE_ID
  1664 + , LE.ID AS materiallocalestoque_id
1097 1665 , (SELECT ID FROM DOMINIO WHERE CHAVE = 'tipoMovimentoEstoque' AND CODIGO = 2) AS tipomovimento_id
1098   - FROM BAIXAALMOXARIFADO BA
  1666 + FROM ALM_BAIXA BA
1099 1667 INNER JOIN BAIXA B ON (B.ID = BA.ID)
1100   - INNER JOIN BAIXAALMOXARIFADOITEM BAI ON (BAI.BAIXAALMOXARIFADO_ID = B.ID)
  1668 + INNER JOIN ALM_BX_ITEM BAI ON (BAI.BAIXAALMOXARIFADO_ID = B.ID)
  1669 + INNER JOIN ALM_MATERIALESTOQUE ME ON (ME.MATERIAL_ID = BAI.MATERIALCONSUMO_ID)
1101 1670 INNER JOIN ASIWEB.AX_BAIXA_ITEM BI ON (BI.CD_BAIXA||BI.CD_UG = B.CODIGO::text and BAI.SQ_BAIXA_ITEM = BI.SQ_BAIXA_ITEM)
1102 1671 INNER JOIN ASIWEB.AX_BAIXA_UG_LOTE BL ON (BL.CD_ORGAO = BI.CD_ORGAO AND BL.CD_ALMOXARIFADO = BI.CD_ALMOXARIFADO AND BL.CD_UG = BI.CD_UG AND BL.CD_BAIXA = BI.CD_BAIXA AND BL.CD_BEM_SERVICO = BI.CD_BEM_SERVICO AND BL.SQ_BAIXA_ITEM = BI.SQ_BAIXA_ITEM)
  1672 + INNER JOIN PUBLIC.ALM_ES_ENDERECOESTOQUE EE ON (EE.CODIGO = BL.CD_ENDERECO)
  1673 + INNER JOIN PUBLIC.ALM_ME_LOCALESTOQUE LE ON (LE.MATERIALESTOQUE_ID = ME.ID AND LE.ENDERECO_ID = EE.ID)
1103 1674 ORDER BY BAI.ID;
1104 1675  
1105 1676 -- movimentos de atendimento de requisicao
1106 1677 DO $$ BEGIN RAISE NOTICE 'Criando os movimentos do estoque para os atendimentos a requsicoes'; END;$$;
1107   - INSERT INTO public.movimentoestoque
1108   - ( id
1109   - , databloqueio
1110   - , datainativo
1111   - , datacriacao
1112   - , dataedicao
1113   - , version
1114   - , datamovimento
1115   - , quantidade
1116   - , valorfifo
1117   - , valormedia
1118   - , inativador_id
1119   - , autor_id
1120   - , editor_id
1121   - , organizacao_id
1122   - , atendimentoreqconsumoitem_id
1123   - , baixaalmoxarifadoitem_id
1124   - , devolucaoitem_id
1125   - , entradaalmoxarifadoitem_id
1126   - , localestoque_id
1127   - , material_id
1128   - , materialestoquesaldo_id
1129   - , tipomovimento_id
1130   - )
  1678 + INSERT INTO alm_me_movimentoestoque
  1679 + ( id
  1680 + , databloqueio
  1681 + , datainativo
  1682 + , datacriacao
  1683 + , dataedicao
  1684 + , version
  1685 + , datamovimento
  1686 + , idclassereferencia
  1687 + , quantidade
  1688 + , valorfifo
  1689 + , valormedia
  1690 + , organizacao_id
  1691 + , dominioclassereferencia_id
  1692 + , material_id
  1693 + , materialestoque_id
  1694 + , materiallocalestoque_id
  1695 + , tipomovimento_id
  1696 + )
1131 1697 SELECT NEXTVAL('hibernate_sequence') AS id
1132 1698 , NULL AS databloqueio
1133 1699 , NULL AS datainativo
... ... @@ -1135,51 +1701,44 @@ BEGIN; -- #INI :: IMPORTACAO DOS MOVIMENTO DE ESTOQUE &gt;&gt; MOVIMENTOESTOQUE
1135 1701 , LOCALTIMESTAMP AS dataedicao
1136 1702 , 0 AS "version"
1137 1703 , A.DATAATENDIMENTO AS datamovimento
  1704 + , AI.ID AS IDCLASSEREFERENCIA
1138 1705 , -AI.QUANTIDADE AS quantidade
1139 1706 , (case when ai.quantidade = 0 then 0 else -(AI.VALOR) end) AS valorfifo
1140 1707 , (case when ai.quantidade = 0 then 0 else -(AI.VALOR) end) AS valormedia
1141   - , NULL AS inativador_id
1142   - , NULL AS autor_id
1143   - , NULL AS editor_id
1144 1708 , 1 AS organizacao_id
1145   - , AI.ID AS atendimentoreqconsumoitem_id
1146   - , NULL AS baixaalmoxarifadoitem_id
1147   - , NULL AS devolucaoitem_id
1148   - , NULL AS entradaalmoxarifadoitem_id
1149   - , (SELECT ID FROM LOCALESTOQUE LIMIT 1) AS LOCALESTOQUE_ID
  1709 + , (SELECT ID FROM DOMINIO WHERE CHAVE = 'classeReferencia' AND CODIGO = 14) AS DOMINIOCLASSEREFERENCIA_ID --ATENDIMENTOCONSUMO
  1710 + , (SELECT ID FROM ALM_ESTOQUE LIMIT 1) AS LOCALESTOQUE_ID
1150 1711 , AI.MATERIAL_ID AS material_id
1151   - , NULL AS materialestoquesaldo_id
  1712 + , ME.ID AS MATERIALESTOQUE_ID
  1713 + , LE.ID AS materiallocalestoque_id
1152 1714 , (SELECT ID FROM DOMINIO WHERE CHAVE = 'tipoMovimentoEstoque' AND CODIGO = 3) AS tipomovimento_id
1153   - FROM ATENDIMENTOREQUISICAOCONSUMO A
1154   - INNER JOIN ATENDIMENTOREQCONSUMOITEM AI ON (A.ID = AI.ATENDIMENTOREQCONSUMO_ID);
  1715 + FROM alm_rc_atendimento A
  1716 + INNER JOIN alm_rc_atendimentoitem AI ON (A.ID = AI.ATENDIMENTOREQCONSUMO_ID)
  1717 + INNER JOIN ALM_MATERIALESTOQUE ME ON (ME.MATERIAL_ID = AI.MATERIAL_ID)
  1718 + INNER JOIN PUBLIC.ALM_ME_LOCALESTOQUE LE ON (LE.MATERIALESTOQUE_ID = ME.ID AND LE.LOCALPRINCIPAL IS TRUE);
1155 1719  
1156 1720  
1157 1721 -- MOVIMENTOS DEVOLUCOES
1158 1722 DO $$ BEGIN RAISE NOTICE 'Criando os movimentos do estoque para devolucoes'; END;$$;
1159   - INSERT INTO public.movimentoestoque
1160   - ( id
1161   - , databloqueio
1162   - , datainativo
1163   - , datacriacao
1164   - , dataedicao
1165   - , version
1166   - , datamovimento
1167   - , quantidade
1168   - , valorfifo
1169   - , valormedia
1170   - , inativador_id
1171   - , autor_id
1172   - , editor_id
1173   - , organizacao_id
1174   - , atendimentoreqconsumoitem_id
1175   - , baixaalmoxarifadoitem_id
1176   - , devolucaoitem_id
1177   - , entradaalmoxarifadoitem_id
1178   - , localestoque_id
1179   - , material_id
1180   - , materialestoquesaldo_id
1181   - , tipomovimento_id
1182   - )
  1723 + INSERT INTO alm_me_movimentoestoque
  1724 + ( id
  1725 + , databloqueio
  1726 + , datainativo
  1727 + , datacriacao
  1728 + , dataedicao
  1729 + , version
  1730 + , datamovimento
  1731 + , idclassereferencia
  1732 + , quantidade
  1733 + , valorfifo
  1734 + , valormedia
  1735 + , organizacao_id
  1736 + , dominioclassereferencia_id
  1737 + , material_id
  1738 + , materialestoque_id
  1739 + , materiallocalestoque_id
  1740 + , tipomovimento_id
  1741 + )
1183 1742 SELECT NEXTVAL('hibernate_sequence') AS id
1184 1743 , NULL AS databloqueio
1185 1744 , NULL AS datainativo
... ... @@ -1187,25 +1746,23 @@ BEGIN; -- #INI :: IMPORTACAO DOS MOVIMENTO DE ESTOQUE &gt;&gt; MOVIMENTOESTOQUE
1187 1746 , D.DATAEDICAO AS dataedicao
1188 1747 , 0 AS "version"
1189 1748 , D.DATADEVOLUCAO AS datamovimento
  1749 + , DI.ID AS IDCLASSEREFERENCIA
1190 1750 , DI.QUANTIDADE AS quantidade
1191 1751 , (I.VL_NOTA_REC_ITEM/100) AS valorfifo
1192 1752 , (I.VL_NOTA_REC_ITEM/100) AS valormedia
1193   - , NULL AS INATIVADOR_ID
1194   - , NULL AS AUTOR_ID
1195   - , NULL AS EDITOR_ID
1196 1753 , 1 AS organizacao_id
1197   - , NULL AS atendimentoreqconsumoitem_id
1198   - , NULL AS baixaalmoxarifadoitem_id
1199   - , DI.ID AS devolucaoitem_id
1200   - , NULL AS entradaalmoxarifadoitem_id
1201   - , (SELECT ID FROM LOCALESTOQUE LIMIT 1) AS localestoque_id
  1754 + , (SELECT ID FROM DOMINIO WHERE CHAVE = 'classeReferencia' AND CODIGO = 6) AS DOMINIOCLASSEREFERENCIA_ID --DEVOLUCAO
  1755 + , (SELECT ID FROM ALM_ESTOQUE LIMIT 1) AS localestoque_id
1202 1756 , DI.MATERIALCONSUMO_ID AS material_id
1203   - , NULL AS materialestoquesaldo_id
  1757 + , ME.ID AS materialestoque_id
  1758 + , LE.ID AS materiallocalestoque_id
1204 1759 , (SELECT ID FROM DOMINIO WHERE CHAVE = 'tipoMovimentoEstoque' AND CODIGO = 4) AS tipomovimento_id
1205   - FROM PUBLIC.DEVOLUCAO D
1206   - INNER JOIN PUBLIC.DEVOLUCAOITEM DI ON (D.ID = DI.DEVOLUCAO_ID)
  1760 + FROM PUBLIC.ALM_DEVOLUCAO D
  1761 + INNER JOIN PUBLIC.ALM_DEV_ITEM DI ON (D.ID = DI.DEVOLUCAO_ID)
1207 1762 INNER JOIN MATERIAL M ON (M.ID = DI.MATERIALCONSUMO_ID)
1208   - INNER JOIN ASIWEB.AX_NOTA_REC_ITEM I ON (D.CODIGO=I.CD_NOTA_REC AND M.CODIGO = I.CD_BEM_SERVICO);
  1763 + INNER JOIN ASIWEB.AX_NOTA_REC_ITEM I ON (D.CODIGO=I.CD_NOTA_REC AND M.CODIGO = I.CD_BEM_SERVICO)
  1764 + INNER JOIN ALM_MATERIALESTOQUE ME ON (ME.MATERIAL_ID = DI.MATERIALCONSUMO_ID)
  1765 + INNER JOIN PUBLIC.ALM_ME_LOCALESTOQUE LE ON (LE.MATERIALESTOQUE_ID = ME.ID AND LE.LOCALPRINCIPAL IS TRUE);
1209 1766 COMMIT; -- #FIM :: IMPORTACAO DOS MOVIMENTO DE ESTOQUE >> MOVIMENTOESTOQUE
1210 1767  
1211 1768 BEGIN; -- #INI :: IMPORTACAO DOS MOVIMENTO DAS CONTAS DE ALMOXARIFADO >> CONTACONTABILMOVIMENTO (REVER, O CERTO ERA QUE FOSSE POR ITEM)
... ... @@ -1256,7 +1813,7 @@ BEGIN; -- #INI :: IMPORTACAO DOS MOVIMENTO DAS CONTAS DE ALMOXARIFADO &gt;&gt; CONTAC
1256 1813 WHERE (S.VL_ENTRADA+S.VL_SAIDA)>0
1257 1814 ORDER BY S.CD_CONTA; */
1258 1815  
1259   - DO $$ BEGIN RAISE NOTICE 'Criando o contacontabilmovimento das entradas'; END;$$;
  1816 +/* DO $$ BEGIN RAISE NOTICE 'Criando o contacontabilmovimento das entradas'; END;$$;
1260 1817 INSERT INTO public.contacontabilmovimento
1261 1818 ( id
1262 1819 , databloqueio
... ... @@ -1431,7 +1988,7 @@ BEGIN; -- #INI :: IMPORTACAO DOS MOVIMENTO DAS CONTAS DE ALMOXARIFADO &gt;&gt; CONTAC
1431 1988 inner join public.atendimentoreqconsumoitem ai on (ai.id = m.atendimentoreqconsumoitem_id)
1432 1989 INNER JOIN public.requisicaoconsumoitem ri on (ri.id = ai.requisicaoconsumoitem_id)
1433 1990 inner join public.contacontabil c on (c.codigo = ri.cd_conta)
1434   - WHERE tipomovimento_id = (SELECT id FROM DOMINIO WHERE CHAVE = 'tipoMovimentoEstoque' and codigo = 3);
  1991 + WHERE tipomovimento_id = (SELECT id FROM DOMINIO WHERE CHAVE = 'tipoMovimentoEstoque' and codigo = 3); */
1435 1992  
1436 1993 COMMIT; -- #FIM :: IMPORTACAO DOS MOVIMENTO DAS CONTAS DE ALMOXARIFADO >> CONTACONTABILMOVIMENTO
1437 1994  
... ...