29 lines
1.4 KiB
Python
29 lines
1.4 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Part of YiZuo. See LICENSE file for full copyright and licensing details.
|
|
import logging
|
|
from odoo.exceptions import UserError, ValidationError
|
|
from datetime import datetime
|
|
from odoo import models, api, fields, _
|
|
|
|
|
|
class ProductionWizard(models.TransientModel):
|
|
_name = 'sf.production.wizard'
|
|
_description = '制造订单向导'
|
|
|
|
production_id = fields.Many2one('mrp.production', string='制造订单号')
|
|
is_reprogramming = fields.Boolean(string='申请重新编程', default=True)
|
|
is_remanufacture = fields.Boolean(string='重新生成制造订单', default=True)
|
|
|
|
def confirm(self):
|
|
if self.is_reprogramming is True:
|
|
self.production_id.update_programming_state()
|
|
self.production_id.action_cancel()
|
|
self.production_id.detection_result_ids.write({'handle_result': '已处理'})
|
|
self.production_id.write({'scrap_ids': [(0, 0, {
|
|
'product_id': self.production_id.product_id.id,
|
|
'scrap_qty': 1,
|
|
'lot_id': self.production_id.move_line_raw_ids.lot_id.id,
|
|
'location_id': self.production_id.move_raw_ids.filtered(lambda x: x.state not in (
|
|
'done', 'cancel')) and self.production_id.location_src_id.id or self.production_id.location_dest_id.id,
|
|
'scrap_location_id': self.env['stock.scrap']._get_default_scrap_location_id(), 'state': 'done'})]})
|