diff --git a/quality/i18n/zh_CN.po b/quality/i18n/zh_CN.po
index 267c0196..544bcba2 100644
--- a/quality/i18n/zh_CN.po
+++ b/quality/i18n/zh_CN.po
@@ -1049,4 +1049,4 @@ msgstr "工作中心故障"
#. module: quality
#: model:ir.model.fields,field_description:quality.field_quality_point_test_type__active
msgid "active"
-msgstr "有效"
+msgstr "有效"
\ No newline at end of file
diff --git a/sf_base/models/base.py b/sf_base/models/base.py
index c3152098..3d83cc96 100644
--- a/sf_base/models/base.py
+++ b/sf_base/models/base.py
@@ -394,3 +394,11 @@ class MachineToolCategory(models.Model):
active = fields.Boolean('有效', default=True)
category = fields.Selection([('shukong', u'数控'), ('putong', u'普通')], string=u'机床类别',
default='shukong')
+
+
+class MachiningAccuracy(models.Model):
+ _name = 'sf.machining.accuracy'
+ _description = '加工精度'
+ name = fields.Char('一般公差', index=True)
+ standard_tolerance = fields.Char(string="标准公差")
+ sync_id = fields.Char('同步ID')
diff --git a/sf_base/security/ir.model.access.csv b/sf_base/security/ir.model.access.csv
index 3d4ba3a0..34605cca 100644
--- a/sf_base/security/ir.model.access.csv
+++ b/sf_base/security/ir.model.access.csv
@@ -247,3 +247,7 @@ access_sf_cutting_tool_type_group_sf_stock_manager,sf_cutting_tool_type_group_sf
access_sf_cutting_tool_material_group_plan_dispatch,sf_cutting_tool_material_group_plan_dispatch,model_sf_cutting_tool_material,sf_base.group_plan_dispatch,1,0,0,0
access_sf_functional_cutting_tool_model_group_plan_dispatch,sf_functional_cutting_tool_model_group_plan_dispatch,model_sf_functional_cutting_tool_model,sf_base.group_plan_dispatch,1,0,0,0
access_sf_cutting_tool_type_group_plan_dispatch,sf_cutting_tool_type_group_plan_dispatch,model_sf_cutting_tool_type,sf_base.group_plan_dispatch,1,0,0,0
+
+
+access_sf_machining_accuracy,sf_machining_accuracy,model_sf_machining_accuracy,base.group_user,1,0,0,0
+access_sf_machining_accuracy_admin,sf_machining_accuracy_admin,model_sf_machining_accuracy,base.group_system,1,0,0,0
diff --git a/sf_base/views/base_view.xml b/sf_base/views/base_view.xml
index 8127efb7..eb2c1571 100644
--- a/sf_base/views/base_view.xml
+++ b/sf_base/views/base_view.xml
@@ -614,4 +614,23 @@
sf.machine.control_system
tree
+
+ #------------------加工精度------------------
+
+ tree.sf.machining.accuracy
+ sf.machining.accuracy
+
+
+
+
+
+
+
+
+
+ 加工精度
+ ir.actions.act_window
+ sf.machining.accuracy
+ tree
+
\ No newline at end of file
diff --git a/sf_base/views/menu_view.xml b/sf_base/views/menu_view.xml
index 21bb519d..4c662976 100644
--- a/sf_base/views/menu_view.xml
+++ b/sf_base/views/menu_view.xml
@@ -141,12 +141,18 @@
sequence="1"
action="action_sf_machine_brand"/>
+
diff --git a/sf_mrs_connect/models/res_config_setting.py b/sf_mrs_connect/models/res_config_setting.py
index 6ec49f74..5243ccb2 100644
--- a/sf_mrs_connect/models/res_config_setting.py
+++ b/sf_mrs_connect/models/res_config_setting.py
@@ -84,6 +84,8 @@ class ResConfigSettings(models.TransientModel):
_logger.info("同步刀具物料切削速度完成")
self.env['sf.feed.per.tooth'].sync_all_feed_per_tooth()
_logger.info("同步刀具物料每齿走刀量完成")
+ self.env['sf.machining.accuracy'].sync_machining_accuracy_all()
+ _logger.info("同步加工精度完成")
except Exception as e:
_logger.info("sf_all_sync error: %s" % e)
diff --git a/sf_mrs_connect/models/sync_common.py b/sf_mrs_connect/models/sync_common.py
index 615c69a0..ae1930c6 100644
--- a/sf_mrs_connect/models/sync_common.py
+++ b/sf_mrs_connect/models/sync_common.py
@@ -74,6 +74,8 @@ class MrStaticResourceDataSync(models.Model):
_logger.info("同步刀具物料切削速度完成")
self.env['sf.feed.per.tooth'].sync_feed_per_tooth_yesterday()
_logger.info("同步刀具物料每齿走刀量完成")
+ self.env['sf.machining.accuracy'].sync_machining_accuracy_all()
+ _logger.info("同步加工精度完成")
except Exception as e:
traceback_error = traceback.format_exc()
logging.error("同步静态资源库失败:%s" % traceback_error)
@@ -3133,3 +3135,36 @@ class CuttingToolBasicParameters(models.Model):
})
else:
raise ValidationError("刀具物料基本参数认证未通过")
+
+
+class MachiningAccuracySync(models.Model):
+ _inherit = 'sf.machining.accuracy'
+ _description = '加工精度'
+ url = '/api/machining_accuracy/list'
+
+ def sync_machining_accuracy_all(self):
+ config = self.env['res.config.settings'].get_values()
+ headers = Common.get_headers(self, config['token'], config['sf_secret_key'])
+ strUrl = config['sf_url'] + self.url
+ r = requests.post(strUrl, json={}, data=None, headers=headers)
+ r = r.json()
+ result = json.loads(r['result'])
+ _logger.info('加工精度:%s' % result)
+ if result['status'] == 1:
+ machining_accuracy_all_list = result['machining_accuracy_all_list']
+ # 获取同步的id集合
+ ids = [obj['id'] for obj in machining_accuracy_all_list]
+ self.env['sf.machining.accuracy'].sudo().search(
+ [('sync_id', 'not in', ids)]).unlink()
+ for time in machining_accuracy_all_list:
+ machining_accuracy = self.env['sf.machining.accuracy'].sudo().search(
+ [('sync_id', '=', time['id'])])
+ if machining_accuracy:
+ machining_accuracy.name = time['name']
+ machining_accuracy.standard_tolerance = time['standard_tolerance']
+ else:
+ self.env['sf.machining.accuracy'].sudo().create({
+ "sync_id": time['id'],
+ "name": time['name'],
+ "discount": time['discount'],
+ })