ALTER TABLE TBPLACA_REGRA ADD PRODUTO_ID INTEGER;

SET TERM ^ ;

CREATE OR ALTER procedure SPC_TALOES_PLACA (
    REMESSA_ID integer,
    GP_LIST varchar(300))
returns (
    ID bigint,
    REMESSA integer,
    TAMANHO integer,
    TAMANHO_CHAPA numeric(18,4),
    PRODUTO_ID integer,
    PRODUTO_DESCRICAO varchar(400),
    DESC_PRODUTO_DESCRICAO varchar(4412),
    LARGURA numeric(18,4),
    FCOMPRIMENTO numeric(18,4),
    QUANTIDADE numeric(18,4),
    PLACAS numeric(18,5),
    PERCENTUAL_DEFEITO numeric(18,4),
    DEN_ESP varchar(132),
    COMPRIMENTO numeric(18,4),
    VALOR_TIPO integer,
    VALOR numeric(15,2))
as
declare variable COM_GP integer;
declare variable COR_ID integer;
declare variable PERFIL_COR varchar(10);
begin

  :com_gp = iif(coalesce((select count(OSPLIT) from split(:GP_LIST,',')),0) > 0, 1, 0);

  for
    SELECT
        a.*,
        iif(FCOMPRIMENTO > 0.5 and LARGURA > 0.5, 0.5, FCOMPRIMENTO) as COMPRIMENTO
        from(
            SELECT
                row_number() over() as ID,
                REMESSA,
                TAMANHO,
                cast( replace(fn_tamanho_produto(PRODUTO_ID, TAMANHO),',','.') as numeric(15,4)) as TAMANHO_CHAPA,
                PRODUTO_ID,
                COR_ID,
                PRODUTO_DESCRICAO,
                fn_lpad(PRODUTO_ID, 7, '0')||' - '||PRODUTO_DESCRICAO as DESC_PRODUTO_DESCRICAO,
                MAX(LARGURA) LARGURA,
                MAX(COMPRIMENTO) FCOMPRIMENTO,
                SUM(QUANTIDADE) QUANTIDADE,
                SUM(PLACAS) PLACAS,
                CAST(CAST(SUM(FN_CALC_PRECISION(PERCENTUAL_DEFEITO,QUANTIDADE,'*')) AS NUMERIC(15,4))/CAST(SUM(QUANTIDADE) AS NUMERIC(15,4)) AS NUMERIC(15,4)) PERCENTUAL_DEFEITO,
                coalesce((select s.densidade||'|'||s.espessura from SPC_PRODUTO_DENSIDADE_ESPESSURA(PRODUTO_ID) s),'0|0') AS DEN_ESP
            FROM (
                SELECT
                W.REMESSA,
                w.TAMANHO2 as TAMANHO,
                W.PRODUTO_ID,
                W.COR_ID,
                W.PRODUTO_DESCRICAO,
                W.LARGURA,
                W.COMPRIMENTO,
                W.QUANTIDADE,
                W.PLACAS,
                W.SKU_ESTOQUE_MINIMO,
                W.PERCENTUAL_DEFEITO
                /*
                IIF(W.QUANTIDADE <= 200  AND W.SKU_ESTOQUE_MINIMO = '1', 0.03,
                IIF(W.QUANTIDADE <= 200  AND W.PERCENTUAL_DEFEITO > 0.15, PERCENTUAL_DEFEITO,
                IIF(W.QUANTIDADE <= 200  AND W.PERCENTUAL_DEFEITO<= 0.15, 0.15,
                IIF(W.QUANTIDADE <= 600  AND W.SKU_ESTOQUE_MINIMO = '1', 0.03,
                IIF(W.QUANTIDADE <= 600  AND W.PERCENTUAL_DEFEITO > 0.10, PERCENTUAL_DEFEITO,
                IIF(W.QUANTIDADE <= 600  AND W.PERCENTUAL_DEFEITO<= 0.10, 0.10,
                IIF(W.QUANTIDADE <= 1000 AND W.SKU_ESTOQUE_MINIMO = '1', 0.03,
                IIF(W.QUANTIDADE <= 1000 AND W.PERCENTUAL_DEFEITO > 0.07, PERCENTUAL_DEFEITO,
                IIF(W.QUANTIDADE <= 1000 AND W.PERCENTUAL_DEFEITO<= 0.07, 0.07,
                IIF(W.QUANTIDADE >  1000 AND W.PERCENTUAL_DEFEITO > 0.00, PERCENTUAL_DEFEITO -- *1.3
                , 0.04)))))))))) PERCENTUAL_DEFEITO
                */
                FROM (
                    SELECT
                    Y.REMESSA,
                    y.TAMANHO2,
                    Y.TAMANHO_DISPONIVEL,
                    Y.PRODUTO_ID,
                    Y.COR_ID,
                    Y.PRODUTO_DESCRICAO,
                    Y.SKU_ESTOQUE_MINIMO,
                    MAX(Y.LARGURA) LARGURA,
                    MAX(Y.COMPRIMENTO) COMPRIMENTO,
                    SUM(Y.QUANTIDADE) QUANTIDADE,
                    SUM(Y.PLACAS) PLACAS,
                    SUM(Y.QUANTIDADE*Y.PERCENTUAL_DEFEITO)/SUM(Y.QUANTIDADE) PERCENTUAL_DEFEITO
                    
                    FROM (
                        SELECT
                        Z.REMESSA,
                        Z.MODELO_ID,
                        Z.COR_ID,
                        Z.GRADE_ID,
                        Z.TAMANHO,
                        Z.TAMANHO2,
                        Z.TAMANHO_DISPONIVEL,
                        Z.PRODUTO_ID,
                        Z.PRODUTO_DESCRICAO,
                        Z.SKU_ESTOQUE_MINIMO,
                        Z.MATRIZ_ID,
                        CAST(FN_ARRAY(Z.MEDIDAS,1,'|') AS NUMERIC(15,4)) LARGURA,
                        CAST(FN_ARRAY(Z.MEDIDAS,2,'|') AS NUMERIC(15,4)) COMPRIMENTO,
                        CAST(Z.QUANTIDADE AS NUMERIC(15,4)) QUANTIDADE,
                        Z.PLACAS,
                        (SELECT PERCENTUAL_DEFEITO
                        FROM SPC_REMESSA_SKU_DEFEITO_PERCENT(MODELO_ID, COR_ID, TAMANHO, 0, 4, '2')) PERCENTUAL_DEFEITO
                        
                        FROM (
                            SELECT
                            X.REMESSA,
                            X.MODELO_ID,
                            X.COR_ID,
                            X.GRADE_ID,
                            X.TAMANHO,
                            X.TAMANHO2,
                            X.TAMANHO_DISPONIVEL,
                            X.PRODUTO_ID,
                            X.PRODUTO_DESCRICAO,
                            X.MATRIZ_ID,
                            X.SKU_ESTOQUE_MINIMO,
                            max(MAX_LARG)||'|'||max(MAX_COMP) MEDIDAS,
                            SUM(X.QUANTIDADE) QUANTIDADE,
                            SUM(X.PLACAS) PLACAS
                            
                            FROM (
                                
                                SELECT R.REMESSA, a.tamanho as tamanho2,
                                D.MODELO_CODIGO MODELO_ID,
                                D.COR_CODIGO COR_ID,
                                D.GRADE_CODIGO GRADE_ID,
                                R.TAMANHO,
                                G.TAMANHO_DESTINO,
                                R.QUANTIDADE,
                                R.PLACAS,
                                A.PRODUTO_ID PRODUTO_ID, P.DESCRICAO PRODUTO_DESCRICAO,
                                M.CODIGO MATRIZ_ID,

                                IIF(g.tamanho_destino=20,
                                    FN_MAIOR(m.comprimento_t20, FN_MAIOR(m.comprimento_t19, FN_MAIOR(m.comprimento_t18,
                                    FN_MAIOR(m.comprimento_t17, FN_MAIOR(m.comprimento_t16, FN_MAIOR(m.comprimento_t15,
                                    FN_MAIOR(m.comprimento_t14, FN_MAIOR(m.comprimento_t13, FN_MAIOR(m.comprimento_t12,
                                    FN_MAIOR(m.comprimento_t11, FN_MAIOR(m.comprimento_t10, FN_MAIOR(m.comprimento_t09,
                                    FN_MAIOR(m.comprimento_t08, FN_MAIOR(m.comprimento_t07, FN_MAIOR(m.comprimento_t06,
                                    FN_MAIOR(m.comprimento_t05, FN_MAIOR(m.comprimento_t04, FN_MAIOR(m.comprimento_t03,
                                    FN_MAIOR(m.comprimento_t02, FN_MAIOR(m.comprimento_t01, 0 )))))))))))))))))))),
                                IIF(g.tamanho_destino=19,
                                    FN_MAIOR(m.comprimento_t19, FN_MAIOR(m.comprimento_t18,
                                    FN_MAIOR(m.comprimento_t17, FN_MAIOR(m.comprimento_t16, FN_MAIOR(m.comprimento_t15,
                                    FN_MAIOR(m.comprimento_t14, FN_MAIOR(m.comprimento_t13, FN_MAIOR(m.comprimento_t12,
                                    FN_MAIOR(m.comprimento_t11, FN_MAIOR(m.comprimento_t10, FN_MAIOR(m.comprimento_t09,
                                    FN_MAIOR(m.comprimento_t08, FN_MAIOR(m.comprimento_t07, FN_MAIOR(m.comprimento_t06,
                                    FN_MAIOR(m.comprimento_t05, FN_MAIOR(m.comprimento_t04, FN_MAIOR(m.comprimento_t03,
                                    FN_MAIOR(m.comprimento_t02, FN_MAIOR(m.comprimento_t01, 0 ))))))))))))))))))),
                                IIF(g.tamanho_destino=18,
                                    FN_MAIOR(m.comprimento_t18,
                                    FN_MAIOR(m.comprimento_t17, FN_MAIOR(m.comprimento_t16, FN_MAIOR(m.comprimento_t15,
                                    FN_MAIOR(m.comprimento_t14, FN_MAIOR(m.comprimento_t13, FN_MAIOR(m.comprimento_t12,
                                    FN_MAIOR(m.comprimento_t11, FN_MAIOR(m.comprimento_t10, FN_MAIOR(m.comprimento_t09,
                                    FN_MAIOR(m.comprimento_t08, FN_MAIOR(m.comprimento_t07, FN_MAIOR(m.comprimento_t06,
                                    FN_MAIOR(m.comprimento_t05, FN_MAIOR(m.comprimento_t04, FN_MAIOR(m.comprimento_t03,
                                    FN_MAIOR(m.comprimento_t02, FN_MAIOR(m.comprimento_t01, 0 )))))))))))))))))),
                                IIF(g.tamanho_destino=17,
                                    FN_MAIOR(m.comprimento_t17, FN_MAIOR(m.comprimento_t16, FN_MAIOR(m.comprimento_t15,
                                    FN_MAIOR(m.comprimento_t14, FN_MAIOR(m.comprimento_t13, FN_MAIOR(m.comprimento_t12,
                                    FN_MAIOR(m.comprimento_t11, FN_MAIOR(m.comprimento_t10, FN_MAIOR(m.comprimento_t09,
                                    FN_MAIOR(m.comprimento_t08, FN_MAIOR(m.comprimento_t07, FN_MAIOR(m.comprimento_t06,
                                    FN_MAIOR(m.comprimento_t05, FN_MAIOR(m.comprimento_t04, FN_MAIOR(m.comprimento_t03,
                                    FN_MAIOR(m.comprimento_t02, FN_MAIOR(m.comprimento_t01, 0 ))))))))))))))))),
                                IIF(g.tamanho_destino=16,
                                    FN_MAIOR(m.comprimento_t16, FN_MAIOR(m.comprimento_t15,
                                    FN_MAIOR(m.comprimento_t14, FN_MAIOR(m.comprimento_t13, FN_MAIOR(m.comprimento_t12,
                                    FN_MAIOR(m.comprimento_t11, FN_MAIOR(m.comprimento_t10, FN_MAIOR(m.comprimento_t09,
                                    FN_MAIOR(m.comprimento_t08, FN_MAIOR(m.comprimento_t07, FN_MAIOR(m.comprimento_t06,
                                    FN_MAIOR(m.comprimento_t05, FN_MAIOR(m.comprimento_t04, FN_MAIOR(m.comprimento_t03,
                                    FN_MAIOR(m.comprimento_t02, FN_MAIOR(m.comprimento_t01, 0 )))))))))))))))),
                                IIF(g.tamanho_destino=15,
                                    FN_MAIOR(m.comprimento_t15,
                                    FN_MAIOR(m.comprimento_t14, FN_MAIOR(m.comprimento_t13, FN_MAIOR(m.comprimento_t12,
                                    FN_MAIOR(m.comprimento_t11, FN_MAIOR(m.comprimento_t10, FN_MAIOR(m.comprimento_t09,
                                    FN_MAIOR(m.comprimento_t08, FN_MAIOR(m.comprimento_t07, FN_MAIOR(m.comprimento_t06,
                                    FN_MAIOR(m.comprimento_t05, FN_MAIOR(m.comprimento_t04, FN_MAIOR(m.comprimento_t03,
                                    FN_MAIOR(m.comprimento_t02, FN_MAIOR(m.comprimento_t01, 0 ))))))))))))))),
                                IIF(g.tamanho_destino=14,
                                    FN_MAIOR(m.comprimento_t14, FN_MAIOR(m.comprimento_t13, FN_MAIOR(m.comprimento_t12,
                                    FN_MAIOR(m.comprimento_t11, FN_MAIOR(m.comprimento_t10, FN_MAIOR(m.comprimento_t09,
                                    FN_MAIOR(m.comprimento_t08, FN_MAIOR(m.comprimento_t07, FN_MAIOR(m.comprimento_t06,
                                    FN_MAIOR(m.comprimento_t05, FN_MAIOR(m.comprimento_t04, FN_MAIOR(m.comprimento_t03,
                                    FN_MAIOR(m.comprimento_t02, FN_MAIOR(m.comprimento_t01, 0 )))))))))))))),
                                IIF(g.tamanho_destino=13,
                                    FN_MAIOR(m.comprimento_t13, FN_MAIOR(m.comprimento_t12,
                                    FN_MAIOR(m.comprimento_t11, FN_MAIOR(m.comprimento_t10, FN_MAIOR(m.comprimento_t09,
                                    FN_MAIOR(m.comprimento_t08, FN_MAIOR(m.comprimento_t07, FN_MAIOR(m.comprimento_t06,
                                    FN_MAIOR(m.comprimento_t05, FN_MAIOR(m.comprimento_t04, FN_MAIOR(m.comprimento_t03,
                                    FN_MAIOR(m.comprimento_t02, FN_MAIOR(m.comprimento_t01, 0 ))))))))))))),
                                IIF(g.tamanho_destino=12,
                                    FN_MAIOR(m.comprimento_t12,
                                    FN_MAIOR(m.comprimento_t11, FN_MAIOR(m.comprimento_t10, FN_MAIOR(m.comprimento_t09,
                                    FN_MAIOR(m.comprimento_t08, FN_MAIOR(m.comprimento_t07, FN_MAIOR(m.comprimento_t06,
                                    FN_MAIOR(m.comprimento_t05, FN_MAIOR(m.comprimento_t04, FN_MAIOR(m.comprimento_t03,
                                    FN_MAIOR(m.comprimento_t02, FN_MAIOR(m.comprimento_t01, 0 )))))))))))),
                                IIF(g.tamanho_destino=11,
                                    FN_MAIOR(m.comprimento_t11, FN_MAIOR(m.comprimento_t10, FN_MAIOR(m.comprimento_t09,
                                    FN_MAIOR(m.comprimento_t08, FN_MAIOR(m.comprimento_t07, FN_MAIOR(m.comprimento_t06,
                                    FN_MAIOR(m.comprimento_t05, FN_MAIOR(m.comprimento_t04, FN_MAIOR(m.comprimento_t03,
                                    FN_MAIOR(m.comprimento_t02, FN_MAIOR(m.comprimento_t01, 0 ))))))))))),
                                IIF(g.tamanho_destino=10,
                                    FN_MAIOR(m.comprimento_t10, FN_MAIOR(m.comprimento_t09,
                                    FN_MAIOR(m.comprimento_t08, FN_MAIOR(m.comprimento_t07, FN_MAIOR(m.comprimento_t06,
                                    FN_MAIOR(m.comprimento_t05, FN_MAIOR(m.comprimento_t04, FN_MAIOR(m.comprimento_t03,
                                    FN_MAIOR(m.comprimento_t02, FN_MAIOR(m.comprimento_t01, 0 )))))))))),
                                IIF(g.tamanho_destino=10,
                                    FN_MAIOR(m.comprimento_t10, FN_MAIOR(m.comprimento_t09,
                                    FN_MAIOR(m.comprimento_t08, FN_MAIOR(m.comprimento_t07, FN_MAIOR(m.comprimento_t06,
                                    FN_MAIOR(m.comprimento_t05, FN_MAIOR(m.comprimento_t04, FN_MAIOR(m.comprimento_t03,
                                    FN_MAIOR(m.comprimento_t02, FN_MAIOR(m.comprimento_t01, 0 )))))))))),
                                IIF(g.tamanho_destino=9,
                                    FN_MAIOR(m.comprimento_t09,
                                    FN_MAIOR(m.comprimento_t08, FN_MAIOR(m.comprimento_t07, FN_MAIOR(m.comprimento_t06,
                                    FN_MAIOR(m.comprimento_t05, FN_MAIOR(m.comprimento_t04, FN_MAIOR(m.comprimento_t03,
                                    FN_MAIOR(m.comprimento_t02, FN_MAIOR(m.comprimento_t01, 0 ))))))))),
                                IIF(g.tamanho_destino=8,
                                    FN_MAIOR(m.comprimento_t08, FN_MAIOR(m.comprimento_t07, FN_MAIOR(m.comprimento_t06,
                                    FN_MAIOR(m.comprimento_t05, FN_MAIOR(m.comprimento_t04, FN_MAIOR(m.comprimento_t03,
                                    FN_MAIOR(m.comprimento_t02, FN_MAIOR(m.comprimento_t01, 0 )))))))),
                                IIF(g.tamanho_destino=7,
                                    FN_MAIOR(m.comprimento_t07, FN_MAIOR(m.comprimento_t06,
                                    FN_MAIOR(m.comprimento_t05, FN_MAIOR(m.comprimento_t04, FN_MAIOR(m.comprimento_t03,
                                    FN_MAIOR(m.comprimento_t02, FN_MAIOR(m.comprimento_t01, 0 ))))))),
                                IIF(g.tamanho_destino=6,
                                    FN_MAIOR(m.comprimento_t06,
                                    FN_MAIOR(m.comprimento_t05, FN_MAIOR(m.comprimento_t04, FN_MAIOR(m.comprimento_t03,
                                    FN_MAIOR(m.comprimento_t02, FN_MAIOR(m.comprimento_t01, 0 )))))),
                                IIF(g.tamanho_destino=5,
                                    FN_MAIOR(m.comprimento_t05, FN_MAIOR(m.comprimento_t04, FN_MAIOR(m.comprimento_t03,
                                    FN_MAIOR(m.comprimento_t02, FN_MAIOR(m.comprimento_t01, 0 ))))),
                                IIF(g.tamanho_destino=4,
                                    FN_MAIOR(m.comprimento_t04, FN_MAIOR(m.comprimento_t03,
                                    FN_MAIOR(m.comprimento_t02, FN_MAIOR(m.comprimento_t01, 0 )))),
                                IIF(g.tamanho_destino=3,
                                    FN_MAIOR(m.comprimento_t03,FN_MAIOR(m.comprimento_t02, FN_MAIOR(m.comprimento_t01, 0 ))),
                                IIF(g.tamanho_destino=2,
                                    FN_MAIOR(m.comprimento_t02, FN_MAIOR(m.comprimento_t01, 0)),coalesce(m.comprimento_t01,0)))))))))))))))))))))MAX_COMP,

                                IIF(g.tamanho_destino=20,
                                    FN_MAIOR(m.LARGURA_t20, FN_MAIOR(m.LARGURA_t19, FN_MAIOR(m.LARGURA_t18,
                                    FN_MAIOR(m.LARGURA_t17, FN_MAIOR(m.LARGURA_t16, FN_MAIOR(m.LARGURA_t15,
                                    FN_MAIOR(m.LARGURA_t14, FN_MAIOR(m.LARGURA_t13, FN_MAIOR(m.LARGURA_t12,
                                    FN_MAIOR(m.LARGURA_t11, FN_MAIOR(m.LARGURA_t10, FN_MAIOR(m.LARGURA_t09,
                                    FN_MAIOR(m.LARGURA_t08, FN_MAIOR(m.LARGURA_t07, FN_MAIOR(m.LARGURA_t06,
                                    FN_MAIOR(m.LARGURA_t05, FN_MAIOR(m.LARGURA_t04, FN_MAIOR(m.LARGURA_t03,
                                    FN_MAIOR(m.LARGURA_t02, FN_MAIOR(m.LARGURA_t01, 0 )))))))))))))))))))),
                                IIF(g.tamanho_destino=19,
                                    FN_MAIOR(m.LARGURA_t19, FN_MAIOR(m.LARGURA_t18,
                                    FN_MAIOR(m.LARGURA_t17, FN_MAIOR(m.LARGURA_t16, FN_MAIOR(m.LARGURA_t15,
                                    FN_MAIOR(m.LARGURA_t14, FN_MAIOR(m.LARGURA_t13, FN_MAIOR(m.LARGURA_t12,
                                    FN_MAIOR(m.LARGURA_t11, FN_MAIOR(m.LARGURA_t10, FN_MAIOR(m.LARGURA_t09,
                                    FN_MAIOR(m.LARGURA_t08, FN_MAIOR(m.LARGURA_t07, FN_MAIOR(m.LARGURA_t06,
                                    FN_MAIOR(m.LARGURA_t05, FN_MAIOR(m.LARGURA_t04, FN_MAIOR(m.LARGURA_t03,
                                    FN_MAIOR(m.LARGURA_t02, FN_MAIOR(m.LARGURA_t01, 0 ))))))))))))))))))),
                                IIF(g.tamanho_destino=18,
                                    FN_MAIOR(m.LARGURA_t18,
                                    FN_MAIOR(m.LARGURA_t17, FN_MAIOR(m.LARGURA_t16, FN_MAIOR(m.LARGURA_t15,
                                    FN_MAIOR(m.LARGURA_t14, FN_MAIOR(m.LARGURA_t13, FN_MAIOR(m.LARGURA_t12,
                                    FN_MAIOR(m.LARGURA_t11, FN_MAIOR(m.LARGURA_t10, FN_MAIOR(m.LARGURA_t09,
                                    FN_MAIOR(m.LARGURA_t08, FN_MAIOR(m.LARGURA_t07, FN_MAIOR(m.LARGURA_t06,
                                    FN_MAIOR(m.LARGURA_t05, FN_MAIOR(m.LARGURA_t04, FN_MAIOR(m.LARGURA_t03,
                                    FN_MAIOR(m.LARGURA_t02, FN_MAIOR(m.LARGURA_t01, 0 )))))))))))))))))),
                                IIF(g.tamanho_destino=17,
                                    FN_MAIOR(m.LARGURA_t17, FN_MAIOR(m.LARGURA_t16, FN_MAIOR(m.LARGURA_t15,
                                    FN_MAIOR(m.LARGURA_t14, FN_MAIOR(m.LARGURA_t13, FN_MAIOR(m.LARGURA_t12,
                                    FN_MAIOR(m.LARGURA_t11, FN_MAIOR(m.LARGURA_t10, FN_MAIOR(m.LARGURA_t09,
                                    FN_MAIOR(m.LARGURA_t08, FN_MAIOR(m.LARGURA_t07, FN_MAIOR(m.LARGURA_t06,
                                    FN_MAIOR(m.LARGURA_t05, FN_MAIOR(m.LARGURA_t04, FN_MAIOR(m.LARGURA_t03,
                                    FN_MAIOR(m.LARGURA_t02, FN_MAIOR(m.LARGURA_t01, 0 ))))))))))))))))),
                                IIF(g.tamanho_destino=16,
                                    FN_MAIOR(m.LARGURA_t16, FN_MAIOR(m.LARGURA_t15,
                                    FN_MAIOR(m.LARGURA_t14, FN_MAIOR(m.LARGURA_t13, FN_MAIOR(m.LARGURA_t12,
                                    FN_MAIOR(m.LARGURA_t11, FN_MAIOR(m.LARGURA_t10, FN_MAIOR(m.LARGURA_t09,
                                    FN_MAIOR(m.LARGURA_t08, FN_MAIOR(m.LARGURA_t07, FN_MAIOR(m.LARGURA_t06,
                                    FN_MAIOR(m.LARGURA_t05, FN_MAIOR(m.LARGURA_t04, FN_MAIOR(m.LARGURA_t03,
                                    FN_MAIOR(m.LARGURA_t02, FN_MAIOR(m.LARGURA_t01, 0 )))))))))))))))),
                                IIF(g.tamanho_destino=15,
                                    FN_MAIOR(m.LARGURA_t15,
                                    FN_MAIOR(m.LARGURA_t14, FN_MAIOR(m.LARGURA_t13, FN_MAIOR(m.LARGURA_t12,
                                    FN_MAIOR(m.LARGURA_t11, FN_MAIOR(m.LARGURA_t10, FN_MAIOR(m.LARGURA_t09,
                                    FN_MAIOR(m.LARGURA_t08, FN_MAIOR(m.LARGURA_t07, FN_MAIOR(m.LARGURA_t06,
                                    FN_MAIOR(m.LARGURA_t05, FN_MAIOR(m.LARGURA_t04, FN_MAIOR(m.LARGURA_t03,
                                    FN_MAIOR(m.LARGURA_t02, FN_MAIOR(m.LARGURA_t01, 0 ))))))))))))))),
                                IIF(g.tamanho_destino=14,
                                    FN_MAIOR(m.LARGURA_t14, FN_MAIOR(m.LARGURA_t13, FN_MAIOR(m.LARGURA_t12,
                                    FN_MAIOR(m.LARGURA_t11, FN_MAIOR(m.LARGURA_t10, FN_MAIOR(m.LARGURA_t09,
                                    FN_MAIOR(m.LARGURA_t08, FN_MAIOR(m.LARGURA_t07, FN_MAIOR(m.LARGURA_t06,
                                    FN_MAIOR(m.LARGURA_t05, FN_MAIOR(m.LARGURA_t04, FN_MAIOR(m.LARGURA_t03,
                                    FN_MAIOR(m.LARGURA_t02, FN_MAIOR(m.LARGURA_t01, 0 )))))))))))))),
                                IIF(g.tamanho_destino=13,
                                    FN_MAIOR(m.LARGURA_t13, FN_MAIOR(m.LARGURA_t12,
                                    FN_MAIOR(m.LARGURA_t11, FN_MAIOR(m.LARGURA_t10, FN_MAIOR(m.LARGURA_t09,
                                    FN_MAIOR(m.LARGURA_t08, FN_MAIOR(m.LARGURA_t07, FN_MAIOR(m.LARGURA_t06,
                                    FN_MAIOR(m.LARGURA_t05, FN_MAIOR(m.LARGURA_t04, FN_MAIOR(m.LARGURA_t03,
                                    FN_MAIOR(m.LARGURA_t02, FN_MAIOR(m.LARGURA_t01, 0 ))))))))))))),
                                IIF(g.tamanho_destino=12,
                                    FN_MAIOR(m.LARGURA_t12,
                                    FN_MAIOR(m.LARGURA_t11, FN_MAIOR(m.LARGURA_t10, FN_MAIOR(m.LARGURA_t09,
                                    FN_MAIOR(m.LARGURA_t08, FN_MAIOR(m.LARGURA_t07, FN_MAIOR(m.LARGURA_t06,
                                    FN_MAIOR(m.LARGURA_t05, FN_MAIOR(m.LARGURA_t04, FN_MAIOR(m.LARGURA_t03,
                                    FN_MAIOR(m.LARGURA_t02, FN_MAIOR(m.LARGURA_t01, 0 )))))))))))),
                                IIF(g.tamanho_destino=11,
                                    FN_MAIOR(m.LARGURA_t11, FN_MAIOR(m.LARGURA_t10, FN_MAIOR(m.LARGURA_t09,
                                    FN_MAIOR(m.LARGURA_t08, FN_MAIOR(m.LARGURA_t07, FN_MAIOR(m.LARGURA_t06,
                                    FN_MAIOR(m.LARGURA_t05, FN_MAIOR(m.LARGURA_t04, FN_MAIOR(m.LARGURA_t03,
                                    FN_MAIOR(m.LARGURA_t02, FN_MAIOR(m.LARGURA_t01, 0 ))))))))))),
                                IIF(g.tamanho_destino=10,
                                    FN_MAIOR(m.LARGURA_t10, FN_MAIOR(m.LARGURA_t09,
                                    FN_MAIOR(m.LARGURA_t08, FN_MAIOR(m.LARGURA_t07, FN_MAIOR(m.LARGURA_t06,
                                    FN_MAIOR(m.LARGURA_t05, FN_MAIOR(m.LARGURA_t04, FN_MAIOR(m.LARGURA_t03,
                                    FN_MAIOR(m.LARGURA_t02, FN_MAIOR(m.LARGURA_t01, 0 )))))))))),
                                IIF(g.tamanho_destino=10,
                                    FN_MAIOR(m.LARGURA_t10, FN_MAIOR(m.LARGURA_t09,
                                    FN_MAIOR(m.LARGURA_t08, FN_MAIOR(m.LARGURA_t07, FN_MAIOR(m.LARGURA_t06,
                                    FN_MAIOR(m.LARGURA_t05, FN_MAIOR(m.LARGURA_t04, FN_MAIOR(m.LARGURA_t03,
                                    FN_MAIOR(m.LARGURA_t02, FN_MAIOR(m.LARGURA_t01, 0 )))))))))),
                                IIF(g.tamanho_destino=9,
                                    FN_MAIOR(m.LARGURA_t09,
                                    FN_MAIOR(m.LARGURA_t08, FN_MAIOR(m.LARGURA_t07, FN_MAIOR(m.LARGURA_t06,
                                    FN_MAIOR(m.LARGURA_t05, FN_MAIOR(m.LARGURA_t04, FN_MAIOR(m.LARGURA_t03,
                                    FN_MAIOR(m.LARGURA_t02, FN_MAIOR(m.LARGURA_t01, 0 ))))))))),
                                IIF(g.tamanho_destino=8,
                                    FN_MAIOR(m.LARGURA_t08, FN_MAIOR(m.LARGURA_t07, FN_MAIOR(m.LARGURA_t06,
                                    FN_MAIOR(m.LARGURA_t05, FN_MAIOR(m.LARGURA_t04, FN_MAIOR(m.LARGURA_t03,
                                    FN_MAIOR(m.LARGURA_t02, FN_MAIOR(m.LARGURA_t01, 0 )))))))),
                                IIF(g.tamanho_destino=7,
                                    FN_MAIOR(m.LARGURA_t07, FN_MAIOR(m.LARGURA_t06,
                                    FN_MAIOR(m.LARGURA_t05, FN_MAIOR(m.LARGURA_t04, FN_MAIOR(m.LARGURA_t03,
                                    FN_MAIOR(m.LARGURA_t02, FN_MAIOR(m.LARGURA_t01, 0 ))))))),
                                IIF(g.tamanho_destino=6,
                                    FN_MAIOR(m.LARGURA_t06,
                                    FN_MAIOR(m.LARGURA_t05, FN_MAIOR(m.LARGURA_t04, FN_MAIOR(m.LARGURA_t03,
                                    FN_MAIOR(m.LARGURA_t02, FN_MAIOR(m.LARGURA_t01, 0 )))))),
                                IIF(g.tamanho_destino=5,
                                    FN_MAIOR(m.LARGURA_t05, FN_MAIOR(m.LARGURA_t04, FN_MAIOR(m.LARGURA_t03,
                                    FN_MAIOR(m.LARGURA_t02, FN_MAIOR(m.LARGURA_t01, 0 ))))),
                                IIF(g.tamanho_destino=4,
                                    FN_MAIOR(m.LARGURA_t04, FN_MAIOR(m.LARGURA_t03,
                                    FN_MAIOR(m.LARGURA_t02, FN_MAIOR(m.LARGURA_t01, 0 )))),
                                IIF(g.tamanho_destino=3,
                                    FN_MAIOR(m.LARGURA_t03,FN_MAIOR(m.LARGURA_t02, FN_MAIOR(m.LARGURA_t01, 0 ))),
                                IIF(g.tamanho_destino=2,
                                    FN_MAIOR(m.LARGURA_t02, FN_MAIOR(m.LARGURA_t01, 0)),coalesce(m.LARGURA_t01,0)))))))))))))))))))))MAX_LARG,

                                IIF(g.tamanho_destino=20,iif(m.comprimento_t20 > 0, 20,iif(m.comprimento_t19 > 0, 19,
                                iif(m.comprimento_t18 > 0, 18,iif(m.comprimento_t17 > 0, 17,
                                iif(m.comprimento_t16 > 0, 16,iif(m.comprimento_t15 > 0, 15,
                                iif(m.comprimento_t14 > 0, 14,iif(m.comprimento_t13 > 0, 13,
                                iif(m.comprimento_t12 > 0, 12,iif(m.comprimento_t11 > 0, 11,
                                iif(m.comprimento_t10 > 0, 10,iif(m.comprimento_t09 > 0, 09,
                                iif(m.comprimento_t08 > 0, 08,iif(m.comprimento_t07 > 0, 07,
                                iif(m.comprimento_t06 > 0, 06,iif(m.comprimento_t05 > 0, 05,
                                iif(m.comprimento_t04 > 0, 04,iif(m.comprimento_t03 > 0, 03,
                                iif(m.comprimento_t02 > 0, 02,iif(m.comprimento_t01 > 0, 01,0)))))))))))))))))))),
                                IIF(g.tamanho_destino=19,iif(m.comprimento_t19 > 0, 19,iif(m.comprimento_t18 > 0, 18,
                                iif(m.comprimento_t17 > 0, 17,iif(m.comprimento_t16 > 0, 16,
                                iif(m.comprimento_t15 > 0, 15,iif(m.comprimento_t14 > 0, 14,
                                iif(m.comprimento_t13 > 0, 13,iif(m.comprimento_t12 > 0, 12,
                                iif(m.comprimento_t11 > 0, 11,iif(m.comprimento_t10 > 0, 10,
                                iif(m.comprimento_t09 > 0, 09,iif(m.comprimento_t08 > 0, 08,
                                iif(m.comprimento_t07 > 0, 07,iif(m.comprimento_t06 > 0, 06,
                                iif(m.comprimento_t05 > 0, 05,iif(m.comprimento_t04 > 0, 04,
                                iif(m.comprimento_t03 > 0, 03,iif(m.comprimento_t02 > 0, 02,
                                iif(m.comprimento_t01 > 0, 01,0))))))))))))))))))),
                                IIF(g.tamanho_destino=18,iif(m.comprimento_t18 > 0, 18,iif(m.comprimento_t17 > 0, 17,
                                iif(m.comprimento_t16 > 0, 16,iif(m.comprimento_t15 > 0, 15,
                                iif(m.comprimento_t14 > 0, 14,iif(m.comprimento_t13 > 0, 13,
                                iif(m.comprimento_t12 > 0, 12,iif(m.comprimento_t11 > 0, 11,
                                iif(m.comprimento_t10 > 0, 10,iif(m.comprimento_t09 > 0, 09,
                                iif(m.comprimento_t08 > 0, 08,iif(m.comprimento_t07 > 0, 07,
                                iif(m.comprimento_t06 > 0, 06,iif(m.comprimento_t05 > 0, 05,
                                iif(m.comprimento_t04 > 0, 04,iif(m.comprimento_t03 > 0, 03,
                                iif(m.comprimento_t02 > 0, 02,iif(m.comprimento_t01 > 0, 01,0)))))))))))))))))),
                                IIF(g.tamanho_destino=17,iif(m.comprimento_t17 > 0, 17,iif(m.comprimento_t16 > 0, 16,
                                iif(m.comprimento_t15 > 0, 15,iif(m.comprimento_t14 > 0, 14,
                                iif(m.comprimento_t13 > 0, 13,iif(m.comprimento_t12 > 0, 12,
                                iif(m.comprimento_t11 > 0, 11,iif(m.comprimento_t10 > 0, 10,
                                iif(m.comprimento_t09 > 0, 09,iif(m.comprimento_t08 > 0, 08,
                                iif(m.comprimento_t07 > 0, 07,iif(m.comprimento_t06 > 0, 06,
                                iif(m.comprimento_t05 > 0, 05,iif(m.comprimento_t04 > 0, 04,
                                iif(m.comprimento_t03 > 0, 03,iif(m.comprimento_t02 > 0, 02,
                                iif(m.comprimento_t01 > 0, 01,0))))))))))))))))),
                                IIF(g.tamanho_destino=16,iif(m.comprimento_t16 > 0, 16,iif(m.comprimento_t15 > 0, 15,
                                iif(m.comprimento_t14 > 0, 14,iif(m.comprimento_t13 > 0, 13,
                                iif(m.comprimento_t12 > 0, 12,iif(m.comprimento_t11 > 0, 11,
                                iif(m.comprimento_t10 > 0, 10,iif(m.comprimento_t09 > 0, 09,
                                iif(m.comprimento_t08 > 0, 08,iif(m.comprimento_t07 > 0, 07,
                                iif(m.comprimento_t06 > 0, 06,iif(m.comprimento_t05 > 0, 05,
                                iif(m.comprimento_t04 > 0, 04,iif(m.comprimento_t03 > 0, 03,
                                iif(m.comprimento_t02 > 0, 02,iif(m.comprimento_t01 > 0, 01,0)))))))))))))))),
                                IIF(g.tamanho_destino=15,iif(m.comprimento_t15 > 0, 15,iif(m.comprimento_t14 > 0, 14,
                                iif(m.comprimento_t13 > 0, 13,iif(m.comprimento_t12 > 0, 12,
                                iif(m.comprimento_t11 > 0, 11,iif(m.comprimento_t10 > 0, 10,
                                iif(m.comprimento_t09 > 0, 09,iif(m.comprimento_t08 > 0, 08,
                                iif(m.comprimento_t07 > 0, 07,iif(m.comprimento_t06 > 0, 06,
                                iif(m.comprimento_t05 > 0, 05,iif(m.comprimento_t04 > 0, 04,
                                iif(m.comprimento_t03 > 0, 03,iif(m.comprimento_t02 > 0, 02,
                                iif(m.comprimento_t01 > 0, 01,0))))))))))))))),
                                IIF(g.tamanho_destino=14,iif(m.comprimento_t14 > 0, 14,iif(m.comprimento_t13 > 0, 13,
                                iif(m.comprimento_t12 > 0, 12,iif(m.comprimento_t11 > 0, 11,
                                iif(m.comprimento_t10 > 0, 10,iif(m.comprimento_t09 > 0, 09,
                                iif(m.comprimento_t08 > 0, 08,iif(m.comprimento_t07 > 0, 07,
                                iif(m.comprimento_t06 > 0, 06,iif(m.comprimento_t05 > 0, 05,
                                iif(m.comprimento_t04 > 0, 04,iif(m.comprimento_t03 > 0, 03,
                                iif(m.comprimento_t02 > 0, 02,iif(m.comprimento_t01 > 0, 01,0)))))))))))))),
                                IIF(g.tamanho_destino=13,iif(m.comprimento_t13 > 0, 13,iif(m.comprimento_t12 > 0, 12,
                                iif(m.comprimento_t11 > 0, 11,iif(m.comprimento_t10 > 0, 10,
                                iif(m.comprimento_t09 > 0, 09,iif(m.comprimento_t08 > 0, 08,
                                iif(m.comprimento_t07 > 0, 07,iif(m.comprimento_t06 > 0, 06,
                                iif(m.comprimento_t05 > 0, 05,iif(m.comprimento_t04 > 0, 04,
                                iif(m.comprimento_t03 > 0, 03,iif(m.comprimento_t02 > 0, 02,
                                iif(m.comprimento_t01 > 0, 01,0))))))))))))),
                                IIF(g.tamanho_destino=12,iif(m.comprimento_t12 > 0, 12,iif(m.comprimento_t11 > 0, 11,
                                iif(m.comprimento_t10 > 0, 10,iif(m.comprimento_t09 > 0, 09,
                                iif(m.comprimento_t08 > 0, 08,iif(m.comprimento_t07 > 0, 07,
                                iif(m.comprimento_t06 > 0, 06,iif(m.comprimento_t05 > 0, 05,
                                iif(m.comprimento_t04 > 0, 04,iif(m.comprimento_t03 > 0, 03,
                                iif(m.comprimento_t02 > 0, 02,iif(m.comprimento_t01 > 0, 01,0)))))))))))),
                                IIF(g.tamanho_destino=11,iif(m.comprimento_t11 > 0, 11,iif(m.comprimento_t10 > 0, 10,
                                iif(m.comprimento_t09 > 0, 09,iif(m.comprimento_t08 > 0, 08,
                                iif(m.comprimento_t07 > 0, 07,iif(m.comprimento_t06 > 0, 06,
                                iif(m.comprimento_t05 > 0, 05,iif(m.comprimento_t04 > 0, 04,
                                iif(m.comprimento_t03 > 0, 03,iif(m.comprimento_t02 > 0, 02,
                                iif(m.comprimento_t01 > 0, 01,0))))))))))),
                                IIF(g.tamanho_destino=10,iif(m.comprimento_t10 > 0, 10,iif(m.comprimento_t09 > 0, 09,
                                iif(m.comprimento_t08 > 0, 08,iif(m.comprimento_t07 > 0, 07,
                                iif(m.comprimento_t06 > 0, 06,iif(m.comprimento_t05 > 0, 05,
                                iif(m.comprimento_t04 > 0, 04,iif(m.comprimento_t03 > 0, 03,
                                iif(m.comprimento_t02 > 0, 02,iif(m.comprimento_t01 > 0, 01,0)))))))))),
                                IIF(g.tamanho_destino=9, iif(m.comprimento_t09 > 0, 09,iif(m.comprimento_t08 > 0, 08,
                                iif(m.comprimento_t07 > 0, 07,iif(m.comprimento_t06 > 0, 06,
                                iif(m.comprimento_t05 > 0, 05,iif(m.comprimento_t04 > 0, 04,
                                iif(m.comprimento_t03 > 0, 03,iif(m.comprimento_t02 > 0, 02,
                                iif(m.comprimento_t01 > 0, 01,0))))))))),
                                IIF(g.tamanho_destino=8, iif(m.comprimento_t08 > 0, 08,iif(m.comprimento_t07 > 0, 07,
                                iif(m.comprimento_t06 > 0, 06,iif(m.comprimento_t05 > 0, 05,
                                iif(m.comprimento_t04 > 0, 04,iif(m.comprimento_t03 > 0, 03,
                                iif(m.comprimento_t02 > 0, 02,iif(m.comprimento_t01 > 0, 01,0)))))))),
                                IIF(g.tamanho_destino=7, iif(m.comprimento_t07 > 0, 07,iif(m.comprimento_t06 > 0, 06,
                                iif(m.comprimento_t05 > 0, 05,iif(m.comprimento_t04 > 0, 04,
                                iif(m.comprimento_t03 > 0, 03,iif(m.comprimento_t02 > 0, 02,
                                iif(m.comprimento_t01 > 0, 01,0))))))),
                                IIF(g.tamanho_destino=6, iif(m.comprimento_t06 > 0, 06,iif(m.comprimento_t05 > 0, 05,
                                iif(m.comprimento_t04 > 0, 04,iif(m.comprimento_t03 > 0, 03,
                                iif(m.comprimento_t02 > 0, 02,iif(m.comprimento_t01 > 0, 01,0)))))),
                                IIF(g.tamanho_destino=5, iif(m.comprimento_t05 > 0, 05,iif(m.comprimento_t04 > 0, 04,
                                iif(m.comprimento_t03 > 0, 03,iif(m.comprimento_t02 > 0, 02,
                                iif(m.comprimento_t01 > 0, 01,0))))),
                                IIF(g.tamanho_destino=4, iif(m.comprimento_t04 > 0, 04,iif(m.comprimento_t03 > 0, 03,
                                iif(m.comprimento_t02 > 0, 02,iif(m.comprimento_t01 > 0, 01,0)))),
                                IIF(g.tamanho_destino=3, iif(m.comprimento_t03 > 0, 03,iif(m.comprimento_t02 > 0, 02,
                                iif(m.comprimento_t01 > 0, 01,0))),
                                IIF(g.tamanho_destino=2, iif(m.comprimento_t02 > 0, 02,iif(m.comprimento_t01 > 0, 01,0)),
                                IIF(g.tamanho_destino=1, iif(m.comprimento_t01 > 0, 01,0), 0)))))))))))))))))))) TAMANHO_DISPONIVEL,
                                --R.TAMANHO as TAMANHO_DISPONIVEL,
                                
                                COALESCE(
                                (SELECT
                                IIF(R.TAMANHO = 1 AND E.T01 > 0 AND E.M01 > 0, '1',
                                IIF(R.TAMANHO = 2 AND E.T02 > 0 AND E.M02 > 0, '1',
                                IIF(R.TAMANHO = 3 AND E.T03 > 0 AND E.M03 > 0, '1',
                                IIF(R.TAMANHO = 4 AND E.T04 > 0 AND E.M04 > 0, '1',
                                IIF(R.TAMANHO = 5 AND E.T05 > 0 AND E.M05 > 0, '1',
                                IIF(R.TAMANHO = 6 AND E.T06 > 0 AND E.M06 > 0, '1',
                                IIF(R.TAMANHO = 7 AND E.T07 > 0 AND E.M07 > 0, '1',
                                IIF(R.TAMANHO = 8 AND E.T08 > 0 AND E.M08 > 0, '1',
                                IIF(R.TAMANHO = 9 AND E.T09 > 0 AND E.M09 > 0, '1',
                                IIF(R.TAMANHO =10 AND E.T10 > 0 AND E.M10 > 0, '1',
                                IIF(R.TAMANHO =11 AND E.T11 > 0 AND E.M11 > 0, '1',
                                IIF(R.TAMANHO =12 AND E.T12 > 0 AND E.M12 > 0, '1',
                                IIF(R.TAMANHO =13 AND E.T13 > 0 AND E.M13 > 0, '1',
                                IIF(R.TAMANHO =14 AND E.T14 > 0 AND E.M14 > 0, '1',
                                IIF(R.TAMANHO =15 AND E.T15 > 0 AND E.M15 > 0, '1',
                                IIF(R.TAMANHO =16 AND E.T16 > 0 AND E.M16 > 0, '1',
                                IIF(R.TAMANHO =17 AND E.T17 > 0 AND E.M17 > 0, '1',
                                IIF(R.TAMANHO =18 AND E.T18 > 0 AND E.M18 > 0, '1',
                                IIF(R.TAMANHO =19 AND E.T19 > 0 AND E.M19 > 0, '1',
                                IIF(R.TAMANHO =20 AND E.T20 > 0 AND E.M20 > 0, '1', '0'
                                ))))))))))))))))))))
                                FROM TBESTOQUE_MINIMO E
                                WHERE E.PRODUTO_CODIGO = R.PRODUTO_CODIGO
                                AND E.LOCALIZACAO_CODIGO = R.LOCALIZACAO_ID
                                AND E.QUANTIDADE > 0
                                AND E.ESTOQUE_MAX > 0),'0') SKU_ESTOQUE_MINIMO
                                
                                FROM TBREMESSA_ITEM_PROCESSADO R,
                                TBREMESSA_CONSUMO A,
                                TBPRODUTO P,
                                TBPRODUTO D,
                                TBGRADE_AGRUPAMENTO G,
                                TBMATRIZ M
                                
                                WHERE A.PRODUTO_ID = P.CODIGO
                                AND R.PRODUTO_CODIGO = D.CODIGO
                                AND D.GRADE_CODIGO = G.GRADE_ID
                                AND R.TAMANHO = G.TAMANHO_ORIGEM
                                AND A.REMESSA = R.REMESSA
                                AND A.TALAO = R.CONTROLE
                                AND R.MATRIZ_CODIGO = M.CODIGO
                                --AND R.CONTROLE < 5500
                                AND (R.CONTROLE < 5500 or (R.CONTROLE > 6999 and R.CONTROLE < 8000))
                                and A.REMESSA = :REMESSA_ID

                                and iif(:com_gp = 1, r.programacao_esteira in (select cast(OSPLIT as integer) from split(:GP_LIST,',')), :com_gp = 0)

                                ) X
                            GROUP BY
                            X.REMESSA,
                            X.MODELO_ID,
                            X.COR_ID,
                            X.GRADE_ID,
                            X.TAMANHO,
                            X.TAMANHO2,
                            X.TAMANHO_DISPONIVEL,
                            X.PRODUTO_ID,
                            X.PRODUTO_DESCRICAO,
                            X.MATRIZ_ID,
                            X.SKU_ESTOQUE_MINIMO
                            ) Z
                        ) Y
                    GROUP BY
                    Y.REMESSA,
                    y.TAMANHO2,
                    Y.TAMANHO_DISPONIVEL,
                    Y.PRODUTO_ID,
                    Y.COR_ID,
                    Y.PRODUTO_DESCRICAO,
                    Y.SKU_ESTOQUE_MINIMO
                ) W
            )
            GROUP BY
            REMESSA,
            PRODUTO_ID,
            COR_ID,
            TAMANHO,
            PRODUTO_DESCRICAO
        ) a
   into
        ID,
        REMESSA,
        TAMANHO,
        TAMANHO_CHAPA,
        PRODUTO_ID,
        COR_ID,
        PRODUTO_DESCRICAO,
        DESC_PRODUTO_DESCRICAO,
        LARGURA,
        FCOMPRIMENTO,
        QUANTIDADE,
        PLACAS,
        PERCENTUAL_DEFEITO,
        DEN_ESP,
        COMPRIMENTO
   do begin
      --  if (QUANTIDADE < 1000 and PLACAS < 50) then
      --      PLACAS = 50;
        
        PERFIL_COR = null;
        VALOR      = null;
        VALOR_TIPO = null;

        select first 1
            g.perfil
        from tbcor g
            where g.codigo = :COR_ID
        into :PERFIL_COR;

        PERFIL_COR = coalesce(PERFIL_COR,0);

        select first 1
            r.valor_tipo,
            r.valor
        from TBPLACA_REGRA r
        where r.produto_id = :PRODUTO_ID
            and r.status = 1
            and :QUANTIDADE between r.quantidade_inicial and r.quantidade_final
            and iif(r.tipo_cor = 1, r.cor_id = :COR_ID, r.perfil_cor = :PERFIL_COR)
        into :VALOR_TIPO, :VALOR;

        VALOR       = coalesce(VALOR,-1);
        VALOR_TIPO  = coalesce(VALOR_TIPO,-1);

        suspend;
   end
end
^

SET TERM ; ^

