This commit is contained in:
2026-07-14 16:51:10 +02:00
parent 3dfbb25281
commit e184da898f
6 changed files with 1045 additions and 335 deletions

View File

@@ -4440,10 +4440,11 @@ class LinkageTemplateReport(ShipmentTemplateReportMixin, BaseSupplierShipping):
class LotReportLinkageRecord:
def __init__(self, lot, lot_report=None):
def __init__(self, lot, lot_report=None, linkage_status='PROVISIONAL'):
self.lot = lot
self.lot_report = lot_report
self.id = getattr(lot_report, 'id', None) or getattr(lot, 'id', None)
self.report_linkage_status = linkage_status
@property
def rec_name(self):
@@ -4573,7 +4574,14 @@ class LotReportLinkageRecord:
_get_report_linkage_fee_detail_row = (
ShipmentIn._get_report_linkage_fee_detail_row)
report_linkage_title = ShipmentIn.report_linkage_title
@property
def report_linkage_title(self):
title = ShipmentIn.report_linkage_title.fget(self)
status = getattr(self, 'report_linkage_status', None)
if status:
title = ' - '.join(part for part in [title, status] if part)
return title
report_linkage_desk = ShipmentIn.report_linkage_desk
report_linkage_book = ShipmentIn.report_linkage_book
report_linkage_strategy = ShipmentIn.report_linkage_strategy
@@ -4650,6 +4658,7 @@ class LotReportLinkageRecord:
class LotReportLinkageReport(LinkageTemplateReport):
__name__ = 'lot.report.linkage'
linkage_status = 'PROVISIONAL'
@classmethod
def _get_records(cls, ids, model, data):
@@ -4665,10 +4674,16 @@ class LotReportLinkageReport(LinkageTemplateReport):
if not lot:
raise UserError(
'Linkage report needs a physical lot on the selected line.')
linkage_records.append(LotReportLinkageRecord(lot, record))
linkage_records.append(LotReportLinkageRecord(
lot, record, linkage_status=cls.linkage_status))
return linkage_records
class LotReportLinkageFinalReport(LotReportLinkageReport):
__name__ = 'lot.report.linkage.final'
linkage_status = 'FINAL'
class ShipmentCOOReport(ShipmentTemplateReportMixin, BaseSupplierShipping):
__name__ = 'stock.shipment.in.coo'