123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- '''
- Created on Mar 6, 2020 @author: Levi
- '''
- import xlsxwriter as xl
- from datetime import date
- from argparse import ArgumentParser
- from atlas import atlasInvoice as Inv
- if __name__ == '__main__':
- parser = ArgumentParser()
- parser.add_argument('-f', '--filename', type=str)
- parser.add_argument('-s', '--supplier', type=str, default='atlas')
- args = parser.parse_args()
- # if not args.filename:
- # args.filename = 'MOZAIK_CONSULTING_INV0001145.PDF'
- # if not args.supplier:
- # args.supplier = 'atlas'
- args.supplier = 'atlas'
- args.filename = 'sample/'+input('filename?')
- # if args.supplier == 'atlas':
- # elif args.supplier == 'brother':
- # from brother import brotherInvoice as Inv
- inv = Inv(args.filename)
- def invoice_imp(nr_doc, data, size, sup_code, item_list, txi='D'):
- InfoPachet = '[InfoPachet]'
- AnLucru = date.today().year
- LunaLucru = date.today().month
- TipDocument = 'INVOICE'
- TotalFacturi = 1
- tf = f'[Factura_{TotalFacturi}]'
- struct = \
- f'{InfoPachet}\nAnLucru={AnLucru}\nLunaLucru={LunaLucru}\nTipDocument={TipDocument}\n\
- TotalFacturi={TotalFacturi}\n{tf}\nNrDoc={nr_doc}\nData={data}\nLohn=N\n\
- CodFurnizor={sup_code}\nMoneda=EUR\nScadenta={date.today().day}.{date.today().month}.{date.today().year}\n\
- TotalArticole={size}\nTaxareInversa={txi}\n[DVI_1]\nNrDoc=1\nData=\
- {date.today().day}.{date.today().month}.{date.today().year}\nCurs=4.7885\n'
- transp = \
- '[Transport_1]\nNrdoc=\nCodTransportator=\nMoneda=\nCurs=\nValoare=\nScadenta=\nMajorari=\n\
- [Asigurare_1]\nNrDoc=\nCodAsigurator=\nMoneda=\nCurs=\nValoare=\nScadenta=\nMajorari=\n'
- items = '[Items_1]\n'
- for i in range(1, size+1):
- items += f'item_{i}={item_list["items_details"]["codes"][i-1]};BUC;{item_list["items_details"]["qnt"][i-1]};\
- {item_list["items_details"]["net_val"][i-1]};MPD;{item_list["items_details"]["disc"][i-1]};;;;\n'
- return struct, transp, items
- def wr_docline(name, inv):
- wb = xl.Workbook(name)
- ws = wb.add_worksheet()
- row = 0
- col = 0
- for c, q, v in zip(inv.items_details.codes, inv.items_details.qnt, inv.items_details.net_val):
- # print(i)
- ws.write(row, col, c)
- ws.write(row, col+1, q)
- ws.write(row, col+2, v)
- row += 1
- wb.close()
- if __name__ == '__main__':
- wr_docline('inv_import_CLI.xlsx', inv)
- with open(f'{args.supplier}.txt', 'w') as txt:
- for text_block in range(3):
- txt.write(invoice_imp(inv['inv_nr'], inv['data'], inv['size'], inv['vat_num'], inv)[text_block])
|