Commit 46e7bc7464a9d1ffa04adde36efdc4ae704f5052
1 parent
f5186852
Exists in
master
Redmine #5144 - alteração da ordem dos scripts para melhorar a performance.
Showing
3 changed files
with
523 additions
and
522 deletions
Show diff stats
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 >> 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 | ... | ... |