<commit_before>from pprint import pprint

from utils.functions.models.dictlist import dictlist_lower
from utils.functions.queries import (
    debug_cursor_execute,
    sql_where_none_if,
)

from beneficia.queries import busca_ob


def query(cursor, ob=None):
    filtra_ob = sql_where_none_if("b.ORDEM_PRODUCAO", ob)

    sql = f'''
        SELECT 
          b.PEDIDO_CORTE
        , b.NR_PEDIDO_ORDEM NUMERO
        , b.CODIGO_DEPOSITO DEP
        , b.QTDE_ROLOS_PROG ROLOS
        , b.QTDE_QUILOS_PROG QUILOS
        , b.ORDEM_PRODUCAO OB
        FROM pcpb_030 b
        WHERE 1=1
          {filtra_ob} -- filtra_ob
        ORDER BY
          b.NR_PEDIDO_ORDEM
    '''

    debug_cursor_execute(cursor, sql)
    dados = dictlist_lower(cursor)

    if dados:
        ob1_list = tuple([
            row['numero']
            for row in dados
            if row['numero'] != 0
        ])
        if ob1_list:
            dados_ob1_list = busca_ob.query(cursor, ob=ob1_list)
            dict_ob1 = {
                row['ob']: row
                for row in dados_ob1_list
            }

            for row in dados:
                ob1_row = dict_ob1.get(row['numero'])
                row['op'] = ob1_row['op']
  
    return dados<commit_msg>destino é OB não existênte<commit_after>from pprint import pprint

from utils.functions.models.dictlist import dictlist_lower
from utils.functions.queries import (
    debug_cursor_execute,
    sql_where_none_if,
)

from beneficia.queries import busca_ob


def query(cursor, ob=None):
    filtra_ob = sql_where_none_if("b.ORDEM_PRODUCAO", ob)

    sql = f'''
        SELECT 
          b.PEDIDO_CORTE
        , b.NR_PEDIDO_ORDEM NUMERO
        , b.CODIGO_DEPOSITO DEP
        , b.QTDE_ROLOS_PROG ROLOS
        , b.QTDE_QUILOS_PROG QUILOS
        , b.ORDEM_PRODUCAO OB
        FROM pcpb_030 b
        WHERE 1=1
          {filtra_ob} -- filtra_ob
        ORDER BY
          b.NR_PEDIDO_ORDEM
    '''

    debug_cursor_execute(cursor, sql)
    dados = dictlist_lower(cursor)

    if dados:
        ob1_list = tuple([
            row['numero']
            for row in dados
            if row['numero'] != 0
        ])
        if ob1_list:
            dados_ob1_list = busca_ob.query(cursor, ob=ob1_list)
            dict_ob1 = {
                row['ob']: row
                for row in dados_ob1_list
            }

            for row in dados:
                ob1_row = dict_ob1.get(row['numero'])
                if ob1_row:
                    row['op'] = ob1_row['op']
                else:
                    row['erro'] = 'OB não existe'

    return dados
{'fraction_non_alphanumeric': 0.08336534767575873, 'fraction_numerical': 0.011909335382251248, 'mean_word_length': 1.7210031347962382, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4722583', 'n_tokens_mistral': 961, 'n_tokens_neox': 914, 'n_words': 180}