diff --git a/sf_manufacturing/models/mrp_production.py b/sf_manufacturing/models/mrp_production.py index c4eb21dc..466e9a62 100644 --- a/sf_manufacturing/models/mrp_production.py +++ b/sf_manufacturing/models/mrp_production.py @@ -808,7 +808,8 @@ class MrpProduction(models.Model): 'target': 'new', 'context': { 'default_production_id': self.id, - 'default_programming_state': cloud_programming['programming_state'], + 'default_programming_state': '编程中' if cloud_programming[ + 'programming_state'] != '已下发' else '已下发', 'default_is_reprogramming': True if cloud_programming['programming_state'] in ['已下发'] else False } } @@ -986,15 +987,20 @@ class MrpProduction(models.Model): move = self.env['stock.move'].search([('origin', '=', productions.name)], order='id desc') for mo in move: print(mo.id) - if mo.name in ['/', '拉']: + if mo.procure_method == 'make_to_order' and mo.name != productions.name: if mo.name == '/': domain = [('barcode', '=', 'WH-PC'), ('sequence_code', '=', 'PC')] elif mo.name == '拉': domain = [('barcode', '=', 'WH-INTERNAL'), ('sequence_code', '=', 'INT')] picking_type = self.env['stock.picking.type'].search(domain) - mo.picking_type_id = picking_type.id + mo.write({'picking_type_id': picking_type.id}) mo._assign_picking() - mo.reference = mo.picking_id.name + else: + if mo.reference != productions.name: + mo.reference = productions.name + if mo.production_id: + if mo.production_id != productions: + mo.production_id = False productions.write({'programming_no': self.programming_no, 'is_remanufacture': True}) productions.procurement_group_id.mrp_production_ids.move_dest_ids.write( {'group_id': self.env['procurement.group'].search([('name', '=', sale_order.name)])}) @@ -1066,46 +1072,6 @@ class MrpProduction(models.Model): production_item) else: productions.programming_state = '编程中' - for production in productions: - origin_production = production.move_dest_ids and production.move_dest_ids[ - 0].raw_material_production_id or False - orderpoint = production.orderpoint_id - if orderpoint and orderpoint.create_uid.id == SUPERUSER_ID and orderpoint.trigger == 'manual': - production.message_post( - body=_('This production order has been created from Replenishment Report.'), - message_type='comment', - subtype_xmlid='mail.mt_note') - elif orderpoint: - production.message_post_with_view( - 'mail.message_origin_link', - values={'self': production, 'origin': orderpoint}, - subtype_id=self.env.ref('mail.mt_note').id) - elif origin_production: - production.message_post_with_view( - 'mail.message_origin_link', - values={'self': production, 'origin': origin_production}, - subtype_id=self.env.ref('mail.mt_note').id) - - ''' - 创建生产计划 - ''' - # 工单耗时 - workorder_duration = 0 - for workorder in productions.workorder_ids: - workorder_duration += workorder.duration_expected - - if sale_order: - # sale_order.mrp_production_ids |= productions - self.env['sf.production.plan'].sudo().with_company(self.company_id).create({ - 'name': productions.name, - 'order_deadline': sale_order.deadline_of_delivery, - 'production_id': productions.id, - 'date_planned_start': productions.date_planned_start, - 'origin': productions.origin, - 'product_qty': productions.product_qty, - 'product_id': productions.product_id.id, - 'state': 'draft', - }) return productions # 在之前的销售单上重新生成制造订单 diff --git a/sf_manufacturing/models/mrp_workorder.py b/sf_manufacturing/models/mrp_workorder.py index 48f9ca40..98631c41 100644 --- a/sf_manufacturing/models/mrp_workorder.py +++ b/sf_manufacturing/models/mrp_workorder.py @@ -1264,7 +1264,6 @@ class ResMrpWorkOrder(models.Model): 'is_trayed': False }) - # 将FTP的检测报告文件下载到临时目录 def download_reportfile_tmp(self, workorder, reportpath): logging.info('reportpath/ftp地址:%s' % reportpath) @@ -1659,7 +1658,6 @@ class WorkPieceDelivery(models.Model): agv_scheduling_id = fields.Many2one('sf.agv.scheduling', 'AGV任务调度') - @api.model def create(self, vals): if vals.get('route_id') and vals.get('type') is None: @@ -1749,7 +1747,6 @@ class WorkPieceDelivery(models.Model): 'default_confirm_button': '确认配送' }} - # 验证agv站点是否可用 def _check_avgsite_state(self): is_free = False @@ -1854,7 +1851,6 @@ class WorkPieceDelivery(models.Model): obj.delivery_duration = 0.0 - class CMMprogram(models.Model): _name = 'sf.cmm.program' _description = "CMM程序" diff --git a/sf_manufacturing/models/stock.py b/sf_manufacturing/models/stock.py index db07ab91..f53d7056 100644 --- a/sf_manufacturing/models/stock.py +++ b/sf_manufacturing/models/stock.py @@ -178,7 +178,8 @@ class StockRule(models.Model): # create the move as SUPERUSER because the current user may not have the rights to do it (mto product # launched by a sale for example) logging.info(moves_values) - moves = self.env['stock.move'].with_user(SUPERUSER_ID).sudo().with_company(company_id).create(moves_values) + moves = self.env['stock.move'].with_user(SUPERUSER_ID).sudo().with_company(company_id).create( + moves_values) logging.info(moves) # Since action_confirm launch following procurement_group we should activate it. moves._action_confirm()