人工建立销售单取第一份bom
This commit is contained in:
@@ -684,7 +684,6 @@ class MrpProduction(models.Model):
|
|||||||
logging.info('change_programming_state error:%s' % e)
|
logging.info('change_programming_state error:%s' % e)
|
||||||
raise UserError("修改编程单状态失败,请联系管理员")
|
raise UserError("修改编程单状态失败,请联系管理员")
|
||||||
|
|
||||||
|
|
||||||
# cnc程序获取
|
# cnc程序获取
|
||||||
def fetchCNC(self, production_names):
|
def fetchCNC(self, production_names):
|
||||||
cnc = self.env['mrp.production'].search([('id', '=', self.id)])
|
cnc = self.env['mrp.production'].search([('id', '=', self.id)])
|
||||||
@@ -714,9 +713,9 @@ class MrpProduction(models.Model):
|
|||||||
[('id', '=', cnc.product_id.materials_type_id.id)]).materials_no,
|
[('id', '=', cnc.product_id.materials_type_id.id)]).materials_no,
|
||||||
'machining_processing_panel': cnc.product_id.model_processing_panel,
|
'machining_processing_panel': cnc.product_id.model_processing_panel,
|
||||||
'machining_precision': '',
|
'machining_precision': '',
|
||||||
'embryo_long': cnc.product_id.bom_ids.bom_line_ids.product_id.length,
|
'embryo_long': cnc.product_id.bom_ids[0].bom_line_ids.product_id.length,
|
||||||
'embryo_height': cnc.product_id.bom_ids.bom_line_ids.product_id.height,
|
'embryo_height': cnc.product_id.bom_ids[0].bom_line_ids.product_id.height,
|
||||||
'embryo_width': cnc.product_id.bom_ids.bom_line_ids.product_id.width,
|
'embryo_width': cnc.product_id.bom_ids[0].bom_line_ids.product_id.width,
|
||||||
'order_no': cnc.origin,
|
'order_no': cnc.origin,
|
||||||
'model_order_no': cnc.product_id.default_code,
|
'model_order_no': cnc.product_id.default_code,
|
||||||
'user': cnc.env.user.name,
|
'user': cnc.env.user.name,
|
||||||
@@ -1298,12 +1297,14 @@ class MrpProduction(models.Model):
|
|||||||
'target': 'new',
|
'target': 'new',
|
||||||
'context': {
|
'context': {
|
||||||
'default_production_id': self.id,
|
'default_production_id': self.id,
|
||||||
'default_is_clamping': True if self.workorder_ids.filtered(lambda wk: wk.routing_type == '装夹预调') else False,
|
'default_is_clamping': True if self.workorder_ids.filtered(
|
||||||
|
lambda wk: wk.routing_type == '装夹预调') else False,
|
||||||
'default_workorder_ids': workorder_ids.ids if workorder_ids.ids != [] else self.workorder_ids.ids,
|
'default_workorder_ids': workorder_ids.ids if workorder_ids.ids != [] else self.workorder_ids.ids,
|
||||||
'default_hidden_workorder_ids': ','.join(map(str, work_id_list)) if work_id_list != [] else '',
|
'default_hidden_workorder_ids': ','.join(map(str, work_id_list)) if work_id_list != [] else '',
|
||||||
'default_reprogramming_num': cloud_programming.get('reprogramming_num') if cloud_programming else '',
|
'default_reprogramming_num': cloud_programming.get('reprogramming_num') if cloud_programming else '',
|
||||||
'default_programming_state': cloud_programming.get('programming_state') if cloud_programming else '',
|
'default_programming_state': cloud_programming.get('programming_state') if cloud_programming else '',
|
||||||
'default_is_reprogramming': True if cloud_programming and (cloud_programming.get('programming_state') in ['已下发']) else False
|
'default_is_reprogramming': True if cloud_programming and (
|
||||||
|
cloud_programming.get('programming_state') in ['已下发']) else False
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1337,7 +1338,8 @@ class MrpProduction(models.Model):
|
|||||||
for rework_item in rework_workorder:
|
for rework_item in rework_workorder:
|
||||||
pending_workorder = production.workorder_ids.filtered(
|
pending_workorder = production.workorder_ids.filtered(
|
||||||
lambda m1: m1.state in [
|
lambda m1: m1.state in [
|
||||||
'pending'] and m1.processing_panel == rework_item.processing_panel and m1.routing_type in ['CNC加工', '人工线下加工'])
|
'pending'] and m1.processing_panel == rework_item.processing_panel and m1.routing_type in [
|
||||||
|
'CNC加工', '人工线下加工'])
|
||||||
if not pending_workorder.cnc_ids:
|
if not pending_workorder.cnc_ids:
|
||||||
production.get_new_program(rework_item.processing_panel)
|
production.get_new_program(rework_item.processing_panel)
|
||||||
# production.write({'state': 'progress', 'programming_state': '已编程', 'is_rework': False})
|
# production.write({'state': 'progress', 'programming_state': '已编程', 'is_rework': False})
|
||||||
@@ -1380,8 +1382,9 @@ class MrpProduction(models.Model):
|
|||||||
if productions:
|
if productions:
|
||||||
for production in productions:
|
for production in productions:
|
||||||
panel_workorder = production.workorder_ids.filtered(lambda
|
panel_workorder = production.workorder_ids.filtered(lambda
|
||||||
pw: pw.processing_panel == processing_panel and pw.routing_type in ['CNC加工', '人工线下加工'] and pw.state not in (
|
pw: pw.processing_panel == processing_panel and pw.routing_type in [
|
||||||
'rework', 'done'))
|
'CNC加工', '人工线下加工'] and pw.state not in (
|
||||||
|
'rework', 'done'))
|
||||||
if panel_workorder:
|
if panel_workorder:
|
||||||
if panel_workorder.cmm_ids:
|
if panel_workorder.cmm_ids:
|
||||||
panel_workorder.cmm_ids.sudo().unlink()
|
panel_workorder.cmm_ids.sudo().unlink()
|
||||||
@@ -1406,8 +1409,9 @@ class MrpProduction(models.Model):
|
|||||||
'cnc_worksheet': base64.b64encode(open(panel_file_path, 'rb').read())})
|
'cnc_worksheet': base64.b64encode(open(panel_file_path, 'rb').read())})
|
||||||
logging.info('len(cnc_worksheet):%s' % len(panel_workorder.cnc_worksheet))
|
logging.info('len(cnc_worksheet):%s' % len(panel_workorder.cnc_worksheet))
|
||||||
pre_workorder = production.workorder_ids.filtered(lambda
|
pre_workorder = production.workorder_ids.filtered(lambda
|
||||||
ap: ap.routing_type in ['装夹预调', '人工线下加工'] and ap.processing_panel == processing_panel and ap.state not in (
|
ap: ap.routing_type in ['装夹预调',
|
||||||
'rework', 'done'))
|
'人工线下加工'] and ap.processing_panel == processing_panel and ap.state not in (
|
||||||
|
'rework', 'done'))
|
||||||
if pre_workorder:
|
if pre_workorder:
|
||||||
pre_workorder.write(
|
pre_workorder.write(
|
||||||
{'processing_drawing': base64.b64encode(open(panel_file_path, 'rb').read())})
|
{'processing_drawing': base64.b64encode(open(panel_file_path, 'rb').read())})
|
||||||
|
|||||||
Reference in New Issue
Block a user