Bring in associated NMINC items that are never physcially shipped.
parent
c0fbb48854
commit
6f6da3dc0c
|
@ -76,6 +76,27 @@ def process_files(file):
|
||||||
for num, row in enumerate(csv_reader):
|
for num, row in enumerate(csv_reader):
|
||||||
current_order = row[6]
|
current_order = row[6]
|
||||||
if current_order != previous_order:
|
if current_order != previous_order:
|
||||||
|
nminc_records = check_for_nminc_on_order(warehouse_shipment.sohnum)
|
||||||
|
if nminc_records:
|
||||||
|
pprint.pprint('nminc detected')
|
||||||
|
for record in nminc_records:
|
||||||
|
nminc_sohnum = record['SOHNUM_0']
|
||||||
|
nminc_itmref = record['ITMREF_0']
|
||||||
|
nminc_qtystu = int(record['QTYSTU_0'])
|
||||||
|
nminc_gropri = decimal.Decimal(record['GROPRI_0'])
|
||||||
|
subdetail = WarehouseShipmentSubDetail(
|
||||||
|
qtypcu=-1 * int(nminc_qtystu),
|
||||||
|
lot='',
|
||||||
|
)
|
||||||
|
warehouse_shipment.append(
|
||||||
|
WarehouseShipmentDetail(
|
||||||
|
sohnum=nminc_sohnum,
|
||||||
|
itmref=nminc_itmref,
|
||||||
|
qty=nminc_qtystu,
|
||||||
|
gropri=nminc_gropri,
|
||||||
|
),
|
||||||
|
subdetail,
|
||||||
|
)
|
||||||
time_stamp = datetime.datetime.now().strftime("%Y%m%d_%H%M%S")
|
time_stamp = datetime.datetime.now().strftime("%Y%m%d_%H%M%S")
|
||||||
if warehouse_shipment.sohnum != '':
|
if warehouse_shipment.sohnum != '':
|
||||||
with yamamotoyama.x3_imports.open_import_file(
|
with yamamotoyama.x3_imports.open_import_file(
|
||||||
|
@ -122,12 +143,62 @@ def process_files(file):
|
||||||
),
|
),
|
||||||
subdetail,
|
subdetail,
|
||||||
)
|
)
|
||||||
|
nminc_records = check_for_nminc_on_order(warehouse_shipment.sohnum)
|
||||||
|
if nminc_records:
|
||||||
|
pprint.pprint('nminc detected')
|
||||||
|
for record in nminc_records:
|
||||||
|
nminc_sohnum = record['SOHNUM_0']
|
||||||
|
nminc_itmref = record['ITMREF_0']
|
||||||
|
nminc_qtystu = int(record['QTYSTU_0'])
|
||||||
|
nminc_gropri = decimal.Decimal(record['GROPRI_0'])
|
||||||
|
subdetail = WarehouseShipmentSubDetail(
|
||||||
|
qtypcu=-1 * int(nminc_qtystu),
|
||||||
|
lot='',
|
||||||
|
)
|
||||||
|
warehouse_shipment.append(
|
||||||
|
WarehouseShipmentDetail(
|
||||||
|
sohnum=nminc_sohnum,
|
||||||
|
itmref=nminc_itmref,
|
||||||
|
qty=nminc_qtystu,
|
||||||
|
gropri=nminc_gropri,
|
||||||
|
),
|
||||||
|
subdetail,
|
||||||
|
)
|
||||||
time_stamp = datetime.datetime.now().strftime("%Y%m%d_%H%M%S")
|
time_stamp = datetime.datetime.now().strftime("%Y%m%d_%H%M%S")
|
||||||
with yamamotoyama.x3_imports.open_import_file(
|
with yamamotoyama.x3_imports.open_import_file(
|
||||||
SDH_IMPORT_DIRECTORY / f"ZSHIP945S_{warehouse_shipment.sohnum}_{time_stamp}.dat"
|
SDH_IMPORT_DIRECTORY / f"ZSHIP945S_{warehouse_shipment.sohnum}_{time_stamp}.dat"
|
||||||
) as import_file:
|
) as import_file:
|
||||||
warehouse_shipment.output(import_file)
|
warehouse_shipment.output(import_file)
|
||||||
|
|
||||||
|
|
||||||
|
def check_for_nminc_on_order(sohnum):
|
||||||
|
with yamamotoyama.get_connection() as db_connection:
|
||||||
|
return db_connection.query(
|
||||||
|
"""
|
||||||
|
select
|
||||||
|
SOQ.SOHNUM_0,
|
||||||
|
SOQ.ITMREF_0,
|
||||||
|
SOQ.QTYSTU_0,
|
||||||
|
SOP.GROPRI_0
|
||||||
|
from PROD.SORDER SOH
|
||||||
|
join PROD.SORDERQ SOQ
|
||||||
|
on SOH.SOHNUM_0 = SOQ.SOHNUM_0
|
||||||
|
join PROD.SORDERP SOP
|
||||||
|
on SOQ.SOHNUM_0 = SOP.SOHNUM_0
|
||||||
|
and SOQ.ITMREF_0 = SOP.ITMREF_0
|
||||||
|
and SOQ.SOPLIN_0 = SOP.SOPLIN_0
|
||||||
|
and SOQ.SOQSEQ_0 = SOP.SOPSEQ_0
|
||||||
|
join PROD.ITMMASTER ITM
|
||||||
|
on SOQ.ITMREF_0 = ITM.ITMREF_0
|
||||||
|
and ITM.TCLCOD_0 = 'NMINC'
|
||||||
|
where
|
||||||
|
SOH.SOHTYP_0 = 'WEB'
|
||||||
|
and SOH.BPCORD_0 = 'STSHOPIFY'
|
||||||
|
and SOH.SOHNUM_0 =:sohnum
|
||||||
|
""",
|
||||||
|
sohnum=sohnum,
|
||||||
|
).all()
|
||||||
|
|
||||||
@dataclasses.dataclass
|
@dataclasses.dataclass
|
||||||
class WarehouseShipmentSubDetail:
|
class WarehouseShipmentSubDetail:
|
||||||
"""
|
"""
|
||||||
|
|
Loading…
Reference in New Issue