修复表面工艺

This commit is contained in:
jinling.yang
2024-11-26 15:37:19 +08:00
parent 42e4e15cdb
commit b5beaad7bf
4 changed files with 23 additions and 14 deletions

View File

@@ -235,7 +235,7 @@ class ResMrpWorkOrder(models.Model):
for workorder in self:
if workorder.routing_type == '表面工艺':
domain = [('origin', '=', workorder.production_id.name), ('state', 'not in', ['cancel']),
('partner_id', '!=', False)]
('partner_id', '=', workorder.supplier_id.id)]
previous_workorder = self.env['mrp.workorder'].search(
[('sequence', '=', workorder.sequence - 1), ('routing_type', '=', '表面工艺'),
('production_id', '=', workorder.production_id.id)])
@@ -244,6 +244,8 @@ class ResMrpWorkOrder(models.Model):
process_product = self.env['product.template']._get_process_parameters_product(
previous_workorder.surface_technics_parameters_id)
domain += [('partner_id', '=', process_product.partner_id.id)]
else:
domain += [('surface_technics_parameters_id', '=', workorder.surface_technics_parameters_id.id)]
picking_ids = self.env['stock.picking'].search(domain, order='id asc')
workorder.surface_technics_picking_count = len(picking_ids)
workorder.picking_ids = picking_ids.ids
@@ -283,12 +285,14 @@ class ResMrpWorkOrder(models.Model):
# else:
domain = [('purchase_type', '=', 'consignment'), ('origin', '=', ','.join(production_list))]
purchase = self.env['purchase.order'].search(domain)
purchase_num = 0
if not purchase:
order.surface_technics_purchase_count = 0
for line in purchase.order_line:
if line.product_id.server_product_process_parameters_id == order.surface_technics_parameters_id:
if line.product_qty == len(production_no_remanufacture):
order.surface_technics_purchase_count = len(purchase)
purchase_num += 1
order.surface_technics_purchase_count = purchase_num
else:
order.surface_technics_purchase_count = 0
@@ -309,10 +313,16 @@ class ResMrpWorkOrder(models.Model):
# else:
domain = [('origin', '=', ','.join(production_list)), ('purchase_type', '=', 'consignment')]
purchase_orders = self.env['purchase.order'].search(domain)
purchase_orders_id = None
for line in purchase_orders.order_line:
if line.product_id.server_product_process_parameters_id == self.surface_technics_parameters_id:
if line.product_qty == len(production_no_remanufacture):
purchase_orders_id = line.order_id.id
order.surface_technics_purchase_count = purchase_num
result = {
"type": "ir.actions.act_window",
"res_model": "purchase.order",
"res_id": purchase_orders.id,
"res_id": purchase_orders_id,
# "domain": [['id', 'in', self.purchase_id]],
"name": _("Purchase Orders"),
'view_mode': 'form',