Ejemplo n.º 1
0
def voucher_list(request: Request):
    start_date, end_date, search, batch_number, author, user_str = create_params(request)
    columns = [
        {'ids': 'id'},
        {'RPCO': 'RPCO'},
        {'RPICU': 'RPICU'},
        {'RPDGJ': 'RPDGJ'},
        {'RPALPH': 'RPALPH'},
        {'RPDL02': 'RPDL02'},
        {'RPRMK': 'RPRMK'},
        {'RPTORG': 'RPTORG'},
        {'RPSEQ': 'RPSEQ'},
        {'RPDCT': 'RPDCT'},
        {'RPDL02': 'RPDL02'},
        {'RPEXR1': 'RPEXR1'},
        {'RPTXA1': 'RPTXA1'},
        {'RPDOC': 'RPDOC'},
        {'RPTAX': 'RPTAX'},
        {'RPALPH': 'RPALPH'},
        {'RPSFX': 'RPSFX'},
        {'RPZ5DEBITAT / 100': 'RPZ5DEBITAT'},
        {'RPZ5CREDITAT / 100': 'RPZ5CREDITAT'},
        {'RPAN8': 'RPAN8'},
        {'RPTORG': 'RPTORG'},
        {'RPDSVJ': 'RPDSVJ'},
        {'RPEXR1NM': 'RPEXR1NM'},
        {'RPDDJ': 'RPDDJ'},
        {'RPSBLT': 'RPSBLT'},
        {'RPDL03': 'RPDL03'},
        {'RPCODE': 'RPCODE'},
        {'RPNAME': 'RPNAME'}
    ]
    table = 'vap_voucher1'
    user_where = f" RPTORG in ({user_str})"
    wheres = [f" rpdgj >= TO_DATE({start_date}, 'YYYYMMDD')",
              f" rpdgj <= TO_DATE({end_date}, 'YYYYMMDD')"]

    if not request.user.is_superuser:
        wheres.append(user_where)

    if author:
        users: QuerySet = User.objects.filter(first_name=author)

        if not users:
            return Response(data=[], status=status.HTTP_200_OK)

        usernames: list = list(map(lambda user: user.username.upper(), users))
        user_str: str = ", ".join("'{0}'".format(username) for username in usernames)
        wheres.append(f" RPTORG in ({user_str})")

    if batch_number:
        wheres.append(f" RPICU = {batch_number}")

    if search:
        wheres.append(f" RPRMK like '%{search}%'")

    service = OracleService()
    query = service.create_select_query(columns, table, wheres)
    result = service.get_result(query, columns)
    return Response(data=result, status=status.HTTP_200_OK)
Ejemplo n.º 2
0
 def query_invoices(wheres: list):
     columns = Invoice.QUERY_COLUMS
     table = 'vap_voucher1'
     wheres = wheres
     service = OracleService()
     query = service.create_select_query(columns, table, wheres)
     result = service.get_result(query, columns)
     return result
Ejemplo n.º 3
0
    def query_batch_invoices(wheres: list, table='vap_voucher1'):
        columns = Invoice.QUERY_COLUMS
        if table == 'vga_nacct1':
            columns = Invoice.QUERY_COLUMS_NORMAL

        wheres = wheres
        service = OracleService()
        query = service.create_select_query(columns, table, wheres)
        result = service.get_result(query, columns)
        return result