Begin

     RECALCULAR_TEMPO = 0;

     if(REPLICAR_TEMPOS = 1)then
     begin

         MODELO_PENDENTE = coalesce((select z.id from TBTEMPO_CALCULO z where z.tabela = 'TBMODELO'  and z.valor = :MODELO_ID and z.ano = extract(year from current_date) and z.mes = extract(month from current_date)),0);
         UP_PENDENTE     = coalesce((select z.id from TBTEMPO_CALCULO z where z.tabela = 'TBUP'      and (z.valor = :VUP_PADRAO1 or z.valor = :VUP_PADRAO2)  and z.ano = extract(year from current_date) and z.mes = extract(month from current_date)),0);
         COR_PENDENTE    = coalesce((select z.id from TBTEMPO_CALCULO z where z.tabela = 'TBCOR'     and z.valor = :COR_ID and z.ano = extract(year from current_date) and z.mes = extract(month from current_date)),0);
    
         if(MODELO_PENDENTE = 0 and UP_PENDENTE = 0 and COR_PENDENTE = 0)then
         begin
    
            DATA = fn_start_of_month('01.'||lpad(:MES,2,'0')||'.'||lpad(:ANO,4,'0'));
            DATA = dateadd(month,-1,DATA);
    
            --exception "..." DATA;
    
            ID_FICHA_TEMPO = coalesce((select first 1 f.id from TBFICHA_TEMPO f WHERE f.MES = extract(month from :DATA) AND f.ANO = extract(year from :DATA) AND f.PRODUTO_ID = :PRODUTO_ID),0);
    
            if(ID_FICHA_TEMPO > 0)then
            begin
    
                delete from TBFICHA_TEMPO f WHERE f.MES = :MES AND f.ANO = :ANO AND f.PRODUTO_ID = :PRODUTO_ID;
    
                INSERT INTO TBFICHA_TEMPO (
                    ID,
                    ANO,
                    MES,
                    MODELO_ID,
                    COR_ID,
                    PRODUTO_ID,
                    CUSTO_MINUTO,
                    MOI_PROPRIO,
                    MOI_ABSORVIDO,
                    PERCENTUAL_PERDA,
                    
                    TS00,TS01,TS02,TS03,TS04,TS05,TS06,TS07,TS08,TS09,TS10,TS11,TS12,TS13,TS14,TS15,TS16,TS17,TS18,TS19,TS20,
                    TO00,TO01,TO02,TO03,TO04,TO05,TO06,TO07,TO08,TO09,TO10,TO11,TO12,TO13,TO14,TO15,TO16,TO17,TO18,TO19,TO20,
                    PERDA00,PERDA01,PERDA02,PERDA03,PERDA04,PERDA05,PERDA06,PERDA07,PERDA08,PERDA09,PERDA10,PERDA11,PERDA12,PERDA13,PERDA14,PERDA15,PERDA16,PERDA17,PERDA18,PERDA19,PERDA20
    
                ) select first 1
                    
                    GEN_ID(GTBFICHA_TEMPO,1) as ID,
                    :ANO as ANO,
                    :MES as MES,
                    MODELO_ID,
                    COR_ID,
                    PRODUTO_ID,
                    CUSTO_MINUTO,
                    MOI_PROPRIO,
                    MOI_ABSORVIDO,
                    PERCENTUAL_PERDA,
                    
                    TS00,TS01,TS02,TS03,TS04,TS05,TS06,TS07,TS08,TS09,TS10,TS11,TS12,TS13,TS14,TS15,TS16,TS17,TS18,TS19,TS20,
                    TO00,TO01,TO02,TO03,TO04,TO05,TO06,TO07,TO08,TO09,TO10,TO11,TO12,TO13,TO14,TO15,TO16,TO17,TO18,TO19,TO20,
                    PERDA00,PERDA01,PERDA02,PERDA03,PERDA04,PERDA05,PERDA06,PERDA07,PERDA08,PERDA09,PERDA10,PERDA11,PERDA12,PERDA13,PERDA14,PERDA15,PERDA16,PERDA17,PERDA18,PERDA19,PERDA20
                    
                from TBFICHA_TEMPO t where t.id = :ID_FICHA_TEMPO;
    
                if (:vREMESSAS_DEFEITO > 0) then
                Begin
    
                    For Select A.Tamanho From TbGrade_Seq A, tbmodelo M Where M.Codigo = :Modelo_Id
                        and((M.Grade_codigo = 0 and Tamanho = 0) or
                        (M.t01 = '1' and Tamanho = 1) or (M.t02 = '1' and Tamanho = 2) or (M.t03 = '1' and Tamanho = 3) or (M.t04 = '1' and Tamanho = 4) or
                        (M.t05 = '1' and Tamanho = 5) or (M.t06 = '1' and Tamanho = 6) or (M.t07 = '1' and Tamanho = 7) or (M.t08 = '1' and Tamanho = 8) or
                        (M.t09 = '1' and Tamanho = 9) or (M.t10 = '1' and Tamanho =10) or (M.t11 = '1' and Tamanho =11) or (M.t12 = '1' and Tamanho =12) or
                        (M.t13 = '1' and Tamanho =13) or (M.t14 = '1' and Tamanho =14) or (M.t15 = '1' and Tamanho =15) or (M.t16 = '1' and Tamanho =16) or
                        (M.t17 = '1' and Tamanho =17) or (M.t18 = '1' and Tamanho =18) or (M.t19 = '1' and Tamanho =19) or (M.t20 = '1' and Tamanho =20))
                    Into :Tam
                    Do Begin
    
                         PERCENTUAL_PERDA = Coalesce((SELECT PERCENTUAL_DEFEITO FROM SPC_REMESSA_SKU_DEFEITO_PERCENT (:Modelo_Id, :Cor_Id, :Tam, 0, :vREMESSAS_DEFEITO, '1')),0);
    
                         if (:Tam = 0) then begin UPDATE TBFICHA_TEMPO SET PERDA00 = :PERCENTUAL_PERDA WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                         if (:Tam = 1) then begin UPDATE TBFICHA_TEMPO SET PERDA01 = :PERCENTUAL_PERDA WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                         if (:Tam = 2) then begin UPDATE TBFICHA_TEMPO SET PERDA02 = :PERCENTUAL_PERDA WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                         if (:Tam = 3) then begin UPDATE TBFICHA_TEMPO SET PERDA03 = :PERCENTUAL_PERDA WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                         if (:Tam = 4) then begin UPDATE TBFICHA_TEMPO SET PERDA04 = :PERCENTUAL_PERDA WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                         if (:Tam = 5) then begin UPDATE TBFICHA_TEMPO SET PERDA05 = :PERCENTUAL_PERDA WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                         if (:Tam = 6) then begin UPDATE TBFICHA_TEMPO SET PERDA06 = :PERCENTUAL_PERDA WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                         if (:Tam = 7) then begin UPDATE TBFICHA_TEMPO SET PERDA07 = :PERCENTUAL_PERDA WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                         if (:Tam = 8) then begin UPDATE TBFICHA_TEMPO SET PERDA08 = :PERCENTUAL_PERDA WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                         if (:Tam = 9) then begin UPDATE TBFICHA_TEMPO SET PERDA09 = :PERCENTUAL_PERDA WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                         if (:Tam =10) then begin UPDATE TBFICHA_TEMPO SET PERDA10 = :PERCENTUAL_PERDA WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                         if (:Tam =11) then begin UPDATE TBFICHA_TEMPO SET PERDA11 = :PERCENTUAL_PERDA WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                         if (:Tam =12) then begin UPDATE TBFICHA_TEMPO SET PERDA12 = :PERCENTUAL_PERDA WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                         if (:Tam =13) then begin UPDATE TBFICHA_TEMPO SET PERDA13 = :PERCENTUAL_PERDA WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                         if (:Tam =14) then begin UPDATE TBFICHA_TEMPO SET PERDA14 = :PERCENTUAL_PERDA WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                         if (:Tam =15) then begin UPDATE TBFICHA_TEMPO SET PERDA15 = :PERCENTUAL_PERDA WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                         if (:Tam =16) then begin UPDATE TBFICHA_TEMPO SET PERDA16 = :PERCENTUAL_PERDA WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                         if (:Tam =17) then begin UPDATE TBFICHA_TEMPO SET PERDA17 = :PERCENTUAL_PERDA WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                         if (:Tam =18) then begin UPDATE TBFICHA_TEMPO SET PERDA18 = :PERCENTUAL_PERDA WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                         if (:Tam =19) then begin UPDATE TBFICHA_TEMPO SET PERDA19 = :PERCENTUAL_PERDA WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                         if (:Tam =20) then begin UPDATE TBFICHA_TEMPO SET PERDA20 = :PERCENTUAL_PERDA WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End
            
                    End
    
                 end
                
            end else
            begin
               RECALCULAR_TEMPO = 1;
            end
    
         end else
         begin
            RECALCULAR_TEMPO = 1;
         end

     end else
     begin
        RECALCULAR_TEMPO = 1;
     end

     if(RECALCULAR_TEMPO = 1)then
     begin

         INSERT INTO TBFICHA_TEMPO (MES, ANO, MODELO_ID, COR_ID, PRODUTO_ID, TO00, TS00, CUSTO_MINUTO, MOI_PROPRIO, MOI_ABSORVIDO) Values (:MES, :ANO, :MODELO_ID, :COR_ID, :PRODUTO_ID, 0, 0, :CUSTO_MINUTO, :MOI_PROPRIO, :MOI_ABSORVIDO);

         if(vFATOR > 1)then
         begin
            vFATOR = fn_parametro('TBMODELO_LINHA.FATOR_CONVERSAO', linha_id);
         end
        
         For Select A.Tamanho From TbGrade_Seq A, tbmodelo M Where M.Codigo = :Modelo_Id
               and((M.Grade_codigo = 0 and Tamanho = 0) or
                   (M.t01 = '1' and Tamanho = 1) or (M.t02 = '1' and Tamanho = 2) or (M.t03 = '1' and Tamanho = 3) or (M.t04 = '1' and Tamanho = 4) or
                   (M.t05 = '1' and Tamanho = 5) or (M.t06 = '1' and Tamanho = 6) or (M.t07 = '1' and Tamanho = 7) or (M.t08 = '1' and Tamanho = 8) or
                   (M.t09 = '1' and Tamanho = 9) or (M.t10 = '1' and Tamanho =10) or (M.t11 = '1' and Tamanho =11) or (M.t12 = '1' and Tamanho =12) or
                   (M.t13 = '1' and Tamanho =13) or (M.t14 = '1' and Tamanho =14) or (M.t15 = '1' and Tamanho =15) or (M.t16 = '1' and Tamanho =16) or
                   (M.t17 = '1' and Tamanho =17) or (M.t18 = '1' and Tamanho =18) or (M.t19 = '1' and Tamanho =19) or (M.t20 = '1' and Tamanho =20))
             Into :Tam
         Do Begin
        
                if (:vREMESSAS_DEFEITO > 0) then
                  Begin
                    PERCENTUAL_PERDA = Coalesce((SELECT PERCENTUAL_DEFEITO FROM SPC_REMESSA_SKU_DEFEITO_PERCENT (:Modelo_Id, :Cor_Id, :Tam, 0, :vREMESSAS_DEFEITO, '1')),0);
                  End
        
                 Delete from Tmp22040 Where True;
        
                 INSERT INTO TMP22040 (UP_ID, MODELO_ID, COR_ID, TAMANHO, QUANTIDADE) VALUES (:vUP_PADRAO1 ,:modelo_id, :cor_id, :Tam, 1);
                 if (:vCALCULO_REBOBINAMENTO = '1') then
                 Begin
                     INSERT INTO TMP22040 (UP_ID, MODELO_ID, COR_ID, TAMANHO, QUANTIDADE) VALUES (:vUP_PADRAO1 ,:modelo_id, 99999, :Tam, 0);
                 End
        
                     SELECT TOTALPROCESSO * :vFATOR, TOTALSETUP From SPC_PROGRAMACAO_TEMPO_NOVO(1) INTO :TOTALPROCESSO, :TOTALSETUP;
            
                     if (:Tam = 0) then begin UPDATE TBFICHA_TEMPO SET TO00 = :TOTALPROCESSO, TS00 = :TOTALSETUP, PERDA00 = :PERCENTUAL_PERDA, PERDA_QTD00 = :QTD_PERDA, PERDA_REM00 = :REM_PERDA WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam = 1) then begin UPDATE TBFICHA_TEMPO SET TO01 = :TOTALPROCESSO, TS01 = :TOTALSETUP, PERDA01 = :PERCENTUAL_PERDA, PERDA_QTD01 = :QTD_PERDA, PERDA_REM01 = :REM_PERDA WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam = 2) then begin UPDATE TBFICHA_TEMPO SET TO02 = :TOTALPROCESSO, TS02 = :TOTALSETUP, PERDA02 = :PERCENTUAL_PERDA, PERDA_QTD02 = :QTD_PERDA, PERDA_REM02 = :REM_PERDA WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam = 3) then begin UPDATE TBFICHA_TEMPO SET TO03 = :TOTALPROCESSO, TS03 = :TOTALSETUP, PERDA03 = :PERCENTUAL_PERDA, PERDA_QTD03 = :QTD_PERDA, PERDA_REM03 = :REM_PERDA WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam = 4) then begin UPDATE TBFICHA_TEMPO SET TO04 = :TOTALPROCESSO, TS04 = :TOTALSETUP, PERDA04 = :PERCENTUAL_PERDA, PERDA_QTD04 = :QTD_PERDA, PERDA_REM04 = :REM_PERDA WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam = 5) then begin UPDATE TBFICHA_TEMPO SET TO05 = :TOTALPROCESSO, TS05 = :TOTALSETUP, PERDA05 = :PERCENTUAL_PERDA, PERDA_QTD05 = :QTD_PERDA, PERDA_REM05 = :REM_PERDA WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam = 6) then begin UPDATE TBFICHA_TEMPO SET TO06 = :TOTALPROCESSO, TS06 = :TOTALSETUP, PERDA06 = :PERCENTUAL_PERDA, PERDA_QTD06 = :QTD_PERDA, PERDA_REM06 = :REM_PERDA WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam = 7) then begin UPDATE TBFICHA_TEMPO SET TO07 = :TOTALPROCESSO, TS07 = :TOTALSETUP, PERDA07 = :PERCENTUAL_PERDA, PERDA_QTD07 = :QTD_PERDA, PERDA_REM07 = :REM_PERDA WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam = 8) then begin UPDATE TBFICHA_TEMPO SET TO08 = :TOTALPROCESSO, TS08 = :TOTALSETUP, PERDA08 = :PERCENTUAL_PERDA, PERDA_QTD08 = :QTD_PERDA, PERDA_REM08 = :REM_PERDA WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam = 9) then begin UPDATE TBFICHA_TEMPO SET TO09 = :TOTALPROCESSO, TS09 = :TOTALSETUP, PERDA09 = :PERCENTUAL_PERDA, PERDA_QTD09 = :QTD_PERDA, PERDA_REM09 = :REM_PERDA WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam =10) then begin UPDATE TBFICHA_TEMPO SET TO10 = :TOTALPROCESSO, TS10 = :TOTALSETUP, PERDA10 = :PERCENTUAL_PERDA, PERDA_QTD10 = :QTD_PERDA, PERDA_REM10 = :REM_PERDA WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam =11) then begin UPDATE TBFICHA_TEMPO SET TO11 = :TOTALPROCESSO, TS11 = :TOTALSETUP, PERDA11 = :PERCENTUAL_PERDA, PERDA_QTD11 = :QTD_PERDA, PERDA_REM11 = :REM_PERDA WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam =12) then begin UPDATE TBFICHA_TEMPO SET TO12 = :TOTALPROCESSO, TS12 = :TOTALSETUP, PERDA12 = :PERCENTUAL_PERDA, PERDA_QTD12 = :QTD_PERDA, PERDA_REM12 = :REM_PERDA WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam =13) then begin UPDATE TBFICHA_TEMPO SET TO13 = :TOTALPROCESSO, TS13 = :TOTALSETUP, PERDA13 = :PERCENTUAL_PERDA, PERDA_QTD13 = :QTD_PERDA, PERDA_REM13 = :REM_PERDA WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam =14) then begin UPDATE TBFICHA_TEMPO SET TO14 = :TOTALPROCESSO, TS14 = :TOTALSETUP, PERDA14 = :PERCENTUAL_PERDA, PERDA_QTD14 = :QTD_PERDA, PERDA_REM14 = :REM_PERDA WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam =15) then begin UPDATE TBFICHA_TEMPO SET TO15 = :TOTALPROCESSO, TS15 = :TOTALSETUP, PERDA15 = :PERCENTUAL_PERDA, PERDA_QTD15 = :QTD_PERDA, PERDA_REM15 = :REM_PERDA WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam =16) then begin UPDATE TBFICHA_TEMPO SET TO16 = :TOTALPROCESSO, TS16 = :TOTALSETUP, PERDA16 = :PERCENTUAL_PERDA, PERDA_QTD16 = :QTD_PERDA, PERDA_REM16 = :REM_PERDA WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam =17) then begin UPDATE TBFICHA_TEMPO SET TO17 = :TOTALPROCESSO, TS17 = :TOTALSETUP, PERDA17 = :PERCENTUAL_PERDA, PERDA_QTD17 = :QTD_PERDA, PERDA_REM17 = :REM_PERDA WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam =18) then begin UPDATE TBFICHA_TEMPO SET TO18 = :TOTALPROCESSO, TS18 = :TOTALSETUP, PERDA18 = :PERCENTUAL_PERDA, PERDA_QTD18 = :QTD_PERDA, PERDA_REM18 = :REM_PERDA WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam =19) then begin UPDATE TBFICHA_TEMPO SET TO19 = :TOTALPROCESSO, TS19 = :TOTALSETUP, PERDA19 = :PERCENTUAL_PERDA, PERDA_QTD19 = :QTD_PERDA, PERDA_REM19 = :REM_PERDA WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam =20) then begin UPDATE TBFICHA_TEMPO SET TO20 = :TOTALPROCESSO, TS20 = :TOTALSETUP, PERDA20 = :PERCENTUAL_PERDA, PERDA_QTD20 = :QTD_PERDA, PERDA_REM20 = :REM_PERDA WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End
        
                if (:vUP_PADRAO2 > 0) then
                 Begin
        
                    Delete from Tmp22040 Where True;
                    INSERT INTO TMP22040 (UP_ID, MODELO_ID, COR_ID, TAMANHO, QUANTIDADE) VALUES (:vUP_PADRAO2 ,:modelo_id, :cor_id, :Tam, 1);
                    if (:vCALCULO_REBOBINAMENTO = '1') then
                     Begin
                     INSERT INTO TMP22040 (UP_ID, MODELO_ID, COR_ID, TAMANHO, QUANTIDADE) VALUES (:vUP_PADRAO2 ,:modelo_id, 99999, :Tam, 0);
                     End
        
                     SELECT TOTALPROCESSO * :vFATOR, TOTALSETUP From SPC_PROGRAMACAO_TEMPO_NOVO(1) INTO :TOTALPROCESSO, :TOTALSETUP;
        
                     if (:Tam = 0) then begin UPDATE TBFICHA_TEMPO SET TO00 = TO00 + :TOTALPROCESSO, TS00 = TS00 + :TOTALSETUP WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam = 1) then begin UPDATE TBFICHA_TEMPO SET TO01 = TO01 + :TOTALPROCESSO, TS01 = TS01 + :TOTALSETUP WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam = 2) then begin UPDATE TBFICHA_TEMPO SET TO02 = TO02 + :TOTALPROCESSO, TS02 = TS02 + :TOTALSETUP WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam = 3) then begin UPDATE TBFICHA_TEMPO SET TO03 = TO03 + :TOTALPROCESSO, TS03 = TS03 + :TOTALSETUP WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam = 4) then begin UPDATE TBFICHA_TEMPO SET TO04 = TO04 + :TOTALPROCESSO, TS04 = TS04 + :TOTALSETUP WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam = 5) then begin UPDATE TBFICHA_TEMPO SET TO05 = TO05 + :TOTALPROCESSO, TS05 = TS05 + :TOTALSETUP WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam = 6) then begin UPDATE TBFICHA_TEMPO SET TO06 = TO06 + :TOTALPROCESSO, TS06 = TS06 + :TOTALSETUP WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam = 7) then begin UPDATE TBFICHA_TEMPO SET TO07 = TO07 + :TOTALPROCESSO, TS07 = TS07 + :TOTALSETUP WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam = 8) then begin UPDATE TBFICHA_TEMPO SET TO08 = TO08 + :TOTALPROCESSO, TS08 = TS08 + :TOTALSETUP WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam = 9) then begin UPDATE TBFICHA_TEMPO SET TO09 = TO09 + :TOTALPROCESSO, TS09 = TS09 + :TOTALSETUP WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam =10) then begin UPDATE TBFICHA_TEMPO SET TO10 = TO10 + :TOTALPROCESSO, TS10 = TS10 + :TOTALSETUP WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam =11) then begin UPDATE TBFICHA_TEMPO SET TO11 = TO11 + :TOTALPROCESSO, TS11 = TS11 + :TOTALSETUP WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam =12) then begin UPDATE TBFICHA_TEMPO SET TO12 = TO12 + :TOTALPROCESSO, TS12 = TS12 + :TOTALSETUP WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam =13) then begin UPDATE TBFICHA_TEMPO SET TO13 = TO13 + :TOTALPROCESSO, TS13 = TS13 + :TOTALSETUP WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam =14) then begin UPDATE TBFICHA_TEMPO SET TO14 = TO14 + :TOTALPROCESSO, TS14 = TS14 + :TOTALSETUP WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam =15) then begin UPDATE TBFICHA_TEMPO SET TO15 = TO15 + :TOTALPROCESSO, TS15 = TS15 + :TOTALSETUP WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam =16) then begin UPDATE TBFICHA_TEMPO SET TO16 = TO16 + :TOTALPROCESSO, TS16 = TS16 + :TOTALSETUP WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam =17) then begin UPDATE TBFICHA_TEMPO SET TO17 = TO17 + :TOTALPROCESSO, TS17 = TS17 + :TOTALSETUP WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam =18) then begin UPDATE TBFICHA_TEMPO SET TO18 = TO18 + :TOTALPROCESSO, TS18 = TS18 + :TOTALSETUP WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam =19) then begin UPDATE TBFICHA_TEMPO SET TO19 = TO19 + :TOTALPROCESSO, TS19 = TS19 + :TOTALSETUP WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam =20) then begin UPDATE TBFICHA_TEMPO SET TO20 = TO20 + :TOTALPROCESSO, TS20 = TS20 + :TOTALSETUP WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End
                 End
        
                if (:vCALCULO_CONFORMACAO = '1') then
                 Begin
        
                     SELECT TEMPO, TEMPO_SETUP From SPC_PROGRAMACAO_TEMPO_BOJO (:modelo_id, :Tam, :cor_id, 1) INTO :TOTALPROCESSO, :TOTALSETUP;
        
                     if (:Tam = 0) then begin UPDATE TBFICHA_TEMPO SET TO00 = TO00 + :TOTALPROCESSO, TS00 = TS00 + :TOTALSETUP WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam = 1) then begin UPDATE TBFICHA_TEMPO SET TO01 = TO01 + :TOTALPROCESSO, TS01 = TS01 + :TOTALSETUP WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam = 2) then begin UPDATE TBFICHA_TEMPO SET TO02 = TO02 + :TOTALPROCESSO, TS02 = TS02 + :TOTALSETUP WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam = 3) then begin UPDATE TBFICHA_TEMPO SET TO03 = TO03 + :TOTALPROCESSO, TS03 = TS03 + :TOTALSETUP WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam = 4) then begin UPDATE TBFICHA_TEMPO SET TO04 = TO04 + :TOTALPROCESSO, TS04 = TS04 + :TOTALSETUP WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam = 5) then begin UPDATE TBFICHA_TEMPO SET TO05 = TO05 + :TOTALPROCESSO, TS05 = TS05 + :TOTALSETUP WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam = 6) then begin UPDATE TBFICHA_TEMPO SET TO06 = TO06 + :TOTALPROCESSO, TS06 = TS06 + :TOTALSETUP WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam = 7) then begin UPDATE TBFICHA_TEMPO SET TO07 = TO07 + :TOTALPROCESSO, TS07 = TS07 + :TOTALSETUP WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam = 8) then begin UPDATE TBFICHA_TEMPO SET TO08 = TO08 + :TOTALPROCESSO, TS08 = TS08 + :TOTALSETUP WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam = 9) then begin UPDATE TBFICHA_TEMPO SET TO09 = TO09 + :TOTALPROCESSO, TS09 = TS09 + :TOTALSETUP WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam =10) then begin UPDATE TBFICHA_TEMPO SET TO10 = TO10 + :TOTALPROCESSO, TS10 = TS10 + :TOTALSETUP WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam =11) then begin UPDATE TBFICHA_TEMPO SET TO11 = TO11 + :TOTALPROCESSO, TS11 = TS11 + :TOTALSETUP WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam =12) then begin UPDATE TBFICHA_TEMPO SET TO12 = TO12 + :TOTALPROCESSO, TS12 = TS12 + :TOTALSETUP WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam =13) then begin UPDATE TBFICHA_TEMPO SET TO13 = TO13 + :TOTALPROCESSO, TS13 = TS13 + :TOTALSETUP WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam =14) then begin UPDATE TBFICHA_TEMPO SET TO14 = TO14 + :TOTALPROCESSO, TS14 = TS14 + :TOTALSETUP WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam =15) then begin UPDATE TBFICHA_TEMPO SET TO15 = TO15 + :TOTALPROCESSO, TS15 = TS15 + :TOTALSETUP WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam =16) then begin UPDATE TBFICHA_TEMPO SET TO16 = TO16 + :TOTALPROCESSO, TS16 = TS16 + :TOTALSETUP WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam =17) then begin UPDATE TBFICHA_TEMPO SET TO17 = TO17 + :TOTALPROCESSO, TS17 = TS17 + :TOTALSETUP WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam =18) then begin UPDATE TBFICHA_TEMPO SET TO18 = TO18 + :TOTALPROCESSO, TS18 = TS18 + :TOTALSETUP WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam =19) then begin UPDATE TBFICHA_TEMPO SET TO19 = TO19 + :TOTALPROCESSO, TS19 = TS19 + :TOTALSETUP WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End else
                     if (:Tam =20) then begin UPDATE TBFICHA_TEMPO SET TO20 = TO20 + :TOTALPROCESSO, TS20 = TS20 + :TOTALSETUP WHERE MES = :MES AND ANO = :ANO AND PRODUTO_ID = :PRODUTO_ID; End
        
                 END
            END
       end
END