Accept Merge Request #2110: (feature/tool_standard_library_process -> develop)
Merge Request: 调拨单就绪问题处理 Created By: @廖丹龙 Reviewed By: @胡尧 Approved By: @胡尧 Accepted By: @廖丹龙 URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/2110
This commit is contained in:
@@ -1553,7 +1553,8 @@ class ResMrpWorkOrder(models.Model):
|
||||
lambda wo: wo.is_subcontract == True and wo.state != 'cancel').sorted('sequence')
|
||||
if self == subcontract_workorders[-1]:
|
||||
# 给下一个库存移动就绪
|
||||
self.move_subcontract_workorder_ids[0].move_dest_ids._action_done()
|
||||
if self.move_subcontract_workorder_ids:
|
||||
self.move_subcontract_workorder_ids[0].move_dest_ids._action_done()
|
||||
# self.production_id.button_mark_done()
|
||||
tem_date_planned_finished = record.date_planned_finished
|
||||
tem_date_finished = record.date_finished
|
||||
|
||||
@@ -121,16 +121,21 @@ class PurchaseOrder(models.Model):
|
||||
if not is_available:
|
||||
raise UserError('请先完成坯料入库')
|
||||
for production_id in productions:
|
||||
picking_id = production_id.picking_ids.filtered(
|
||||
work_ids = production_id.workorder_ids.filtered(
|
||||
lambda wk: wk.state not in ['done', 'rework', 'cancel'])
|
||||
if not work_ids:
|
||||
continue
|
||||
min_sequence_wk = min(work_ids, key=lambda wk: wk.sequence)
|
||||
if min_sequence_wk.is_subcontract:
|
||||
picking_id = production_id.picking_ids.filtered(
|
||||
lambda wk: wk.location_id.name == '制造前' and wk.location_dest_id.name == '外协加工区')
|
||||
move_out = picking_id.move_ids
|
||||
for mo in move_out:
|
||||
if mo.state != 'done':
|
||||
mo.write({'state': 'assigned', 'production_id': False})
|
||||
if not mo.move_line_ids:
|
||||
self.env['stock.move.line'].create(
|
||||
mo.get_move_line(production_id,False))
|
||||
|
||||
move_out = picking_id.move_ids
|
||||
for mo in move_out:
|
||||
if mo.state != 'done':
|
||||
mo.write({'state': 'assigned', 'production_id': False})
|
||||
if not mo.move_line_ids:
|
||||
self.env['stock.move.line'].create(
|
||||
mo.get_move_line(production_id, min_sequence_wk))
|
||||
# product = self.env['mrp.production'].search([('product_id', '=', product_id)], limit=1)
|
||||
# match = re.search(r'(S\d{5}-\d)',product.name)
|
||||
# pass
|
||||
|
||||
@@ -9,7 +9,7 @@ class SfProductionProcessParameter(models.Model):
|
||||
_inherit = 'sf.production.process.parameter'
|
||||
service_products = fields.Many2one(
|
||||
'product.template',
|
||||
string='外协服务产品',compute='_compute_service_products',inverse='_inverse_service_products',
|
||||
string='外协服务产品',compute='_compute_service_products',
|
||||
store=True
|
||||
)
|
||||
outsourced_service_products = fields.One2many(
|
||||
@@ -25,15 +25,8 @@ class SfProductionProcessParameter(models.Model):
|
||||
def _compute_service_products(self):
|
||||
for record in self:
|
||||
# 假设取第一条作为主明细
|
||||
record.service_products = record.outsourced_service_products.ids if record.outsourced_service_products else False
|
||||
record.service_products = record.outsourced_service_products[0].id if record.outsourced_service_products else False
|
||||
|
||||
def _inverse_service_products(self):
|
||||
for record in self:
|
||||
if record.service_products:
|
||||
# 确保关联关系正确
|
||||
record.outsourced_service_products = record.service_products.ids if record.service_products else False
|
||||
else:
|
||||
record.outsourced_service_products = False
|
||||
def name_get(self):
|
||||
result = []
|
||||
for record in self:
|
||||
|
||||
Reference in New Issue
Block a user