mirror of
https://github.com/bringout/oca-technical.git
synced 2026-04-20 08:12:03 +02:00
Initial commit: OCA Technical packages (595 packages)
This commit is contained in:
commit
2cc02aac6e
24950 changed files with 2318079 additions and 0 deletions
|
|
@ -0,0 +1,77 @@
|
|||
# Copyright 2016-20 ForgeFlow S.L. (http://www.forgeflow.com)
|
||||
# Copyright 2016 Aleph Objects, Inc. (https://www.alephobjects.com/)
|
||||
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).
|
||||
|
||||
from odoo import api, fields, models
|
||||
|
||||
_REPLENISH_METHODS = [
|
||||
("replenish", "Replenished"),
|
||||
("replenish_override", "Replenished Override"),
|
||||
("min_max", "Min-max"),
|
||||
]
|
||||
_ITEM_TYPES = [
|
||||
("manufactured", "Manufactured"),
|
||||
("purchased", "Purchased"),
|
||||
("distributed", "Distributed"),
|
||||
]
|
||||
|
||||
|
||||
class StockBufferProfile(models.Model):
|
||||
_name = "stock.buffer.profile"
|
||||
_description = "Stock Buffer Profile"
|
||||
|
||||
@api.depends(
|
||||
"item_type",
|
||||
"lead_time_id",
|
||||
"lead_time_id.name",
|
||||
"lead_time_id.factor",
|
||||
"variability_id",
|
||||
"variability_id.name",
|
||||
"variability_id.factor",
|
||||
"distributed_reschedule_max_proc_time",
|
||||
)
|
||||
def _compute_name(self):
|
||||
"""Get the right summary for this job."""
|
||||
for rec in self:
|
||||
name = "{} {}, {}({}), {}({})".format(
|
||||
rec.replenish_method,
|
||||
rec.item_type,
|
||||
rec.lead_time_id.name,
|
||||
rec.lead_time_id.factor,
|
||||
rec.variability_id.name,
|
||||
rec.variability_id.factor,
|
||||
)
|
||||
if rec.distributed_reschedule_max_proc_time > 0.0:
|
||||
name += ", {}min".format(rec.distributed_reschedule_max_proc_time)
|
||||
rec.name = name
|
||||
|
||||
name = fields.Char(compute="_compute_name", store=True)
|
||||
replenish_method = fields.Selection(
|
||||
string="Replenishment method", selection=_REPLENISH_METHODS, required=True
|
||||
)
|
||||
item_type = fields.Selection(selection=_ITEM_TYPES, required=True)
|
||||
lead_time_id = fields.Many2one(
|
||||
comodel_name="stock.buffer.profile.lead.time", string="Lead Time Factor"
|
||||
)
|
||||
variability_id = fields.Many2one(
|
||||
comodel_name="stock.buffer.profile.variability", string="Variability Factor"
|
||||
)
|
||||
company_id = fields.Many2one(
|
||||
"res.company",
|
||||
"Company",
|
||||
)
|
||||
|
||||
replenish_distributed_limit_to_free_qty = fields.Boolean(
|
||||
string="Limit replenishment to free quantity",
|
||||
default=False,
|
||||
help="When activated, the recommended quantity will be maxed at "
|
||||
"the quantity available in the replenishment source location.",
|
||||
)
|
||||
distributed_reschedule_max_proc_time = fields.Float(
|
||||
string="Re-Schedule Procurement Max Proc. Time (minutes)",
|
||||
default=0.0,
|
||||
help="When you request procurement from a buffer, their scheduled"
|
||||
" date is rescheduled to now + this procurement time (in minutes)."
|
||||
" Their scheduled date represents the latest the transfers should"
|
||||
" be done, and therefore, past this timestamp, considered late.",
|
||||
)
|
||||
Loading…
Add table
Add a link
Reference in a new issue