This commit is contained in:
2026-02-03 14:30:36 +01:00
parent 16df1c99a6
commit 272875eb69
6 changed files with 67 additions and 129 deletions

View File

@@ -3151,135 +3151,8 @@ class CreateContracts(Wizard):
type_=self.ct.type,
ct=self.ct,
)
# SaleLine = Pool().get('sale.line')
# Sale = Pool().get('sale.sale')
# PurchaseLine = Pool().get('purchase.line')
# Purchase = Pool().get('purchase.purchase')
# LotQt = Pool().get('lot.qt')
# LotQtHist = Pool().get('lot.qt.hist')
# LotQtType = Pool().get('lot.qt.type')
# Lot = Pool().get('lot.lot')
# Date = Pool().get('ir.date')
# self.sale_lines = []
# type = self.ct.type
# base_contract = self.ct.lot.sale_line.sale if type == 'Purchase' else self.ct.lot.line.purchase
# for c in self.ct.contracts:
# contract = Purchase() if type == 'Purchase' else Sale()
# contract_line = PurchaseLine() if type == 'Purchase' else SaleLine()
# parts = c.currency_unit.split("_")
# if int(parts[0]) != 0:
# contract.currency = int(parts[0])
# else:
# contract.currency = 1
# contract.party = c.party
# contract.crop = c.crop
# contract.tol_min = c.tol_min
# contract.tol_max = c.tol_max
# if type == 'Purchase':
# contract.purchase_date = Date.today()
# else:
# contract.sale_date = Date.today()
# contract.reference = c.reference
# if base_contract.from_location and base_contract.to_location:
# if type == 'Purchase':
# contract.to_location = base_contract.from_location
# else:
# contract.from_location = base_contract.to_location
# if base_contract.from_location.type == 'supplier' and base_contract.to_location.type == 'customer':
# contract.from_location = base_contract.from_location
# contract.to_location = base_contract.to_location
# if c.party.wb:
# contract.wb = c.party.wb
# if c.party.association:
# contract.association = c.party.association
# if type == 'Purchase':
# if c.party.supplier_payment_term:
# contract.payment_term = c.party.supplier_payment_term
# else:
# if c.party.customer_payment_term:
# contract.payment_term = c.party.customer_payment_term
# contract.incoterm = c.incoterm
# if c.party.addresses:
# contract.invoice_address = c.party.addresses[0]
# if type == 'Sale':
# contract.shipment_address = c.party.addresses[0]
# contract.__class__.save([contract])
# contract_line.quantity = c.quantity
# contract_line.quantity_theorical = c.quantity
# contract_line.product = self.ct.product
# contract_line.price_type = c.price_type
# contract_line.unit = self.ct.unit
# if type == 'Purchase':
# contract_line.purchase = contract.id
# else:
# contract_line.sale = contract.id
# contract_line.created_by_code = self.ct.matched
# contract_line.premium = Decimal(0)
# if int(parts[0]) == 0:
# contract_line.enable_linked_currency = True
# contract_line.linked_currency = 1
# contract_line.linked_unit = int(parts[1])
# contract_line.linked_price = c.price
# contract_line.unit_price = contract_line.get_price_linked_currency()
# else:
# contract_line.unit_price = c.price if c.price else Decimal(0)
# contract_line.del_period = c.del_period
# contract_line.from_del = c.from_del
# contract_line.to_del = c.to_del
# contract_line.__class__.save([contract_line])
# logger.info("CREATE_ID:%s",contract.id)
# logger.info("CREATE_LINE_ID:%s",contract_line.id)
# if self.ct.matched:
# lot = Lot()
# if type == 'Purchase':
# lot.line = contract_line.id
# else:
# lot.sale_line = contract_line.id
# lot.lot_qt = None
# lot.lot_unit = None
# lot.lot_unit_line = contract_line.unit
# lot.lot_quantity = round(contract_line.quantity,5)
# lot.lot_gross_quantity = None
# lot.lot_status = 'forecast'
# lot.lot_type = 'virtual'
# lot.lot_product = contract_line.product
# lqtt = LotQtType.search([('sequence','=',1)])
# if lqtt:
# lqh = LotQtHist()
# lqh.quantity_type = lqtt[0]
# lqh.quantity = round(lot.lot_quantity,5)
# lqh.gross_quantity = round(lot.lot_quantity,5)
# lot.lot_hist = [lqh]
# Lot.save([lot])
# vlot = self.ct.lot
# shipment_origin = None
# if self.ct.shipment_in:
# shipment_origin = 'stock.shipment.in,' + str(self.ct.shipment_in.id)
# elif self.ct.shipment_internal:
# shipment_origin = 'stock.shipment.internal,' + str(self.ct.shipment_internal.id)
# elif self.ct.shipment_out:
# shipment_origin = 'stock.shipment.out,' + str(self.ct.shipment_out.id)
# qt = c.quantity
# if type == 'Purchase':
# if not lot.updateVirtualPart(qt,shipment_origin,vlot):
# lot.createVirtualPart(qt,shipment_origin,vlot)
# #Decrease forecasted virtual part non matched
# lot.updateVirtualPart(-qt,shipment_origin,vlot,'only sale')
# else:
# if not vlot.updateVirtualPart(qt,shipment_origin,lot):
# vlot.createVirtualPart(qt,shipment_origin,lot)
# #Decrease forecasted virtual part non matched
# vlot.updateVirtualPart(-qt,shipment_origin,None)
return 'end'
# def do_matching(self, action):
# return action, {
# 'ids': self.sale_lines,
# 'model': str(self.ct.lot.id),
# }
def end(self):
return 'reload'
@@ -3309,7 +3182,6 @@ class ContractsStart(ModelView):
def default_matched(cls):
return True
class ContractDetail(ModelView):
"Contract Detail"