BUG_7276_lxb_commit
This commit is contained in:
@@ -34,7 +34,7 @@ class SfProductionDemandPlan(models.Model):
|
||||
company_id = fields.Many2one(
|
||||
related='sale_order_id.company_id',
|
||||
store=True, index=True, precompute=True)
|
||||
customer_name = fields.Char(string='客户', related='sale_order_id.customer_name')
|
||||
customer_name = fields.Char('客户', related='sale_order_id.customer_name')
|
||||
order_remark = fields.Text(related='sale_order_id.remark',
|
||||
string="订单备注", store=True)
|
||||
glb_url = fields.Char(related='sale_order_line_id.glb_url', string='glb文件地址')
|
||||
@@ -42,10 +42,10 @@ class SfProductionDemandPlan(models.Model):
|
||||
comodel_name='product.product',
|
||||
related='sale_order_line_id.product_id',
|
||||
string='产品', store=True, index=True)
|
||||
model_id = fields.Char(string='模型ID', related='product_id.model_id')
|
||||
part_name = fields.Char(string='零件名称', related='product_id.part_name')
|
||||
part_number = fields.Char(string='零件图号', related='demand_plan_id.part_number')
|
||||
is_incoming_material = fields.Boolean(string='客供料', related='sale_order_line_id.is_incoming_material', store=True)
|
||||
model_id = fields.Char('模型ID', related='product_id.model_id')
|
||||
part_name = fields.Char('零件名称', related='product_id.part_name')
|
||||
part_number = fields.Char('零件图号', related='demand_plan_id.part_number')
|
||||
is_incoming_material = fields.Boolean('客供料', related='sale_order_line_id.is_incoming_material', store=True)
|
||||
|
||||
new_supply_method = fields.Selection([
|
||||
('custom_made', "自制"),
|
||||
@@ -81,7 +81,7 @@ class SfProductionDemandPlan(models.Model):
|
||||
related='product_id.blank_type')
|
||||
blank_precision = fields.Selection([('精坯', '精坯'), ('粗坯', '粗坯')], string='坯料类型',
|
||||
related='product_id.blank_precision')
|
||||
unit_number = fields.Float(string='单件用量', digits=(16, 3), related='product_id.unit_number')
|
||||
unit_number = fields.Float('单件用量', digits=(16, 3), related='product_id.unit_number')
|
||||
embryo_long = fields.Char('坯料尺寸(mm)', related='demand_plan_id.embryo_long')
|
||||
materials_id = fields.Char('材料', related='demand_plan_id.materials_id')
|
||||
model_machining_precision = fields.Selection(related='product_id.model_machining_precision', string='精度')
|
||||
@@ -166,11 +166,11 @@ class SfProductionDemandPlan(models.Model):
|
||||
('生产报废', "生产报废"),
|
||||
], string='补货原因', default='销售订单', readonly=True)
|
||||
|
||||
blank_arrival_date = fields.Date(string='采购计划到货(坯料)')
|
||||
finished_product_arrival_date = fields.Date(string='采购计划到货(成品)')
|
||||
blank_arrival_date = fields.Date('采购计划到货(坯料)')
|
||||
finished_product_arrival_date = fields.Date('采购计划到货(成品)')
|
||||
bom_id = fields.Many2one('mrp.bom', string="BOM", readonly=True)
|
||||
location_id = fields.Many2one('stock.location', string='需求位置', default=get_location_id, readonly=True)
|
||||
manual_quotation = fields.Boolean(string='人工编程', related='product_id.manual_quotation', default=False)
|
||||
manual_quotation = fields.Boolean('人工编程', related='product_id.manual_quotation', default=False)
|
||||
|
||||
@api.constrains('plan_uom_qty')
|
||||
def _check_plan_uom_qty(self):
|
||||
@@ -607,6 +607,11 @@ class SfProductionDemandPlan(models.Model):
|
||||
filtered_plan = self.filtered(lambda mo: mo.status == '30')
|
||||
if not filtered_plan:
|
||||
raise UserError(_("没有需要下达的计划!"))
|
||||
check_overdelivery_allowed = False
|
||||
if not self.demand_plan_id.overdelivery_allowed:
|
||||
customer_location_id = self.env['ir.model.data']._xmlid_to_res_id('stock.stock_location_customers')
|
||||
if self.location_id.id == customer_location_id:
|
||||
check_overdelivery_allowed = True
|
||||
# 按产品分组并计算总数
|
||||
product_data = {}
|
||||
for plan in filtered_plan:
|
||||
|
||||
Reference in New Issue
Block a user