Added new Shandex field N9*CR
parent
674fba9f88
commit
467e489ea8
|
@ -84,7 +84,7 @@ def main():
|
||||||
shutil.move(edi_filename, EDI_997_DIRECTORY / edi_filename.name)
|
shutil.move(edi_filename, EDI_997_DIRECTORY / edi_filename.name)
|
||||||
elif SHANDEX_RETURN_944_FILENAME_RE.match(edi_filename.name):
|
elif SHANDEX_RETURN_944_FILENAME_RE.match(edi_filename.name):
|
||||||
process_return(edi_filename)
|
process_return(edi_filename)
|
||||||
#TODOshutil.move(edi_filename, EDI_997_DIRECTORY / edi_filename.name)
|
shutil.move(edi_filename, EDI_997_DIRECTORY / edi_filename.name)
|
||||||
|
|
||||||
|
|
||||||
def determine_edi_action(edi_filename: pathlib.Path):
|
def determine_edi_action(edi_filename: pathlib.Path):
|
||||||
|
@ -191,6 +191,7 @@ def process_return(edi_filename: pathlib.Path):
|
||||||
rcpdat = ''
|
rcpdat = ''
|
||||||
reason = ''
|
reason = ''
|
||||||
po = ''
|
po = ''
|
||||||
|
shandex_customer = ''
|
||||||
for fields in tokens_from_edi_file(edi_filename):
|
for fields in tokens_from_edi_file(edi_filename):
|
||||||
if fields[0] == "W17":
|
if fields[0] == "W17":
|
||||||
#_, _, rcpdat, _, sohnum, sdhnum = fields[:6]
|
#_, _, rcpdat, _, sohnum, sdhnum = fields[:6]
|
||||||
|
@ -201,6 +202,9 @@ def process_return(edi_filename: pathlib.Path):
|
||||||
po = fields[2]
|
po = fields[2]
|
||||||
if fields[0] == 'N9' and fields[1] == 'ZZ':
|
if fields[0] == 'N9' and fields[1] == 'ZZ':
|
||||||
reason = fields[3]
|
reason = fields[3]
|
||||||
|
if fields[0] == 'N9' and fields[1] == 'CR':
|
||||||
|
shandex_customer = fields[2]
|
||||||
|
shandex_customer = customer_map_lookup(shandex_customer + '%') + '\n'
|
||||||
if fields[0] == "W07":
|
if fields[0] == "W07":
|
||||||
# W07*33*CA**PN*10077652772170*LT*06022027A***UK*10077652772170
|
# W07*33*CA**PN*10077652772170*LT*06022027A***UK*10077652772170
|
||||||
_, qty_str, uom, _, _, gtin, _, lot = fields[:8]
|
_, qty_str, uom, _, _, gtin, _, lot = fields[:8]
|
||||||
|
@ -210,10 +214,27 @@ def process_return(edi_filename: pathlib.Path):
|
||||||
line_data.append(f'{x3_sku}, {gtin}, {qty_str}, {uom}, {lot}')
|
line_data.append(f'{x3_sku}, {gtin}, {qty_str}, {uom}, {lot}')
|
||||||
customer_info = customer_lookup(po)
|
customer_info = customer_lookup(po)
|
||||||
line_data = [f'Return#: {return_num}\n' + customer_info + f'Return date: {rcpdat}\nReason: {reason}\nPO: {po}\nCases: {running_sum}'] + line_data
|
line_data = [f'Return#: {return_num}\n' + customer_info + f'Return date: {rcpdat}\nReason: {reason}\nPO: {po}\nCases: {running_sum}'] + line_data
|
||||||
# simple_email_notification.email_noticication(['bleeson@stashtea.com','scrinvoices@stashtea.com','business@stashtea.com'],
|
simple_email_notification.email_noticication(['bleeson@stashtea.com','scrinvoices@stashtea.com','business@stashtea.com'],
|
||||||
# 'Shandex Return',line_data)
|
'Shandex Return',line_data)
|
||||||
simple_email_notification.email_noticication(['bleeson@stashtea.com'],
|
# simple_email_notification.email_noticication(['bleeson@stashtea.com'],#testing
|
||||||
f'New Shandex Return {return_num}',line_data)
|
# f'New Shandex Return {return_num}',line_data)
|
||||||
|
|
||||||
|
|
||||||
|
def customer_map_lookup(customer_code):
|
||||||
|
possible_customers = []
|
||||||
|
with yamamotoyama.get_connection() as data_base:
|
||||||
|
result = data_base.query(
|
||||||
|
"""
|
||||||
|
SELECT DISTINCT
|
||||||
|
[x3_customer]
|
||||||
|
FROM [staging].[dbo].[shandex_customer_map]
|
||||||
|
WHERE shandex_key like :customer_code
|
||||||
|
""",
|
||||||
|
customer_code=customer_code,
|
||||||
|
).all()
|
||||||
|
for record in result:
|
||||||
|
possible_customers.append(record['x3_customer'])
|
||||||
|
return ','.join(possible_customers)
|
||||||
|
|
||||||
|
|
||||||
def customer_lookup(po_number):
|
def customer_lookup(po_number):
|
||||||
|
|
Loading…
Reference in New Issue