-- Table: vnd_orcamento_item_ficha_tecnica_embalagem -- DROP TABLE vnd_orcamento_item_ficha_tecnica_embalagem; CREATE TABLE vnd_orcamento_item_ficha_tecnica_embalagem( filial_orc integer NOT NULL, orcamento integer NOT NULL, orcamento_seq integer NOT NULL, ficha_tecnica integer NOT NULL, ficha_tecnica_seq integer NOT NULL, materia_prima integer NOT NULL, referencia_produto character varying(100) NOT NULL, perc_ipi numeric(18,6) NOT NULL, perc_icms numeric(18,6) NOT NULL, prazo_entrega integer NOT NULL, preco_net character varying(1) NOT NULL, tipo integer NOT NULL, fechamento integer NOT NULL, complemento integer NOT NULL, capa integer NOT NULL, onda integer NOT NULL, lote_minimo integer NOT NULL, comprimento integer NOT NULL, largura integer NOT NULL, altura integer NOT NULL, comprimento_chapa integer NOT NULL, largura_chapa integer NOT NULL, qtd_proposta integer NOT NULL, qtd_pedido numeric(18,6) NOT NULL, qtd_mix numeric(18,6) NOT NULL, preco_kg numeric(18,6) NOT NULL, gramatura_m2 numeric(18,6) NOT NULL, preco_m2 numeric(18,6) NOT NULL, area_chapa_m2 numeric(18,6) NOT NULL, peso_chapa_kg_m2 numeric(18,6) NOT NULL, custo_mat_prima numeric(18,6) NOT NULL, coluna numeric(18,6) NOT NULL, total_area_m2 numeric(18,6) NOT NULL, total_peso_kg numeric(18,6) NOT NULL, perc_impostos numeric(18,6) NOT NULL, perc_mao_obra numeric(18,6) NOT NULL, perc_custo_fixo numeric(18,6) NOT NULL, perc_aparas numeric(18,6) NOT NULL, perc_comissao numeric(18,6) NOT NULL, perc_outros_insumos numeric(18,6) NOT NULL, perc_retorno numeric(18,6) NOT NULL, vlr_impostos numeric(18,6) NOT NULL, vlr_mao_obra numeric(18,6) NOT NULL, vlr_custo_fixo numeric(18,6) NOT NULL, vlr_aparas numeric(18,6) NOT NULL, vlr_comissao numeric(18,6) NOT NULL, vlr_outros_insumos numeric(18,6) NOT NULL, vlr_retorno numeric(18,6) NOT NULL, custo_unit numeric(18,6) NOT NULL, custo_total numeric(18,6) NOT NULL, venda_unit numeric(18,6) NOT NULL, venda_total numeric(18,6) NOT NULL, CONSTRAINT pk_vnd_orcamento_item_ficha_tecnica_embalagem PRIMARY KEY (filial_orc, orcamento, orcamento_seq, ficha_tecnica, ficha_tecnica_seq) ) TABLESPACE pg_default; ALTER TABLE vnd_orcamento_item_ficha_tecnica_embalagem OWNER to postgres; COMMENT ON TABLE vnd_orcamento_item_ficha_tecnica_embalagem IS 'Informacoes da ficha tecnica e proposta'; INSERT INTO vnd_orcamento_item_ficha_tecnica_embalagem ( SELECT filial_orc, orcamento, orcamento_seq, ficha_tecnica, ficha_tecnica_seq, materia_prima, referencia_produto, perc_ipi, perc_icms, prazo_entrega, preco_net, tipo, fechamento, complemento, capa, onda, lote_minimo, comprimento, largura, altura, comprimento_chapa, largura_chapa, qtd_proposta, qtd_pedido, qtd_mix, preco_kg, gramatura_m2, preco_m2, area_chapa_m2, peso_chapa_kg_m2, custo_mat_prima, coluna, total_area_m2, total_peso_kg, perc_impostos, perc_mao_obra, perc_custo_fixo, perc_aparas, perc_comissao, perc_outros_insumos, perc_retorno, vlr_impostos, vlr_mao_obra, vlr_custo_fixo, vlr_aparas, vlr_comissao, vlr_outros_insumos, vlr_retorno, fnc_arredonda_regra_abnt(((preco_m2 * area_chapa_m2) + vlr_impostos + vlr_mao_obra + vlr_custo_fixo + vlr_aparas + vlr_comissao + vlr_outros_insumos),4) AS custo_unit, fnc_arredonda_regra_abnt((((preco_m2 * area_chapa_m2) + vlr_impostos + vlr_mao_obra + vlr_custo_fixo + vlr_aparas + vlr_comissao + vlr_outros_insumos) * (qtd_pedido * qtd_mix)),4) AS custo_total, fnc_arredonda_regra_abnt(((preco_m2 * area_chapa_m2) + vlr_impostos + vlr_mao_obra + vlr_custo_fixo + vlr_aparas + vlr_comissao + vlr_outros_insumos),4) + vlr_retorno AS venda_unit, fnc_arredonda_regra_abnt((fnc_arredonda_regra_abnt(((preco_m2 * area_chapa_m2) + vlr_impostos + vlr_mao_obra + vlr_custo_fixo + vlr_aparas + vlr_comissao + vlr_outros_insumos),4) + vlr_retorno) * (qtd_pedido * qtd_mix),4) AS venda_total FROM ( SELECT filial_orc, orcamento, orcamento_seq, ficha_tecnica, ficha_tecnica_seq, materia_prima, referencia_produto, perc_ipi, perc_icms, prazo_entrega, preco_net, tipo, fechamento, complemento, capa, onda, lote_minimo, comprimento, largura, altura, comprimento_chapa, largura_chapa, qtd_proposta, qtd_pedido, qtd_mix, preco_kg, gramatura_m2, preco_m2, area_chapa_m2, peso_chapa_kg_m2, custo_mat_prima, coluna, total_area_m2, total_peso_kg, perc_impostos, perc_mao_obra, perc_custo_fixo, perc_aparas, perc_comissao, perc_outros_insumos, perc_retorno, fnc_arredonda_regra_abnt((custo_mat_prima * (perc_impostos / 100)),3) AS vlr_impostos, fnc_arredonda_regra_abnt((custo_mat_prima * (perc_mao_obra / 100)),3) AS vlr_mao_obra, fnc_arredonda_regra_abnt((custo_mat_prima * (perc_custo_fixo / 100)),3) AS vlr_custo_fixo, fnc_arredonda_regra_abnt((custo_mat_prima * (perc_aparas / 100)),3) AS vlr_aparas, fnc_arredonda_regra_abnt((custo_mat_prima * (perc_comissao / 100)),3) AS vlr_comissao, fnc_arredonda_regra_abnt((custo_mat_prima * (perc_outros_insumos / 100)),3) AS vlr_outros_insumos, fnc_arredonda_regra_abnt(ROUND((custo_mat_prima * (perc_retorno / 100)),2),4) AS vlr_retorno FROM ( SELECT vnd_orcamento_item.filial_orc, vnd_orcamento_item.orcamento, vnd_orcamento_item.sequencia AS orcamento_seq, prd_ficha_tecnica_embalagem.ficha_tecnica, prd_ficha_tecnica_embalagem.sequencia AS ficha_tecnica_seq, prd_ficha_tecnica_embalagem_proposta_item.materia_prima, prd_ficha_tecnica_embalagem_proposta.perc_ipi, prd_ficha_tecnica_embalagem_proposta.perc_icms, prd_ficha_tecnica_embalagem_proposta.prazo_entrega, prd_ficha_tecnica_embalagem_proposta.preco_net, prd_ficha_tecnica_embalagem_proposta_item.comprimento_chapa, prd_ficha_tecnica_embalagem_proposta_item.largura_chapa, prd_ficha_tecnica_embalagem_proposta_item.comprimento, prd_ficha_tecnica_embalagem_proposta_item.largura, prd_ficha_tecnica_embalagem_proposta_item.altura, prd_ficha_tecnica_embalagem_proposta_item.onda, prd_ficha_tecnica_embalagem_proposta_item.capa, prd_ficha_tecnica_embalagem_proposta_item.tipo, prd_ficha_tecnica_embalagem_proposta_item.fechamento, prd_ficha_tecnica_embalagem_proposta_item.complemento, prd_ficha_tecnica_embalagem_proposta_item.referencia_produto, prd_ficha_tecnica_embalagem_proposta_item.lote_minimo, prd_ficha_tecnica_embalagem_proposta_item.quantidade AS qtd_proposta, COALESCE(pro_mix.quantidade,1.000000) AS qtd_mix, vnd_orcamento_item.quantidade AS qtd_pedido, prc_tabela_preco.preco_reposicao AS preco_m2, prd_ficha_tecnica_embalagem_proposta_item.area_chapa_m2, TRUNC(((vnd_orcamento_item.quantidade * COALESCE(pro_mix.quantidade,1.000000)) * prd_ficha_tecnica_embalagem_proposta_item.area_chapa_m2),6) AS total_area_m2, prd_ficha_tecnica_embalagem_proposta_item.peso_chapa_kg_m2, TRUNC(((vnd_orcamento_item.quantidade * COALESCE(pro_mix.quantidade,1.000000)) * prd_ficha_tecnica_embalagem_proposta_item.gramatura_m2 * prd_ficha_tecnica_embalagem_proposta_item.area_chapa_m2),6) AS total_peso_kg, ROUND((prc_tabela_preco.preco_reposicao / prd_ficha_tecnica_embalagem_proposta_item.gramatura_m2),4) AS preco_kg, fnc_arredonda_regra_abnt((fnc_arredonda_regra_abnt(prc_tabela_preco.preco_reposicao,3) * ((prd_ficha_tecnica_embalagem_proposta_item.comprimento_chapa * prd_ficha_tecnica_embalagem_proposta_item.largura_chapa)::numeric / 1000000)),3) AS custo_mat_prima, prd_ficha_tecnica_embalagem_proposta_item.gramatura_m2, prd_ficha_tecnica_embalagem_proposta_item.coluna, prd_ficha_tecnica_embalagem_proposta_item.perc_impostos, prd_ficha_tecnica_embalagem_proposta_item.perc_mao_obra, prd_ficha_tecnica_embalagem_proposta_item.perc_custo_fixo, prd_ficha_tecnica_embalagem_proposta_item.perc_aparas, prd_ficha_tecnica_embalagem_proposta_item.perc_comissao, prd_ficha_tecnica_embalagem_proposta_item.perc_outros_insumos, prd_ficha_tecnica_embalagem_proposta_item.perc_retorno, prd_ficha_tecnica_embalagem_proposta_item.custo_unit, prd_ficha_tecnica_embalagem_proposta_item.venda_unit FROM vnd_orcamento_item LEFT JOIN pro_mix ON pro_mix.filial = vnd_orcamento_item.filial_orc AND pro_mix.produto_mix = vnd_orcamento_item.produto JOIN prd_ficha_tecnica_embalagem ON prd_ficha_tecnica_embalagem.filial = vnd_orcamento_item.filial_orc AND prd_ficha_tecnica_embalagem.produto_acabado = CASE WHEN pro_mix.produto IS NULL THEN vnd_orcamento_item.produto ELSE pro_mix.produto END JOIN prd_ficha_tecnica_embalagem_x_proposta ON prd_ficha_tecnica_embalagem_x_proposta.filial = prd_ficha_tecnica_embalagem.filial AND prd_ficha_tecnica_embalagem_x_proposta.ficha_tecnica = prd_ficha_tecnica_embalagem.ficha_tecnica AND prd_ficha_tecnica_embalagem_x_proposta.ficha_tecnica_sequencia = prd_ficha_tecnica_embalagem.sequencia JOIN prd_ficha_tecnica_embalagem_proposta ON prd_ficha_tecnica_embalagem_proposta.filial = prd_ficha_tecnica_embalagem_x_proposta.filial AND prd_ficha_tecnica_embalagem_proposta.proposta = prd_ficha_tecnica_embalagem_x_proposta.proposta JOIN prd_ficha_tecnica_embalagem_proposta_item ON prd_ficha_tecnica_embalagem_proposta_item.filial = prd_ficha_tecnica_embalagem_x_proposta.filial AND prd_ficha_tecnica_embalagem_proposta_item.proposta = prd_ficha_tecnica_embalagem_x_proposta.proposta AND prd_ficha_tecnica_embalagem_proposta_item.sequencia = prd_ficha_tecnica_embalagem_x_proposta.proposta_sequencia AND prd_ficha_tecnica_embalagem_proposta_item.situacao != 'C' JOIN prc_tabela_preco ON prc_tabela_preco.filial_tab = prd_ficha_tecnica_embalagem_proposta_item.filial AND prc_tabela_preco.tabela = 1 AND prc_tabela_preco.filial_pro = prd_ficha_tecnica_embalagem_proposta_item.filial AND prc_tabela_preco.produto = prd_ficha_tecnica_embalagem_proposta_item.materia_prima ) AS tabaux1 ) AS tabaux2 ORDER BY filial_orc, orcamento, orcamento_seq )