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)
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
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