功能刀具组装点【更多】按钮弹窗的物料添加【BOM物料】默认筛选,根据BOM筛选出符合条件的物料信息;取消默认筛选后记录按满足BOM的和不满足BOM的顺序排序出现。
This commit is contained in:
@@ -256,6 +256,22 @@ class ProductProduct(models.Model):
|
||||
})
|
||||
return stock_lot
|
||||
|
||||
def search(self, domain, offset=0, limit=None, order=None, count=False):
|
||||
context = self.env.context
|
||||
tool_material_ids = context.get('tool_material_ids')
|
||||
if tool_material_ids:
|
||||
if context.get('default_tool_bom_id'):
|
||||
domain += [('id', 'in', tool_material_ids)]
|
||||
return super(ProductProduct, self).search(domain, offset=0, limit=None, order=None, count=False)
|
||||
else:
|
||||
domain_1 = domain + [('id', 'in', tool_material_ids)]
|
||||
domain_2 = domain + [('id', 'not in', tool_material_ids)]
|
||||
res_1 = super(ProductProduct, self).search(domain_1, offset=0, limit=None, order=None, count=False)
|
||||
res_2 = super(ProductProduct, self).search(domain_2, offset=0, limit=None, order=None, count=False)
|
||||
return res_1 + res_2
|
||||
else:
|
||||
return super(ProductProduct, self).search(domain, offset=0, limit=None, order=None, count=False)
|
||||
|
||||
def get_stock_lot_name(self, obj):
|
||||
"""
|
||||
生成功能刀具序列号
|
||||
@@ -317,6 +333,22 @@ class SfShelfLocationLot(models.Model):
|
||||
fit_blade_shape_id = fields.Many2one('maintenance.equipment.image', '适配刀片形状',
|
||||
related='product_id.fit_blade_shape_id')
|
||||
|
||||
def search(self, domain, offset=0, limit=None, order=None, count=False):
|
||||
context = self.env.context
|
||||
tool_material_ids = context.get('tool_material_ids')
|
||||
if tool_material_ids:
|
||||
if context.get('default_tool_bom_id'):
|
||||
domain += [('id', 'in', tool_material_ids)]
|
||||
return super(SfShelfLocationLot, self).search(domain, offset=0, limit=None, order=None, count=False)
|
||||
else:
|
||||
domain_1 = domain + [('id', 'in', tool_material_ids)]
|
||||
domain_2 = domain + [('id', 'not in', tool_material_ids)]
|
||||
res_1 = super(SfShelfLocationLot, self).search(domain_1, offset=0, limit=None, order=None, count=False)
|
||||
res_2 = super(SfShelfLocationLot, self).search(domain_2, offset=0, limit=None, order=None, count=False)
|
||||
return res_1 + res_2
|
||||
else:
|
||||
return super(SfShelfLocationLot, self).search(domain, offset=0, limit=None, order=None, count=False)
|
||||
|
||||
@api.depends('lot_id')
|
||||
def _compute_product_id(self):
|
||||
for item in self:
|
||||
|
||||
Reference in New Issue
Block a user