Skip to content

Commit

Permalink
[FIX] update_bom method
Browse files Browse the repository at this point in the history
  • Loading branch information
jayraj-omnia committed Jan 28, 2025
1 parent 1cf3e2b commit 4348829
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 13 deletions.
2 changes: 1 addition & 1 deletion plm_compare_bom/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
##############################################################################
{
"name": "PLM Compare Bom",
"version": "16.0.1",
"version": "16.0.2",
"author": "OmniaSolutions",
"website": "https://odooplm.omniasolutions.website",
"category": "Manufacturing/Product Lifecycle Management (PLM)",
Expand Down
50 changes: 38 additions & 12 deletions plm_compare_bom/models/compare_bom.py
Original file line number Diff line number Diff line change
Expand Up @@ -204,20 +204,46 @@ def update_bom(self):
mrp_bom_line = self.env['mrp.bom.line']
for plm_compare_bom_id in self:
for plm_missing_id in plm_compare_bom_id.anotinb.filtered(lambda x: x.reason == 'new'):
mrp_bom_line.create({
'bom_id': self.bom_id1.id,
'product_qty': plm_missing_id.itemqty,
'product_id': plm_missing_id.part_id.id,
'type': self.bom_id1.type,
'itemnum': len(self.bom_id1.bom_line_ids) + 1})
existing_line = mrp_bom_line.search([
('bom_id', '=', self.bom_id1.id),
('product_id', '=', plm_missing_id.part_id.id),
('itemnum', '=', plm_missing_id.itemnum)
], limit=1)

if existing_line:
if self.compute_type == "num_qty":
existing_line.product_qty = plm_missing_id.itemqty
else:
existing_line.product_qty += plm_missing_id.itemqty
else:
mrp_bom_line.create({
'bom_id': self.bom_id1.id,
'product_qty': plm_missing_id.itemqty,
'product_id': plm_missing_id.part_id.id,
'type': self.bom_id1.type,
'itemnum': plm_missing_id.itemnum
})
plm_missing_id.reason = 'added'
for plm_adding_id in plm_compare_bom_id.bnotina.filtered(lambda x: x.reason == 'new'):
mrp_bom_line.create({
'bom_id': self.bom_id2.id,
'product_qty': plm_adding_id.itemqty,
'product_id': plm_adding_id.part_id.id,
'type': self.bom_id2.type,
'itemnum': len(self.bom_id2.bom_line_ids) + 1})
existing_line = mrp_bom_line.search([
('bom_id', '=', self.bom_id2.id),
('product_id', '=', plm_adding_id.part_id.id),
('itemnum', '=', plm_adding_id.itemnum)
], limit=1)

if existing_line:
if self.compute_type == "num_qty":
existing_line.product_qty = plm_adding_id.itemqty
else:
existing_line.product_qty += plm_adding_id.itemqty
else:
mrp_bom_line.create({
'bom_id': self.bom_id2.id,
'product_qty': plm_adding_id.itemqty,
'product_id': plm_adding_id.part_id.id,
'type': self.bom_id2.type,
'itemnum': plm_adding_id.itemnum
})
plm_adding_id.reason = 'added'
for mrp_bom_line_id in plm_compare_bom_id.bom_line_id_to_delete:
mrp_bom_line_id.unlink()
Expand Down

0 comments on commit 4348829

Please sign in to comment.