Commit 46e7bc7464a9d1ffa04adde36efdc4ae704f5052

Authored by juliana.barbosa
1 parent f5186852
Exists in master

Redmine #5144 - alteração da ordem dos scripts para melhorar a performance.

cit-adm-materiais-api/src/main/resources/scripts-bd/Migracao_MPOG/04-Patrimonio.sql
... ... @@ -2115,123 +2115,295 @@ COMMIT; -- DELETO AS CONSTRAINTS DAS TABELAS DE MOVIMENTO PARA FICAR MAIS RAPIDO
2115 2115 END$$;
2116 2116 -- #FIM :: MIGRACAO DAS REAVALIACOES\REDUCOES >> CONTACONTABILMOVIMENTO e CONTACONTABILMOVPATRIMONIO
2117 2117  
  2118 +-- #INI :: MIGRACAO DE MOVIMENTOS DE DEPRECIACAO >> CONTACONTABILMOVIMENTO E CONTACONTABILMOVPATRIMONIO
  2119 + DO $$
  2120 + DECLARE
  2121 + r RECORD;
  2122 + v_ccmId BIGINT;
  2123 + v_movent BIGINT;
  2124 + v_classeRefDepre BIGINT;
  2125 + BEGIN
2118 2126  
2119   -BEGIN; --CRIO NOVAMENTE AS CONSTRAINTS DAS TABELAS DE MOVIMENTO
2120   - ALTER TABLE contacontabilmovimento
2121   - ADD CONSTRAINT fk_tltd08eva1hdwc3h7jlwjws4j FOREIGN KEY (editor_id)
2122   - REFERENCES seguranca_usuario (id) MATCH SIMPLE
2123   - ON UPDATE NO ACTION ON DELETE NO ACTION;
2124   -
2125   - ALTER TABLE contacontabilmovimento
2126   - ADD CONSTRAINT fk_ixxyf53r9ft0t2tjgttwhq12r FOREIGN KEY (entrada_id)
2127   - REFERENCES entrada (id) MATCH SIMPLE
2128   - ON UPDATE NO ACTION ON DELETE NO ACTION;
2129   -
2130   - ALTER TABLE contacontabilmovimento
2131   - ADD CONSTRAINT fk_dpuxwhj1qoinbsbdem8hvey5l FOREIGN KEY (inativador_id)
2132   - REFERENCES seguranca_usuario (id) MATCH SIMPLE
2133   - ON UPDATE NO ACTION ON DELETE NO ACTION;
2134   -
2135   - ALTER TABLE contacontabilmovimento
2136   - ADD CONSTRAINT fk_c2crmvotnfof8iv19h96qdn1h FOREIGN KEY (dominioclassereferencia_id)
2137   - REFERENCES dominio (id) MATCH SIMPLE
2138   - ON UPDATE NO ACTION ON DELETE NO ACTION;
2139   -
2140   - ALTER TABLE contacontabilmovimento
2141   - ADD CONSTRAINT fk_blt6cqdh6lonms89du3m5wug8 FOREIGN KEY (tipomovimentocontacontabil_id)
2142   - REFERENCES dominio (id) MATCH SIMPLE
2143   - ON UPDATE NO ACTION ON DELETE NO ACTION;
2144   -
2145   - ALTER TABLE contacontabilmovimento
2146   - ADD CONSTRAINT fk_8q85bxfuhk0f536ndy3y876xl FOREIGN KEY (contacontabil_id)
2147   - REFERENCES contacontabil (id) MATCH SIMPLE
2148   - ON UPDATE NO ACTION ON DELETE NO ACTION;
2149   -
2150   - ALTER TABLE contacontabilmovimento
2151   - ADD CONSTRAINT fk_72shgmt8caaldg2m0kw2cvbhj FOREIGN KEY (autor_id)
2152   - REFERENCES seguranca_usuario (id) MATCH SIMPLE
2153   - ON UPDATE NO ACTION ON DELETE NO ACTION;
2154   -
2155   - ALTER TABLE contacontabilmovimento
2156   - ADD CONSTRAINT fk_114dqtx1g4ja80nkdqrw0ej0t FOREIGN KEY (transferenciaconta_id)
2157   - REFERENCES transferenciacontacontabil (id) MATCH SIMPLE
2158   - ON UPDATE NO ACTION ON DELETE NO ACTION;
2159   -
2160   - ALTER TABLE contacontabilmovimento
2161   - ADD CONSTRAINT fk_2yfuukmqt1uyv7r0c9dc20xiw FOREIGN KEY (baixa_id)
2162   - REFERENCES baixa (id) MATCH SIMPLE
2163   - ON UPDATE NO ACTION ON DELETE NO ACTION;
2164   -
2165   - ALTER TABLE contacontabilmovpatrimonio
2166   - ADD CONSTRAINT fk_qu9isdu7h3l1dabu9n9l2klab FOREIGN KEY (transferencia_id)
2167   - REFERENCES transferencia (id) MATCH SIMPLE
2168   - ON UPDATE NO ACTION ON DELETE NO ACTION;
2169   -
2170   - ALTER TABLE contacontabilmovpatrimonio
2171   - ADD CONSTRAINT fk_1rrslp97ar7119a4fjw9h8xq7 FOREIGN KEY (bempatrimonial_id)
2172   - REFERENCES bempatrimonial (id) MATCH SIMPLE
2173   - ON UPDATE NO ACTION ON DELETE NO ACTION;
  2127 + SELECT ID INTO v_movent
  2128 + FROM PUBLIC.DOMINIO
  2129 + WHERE CHAVE = 'tipoMovimentoContaContabil'
  2130 + AND CODIGO = 3;
  2131 +
  2132 + SELECT ID INTO v_classeRefDepre
  2133 + FROM PUBLIC.DOMINIO
  2134 + WHERE CHAVE = 'classeReferencia'
  2135 + AND CODIGO = 7;
2174 2136  
2175   - ALTER TABLE contacontabilmovpatrimonio
2176   - ADD CONSTRAINT fk_1uaukjmyd9srei1s6l3sueu9r FOREIGN KEY (id)
2177   - REFERENCES contacontabilmovimento (id) MATCH SIMPLE
2178   - ON UPDATE NO ACTION ON DELETE NO ACTION;
2179   -COMMIT; --CRIO NOVAMENTE AS CONSTRAINTS DAS TABELAS DE MOVIMENTO
  2137 + FOR r IN
  2138 + SELECT
  2139 + D.MESREFERENCIA AS DATAREFERENCIA,
  2140 + DI.VALORDEPRECIACAOATUAL AS VALOR,
  2141 + DI.CONTACONTABIL_ID,
  2142 + D.ID AS DEPRECIACAO_ID,
  2143 + DI.BEMPATRIMONIAL_ID
  2144 + FROM DEPRECIACAO D
  2145 + INNER JOIN DEPRECIACAOITEM DI ON (DI.DEPRECIACAO_ID = D.ID)
  2146 + ORDER BY D.MESREFERENCIA
  2147 + LOOP
2180 2148  
  2149 + raise notice 'mesano, %', to_char(r.datareferencia, 'YYYYMM');
2181 2150  
2182   -BEGIN; --CRIO AS CONSTRAINTS DE DEPRECIACAOITEM NOVAMENTE
2183   - ALTER TABLE depreciacao
2184   - ADD CONSTRAINT fk_7ir0d4f00iv0d5k2tqnado80t FOREIGN KEY (organizacao_id)
2185   - REFERENCES organizacao (id) MATCH SIMPLE
2186   - ON UPDATE NO ACTION ON DELETE NO ACTION;
2187   -
2188   - ALTER TABLE depreciacao
2189   - ADD CONSTRAINT fk_7qj52csr4ussngholioxwf8ny FOREIGN KEY (autor_id)
2190   - REFERENCES seguranca_usuario (id) MATCH SIMPLE
2191   - ON UPDATE NO ACTION ON DELETE NO ACTION;
2192   -
2193   - ALTER TABLE depreciacao
2194   - ADD CONSTRAINT fk_ax8wlx3nuo622jni9tlkf05t4 FOREIGN KEY (editor_id)
2195   - REFERENCES seguranca_usuario (id) MATCH SIMPLE
2196   - ON UPDATE NO ACTION ON DELETE NO ACTION;
2197   -
2198   - ALTER TABLE depreciacao
2199   - ADD CONSTRAINT fk_hxiqvyjv7su2fsn0b3hcmuirx FOREIGN KEY (inativador_id)
2200   - REFERENCES seguranca_usuario (id) MATCH SIMPLE
2201   - ON UPDATE NO ACTION ON DELETE NO ACTION;
  2151 + -- RECUPERA A PROXIMA SEQUENCE
  2152 + SELECT NEXTVAL('hibernate_sequence') into v_ccmId;
2202 2153  
2203   - ALTER TABLE depreciacaoitem
2204   - ADD CONSTRAINT fk_flvqkobbb468h7m7twqpg27wm FOREIGN KEY (bempatrimonial_id)
2205   - REFERENCES bempatrimonial (id) MATCH SIMPLE
2206   - ON UPDATE NO ACTION ON DELETE NO ACTION;
2207   -
2208   - ALTER TABLE depreciacaoitem
2209   - ADD CONSTRAINT fk_e1qmf052vbg4kbym0c2rl0t9 FOREIGN KEY (autor_id)
2210   - REFERENCES seguranca_usuario (id) MATCH SIMPLE
2211   - ON UPDATE NO ACTION ON DELETE NO ACTION;
2212   -
2213   - ALTER TABLE depreciacaoitem
2214   - ADD CONSTRAINT fk_6dt6ljs2kog9j0hrugj4jp1cq FOREIGN KEY (editor_id)
2215   - REFERENCES seguranca_usuario (id) MATCH SIMPLE
2216   - ON UPDATE NO ACTION ON DELETE NO ACTION;
2217   -
2218   - ALTER TABLE depreciacaoitem
2219   - ADD CONSTRAINT fk_5dd5ba2uf8vd5im0j6wy73xue FOREIGN KEY (depreciacao_id)
2220   - REFERENCES depreciacao (id) MATCH SIMPLE
2221   - ON UPDATE NO ACTION ON DELETE NO ACTION;
2222   -
2223   - ALTER TABLE depreciacaoitem
2224   - ADD CONSTRAINT fk_2lv1atngy0npqsjbxvg2j0nd8 FOREIGN KEY (contacontabil_id)
2225   - REFERENCES contacontabil (id) MATCH SIMPLE
2226   - ON UPDATE NO ACTION ON DELETE NO ACTION;
  2154 + INSERT INTO public.contacontabilmovimento
  2155 + (
  2156 + id,
  2157 + datacriacao,
  2158 + dataedicao,
  2159 + version,
  2160 + datareferencia,
  2161 + valor,
  2162 + contacontabil_id,
  2163 + tipomovimentocontacontabil_id,
  2164 + dominioclassereferencia_id,
  2165 + idclassereferencia
  2166 + )VALUES
  2167 + (
  2168 + v_ccmId,
  2169 + LOCALTIMESTAMP,
  2170 + LOCALTIMESTAMP,
  2171 + 0,
  2172 + r.datareferencia,
  2173 + 0,
  2174 + r.contacontabil_id,
  2175 + v_movent,
  2176 + v_classeRefDepre,
  2177 + R.DEPRECIACAO_ID
  2178 + );
  2179 +
  2180 + INSERT INTO public.contacontabilmovpatrimonio
  2181 + (
  2182 + id,
  2183 + reavaliacao,
  2184 + valordepreciacao,
  2185 + valorreavaliacao,
  2186 + valorreducao,
  2187 + bempatrimonial_id,
  2188 + transferencia_id
  2189 + )
  2190 + VALUES
  2191 + (
  2192 + v_ccmId,
  2193 + FALSE,
  2194 + r.valor,
  2195 + 0,
  2196 + 0,
  2197 + r.BEMPATRIMONIAL_ID,
  2198 + NULL
  2199 + );
  2200 + END LOOP;
  2201 + END$$;
  2202 + -- 20 minutos maquina Ju
  2203 +-- #FIM :: MIGRACAO DE MOVIMENTOS DE DEPRECIACAO >> CONTACONTABILMOVIMENTO E CONTACONTABILMOVPATRIMONIO
  2204 +
  2205 +-- ############################################################################
  2206 +-- #### -Esses scripts devem ser executados após as depreciações de bens #####
  2207 +-- #### -Verificar o anomes referência/data contábil do cliente e ajustar #####
  2208 +-- ############################################################################
  2209 +
  2210 +
  2211 +UPDATE BEMPATRIMONIAL
  2212 +SET DOMINIOSTATUSDEPRECIACAO_ID = NULL;
  2213 +
  2214 +-- #INI :: ATUALIZA STATUS DEPRECIACAO DOS BENS BAIXADOS QUE NEM CHEGARAM A SER DEPRECIADOS >> BEMPATRIMONIAL
  2215 + DO $$
  2216 + DECLARE
  2217 + rBEM RECORD;
  2218 + v_tipoStatusDepreciacaoNaoDepreExAnt int;
  2219 + v_statusBemBaixado int;
  2220 + BEGIN
  2221 + SELECT ID FROM PUBLIC.DOMINIO WHERE CHAVE='tipoStatusDepreciacao' AND CODIGO=5 INTO v_tipoStatusDepreciacaoNaoDepreExAnt;
  2222 + SELECT ID FROM PUBLIC.DOMINIO WHERE CHAVE='tipoStatusBem' AND CODIGO=2 INTO v_statusBemBaixado;
  2223 + -- RECUPERA OS BENS PATRIMONIAIS QUE ESTAO NA TABELA DE DEPRECIACAO
  2224 + FOR rBEM IN
  2225 + SELECT ID FROM PUBLIC.BEMPATRIMONIAL
  2226 + WHERE ID IN ( SELECT ID FROM PUBLIC.BEMPATRIMONIAL
  2227 + EXCEPT
  2228 + SELECT BEMPATRIMONIAL_ID FROM DEPRECIACAOITEM
  2229 + )
  2230 + AND DOMINIOSTATUS_ID=v_statusBemBaixado
  2231 + LOOP
  2232 + UPDATE PUBLIC.BEMPATRIMONIAL
  2233 + SET dominiostatusdepreciacao_id = v_tipoStatusDepreciacaoNaoDepreExAnt
  2234 + WHERE ID = rBEM.id;
  2235 + END LOOP;
  2236 + END$$;
  2237 +-- #FIM :: ATUALIZA STATUS DEPRECIACAO DOS BENS BAIXADOS QUE NEM CHEGARAM A SER DEPRECIADOS >> BEMPATRIMONIAL
  2238 +
  2239 +
  2240 +-- #INI :: ATUALIZA STATUS DEPRECIACAO DOS BENS BAIXADOS QUE ATINGIRAM O VALOR RESIDUAL >> BEMPATRIMONIAL
  2241 + DO $$
  2242 + DECLARE
  2243 + rBEM RECORD;
  2244 + v_tipoStatusDepreciacaoFinalizada int;
  2245 + v_statusBemBaixado int;
  2246 + BEGIN
  2247 + SELECT ID FROM PUBLIC.DOMINIO WHERE CHAVE='tipoStatusDepreciacao' AND CODIGO=3 INTO v_tipoStatusDepreciacaoFinalizada;
  2248 + SELECT ID FROM PUBLIC.DOMINIO WHERE CHAVE='tipoStatusBem' AND CODIGO=2 INTO v_statusBemBaixado;
  2249 + -- RECUPERA OS BENS PATRIMONIAIS BAIXADOS QUE ESTAO NA TABELA DE DEPRECIACAO E JA ATINGIRAM O VALOR RESIDUAL
  2250 + FOR rBEM IN
  2251 + SELECT DISTINCT BEMPATRIMONIAL_ID AS ID
  2252 + FROM DEPRECIACAOITEM D
  2253 + INNER JOIN BEMPATRIMONIAL B ON (B.ID = D.BEMPATRIMONIAL_ID)
  2254 + WHERE DOMINIOSTATUS_ID = v_statusBemBaixado
  2255 + AND round((B.VALORBRUTOATUAL*B.PERCENTUALNAODEPRECIAVEL), 2) = round(B.VALORLIQUIDO, 2)
  2256 + LOOP
  2257 + UPDATE PUBLIC.BEMPATRIMONIAL
  2258 + SET dominiostatusdepreciacao_id = v_tipoStatusDepreciacaoFinalizada
  2259 + WHERE ID = rBEM.id;
  2260 + END LOOP;
  2261 + END$$;
  2262 +-- #FIM :: ATUALIZA STATUS DEPRECIACAO DOS BENS BAIXADOS QUE ATINGIRAM O VALOR RESIDUAL >> BEMPATRIMONIAL
  2263 +
  2264 +
  2265 +-- #INI :: ATUALIZA STATUS DEPRECIACAO DOS BENS BAIXADOS QUE NAO ATINGIRAM O VALOR RESIDUAL >> BEMPATRIMONIAL
  2266 + DO $$
  2267 + DECLARE
  2268 + rBEM RECORD;
  2269 + v_tipoStatusDepreciavel int;
  2270 + v_statusBemBaixado int;
  2271 + BEGIN
2227 2272  
2228   - ALTER TABLE depreciacaoitem
2229   - ADD CONSTRAINT fk_1fssswosq1k83ghlnq8efennr FOREIGN KEY (inativador_id)
2230   - REFERENCES seguranca_usuario (id) MATCH SIMPLE
2231   - ON UPDATE NO ACTION ON DELETE NO ACTION;
2232   -COMMIT; --CRIO AS CONSTRAINTS DE DEPRECIACAOITEM NOVAMENTE
  2273 + SELECT ID FROM PUBLIC.DOMINIO WHERE CHAVE='tipoStatusDepreciacao' AND CODIGO=1 INTO v_tipoStatusDepreciavel;
  2274 + SELECT ID FROM PUBLIC.DOMINIO WHERE CHAVE='tipoStatusBem' AND CODIGO=2 INTO v_statusBemBaixado;
  2275 +
  2276 + -- RECUPERA OS BENS PATRIMONIAIS BAIXADOS QUE ESTAO NA TABELA DE DEPRECIACAO E NAO ATINGIRAM O VALOR RESIDUAL
  2277 + FOR rBEM IN
  2278 + SELECT DISTINCT BEMPATRIMONIAL_ID AS ID
  2279 + FROM PUBLIC.DEPRECIACAOITEM D
  2280 + INNER JOIN BEMPATRIMONIAL B ON (B.ID = D.BEMPATRIMONIAL_ID)
  2281 + WHERE DOMINIOSTATUS_ID = v_statusBemBaixado
  2282 + AND round((B.VALORBRUTOATUAL*B.PERCENTUALNAODEPRECIAVEL), 2) <> round(B.VALORLIQUIDO, 2)
  2283 + AND B.DOMINIOSTATUSDEPRECIACAO_ID IS NULL
  2284 + LOOP
  2285 + UPDATE PUBLIC.BEMPATRIMONIAL
  2286 + SET dominiostatusdepreciacao_id = v_tipoStatusDepreciavel
  2287 + WHERE ID = rBEM.id;
  2288 + END LOOP;
  2289 + END$$;
  2290 +-- #FIM :: ATUALIZA STATUS DEPRECIACAO DOS BENS BAIXADOS QUE NAO ATINGIRAM O VALOR RESIDUAL >> BEMPATRIMONIAL
  2291 +
  2292 +
  2293 +-- #INI :: ATUALIZA STATUS DEPRECIACAO DOS BENS QUE ESTAO NO ALMOXARIFADO >> BEMPATRIMONIAL
  2294 + DO $$
  2295 + DECLARE
  2296 + rBEM RECORD;
  2297 + v_tipoStatusAlmox int;
  2298 + BEGIN
  2299 + SELECT ID FROM PUBLIC.DOMINIO WHERE CHAVE='tipoStatusDepreciacao' AND CODIGO=2 into v_tipoStatusAlmox;
  2300 + -- RECUPERA OS BENS PATRIMONIAIS QUE ESTAO NO ALMOXARIFADO
  2301 + FOR rBEM IN
  2302 + SELECT ID
  2303 + FROM BEMPATRIMONIAL
  2304 + WHERE UNIDADEATUAL_ID IN (SELECT E.ID
  2305 + FROM ESTRUTURAORGANIZACIONAL E
  2306 + INNER JOIN estruturaorganizacionalpatrim EP ON (EP.ESTRUTURAORGANIZACIONAL_ID = E.ID)
  2307 + WHERE EP.ISALMOXARIFADO IS TRUE)
  2308 + LOOP
  2309 + UPDATE PUBLIC.BEMPATRIMONIAL
  2310 + SET dominiostatusdepreciacao_id = v_tipoStatusAlmox
  2311 + WHERE ID = rBEM.id;
  2312 + END LOOP;
  2313 + END$$;
  2314 +-- #FIM :: ATUALIZA STATUS DEPRECIACAO DOS BENS QUE ESTAO NO ALMOXARIFADO >> BEMPATRIMONIAL
  2315 +
  2316 +
  2317 +-- ################ ################
  2318 +-- ################ ))))) VERIFICAR O ANOMES ATUAL DA REFERENCIA DO CLIENTE ((((( ################
  2319 +-- ################ ################
  2320 +-- #INI :: ATUALIZA STATUS DEPRECIACAO DOS BENS QUE TEM DATACONTABIL NESSE MES E NAO ESTAO NO ALMOXARIFADO >> BEMPATRIMONIAL
  2321 + DO $$
  2322 + DECLARE
  2323 + rBEM RECORD;
  2324 + v_tipoStatusPronto int;
  2325 + BEGIN
  2326 + SELECT ID FROM PUBLIC.DOMINIO WHERE CHAVE='tipoStatusDepreciacao' AND CODIGO=6 into v_tipoStatusPronto;
  2327 + -- RECUPERA OS BENS PATRIMONIAIS QUE TEM DATACONTABIL NESSE MES E NAO ESTAO NO ALMOXARIFADO
  2328 + FOR rBEM IN
  2329 + SELECT ID
  2330 + FROM BEMPATRIMONIAL
  2331 + WHERE TO_CHAR(DATACONTABIL, 'YYYYMM') = -- << ALTERAR PARA ANOMES CONFORME CLIENTE >>
  2332 + AND UNIDADEATUAL_ID NOT IN (SELECT E.ID
  2333 + FROM ESTRUTURAORGANIZACIONAL E
  2334 + INNER JOIN estruturaorganizacionalpatrim EP ON (EP.ESTRUTURAORGANIZACIONAL_ID = E.ID)
  2335 + WHERE EP.ISALMOXARIFADO IS TRUE)
  2336 + LOOP
  2337 + UPDATE PUBLIC.BEMPATRIMONIAL
  2338 + SET DOMINIOSTATUSDEPRECIACAO_ID = v_tipoStatusPronto
  2339 + WHERE ID = rBEM.id;
  2340 + END LOOP;
  2341 + END$$;
  2342 +-- #FIM :: ATUALIZA STATUS DEPRECIACAO DOS BENS QUE TEM DATACONTABIL NESSE MES E NAO ESTAO NO ALMOXARIFADO >> BEMPATRIMONIAL
2233 2343  
2234 2344  
  2345 +-- ################ ################
  2346 +-- ################ ))))) VERIFICAR A DATACONTABIL INICIAL PARA DEPRECIACAO ((((( ################
  2347 +-- ################ ################
  2348 +-- #INI :: ATUALIZA STATUS DEPRECIACAO DOS BENS QUE TEM DATACONTABIL NESSE MES E NAO ESTAO NO ALMOXARIFADO >> BEMPATRIMONIAL
  2349 + DO $$
  2350 + DECLARE
  2351 + rBEM RECORD;
  2352 + v_tipoStatusNaoDepreciavel int;
  2353 + BEGIN
  2354 + SELECT ID FROM PUBLIC.DOMINIO WHERE CHAVE='tipoStatusDepreciacao' AND CODIGO=4 into v_tipoStatusNaoDepreciavel;
  2355 + -- RECUPERA OS BENS PATRIMONIAIS QUE AINDA NAO POSSUEM STATUSDEPRECIACAO E QUE TEM DATA CONTABIL INFERIOR A 2010 E NAO SOFRERAM REAVALIACAO
  2356 + FOR rBEM IN
  2357 + SELECT ID
  2358 + FROM PUBLIC.BEMPATRIMONIAL
  2359 + WHERE DATACONTABIL < TO_TIMESTAMP('20100101', 'YYYYMMDD') -- << ALTERAR PARA ANOMES CONFORME CLIENTE >>
  2360 + AND ID NOT IN (SELECT DISTINCT BEMPATRIMONIAL_ID
  2361 + FROM BEMPATRIMONIALALTERACAO
  2362 + WHERE MOTIVOALTERACAO_ID = (SELECT ID FROM PUBLIC.DOMINIO WHERE CHAVE='tipoMotivoAlteracaoBem' AND CODIGO=3))
  2363 + AND DOMINIOSTATUSDEPRECIACAO_ID IS NULL
  2364 + LOOP
  2365 + UPDATE PUBLIC.BEMPATRIMONIAL
  2366 + SET DOMINIOSTATUSDEPRECIACAO_ID = v_tipoStatusNaoDepreciavel
  2367 + WHERE ID = rBEM.id;
  2368 + END LOOP;
  2369 + END$$;
  2370 +-- #FIM :: ATUALIZA STATUS DEPRECIACAO DOS BENS QUE TEM DATACONTABIL NESSE MES E NAO ESTAO NO ALMOXARIFADO >> BEMPATRIMONIAL
  2371 +
  2372 +
  2373 +-- #INI :: ATUALIZA STATUS DEPRECIACAO DOS BENS QUE JA ATINGIRAM O VALOR RESIDUAL >> BEMPATRIMONIAL
  2374 + DO $$
  2375 + DECLARE
  2376 + rBEM RECORD;
  2377 + v_tipoStatusDepreciacaoFinalizada int;
  2378 + BEGIN
  2379 + SELECT ID FROM PUBLIC.DOMINIO WHERE CHAVE='tipoStatusDepreciacao' AND CODIGO=3 into v_tipoStatusDepreciacaoFinalizada;
  2380 + -- RECUPERA OS BENS PATRIMONIAIS QUE AINDA NAO POSSUEM STATUSDEPRECIACAO E JA ATINGIRAM O VALOR RESIDUAL
  2381 + FOR rBEM IN
  2382 + SELECT DISTINCT BEMPATRIMONIAL_ID AS ID
  2383 + FROM PUBLIC.DEPRECIACAOITEM D
  2384 + INNER JOIN BEMPATRIMONIAL B ON (B.ID = D.BEMPATRIMONIAL_ID) WHERE round((B.VALORBRUTOATUAL*B.PERCENTUALNAODEPRECIAVEL), 2) = round(B.VALORLIQUIDO, 2) AND B.DOMINIOSTATUSDEPRECIACAO_ID IS NULL
  2385 + LOOP
  2386 + UPDATE PUBLIC.BEMPATRIMONIAL
  2387 + SET DOMINIOSTATUSDEPRECIACAO_ID = v_tipoStatusDepreciacaoFinalizada
  2388 + WHERE ID = rBEM.id;
  2389 + END LOOP;
  2390 + END$$;
  2391 +-- #FIM :: ATUALIZA STATUS DEPRECIACAO DOS BENS QUE JA ATINGIRAM O VALOR RESIDUAL >> BEMPATRIMONIAL
  2392 +
  2393 +
  2394 +-- #INI :: ATUALIZA STATUS DEPRECIACAO DOS BENS QUE NAO SE ADEQUARAM NAS CONDICOES ANTERIORES (SAO TODOS DEPRECIAVEIS) >> BEMPATRIMONIAL
  2395 + BEGIN;
  2396 + UPDATE public.bempatrimonial
  2397 + SET dominiostatusdepreciacao_id = (SELECT ID FROM PUBLIC.DOMINIO WHERE CHAVE='tipoStatusDepreciacao' AND CODIGO=1)
  2398 + WHERE dominiostatusdepreciacao_id is null;
  2399 + COMMIT;
  2400 +
  2401 + BEGIN;
  2402 + UPDATE public.bempatrimonial
  2403 + SET naodepreciar = true
  2404 + WHERE dominiostatusdepreciacao_id = (SELECT ID FROM PUBLIC.DOMINIO WHERE CHAVE='tipoStatusDepreciacao' AND CODIGO=4);
  2405 + COMMIT;
  2406 +-- #FIM :: ATUALIZA STATUS DEPRECIACAO DOS BENS QUE NAO SE ADEQUARAM NAS CONDICOES ANTERIORES (SAO TODOS DEPRECIAVEIS) >> BEMPATRIMONIAL
2235 2407  
2236 2408  
2237 2409 BEGIN; -- #INI :: GERACAO DO HISTORICO DOS BENS PATRIMONIAIS >> HISTORICOBEMPATRIMONIAL
... ...
cit-adm-materiais-api/src/main/resources/scripts-bd/Migracao_MPOG/06-SaldosContabeisEstoque.sql
... ... @@ -2,297 +2,8 @@
2 2 -- ##FIM :: CARGAS E ATUALIZACOES DE SALDOS CONTABEIS/ESTOQUE/MOVIMENTOS --
3 3 --===========================================================================--
4 4  
5   --- ############################################################################
6   --- #### -Esses scripts devem ser executados após as depreciações de bens #####
7   --- #### -Verificar o anomes referência/data contábil do cliente e ajustar #####
8   --- ############################################################################
9 5  
10 6  
11   --- #INI :: MIGRACAO DE MOVIMENTOS DE DEPRECIACAO >> CONTACONTABILMOVIMENTO E CONTACONTABILMOVPATRIMONIO
12   - DO $$
13   - DECLARE
14   - r RECORD;
15   - v_ccmId BIGINT;
16   - v_movent BIGINT;
17   - v_classeRefDepre BIGINT;
18   - BEGIN
19   -
20   - SELECT ID INTO v_movent
21   - FROM PUBLIC.DOMINIO
22   - WHERE CHAVE = 'tipoMovimentoContaContabil'
23   - AND CODIGO = 3;
24   -
25   - SELECT ID INTO v_classeRefDepre
26   - FROM PUBLIC.DOMINIO
27   - WHERE CHAVE = 'classeReferencia'
28   - AND CODIGO = 7;
29   -
30   - FOR r IN
31   - SELECT
32   - D.MESREFERENCIA AS DATAREFERENCIA,
33   - DI.VALORDEPRECIACAOATUAL AS VALOR,
34   - DI.CONTACONTABIL_ID,
35   - D.ID AS DEPRECIACAO_ID,
36   - DI.BEMPATRIMONIAL_ID
37   - FROM DEPRECIACAO D
38   - INNER JOIN DEPRECIACAOITEM DI ON (DI.DEPRECIACAO_ID = D.ID)
39   - ORDER BY D.MESREFERENCIA
40   - LOOP
41   -
42   - raise notice 'mesano, %', to_char(r.datareferencia, 'YYYYMM');
43   -
44   - -- RECUPERA A PROXIMA SEQUENCE
45   - SELECT NEXTVAL('hibernate_sequence') into v_ccmId;
46   -
47   - INSERT INTO public.contacontabilmovimento
48   - (
49   - id,
50   - datacriacao,
51   - dataedicao,
52   - version,
53   - datareferencia,
54   - valor,
55   - contacontabil_id,
56   - tipomovimentocontacontabil_id,
57   - dominioclassereferencia_id,
58   - idclassereferencia
59   - )VALUES
60   - (
61   - v_ccmId,
62   - LOCALTIMESTAMP,
63   - LOCALTIMESTAMP,
64   - 0,
65   - r.datareferencia,
66   - 0,
67   - r.contacontabil_id,
68   - v_movent,
69   - v_classeRefDepre,
70   - R.DEPRECIACAO_ID
71   - );
72   -
73   - INSERT INTO public.contacontabilmovpatrimonio
74   - (
75   - id,
76   - reavaliacao,
77   - valordepreciacao,
78   - valorreavaliacao,
79   - valorreducao,
80   - bempatrimonial_id,
81   - transferencia_id
82   - )
83   - VALUES
84   - (
85   - v_ccmId,
86   - FALSE,
87   - r.valor,
88   - 0,
89   - 0,
90   - r.BEMPATRIMONIAL_ID,
91   - NULL
92   - );
93   - END LOOP;
94   - END$$;
95   - -- 20 minutos maquina Ju
96   --- #FIM :: MIGRACAO DE MOVIMENTOS DE DEPRECIACAO >> CONTACONTABILMOVIMENTO E CONTACONTABILMOVPATRIMONIO
97   -
98   -
99   -UPDATE BEMPATRIMONIAL
100   -SET DOMINIOSTATUSDEPRECIACAO_ID = NULL;
101   -
102   --- #INI :: ATUALIZA STATUS DEPRECIACAO DOS BENS BAIXADOS QUE NEM CHEGARAM A SER DEPRECIADOS >> BEMPATRIMONIAL
103   - DO $$
104   - DECLARE
105   - rBEM RECORD;
106   - v_tipoStatusDepreciacaoNaoDepreExAnt int;
107   - v_statusBemBaixado int;
108   - BEGIN
109   - SELECT ID FROM PUBLIC.DOMINIO WHERE CHAVE='tipoStatusDepreciacao' AND CODIGO=5 INTO v_tipoStatusDepreciacaoNaoDepreExAnt;
110   - SELECT ID FROM PUBLIC.DOMINIO WHERE CHAVE='tipoStatusBem' AND CODIGO=2 INTO v_statusBemBaixado;
111   - -- RECUPERA OS BENS PATRIMONIAIS QUE ESTAO NA TABELA DE DEPRECIACAO
112   - FOR rBEM IN
113   - SELECT ID FROM PUBLIC.BEMPATRIMONIAL
114   - WHERE ID IN ( SELECT ID FROM PUBLIC.BEMPATRIMONIAL
115   - EXCEPT
116   - SELECT BEMPATRIMONIAL_ID FROM DEPRECIACAOITEM
117   - )
118   - AND DOMINIOSTATUS_ID=v_statusBemBaixado
119   - LOOP
120   - UPDATE PUBLIC.BEMPATRIMONIAL
121   - SET dominiostatusdepreciacao_id = v_tipoStatusDepreciacaoNaoDepreExAnt
122   - WHERE ID = rBEM.id;
123   - END LOOP;
124   - END$$;
125   --- #FIM :: ATUALIZA STATUS DEPRECIACAO DOS BENS BAIXADOS QUE NEM CHEGARAM A SER DEPRECIADOS >> BEMPATRIMONIAL
126   -
127   -
128   --- #INI :: ATUALIZA STATUS DEPRECIACAO DOS BENS BAIXADOS QUE ATINGIRAM O VALOR RESIDUAL >> BEMPATRIMONIAL
129   - DO $$
130   - DECLARE
131   - rBEM RECORD;
132   - v_tipoStatusDepreciacaoFinalizada int;
133   - v_statusBemBaixado int;
134   - BEGIN
135   - SELECT ID FROM PUBLIC.DOMINIO WHERE CHAVE='tipoStatusDepreciacao' AND CODIGO=3 INTO v_tipoStatusDepreciacaoFinalizada;
136   - SELECT ID FROM PUBLIC.DOMINIO WHERE CHAVE='tipoStatusBem' AND CODIGO=2 INTO v_statusBemBaixado;
137   - -- RECUPERA OS BENS PATRIMONIAIS BAIXADOS QUE ESTAO NA TABELA DE DEPRECIACAO E JA ATINGIRAM O VALOR RESIDUAL
138   - FOR rBEM IN
139   - SELECT DISTINCT BEMPATRIMONIAL_ID AS ID
140   - FROM DEPRECIACAOITEM D
141   - INNER JOIN BEMPATRIMONIAL B ON (B.ID = D.BEMPATRIMONIAL_ID)
142   - WHERE DOMINIOSTATUS_ID = v_statusBemBaixado
143   - AND round((B.VALORBRUTOATUAL*B.PERCENTUALNAODEPRECIAVEL), 2) = round(B.VALORLIQUIDO, 2)
144   - LOOP
145   - UPDATE PUBLIC.BEMPATRIMONIAL
146   - SET dominiostatusdepreciacao_id = v_tipoStatusDepreciacaoFinalizada
147   - WHERE ID = rBEM.id;
148   - END LOOP;
149   - END$$;
150   --- #FIM :: ATUALIZA STATUS DEPRECIACAO DOS BENS BAIXADOS QUE ATINGIRAM O VALOR RESIDUAL >> BEMPATRIMONIAL
151   -
152   -
153   --- #INI :: ATUALIZA STATUS DEPRECIACAO DOS BENS BAIXADOS QUE NAO ATINGIRAM O VALOR RESIDUAL >> BEMPATRIMONIAL
154   - DO $$
155   - DECLARE
156   - rBEM RECORD;
157   - v_tipoStatusDepreciavel int;
158   - v_statusBemBaixado int;
159   - BEGIN
160   -
161   - SELECT ID FROM PUBLIC.DOMINIO WHERE CHAVE='tipoStatusDepreciacao' AND CODIGO=1 INTO v_tipoStatusDepreciavel;
162   - SELECT ID FROM PUBLIC.DOMINIO WHERE CHAVE='tipoStatusBem' AND CODIGO=2 INTO v_statusBemBaixado;
163   -
164   - -- RECUPERA OS BENS PATRIMONIAIS BAIXADOS QUE ESTAO NA TABELA DE DEPRECIACAO E NAO ATINGIRAM O VALOR RESIDUAL
165   - FOR rBEM IN
166   - SELECT DISTINCT BEMPATRIMONIAL_ID AS ID
167   - FROM PUBLIC.DEPRECIACAOITEM D
168   - INNER JOIN BEMPATRIMONIAL B ON (B.ID = D.BEMPATRIMONIAL_ID)
169   - WHERE DOMINIOSTATUS_ID = v_statusBemBaixado
170   - AND round((B.VALORBRUTOATUAL*B.PERCENTUALNAODEPRECIAVEL), 2) <> round(B.VALORLIQUIDO, 2)
171   - AND B.DOMINIOSTATUSDEPRECIACAO_ID IS NULL
172   - LOOP
173   - UPDATE PUBLIC.BEMPATRIMONIAL
174   - SET dominiostatusdepreciacao_id = v_tipoStatusDepreciavel
175   - WHERE ID = rBEM.id;
176   - END LOOP;
177   - END$$;
178   --- #FIM :: ATUALIZA STATUS DEPRECIACAO DOS BENS BAIXADOS QUE NAO ATINGIRAM O VALOR RESIDUAL >> BEMPATRIMONIAL
179   -
180   -
181   --- #INI :: ATUALIZA STATUS DEPRECIACAO DOS BENS QUE ESTAO NO ALMOXARIFADO >> BEMPATRIMONIAL
182   - DO $$
183   - DECLARE
184   - rBEM RECORD;
185   - v_tipoStatusAlmox int;
186   - BEGIN
187   - SELECT ID FROM PUBLIC.DOMINIO WHERE CHAVE='tipoStatusDepreciacao' AND CODIGO=2 into v_tipoStatusAlmox;
188   - -- RECUPERA OS BENS PATRIMONIAIS QUE ESTAO NO ALMOXARIFADO
189   - FOR rBEM IN
190   - SELECT ID
191   - FROM BEMPATRIMONIAL
192   - WHERE UNIDADEATUAL_ID IN (SELECT E.ID
193   - FROM ESTRUTURAORGANIZACIONAL E
194   - INNER JOIN estruturaorganizacionalpatrim EP ON (EP.ESTRUTURAORGANIZACIONAL_ID = E.ID)
195   - WHERE EP.ISALMOXARIFADO IS TRUE)
196   - LOOP
197   - UPDATE PUBLIC.BEMPATRIMONIAL
198   - SET dominiostatusdepreciacao_id = v_tipoStatusAlmox
199   - WHERE ID = rBEM.id;
200   - END LOOP;
201   - END$$;
202   --- #FIM :: ATUALIZA STATUS DEPRECIACAO DOS BENS QUE ESTAO NO ALMOXARIFADO >> BEMPATRIMONIAL
203   -
204   -
205   --- ################ ################
206   --- ################ ))))) VERIFICAR O ANOMES ATUAL DA REFERENCIA DO CLIENTE ((((( ################
207   --- ################ ################
208   --- #INI :: ATUALIZA STATUS DEPRECIACAO DOS BENS QUE TEM DATACONTABIL NESSE MES E NAO ESTAO NO ALMOXARIFADO >> BEMPATRIMONIAL
209   - DO $$
210   - DECLARE
211   - rBEM RECORD;
212   - v_tipoStatusPronto int;
213   - BEGIN
214   - SELECT ID FROM PUBLIC.DOMINIO WHERE CHAVE='tipoStatusDepreciacao' AND CODIGO=6 into v_tipoStatusPronto;
215   - -- RECUPERA OS BENS PATRIMONIAIS QUE TEM DATACONTABIL NESSE MES E NAO ESTAO NO ALMOXARIFADO
216   - FOR rBEM IN
217   - SELECT ID
218   - FROM BEMPATRIMONIAL
219   - WHERE TO_CHAR(DATACONTABIL, 'YYYYMM') = -- << ALTERAR PARA ANOMES CONFORME CLIENTE >>
220   - AND UNIDADEATUAL_ID NOT IN (SELECT E.ID
221   - FROM ESTRUTURAORGANIZACIONAL E
222   - INNER JOIN estruturaorganizacionalpatrim EP ON (EP.ESTRUTURAORGANIZACIONAL_ID = E.ID)
223   - WHERE EP.ISALMOXARIFADO IS TRUE)
224   - LOOP
225   - UPDATE PUBLIC.BEMPATRIMONIAL
226   - SET DOMINIOSTATUSDEPRECIACAO_ID = v_tipoStatusPronto
227   - WHERE ID = rBEM.id;
228   - END LOOP;
229   - END$$;
230   --- #FIM :: ATUALIZA STATUS DEPRECIACAO DOS BENS QUE TEM DATACONTABIL NESSE MES E NAO ESTAO NO ALMOXARIFADO >> BEMPATRIMONIAL
231   -
232   -
233   --- ################ ################
234   --- ################ ))))) VERIFICAR A DATACONTABIL INICIAL PARA DEPRECIACAO ((((( ################
235   --- ################ ################
236   --- #INI :: ATUALIZA STATUS DEPRECIACAO DOS BENS QUE TEM DATACONTABIL NESSE MES E NAO ESTAO NO ALMOXARIFADO >> BEMPATRIMONIAL
237   - DO $$
238   - DECLARE
239   - rBEM RECORD;
240   - v_tipoStatusNaoDepreciavel int;
241   - BEGIN
242   - SELECT ID FROM PUBLIC.DOMINIO WHERE CHAVE='tipoStatusDepreciacao' AND CODIGO=4 into v_tipoStatusNaoDepreciavel;
243   - -- RECUPERA OS BENS PATRIMONIAIS QUE AINDA NAO POSSUEM STATUSDEPRECIACAO E QUE TEM DATA CONTABIL INFERIOR A 2010 E NAO SOFRERAM REAVALIACAO
244   - FOR rBEM IN
245   - SELECT ID
246   - FROM PUBLIC.BEMPATRIMONIAL
247   - WHERE DATACONTABIL < TO_TIMESTAMP('20100101', 'YYYYMMDD') -- << ALTERAR PARA ANOMES CONFORME CLIENTE >>
248   - AND ID NOT IN (SELECT DISTINCT BEMPATRIMONIAL_ID
249   - FROM BEMPATRIMONIALALTERACAO
250   - WHERE MOTIVOALTERACAO_ID = (SELECT ID FROM PUBLIC.DOMINIO WHERE CHAVE='tipoMotivoAlteracaoBem' AND CODIGO=3))
251   - AND DOMINIOSTATUSDEPRECIACAO_ID IS NULL
252   - LOOP
253   - UPDATE PUBLIC.BEMPATRIMONIAL
254   - SET DOMINIOSTATUSDEPRECIACAO_ID = v_tipoStatusNaoDepreciavel
255   - WHERE ID = rBEM.id;
256   - END LOOP;
257   - END$$;
258   --- #FIM :: ATUALIZA STATUS DEPRECIACAO DOS BENS QUE TEM DATACONTABIL NESSE MES E NAO ESTAO NO ALMOXARIFADO >> BEMPATRIMONIAL
259   -
260   -
261   --- #INI :: ATUALIZA STATUS DEPRECIACAO DOS BENS QUE JA ATINGIRAM O VALOR RESIDUAL >> BEMPATRIMONIAL
262   - DO $$
263   - DECLARE
264   - rBEM RECORD;
265   - v_tipoStatusDepreciacaoFinalizada int;
266   - BEGIN
267   - SELECT ID FROM PUBLIC.DOMINIO WHERE CHAVE='tipoStatusDepreciacao' AND CODIGO=3 into v_tipoStatusDepreciacaoFinalizada;
268   - -- RECUPERA OS BENS PATRIMONIAIS QUE AINDA NAO POSSUEM STATUSDEPRECIACAO E JA ATINGIRAM O VALOR RESIDUAL
269   - FOR rBEM IN
270   - SELECT DISTINCT BEMPATRIMONIAL_ID AS ID
271   - FROM PUBLIC.DEPRECIACAOITEM D
272   - INNER JOIN BEMPATRIMONIAL B ON (B.ID = D.BEMPATRIMONIAL_ID) WHERE round((B.VALORBRUTOATUAL*B.PERCENTUALNAODEPRECIAVEL), 2) = round(B.VALORLIQUIDO, 2) AND B.DOMINIOSTATUSDEPRECIACAO_ID IS NULL
273   - LOOP
274   - UPDATE PUBLIC.BEMPATRIMONIAL
275   - SET DOMINIOSTATUSDEPRECIACAO_ID = v_tipoStatusDepreciacaoFinalizada
276   - WHERE ID = rBEM.id;
277   - END LOOP;
278   - END$$;
279   --- #FIM :: ATUALIZA STATUS DEPRECIACAO DOS BENS QUE JA ATINGIRAM O VALOR RESIDUAL >> BEMPATRIMONIAL
280   -
281   -
282   --- #INI :: ATUALIZA STATUS DEPRECIACAO DOS BENS QUE NAO SE ADEQUARAM NAS CONDICOES ANTERIORES (SAO TODOS DEPRECIAVEIS) >> BEMPATRIMONIAL
283   - BEGIN;
284   - UPDATE public.bempatrimonial
285   - SET dominiostatusdepreciacao_id = (SELECT ID FROM PUBLIC.DOMINIO WHERE CHAVE='tipoStatusDepreciacao' AND CODIGO=1)
286   - WHERE dominiostatusdepreciacao_id is null;
287   - COMMIT;
288   -
289   - BEGIN;
290   - UPDATE public.bempatrimonial
291   - SET naodepreciar = true
292   - WHERE dominiostatusdepreciacao_id = (SELECT ID FROM PUBLIC.DOMINIO WHERE CHAVE='tipoStatusDepreciacao' AND CODIGO=4);
293   - COMMIT;
294   --- #FIM :: ATUALIZA STATUS DEPRECIACAO DOS BENS QUE NAO SE ADEQUARAM NAS CONDICOES ANTERIORES (SAO TODOS DEPRECIAVEIS) >> BEMPATRIMONIAL
295   -
296 7 BEGIN; -- #INI :: CARGA EM CONTACONTABILSALDO :: ESPECIFICO MPOG >> ATE JAN-2016
297 8 INSERT INTO contacontabilsaldo VALUES (NEXTVAL('hibernate_sequence'), NULL, NULL, '2016-03-21 18:04:44.135', '2016-03-21 18:04:44.135', 0, '2009-12-01 00:00:00', 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 1204259.68, NULL, NULL, NULL, 1);
298 9 INSERT INTO contacontabilsaldo VALUES (NEXTVAL('hibernate_sequence'), NULL, NULL, '2016-03-21 18:04:44.135', '2016-03-21 18:04:44.135', 0, '2009-12-01 00:00:00', 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 1769932.33, NULL, NULL, NULL, 2);
... ... @@ -3233,6 +2944,248 @@ COMMIT; -- #FIM :: ZERA OS SALDOS DAS CONTAS COM VALOR NULO &gt;&gt; CONTACONTABILSALD
3233 2944 --9,23 min maquina Ju para todos os materiais
3234 2945 -- #FIM :: GERA SALDOS DE MATERIAIS EM ESTOQUE >> MATERIALESTOQUESALDO
3235 2946  
  2947 +-- #INI :: GERACAO DE CONFIGURACAO DE CONTAS PARA O RMA/RMB >> CONTACONTABILCONFIGREFERENCIA
  2948 + /*
  2949 + SCRIPT QUE GERA A REFERENCIA DE CONTAS
  2950 + ======================================
  2951 + 1. Definir v_dtaini_ref e v_dtafin_ref com o período inicial que você quer gerar a referência
  2952 + 2. Definir v_anomes_ant com o mês de referência anterior ao saldo que você quer gerar
  2953 + (os saldos já devem estar gerados para esse mês)
  2954 + 3. Apos o insert definir onde você quer quer a função pare de gerar a referência,
  2955 + ou seja o ultimo mes de referencia fechado no banco
  2956 + */
  2957 +-- #INI :: GERACAO DE CONFIGURACAO DE CONTAS PARA O RMA/RMB >> CONTACONTABILCONFIGREFERENCIA
  2958 + /*
  2959 + SCRIPT QUE GERA A REFERENCIA DE CONTAS
  2960 + ======================================
  2961 + 1. Definir v_dtaini_ref e v_dtafin_ref com o período inicial que você quer gerar a referência
  2962 + 2. Definir v_anomes_ant com o mês de referência anterior ao saldo que você quer gerar
  2963 + (os saldos já devem estar gerados para esse mês)
  2964 + 3. Apos o insert definir onde você quer quer a função pare de gerar a referência,
  2965 + ou seja o ultimo mes de referencia fechado no banco
  2966 + */
  2967 + DO $$
  2968 + DECLARE
  2969 + r RECORD;
  2970 + v_anomes_ant timestamp without time zone;
  2971 + v_dtaini_ref timestamp without time zone;
  2972 + v_dtafin_ref timestamp without time zone;
  2973 + v_anomes_fin timestamp without time zone;
  2974 + v_rma boolean;
  2975 + v_rmb boolean;
  2976 + BEGIN
  2977 +
  2978 + v_anomes_fin := TO_TIMESTAMP('20160201','YYYYMMDD')::timestamp without time zone;
  2979 + v_anomes_ant := TO_TIMESTAMP('20091201','YYYYMMDD')::timestamp without time zone;
  2980 + v_dtaini_ref := TO_TIMESTAMP('20100101','YYYYMMDD')::timestamp without time zone;
  2981 + v_dtafin_ref := v_dtaini_ref + interval '1 month' - interval '1 second';
  2982 +
  2983 + LOOP
  2984 + FOR r IN
  2985 + SELECT C.ID, D.NOME FROM PUBLIC.CONTACONTABIL C
  2986 + INNER JOIN PUBLIC.DOMINIO D ON (D.ID = DOMINIOTIPOMATERIAL_ID)
  2987 + ORDER BY 1
  2988 + LOOP
  2989 + RAISE NOTICE 'ANOMES, %d', to_char(v_dtaini_ref, 'YYYYMM');
  2990 + --> A PRINCIPIO NAO APARECE NEM NO RMA NEM NO RMB
  2991 + v_rmb := FALSE;
  2992 + v_rma := FALSE;
  2993 +
  2994 + --> VERIFICA SE A CONTA TEM MOVIMENTO
  2995 + IF EXISTS (SELECT 'X' FROM CONTACONTABILMOVIMENTO M
  2996 + WHERE M.DATAREFERENCIA BETWEEN v_dtaini_ref AND v_dtafin_ref
  2997 + AND M.CONTACONTABIL_ID = r.ID)
  2998 + THEN
  2999 + v_rmb := (r.NOME='PERMANENTE');
  3000 + v_rma := (r.NOME='CONSUMO');
  3001 + END IF;
  3002 +
  3003 + --> OU SE A CONTA TEM SALDO
  3004 + IF EXISTS (SELECT 'X' FROM CONTACONTABILSALDO S
  3005 + WHERE S.DATAREFERENCIA BETWEEN v_dtaini_ref AND v_dtafin_ref
  3006 + AND S.CONTACONTABIL_ID = r.ID AND S.VALOR > 0.0)
  3007 + THEN
  3008 + v_rmb := (r.NOME='PERMANENTE');
  3009 + v_rma := (r.NOME='CONSUMO');
  3010 + END IF;
  3011 +
  3012 + --> OU SE A CONTA JA APARECEU ALGUMA VEZ NO RELATORIO (RMA)
  3013 + IF EXISTS (SELECT 'X' FROM CONTACONTABILMOVIMENTO M
  3014 + WHERE M.DATAREFERENCIA <= v_dtafin_ref
  3015 + AND M.CONTACONTABIL_ID = r.ID )
  3016 + THEN
  3017 + v_rma := (r.NOME='CONSUMO');
  3018 + END IF;
  3019 +
  3020 + --> INSERE UM REGISTRO EM CONFIGURACAO PARA CADA CONTA / MESREFERENCIA
  3021 + INSERT INTO public.contacontabilconfigreferencia
  3022 + ( ID, datacriacao, dataedicao, version, apresentarma,
  3023 + apresentarmb, apresentaRelatorioDepreciacao, mesreferencia, contacontabil_id )
  3024 + VALUES
  3025 + ( NEXTVAL('hibernate_sequence'), LOCALTIMESTAMP, LOCALTIMESTAMP, 0, v_rma,
  3026 + v_rmb, v_rmb, v_dtaini_ref, r.ID );
  3027 +
  3028 + END LOOP;
  3029 +
  3030 + IF DATE_TRUNC('month',v_dtaini_ref) = DATE_TRUNC('month', v_anomes_fin) THEN
  3031 + return;
  3032 + END IF;
  3033 +
  3034 + v_dtaini_ref := v_dtaini_ref + interval '1 month';
  3035 + v_dtafin_ref := v_dtaini_ref + interval '1 month' - interval '1 second';
  3036 +
  3037 + END LOOP;
  3038 + END$$;
  3039 +-- #FIM :: GERACAO DE CONFIGURACAO DE CONTAS PARA O RMA/RMB >> CONTACONTABILCONFIGREFERENCIA
  3040 +
  3041 +
  3042 +BEGIN; -- #INI :: AJUSTA CONFIGURACAO DE CONTAS PARA ULTIMO MESREFERENCIA >> CONTACONTABILCONFIGREFERENCIA
  3043 + INSERT INTO public.contacontabilconfigreferencia
  3044 + ( id, datacriacao, dataedicao, version, apresentarma,
  3045 + apresentarmb, apresentarelatoriodepreciacao, mesreferencia, contacontabil_id )
  3046 + SELECT NEXTVAL('hibernate_sequence'), localtimestamp, localtimestamp, 0, r.apresentarma, r.apresentarmb,
  3047 + r.apresentarmb, TO_TIMESTAMP('20160201','YYYYMMDD')::timestamp without time zone, r.contacontabil_id
  3048 + FROM CONTACONTABILCONFIGREFERENCIA R
  3049 + WHERE R.MESREFERENCIA = (SELECT MAX(MESREFERENCIA) FROM CONTACONTABILCONFIGREFERENCIA);
  3050 +COMMIT; -- #FIM :: AJUSTA CONFIGURACAO DE CONTAS PARA ULTIMO MESREFERENCIA >> CONTACONTABILCONFIGREFERENCIA
  3051 +
  3052 +BEGIN; -- #INI :: GARANTINDO QUE AS CONTAS SEM SALDO ANTERIOR, TENHAM UM SALDO ZERADO
  3053 + INSERT INTO public.contacontabilsaldo
  3054 + ( id, datacriacao, dataedicao, version
  3055 + , datareferencia, valor, contacontabil_id, depreciacaoacumulada
  3056 + , depreciacaomensal, reavaliacaoperiodo, reavaliacaoacumulada, reducaoperiodo, reducaoacumulada
  3057 + )
  3058 + SELECT NEXTVAL('hibernate_sequence'), LOCALTIMESTAMP, LOCALTIMESTAMP, 0
  3059 + , TO_DATE('20160201','YYYYMMDD'), 0, ID, 0
  3060 + , 0, 0, 0, 0, 0
  3061 + FROM PUBLIC.CONTACONTABIL
  3062 + WHERE CONTACONTABILSALDOANTERIOR_ID IS NULL;
  3063 +
  3064 + -- Referenciar um conta contabil ha um registro do conta contabil
  3065 + UPDATE PUBLIC.CONTACONTABIL C
  3066 + SET CONTACONTABILSALDOANTERIOR_ID =
  3067 + ( SELECT S.ID FROM PUBLIC.CONTACONTABILSALDO S
  3068 + WHERE S.CONTACONTABIL_ID = C.ID
  3069 + ORDER BY DATAREFERENCIA DESC LIMIT 1);
  3070 +COMMIT; -- #INI :: GARANTINDO QUE AS CONTAS SEM SALDO ANTERIOR, TENHAM UM SALDO ZERADO
  3071 +
  3072 +BEGIN; --CRIO NOVAMENTE AS CONSTRAINTS DAS TABELAS DE MOVIMENTO
  3073 + ALTER TABLE contacontabilmovimento
  3074 + ADD CONSTRAINT fk_tltd08eva1hdwc3h7jlwjws4j FOREIGN KEY (editor_id)
  3075 + REFERENCES seguranca_usuario (id) MATCH SIMPLE
  3076 + ON UPDATE NO ACTION ON DELETE NO ACTION;
  3077 +
  3078 + ALTER TABLE contacontabilmovimento
  3079 + ADD CONSTRAINT fk_ixxyf53r9ft0t2tjgttwhq12r FOREIGN KEY (entrada_id)
  3080 + REFERENCES entrada (id) MATCH SIMPLE
  3081 + ON UPDATE NO ACTION ON DELETE NO ACTION;
  3082 +
  3083 + ALTER TABLE contacontabilmovimento
  3084 + ADD CONSTRAINT fk_dpuxwhj1qoinbsbdem8hvey5l FOREIGN KEY (inativador_id)
  3085 + REFERENCES seguranca_usuario (id) MATCH SIMPLE
  3086 + ON UPDATE NO ACTION ON DELETE NO ACTION;
  3087 +
  3088 + ALTER TABLE contacontabilmovimento
  3089 + ADD CONSTRAINT fk_c2crmvotnfof8iv19h96qdn1h FOREIGN KEY (dominioclassereferencia_id)
  3090 + REFERENCES dominio (id) MATCH SIMPLE
  3091 + ON UPDATE NO ACTION ON DELETE NO ACTION;
  3092 +
  3093 + ALTER TABLE contacontabilmovimento
  3094 + ADD CONSTRAINT fk_blt6cqdh6lonms89du3m5wug8 FOREIGN KEY (tipomovimentocontacontabil_id)
  3095 + REFERENCES dominio (id) MATCH SIMPLE
  3096 + ON UPDATE NO ACTION ON DELETE NO ACTION;
  3097 +
  3098 + ALTER TABLE contacontabilmovimento
  3099 + ADD CONSTRAINT fk_8q85bxfuhk0f536ndy3y876xl FOREIGN KEY (contacontabil_id)
  3100 + REFERENCES contacontabil (id) MATCH SIMPLE
  3101 + ON UPDATE NO ACTION ON DELETE NO ACTION;
  3102 +
  3103 + ALTER TABLE contacontabilmovimento
  3104 + ADD CONSTRAINT fk_72shgmt8caaldg2m0kw2cvbhj FOREIGN KEY (autor_id)
  3105 + REFERENCES seguranca_usuario (id) MATCH SIMPLE
  3106 + ON UPDATE NO ACTION ON DELETE NO ACTION;
  3107 +
  3108 + ALTER TABLE contacontabilmovimento
  3109 + ADD CONSTRAINT fk_114dqtx1g4ja80nkdqrw0ej0t FOREIGN KEY (transferenciaconta_id)
  3110 + REFERENCES transferenciacontacontabil (id) MATCH SIMPLE
  3111 + ON UPDATE NO ACTION ON DELETE NO ACTION;
  3112 +
  3113 + ALTER TABLE contacontabilmovimento
  3114 + ADD CONSTRAINT fk_2yfuukmqt1uyv7r0c9dc20xiw FOREIGN KEY (baixa_id)
  3115 + REFERENCES baixa (id) MATCH SIMPLE
  3116 + ON UPDATE NO ACTION ON DELETE NO ACTION;
  3117 +
  3118 + ALTER TABLE contacontabilmovpatrimonio
  3119 + ADD CONSTRAINT fk_qu9isdu7h3l1dabu9n9l2klab FOREIGN KEY (transferencia_id)
  3120 + REFERENCES transferencia (id) MATCH SIMPLE
  3121 + ON UPDATE NO ACTION ON DELETE NO ACTION;
  3122 +
  3123 + ALTER TABLE contacontabilmovpatrimonio
  3124 + ADD CONSTRAINT fk_1rrslp97ar7119a4fjw9h8xq7 FOREIGN KEY (bempatrimonial_id)
  3125 + REFERENCES bempatrimonial (id) MATCH SIMPLE
  3126 + ON UPDATE NO ACTION ON DELETE NO ACTION;
  3127 +
  3128 + ALTER TABLE contacontabilmovpatrimonio
  3129 + ADD CONSTRAINT fk_1uaukjmyd9srei1s6l3sueu9r FOREIGN KEY (id)
  3130 + REFERENCES contacontabilmovimento (id) MATCH SIMPLE
  3131 + ON UPDATE NO ACTION ON DELETE NO ACTION;
  3132 +COMMIT; --CRIO NOVAMENTE AS CONSTRAINTS DAS TABELAS DE MOVIMENTO
  3133 +
  3134 +
  3135 +BEGIN; --CRIO AS CONSTRAINTS DE DEPRECIACAOITEM NOVAMENTE
  3136 + ALTER TABLE depreciacao
  3137 + ADD CONSTRAINT fk_7ir0d4f00iv0d5k2tqnado80t FOREIGN KEY (organizacao_id)
  3138 + REFERENCES organizacao (id) MATCH SIMPLE
  3139 + ON UPDATE NO ACTION ON DELETE NO ACTION;
  3140 +
  3141 + ALTER TABLE depreciacao
  3142 + ADD CONSTRAINT fk_7qj52csr4ussngholioxwf8ny FOREIGN KEY (autor_id)
  3143 + REFERENCES seguranca_usuario (id) MATCH SIMPLE
  3144 + ON UPDATE NO ACTION ON DELETE NO ACTION;
  3145 +
  3146 + ALTER TABLE depreciacao
  3147 + ADD CONSTRAINT fk_ax8wlx3nuo622jni9tlkf05t4 FOREIGN KEY (editor_id)
  3148 + REFERENCES seguranca_usuario (id) MATCH SIMPLE
  3149 + ON UPDATE NO ACTION ON DELETE NO ACTION;
  3150 +
  3151 + ALTER TABLE depreciacao
  3152 + ADD CONSTRAINT fk_hxiqvyjv7su2fsn0b3hcmuirx FOREIGN KEY (inativador_id)
  3153 + REFERENCES seguranca_usuario (id) MATCH SIMPLE
  3154 + ON UPDATE NO ACTION ON DELETE NO ACTION;
  3155 +
  3156 + ALTER TABLE depreciacaoitem
  3157 + ADD CONSTRAINT fk_flvqkobbb468h7m7twqpg27wm FOREIGN KEY (bempatrimonial_id)
  3158 + REFERENCES bempatrimonial (id) MATCH SIMPLE
  3159 + ON UPDATE NO ACTION ON DELETE NO ACTION;
  3160 +
  3161 + ALTER TABLE depreciacaoitem
  3162 + ADD CONSTRAINT fk_e1qmf052vbg4kbym0c2rl0t9 FOREIGN KEY (autor_id)
  3163 + REFERENCES seguranca_usuario (id) MATCH SIMPLE
  3164 + ON UPDATE NO ACTION ON DELETE NO ACTION;
  3165 +
  3166 + ALTER TABLE depreciacaoitem
  3167 + ADD CONSTRAINT fk_6dt6ljs2kog9j0hrugj4jp1cq FOREIGN KEY (editor_id)
  3168 + REFERENCES seguranca_usuario (id) MATCH SIMPLE
  3169 + ON UPDATE NO ACTION ON DELETE NO ACTION;
  3170 +
  3171 + ALTER TABLE depreciacaoitem
  3172 + ADD CONSTRAINT fk_5dd5ba2uf8vd5im0j6wy73xue FOREIGN KEY (depreciacao_id)
  3173 + REFERENCES depreciacao (id) MATCH SIMPLE
  3174 + ON UPDATE NO ACTION ON DELETE NO ACTION;
  3175 +
  3176 + ALTER TABLE depreciacaoitem
  3177 + ADD CONSTRAINT fk_2lv1atngy0npqsjbxvg2j0nd8 FOREIGN KEY (contacontabil_id)
  3178 + REFERENCES contacontabil (id) MATCH SIMPLE
  3179 + ON UPDATE NO ACTION ON DELETE NO ACTION;
  3180 +
  3181 + ALTER TABLE depreciacaoitem
  3182 + ADD CONSTRAINT fk_1fssswosq1k83ghlnq8efennr FOREIGN KEY (inativador_id)
  3183 + REFERENCES seguranca_usuario (id) MATCH SIMPLE
  3184 + ON UPDATE NO ACTION ON DELETE NO ACTION;
  3185 +COMMIT; --CRIO AS CONSTRAINTS DE DEPRECIACAOITEM NOVAMENTE
  3186 +
  3187 +
  3188 +
3236 3189  
3237 3190 --===========================================================================--
3238 3191 -- ##FIM :: CARGAS E ATUALIZACOES DE SALDOS CONTABEIS/ESTOQUE/MOVIMENTOS --
... ...
cit-adm-materiais-api/src/main/resources/scripts-bd/Migracao_MPOG/99-AjustesFinais.sql
... ... @@ -10,110 +10,7 @@
10 10 -- #FIM :: AJUSTES TABELA BEMPATRIMONIAL >> COLUNA CODIGO
11 11  
12 12  
13   --- #INI :: GERACAO DE CONFIGURACAO DE CONTAS PARA O RMA/RMB >> CONTACONTABILCONFIGREFERENCIA
14   - /*
15   - SCRIPT QUE GERA A REFERENCIA DE CONTAS
16   - ======================================
17   - 1. Definir v_dtaini_ref e v_dtafin_ref com o período inicial que você quer gerar a referência
18   - 2. Definir v_anomes_ant com o mês de referência anterior ao saldo que você quer gerar
19   - (os saldos já devem estar gerados para esse mês)
20   - 3. Apos o insert definir onde você quer quer a função pare de gerar a referência,
21   - ou seja o ultimo mes de referencia fechado no banco
22   - */
23   --- #INI :: GERACAO DE CONFIGURACAO DE CONTAS PARA O RMA/RMB >> CONTACONTABILCONFIGREFERENCIA
24   - /*
25   - SCRIPT QUE GERA A REFERENCIA DE CONTAS
26   - ======================================
27   - 1. Definir v_dtaini_ref e v_dtafin_ref com o período inicial que você quer gerar a referência
28   - 2. Definir v_anomes_ant com o mês de referência anterior ao saldo que você quer gerar
29   - (os saldos já devem estar gerados para esse mês)
30   - 3. Apos o insert definir onde você quer quer a função pare de gerar a referência,
31   - ou seja o ultimo mes de referencia fechado no banco
32   - */
33   - DO $$
34   - DECLARE
35   - r RECORD;
36   - v_anomes_ant timestamp without time zone;
37   - v_dtaini_ref timestamp without time zone;
38   - v_dtafin_ref timestamp without time zone;
39   - v_anomes_fin timestamp without time zone;
40   - v_rma boolean;
41   - v_rmb boolean;
42   - BEGIN
43   -
44   - v_anomes_fin := TO_TIMESTAMP('20160201','YYYYMMDD')::timestamp without time zone;
45   - v_anomes_ant := TO_TIMESTAMP('20091201','YYYYMMDD')::timestamp without time zone;
46   - v_dtaini_ref := TO_TIMESTAMP('20100101','YYYYMMDD')::timestamp without time zone;
47   - v_dtafin_ref := v_dtaini_ref + interval '1 month' - interval '1 second';
48   -
49   - LOOP
50   - FOR r IN
51   - SELECT C.ID, D.NOME FROM PUBLIC.CONTACONTABIL C
52   - INNER JOIN PUBLIC.DOMINIO D ON (D.ID = DOMINIOTIPOMATERIAL_ID)
53   - ORDER BY 1
54   - LOOP
55   - RAISE NOTICE 'ANOMES, %d', to_char(v_dtaini_ref, 'YYYYMM');
56   - --> A PRINCIPIO NAO APARECE NEM NO RMA NEM NO RMB
57   - v_rmb := FALSE;
58   - v_rma := FALSE;
59   -
60   - --> VERIFICA SE A CONTA TEM MOVIMENTO
61   - IF EXISTS (SELECT 'X' FROM CONTACONTABILMOVIMENTO M
62   - WHERE M.DATAREFERENCIA BETWEEN v_dtaini_ref AND v_dtafin_ref
63   - AND M.CONTACONTABIL_ID = r.ID)
64   - THEN
65   - v_rmb := (r.NOME='PERMANENTE');
66   - v_rma := (r.NOME='CONSUMO');
67   - END IF;
68   -
69   - --> OU SE A CONTA TEM SALDO
70   - IF EXISTS (SELECT 'X' FROM CONTACONTABILSALDO S
71   - WHERE S.DATAREFERENCIA BETWEEN v_dtaini_ref AND v_dtafin_ref
72   - AND S.CONTACONTABIL_ID = r.ID AND S.VALOR > 0.0)
73   - THEN
74   - v_rmb := (r.NOME='PERMANENTE');
75   - v_rma := (r.NOME='CONSUMO');
76   - END IF;
77   -
78   - --> OU SE A CONTA JA APARECEU ALGUMA VEZ NO RELATORIO (RMA)
79   - IF EXISTS (SELECT 'X' FROM CONTACONTABILMOVIMENTO M
80   - WHERE M.DATAREFERENCIA <= v_dtafin_ref
81   - AND M.CONTACONTABIL_ID = r.ID )
82   - THEN
83   - v_rma := (r.NOME='CONSUMO');
84   - END IF;
85 13  
86   - --> INSERE UM REGISTRO EM CONFIGURACAO PARA CADA CONTA / MESREFERENCIA
87   - INSERT INTO public.contacontabilconfigreferencia
88   - ( ID, datacriacao, dataedicao, version, apresentarma,
89   - apresentarmb, apresentaRelatorioDepreciacao, mesreferencia, contacontabil_id )
90   - VALUES
91   - ( NEXTVAL('hibernate_sequence'), LOCALTIMESTAMP, LOCALTIMESTAMP, 0, v_rma,
92   - v_rmb, v_rmb, v_dtaini_ref, r.ID );
93   -
94   - END LOOP;
95   -
96   - IF DATE_TRUNC('month',v_dtaini_ref) = DATE_TRUNC('month', v_anomes_fin) THEN
97   - return;
98   - END IF;
99   -
100   - v_dtaini_ref := v_dtaini_ref + interval '1 month';
101   - v_dtafin_ref := v_dtaini_ref + interval '1 month' - interval '1 second';
102   -
103   - END LOOP;
104   - END$$;
105   --- #FIM :: GERACAO DE CONFIGURACAO DE CONTAS PARA O RMA/RMB >> CONTACONTABILCONFIGREFERENCIA
106   -
107   -
108   -BEGIN; -- #INI :: AJUSTA CONFIGURACAO DE CONTAS PARA ULTIMO MESREFERENCIA >> CONTACONTABILCONFIGREFERENCIA
109   - INSERT INTO public.contacontabilconfigreferencia
110   - ( id, datacriacao, dataedicao, version, apresentarma,
111   - apresentarmb, apresentarelatoriodepreciacao, mesreferencia, contacontabil_id )
112   - SELECT NEXTVAL('hibernate_sequence'), localtimestamp, localtimestamp, 0, r.apresentarma, r.apresentarmb,
113   - r.apresentarmb, TO_TIMESTAMP('20160201','YYYYMMDD')::timestamp without time zone, r.contacontabil_id
114   - FROM CONTACONTABILCONFIGREFERENCIA R
115   - WHERE R.MESREFERENCIA = (SELECT MAX(MESREFERENCIA) FROM CONTACONTABILCONFIGREFERENCIA);
116   -COMMIT; -- #FIM :: AJUSTA CONFIGURACAO DE CONTAS PARA ULTIMO MESREFERENCIA >> CONTACONTABILCONFIGREFERENCIA
117 14  
118 15  
119 16 BEGIN; -- #INI :: DEFINICAO DAS CARACTERISTICAS FILTRAVEIS PARA O MPOG (FUTURAMENTE O USUARIO PODERA ESCOLHER MAIS CARACTERISTICAS NO SOFTWARE)
... ... @@ -201,27 +98,6 @@ COMMIT; -- #FIM :: BLOQUEIO DE ALGUNS DOMINIOS PEDIDO PELO MPOG ** JULIANA
201 98 END$$;
202 99 -- #FIM :: AJUSTES TIPOSTATUSBAIXAESTORNO >> BAIXAALMOXARIFADO
203 100  
204   -
205   -BEGIN; -- #INI :: GARANTINDO QUE AS CONTAS SEM SALDO ANTERIOR, TENHAM UM SALDO ZERADO
206   - INSERT INTO public.contacontabilsaldo
207   - ( id, datacriacao, dataedicao, version
208   - , datareferencia, valor, contacontabil_id, depreciacaoacumulada
209   - , depreciacaomensal, reavaliacaoperiodo, reavaliacaoacumulada, reducaoperiodo, reducaoacumulada
210   - )
211   - SELECT NEXTVAL('hibernate_sequence'), LOCALTIMESTAMP, LOCALTIMESTAMP, 0
212   - , TO_DATE('20160201','YYYYMMDD'), 0, ID, 0
213   - , 0, 0, 0, 0, 0
214   - FROM PUBLIC.CONTACONTABIL
215   - WHERE CONTACONTABILSALDOANTERIOR_ID IS NULL;
216   -
217   - -- Referenciar um conta contabil ha um registro do conta contabil
218   - UPDATE PUBLIC.CONTACONTABIL C
219   - SET CONTACONTABILSALDOANTERIOR_ID =
220   - ( SELECT S.ID FROM PUBLIC.CONTACONTABILSALDO S
221   - WHERE S.CONTACONTABIL_ID = C.ID
222   - ORDER BY DATAREFERENCIA DESC LIMIT 1);
223   -COMMIT; -- #INI :: GARANTINDO QUE AS CONTAS SEM SALDO ANTERIOR, TENHAM UM SALDO ZERADO
224   -
225 101 BEGIN; --ARRUMANDO BEM PATRIMONIAL QUE ESTAVA COM STATUS BAIXADO NO ASI MAS NAO DEVERIA ESTAR
226 102  
227 103 update bempatrimonial
... ...