修复报废bug
This commit is contained in:
@@ -619,12 +619,12 @@ class Manufacturing_Connect(http.Controller):
|
|||||||
# if is_free is True:
|
# if is_free is True:
|
||||||
# delivery_workpiece._delivery_avg()
|
# delivery_workpiece._delivery_avg()
|
||||||
# logging.info('agv下发下产线任务下发完成')
|
# logging.info('agv下发下产线任务下发完成')
|
||||||
if ret['IsComplete'] is True:
|
# if ret['IsComplete'] is True:
|
||||||
# 向AGV任务调度下发下产线任务
|
# # 向AGV任务调度下发下产线任务
|
||||||
workorders = request.env['mrp.workorder'].browse(workorder_ids)
|
# workorders = request.env['mrp.workorder'].browse(workorder_ids)
|
||||||
request.env['sf.agv.scheduling'].add_scheduling(ret['DeviceId'], '下产线', workorders)
|
# request.env['sf.agv.scheduling'].add_scheduling(ret['DeviceId'], '下产线', workorders)
|
||||||
else:
|
# else:
|
||||||
res = {'Succeed': False, 'ErrorCode': 203, 'Error': '未传IsComplete字段'}
|
# res = {'Succeed': False, 'ErrorCode': 203, 'Error': '未传IsComplete字段'}
|
||||||
except RepeatTaskException as e:
|
except RepeatTaskException as e:
|
||||||
logging.info('AGVToProduct error:%s' % e)
|
logging.info('AGVToProduct error:%s' % e)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|||||||
@@ -808,7 +808,8 @@ class MrpProduction(models.Model):
|
|||||||
'target': 'new',
|
'target': 'new',
|
||||||
'context': {
|
'context': {
|
||||||
'default_production_id': self.id,
|
'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
|
'default_is_reprogramming': True if cloud_programming['programming_state'] in ['已下发'] else False
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -995,6 +996,8 @@ class MrpProduction(models.Model):
|
|||||||
mo.picking_type_id = picking_type.id
|
mo.picking_type_id = picking_type.id
|
||||||
mo._assign_picking()
|
mo._assign_picking()
|
||||||
mo.reference = mo.picking_id.name
|
mo.reference = mo.picking_id.name
|
||||||
|
else:
|
||||||
|
mo.reference = productions.name
|
||||||
productions.write({'programming_no': self.programming_no, 'is_remanufacture': True})
|
productions.write({'programming_no': self.programming_no, 'is_remanufacture': True})
|
||||||
productions.procurement_group_id.mrp_production_ids.move_dest_ids.write(
|
productions.procurement_group_id.mrp_production_ids.move_dest_ids.write(
|
||||||
{'group_id': self.env['procurement.group'].search([('name', '=', sale_order.name)])})
|
{'group_id': self.env['procurement.group'].search([('name', '=', sale_order.name)])})
|
||||||
@@ -1066,46 +1069,6 @@ class MrpProduction(models.Model):
|
|||||||
production_item)
|
production_item)
|
||||||
else:
|
else:
|
||||||
productions.programming_state = '编程中'
|
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
|
return productions
|
||||||
|
|
||||||
# 在之前的销售单上重新生成制造订单
|
# 在之前的销售单上重新生成制造订单
|
||||||
|
|||||||
@@ -1094,7 +1094,9 @@ class ResMrpWorkOrder(models.Model):
|
|||||||
|
|
||||||
# move_out._action_assign()
|
# move_out._action_assign()
|
||||||
if self.state == 'waiting' or self.state == 'ready' or self.state == 'progress':
|
if self.state == 'waiting' or self.state == 'ready' or self.state == 'progress':
|
||||||
|
print(self.production_id.move_raw_ids)
|
||||||
self.move_raw_ids = self.production_id.move_raw_ids
|
self.move_raw_ids = self.production_id.move_raw_ids
|
||||||
|
print(self.move_raw_ids)
|
||||||
self.move_raw_ids[0].write({
|
self.move_raw_ids[0].write({
|
||||||
'materiel_length': self.move_raw_ids[0].product_id.length,
|
'materiel_length': self.move_raw_ids[0].product_id.length,
|
||||||
'materiel_width': self.move_raw_ids[0].product_id.width,
|
'materiel_width': self.move_raw_ids[0].product_id.width,
|
||||||
|
|||||||
@@ -9,8 +9,8 @@ from odoo.exceptions import ValidationError, UserError
|
|||||||
from odoo.modules import get_resource_path
|
from odoo.modules import get_resource_path
|
||||||
|
|
||||||
|
|
||||||
from OCC.Extend.DataExchange import read_step_file
|
# from OCC.Extend.DataExchange import read_step_file
|
||||||
from OCC.Extend.DataExchange import write_stl_file
|
# from OCC.Extend.DataExchange import write_stl_file
|
||||||
|
|
||||||
|
|
||||||
class ResProductMo(models.Model):
|
class ResProductMo(models.Model):
|
||||||
|
|||||||
@@ -8,8 +8,8 @@ from datetime import datetime
|
|||||||
import requests
|
import requests
|
||||||
from odoo import http
|
from odoo import http
|
||||||
from odoo.http import request
|
from odoo.http import request
|
||||||
from OCC.Extend.DataExchange import read_step_file
|
# from OCC.Extend.DataExchange import read_step_file
|
||||||
from OCC.Extend.DataExchange import write_stl_file
|
# from OCC.Extend.DataExchange import write_stl_file
|
||||||
from odoo import models, fields, api
|
from odoo import models, fields, api
|
||||||
from odoo.modules import get_resource_path
|
from odoo.modules import get_resource_path
|
||||||
from odoo.exceptions import ValidationError, UserError
|
from odoo.exceptions import ValidationError, UserError
|
||||||
|
|||||||
@@ -6,8 +6,8 @@ import os
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from stl import mesh
|
from stl import mesh
|
||||||
# from OCC.Core.GProp import GProp_GProps
|
# from OCC.Core.GProp import GProp_GProps
|
||||||
from OCC.Extend.DataExchange import read_step_file
|
# from OCC.Extend.DataExchange import read_step_file
|
||||||
from OCC.Extend.DataExchange import write_stl_file
|
# from OCC.Extend.DataExchange import write_stl_file
|
||||||
from odoo.addons.sf_base.commons.common import Common
|
from odoo.addons.sf_base.commons.common import Common
|
||||||
from odoo import models, fields, api
|
from odoo import models, fields, api
|
||||||
from odoo.modules import get_resource_path
|
from odoo.modules import get_resource_path
|
||||||
|
|||||||
Reference in New Issue
Block a user