diff --git a/sf_manufacturing/models/mrp_production.py b/sf_manufacturing/models/mrp_production.py
index fa64b71f..c03e2d56 100644
--- a/sf_manufacturing/models/mrp_production.py
+++ b/sf_manufacturing/models/mrp_production.py
@@ -814,17 +814,17 @@ class MrpProduction(models.Model):
r = r.json()
result = json.loads(r['result'])
if result['status'] == 1:
- # program_path_tmp_panel = os.path.join('/tmp', result['folder_name'], 'return', processing_panel)
- # if os.path.exists(program_path_tmp_panel):
- # files_r = os.listdir(program_path_tmp_panel)
- # if files_r:
- # for file_name in files_r:
- # file_path = os.path.join(program_path_tmp_panel, file_name)
- # os.remove(file_path)
- # download_state = self.env['sf.cnc.processing'].download_file_tmp(result['folder_name'],
- # processing_panel)
- # if download_state is False:
- # raise UserError('编程单号为%s的CNC程序文件从FTP拉取失败' % (self.programming_no))
+ program_path_tmp_panel = os.path.join('/tmp', result['folder_name'], 'return', processing_panel)
+ if os.path.exists(program_path_tmp_panel):
+ files_r = os.listdir(program_path_tmp_panel)
+ if files_r:
+ for file_name in files_r:
+ file_path = os.path.join(program_path_tmp_panel, file_name)
+ os.remove(file_path)
+ download_state = self.env['sf.cnc.processing'].download_file_tmp(result['folder_name'],
+ processing_panel)
+ if download_state is False:
+ raise UserError('编程单号为%s的CNC程序文件从FTP拉取失败' % (self.programming_no))
productions = self.env['mrp.production'].search(
[('programming_no', '=', self.programming_no), ('state', 'not in', ('cancel', 'done'))])
if productions:
@@ -838,8 +838,8 @@ class MrpProduction(models.Model):
panel_workorder.cnc_ids.sudo().unlink()
self.env['sf.cam.work.order.program.knife.plan'].sudo().unlink_cam_plan(
productions)
- program_path_tmp_panel = os.path.join('C://Users//43484//Desktop//fsdownload//test',
- processing_panel)
+ # program_path_tmp_panel = os.path.join('C://Users//43484//Desktop//fsdownload//test',
+ # processing_panel)
logging.info('program_path_tmp_panel:%s' % program_path_tmp_panel)
files_panel = os.listdir(program_path_tmp_panel)
if files_panel:
diff --git a/sf_manufacturing/models/mrp_workorder.py b/sf_manufacturing/models/mrp_workorder.py
index b756086c..72ee31cd 100644
--- a/sf_manufacturing/models/mrp_workorder.py
+++ b/sf_manufacturing/models/mrp_workorder.py
@@ -732,6 +732,7 @@ class ResMrpWorkOrder(models.Model):
logging.info('工序:%s' % workorder.routing_type)
logging.info('状态:%s' % workorder.state)
logging.info('is_rework:%s' % workorder.is_rework)
+ logging.info('production_id.is_rework:%s' % workorder.production_id.is_rework)
logging.info('面:%s' % workorder.processing_panel)
logging.info('编程状态:%s' % workorder.production_id.programming_state)
logging.info('制造状态:%s' % workorder.production_id.state)
@@ -741,7 +742,8 @@ class ResMrpWorkOrder(models.Model):
if workorder.production_id.programming_state == '已编程':
workorder.state = 'ready'
else:
- workorder.state = 'waiting'
+ if workorder.production_id.is_rework is True:
+ workorder.state = 'waiting'
if workorder.routing_type == 'CNC加工' and workorder.state not in ['done', 'rework', 'cancel']:
pre_workorder = self.env['mrp.workorder'].search(
[('production_id', '=', workorder.production_id.id),
@@ -762,6 +764,7 @@ class ResMrpWorkOrder(models.Model):
logging.info('工序:%s' % workorder.routing_type)
logging.info('状态:%s' % workorder.state)
logging.info('is_rework:%s' % workorder.is_rework)
+ logging.info('production_id.is_rework:%s' % workorder.production_id.is_rework)
logging.info('面:%s' % workorder.processing_panel)
logging.info('编程状态:%s' % workorder.production_id.programming_state)
logging.info('制造状态:%s' % workorder.production_id.state)
diff --git a/sf_manufacturing/models/product_template.py b/sf_manufacturing/models/product_template.py
index f292d694..4d05de81 100644
--- a/sf_manufacturing/models/product_template.py
+++ b/sf_manufacturing/models/product_template.py
@@ -7,8 +7,8 @@ import os
from odoo import models, fields, api, _
from odoo.exceptions import ValidationError
from odoo.modules import get_resource_path
-# from OCC.Extend.DataExchange import read_step_file
-# from OCC.Extend.DataExchange import write_stl_file
+from OCC.Extend.DataExchange import read_step_file
+from OCC.Extend.DataExchange import write_stl_file
class ResProductMo(models.Model):
diff --git a/sf_manufacturing/views/mrp_production_addional_change.xml b/sf_manufacturing/views/mrp_production_addional_change.xml
index 8b539de2..30f5491a 100644
--- a/sf_manufacturing/views/mrp_production_addional_change.xml
+++ b/sf_manufacturing/views/mrp_production_addional_change.xml
@@ -75,14 +75,14 @@
-
+
-
diff --git a/sf_manufacturing/views/mrp_workorder_view.xml b/sf_manufacturing/views/mrp_workorder_view.xml
index e5371857..ffd587ee 100644
--- a/sf_manufacturing/views/mrp_workorder_view.xml
+++ b/sf_manufacturing/views/mrp_workorder_view.xml
@@ -189,7 +189,7 @@
-
diff --git a/sf_manufacturing/wizard/rework_wizard.py b/sf_manufacturing/wizard/rework_wizard.py
index 560b546e..c4462ec7 100644
--- a/sf_manufacturing/wizard/rework_wizard.py
+++ b/sf_manufacturing/wizard/rework_wizard.py
@@ -95,7 +95,6 @@ class ReworkWizard(models.TransientModel):
if cnc_rework.cnc_ids:
for item_line in cnc_rework.cnc_ids:
vals = {
- 'processing_panel': item_line.processing_panel,
'sequence_number': item_line.sequence_number,
'program_name': item_line.program_name,
'cutting_tool_name': item_line.cutting_tool_name,
@@ -107,7 +106,9 @@ class ReworkWizard(models.TransientModel):
'cutting_tool_extension_length': item_line.cutting_tool_extension_length,
'estimated_processing_time': item_line.estimated_processing_time,
'cutting_tool_handle_type': item_line.cutting_tool_handle_type,
- 'ftp_path': item_line.ftp_path,
+ 'program_path': item_line.program_path,
+ 'ftp_path': item_line.program_path,
+ 'processing_panel': panel.name,
'program_create_date': datetime.strftime(item_line.program_create_date,
'%Y-%m-%d %H:%M:%S'),
'remark': item_line.remark
@@ -117,7 +118,9 @@ class ReworkWizard(models.TransientModel):
vals = {
'sequence_number': cmm_line.sequence_number,
'program_name': cmm_line.program_name,
- 'ftp_path': cmm_line.ftp_path,
+ 'program_path': cmm_line.program_path,
+ 'ftp_path': item_line.program_path,
+ 'processing_panel': panel.name,
'program_create_date': datetime.strftime(cmm_line.program_create_date,
'%Y-%m-%d %H:%M:%S')
}
@@ -137,10 +140,10 @@ class ReworkWizard(models.TransientModel):
if new_pre_workorder:
pre_rework = self.production_id.workorder_ids.filtered(
lambda pr: pr.processing_panel == panel.name and pr.state in (
- 'rework') and crw.routing_type == '装夹预调')
+ 'rework') and pr.routing_type == '装夹预调')
new_pre_workorder.write(
{'processing_drawing': pre_rework.processing_drawing})
- self.production_id.write({'state': 'progress'})
+ self.production_id.write({'state': 'progress', 'is_rework': False})
if self.is_reprogramming is True:
self.production_id.update_programming_state()
self.production_id.write(
diff --git a/sf_sale/models/quick_easy_order.py b/sf_sale/models/quick_easy_order.py
index 11acc06f..e3bf3002 100644
--- a/sf_sale/models/quick_easy_order.py
+++ b/sf_sale/models/quick_easy_order.py
@@ -8,8 +8,8 @@ from datetime import datetime
import requests
from odoo import http
from odoo.http import request
-# from OCC.Extend.DataExchange import read_step_file
-# from OCC.Extend.DataExchange import write_stl_file
+from OCC.Extend.DataExchange import read_step_file
+from OCC.Extend.DataExchange import write_stl_file
from odoo import models, fields, api
from odoo.modules import get_resource_path
from odoo.exceptions import ValidationError, UserError
diff --git a/sf_sale/models/quick_easy_order_old.py b/sf_sale/models/quick_easy_order_old.py
index 92f6cda2..3ae65db3 100644
--- a/sf_sale/models/quick_easy_order_old.py
+++ b/sf_sale/models/quick_easy_order_old.py
@@ -6,8 +6,8 @@ import os
from datetime import datetime
from stl import mesh
# from OCC.Core.GProp import GProp_GProps
-# from OCC.Extend.DataExchange import read_step_file
-# from OCC.Extend.DataExchange import write_stl_file
+from OCC.Extend.DataExchange import read_step_file
+from OCC.Extend.DataExchange import write_stl_file
from odoo.addons.sf_base.commons.common import Common
from odoo import models, fields, api
from odoo.modules import get_resource_path