From 14ef518bd511b29a70c4ddeac5160d4ae34dd6e1 Mon Sep 17 00:00:00 2001
From: gqh
Date: Sat, 8 Oct 2022 15:43:44 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B3=A8=E5=86=8C=E6=9C=BA=E5=BA=8A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
sf_base/models/__init__.py | 1 -
sf_base/security/group_security.xml | 22 ++++++
sf_base/security/ir.model.access.csv | 24 +++---
sf_base/views/menu_view.xml | 86 +++++++++++-----------
sf_base/views/mrs_base_view.xml | 93 ++++++++++++++++++++++++
sf_bf_connect/__init__.py | 2 -
sf_mrs_sync/data/sf_cron.xml | 4 +-
sf_mrs_sync/models/res_config_setting.py | 3 +-
sf_mrs_sync/models/sf_sync_common.py | 59 +++++++++++++--
9 files changed, 225 insertions(+), 69 deletions(-)
diff --git a/sf_base/models/__init__.py b/sf_base/models/__init__.py
index e53038fc..27b447be 100644
--- a/sf_base/models/__init__.py
+++ b/sf_base/models/__init__.py
@@ -1,3 +1,2 @@
-
from. import sf_base
from. import sf_common
diff --git a/sf_base/security/group_security.xml b/sf_base/security/group_security.xml
index fdbc3ae5..c32538c7 100644
--- a/sf_base/security/group_security.xml
+++ b/sf_base/security/group_security.xml
@@ -1,5 +1,27 @@
+
+ 员工
+ 1
+
+
+
+ 管理
+ 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/sf_base/security/ir.model.access.csv b/sf_base/security/ir.model.access.csv
index 2ac30253..6df5e07e 100644
--- a/sf_base/security/ir.model.access.csv
+++ b/sf_base/security/ir.model.access.csv
@@ -1,17 +1,17 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
-access_mrs_machine_tool,mrs_machine_tool,model_mrs_machine_tool,base.group_user,1,0,0,0
-access_mrs_cutting_tool_category,mrs_cutting_tool_category,model_mrs_cutting_tool_category,base.group_user,1,0,0,0
-access_mrs_machine_tool_type,mrs_machine_tool_type,model_mrs_machine_tool_type,base.group_user,1,0,0,0
-access_mrs_cutting_tool_type,mrs_cutting_tool_type,model_mrs_cutting_tool_type,base.group_user,1,0,0,0
-access_mrs_machine_brand,mrs_machine_brand,model_mrs_machine_brand,base.group_user,1,0,0,0
-access_mrs_machine_brand_tags,mrs_machine_brand_tags,model_mrs_machine_brand_tags,base.group_user,1,0,0,0
-access_mrs_machine_tool_type_control_system,mrs_machine_tool_type_control_system,model_mrs_machine_tool_type_control_system,base.group_user,1,0,0,0
+access_mrs_machine_tool,mrs_machine_tool,model_mrs_machine_tool,base.group_user,1,1,1,1
+access_mrs_cutting_tool_category,mrs_cutting_tool_category,model_mrs_cutting_tool_category,base.group_user,1,1,1,1
+access_mrs_machine_tool_type,mrs_machine_tool_type,model_mrs_machine_tool_type,base.group_user,1,1,1,1
+access_mrs_cutting_tool_type,mrs_cutting_tool_type,model_mrs_cutting_tool_type,base.group_user,1,1,1,1
+access_mrs_machine_brand,mrs_machine_brand,model_mrs_machine_brand,base.group_user,1,1,1,1
+access_mrs_machine_brand_tags,mrs_machine_brand_tags,model_mrs_machine_brand_tags,base.group_user,1,1,1,1
+access_mrs_machine_tool_type_control_system,mrs_machine_tool_type_control_system,model_mrs_machine_tool_type_control_system,base.group_user,1,1,1,1
-access_mrs_processing_order,mrs_processing_order,model_mrs_processing_order,base.group_user,1,0,0,0
-access_mrs_production_process,mrs_production_process,model_mrs_production_process,base.group_user,1,0,0,0
-access_mrs_production_materials,mrs_production_materials,model_mrs_production_materials,base.group_user,1,0,0,0
-access_mrs_materials_model,mrs_materials_model,model_mrs_materials_model,base.group_user,1,0,0,0
-access_mrs_processing_technology,mrs_processing_technology,model_mrs_processing_technology,base.group_user,1,0,0,0
+access_mrs_processing_order,mrs_processing_order,model_mrs_processing_order,base.group_user,1,1,1,1
+access_mrs_production_process,mrs_production_process,model_mrs_production_process,base.group_user,1,1,1,1
+access_mrs_production_materials,mrs_production_materials,model_mrs_production_materials,base.group_user,1,1,1,1
+access_mrs_materials_model,mrs_materials_model,model_mrs_materials_model,base.group_user,1,1,1,1
+access_mrs_processing_technology,mrs_processing_technology,model_mrs_processing_technology,base.group_user,1,1,1,1
diff --git a/sf_base/views/menu_view.xml b/sf_base/views/menu_view.xml
index dd83e9ea..927cbce1 100644
--- a/sf_base/views/menu_view.xml
+++ b/sf_base/views/menu_view.xml
@@ -2,35 +2,43 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
- -->
@@ -53,10 +59,8 @@ groups="base.group_system"/>-->
id="menu_mrs_production_process"
name="表面工艺"
parent="menu_mrs_production_process_1"
- sequence="2"
+ sequence="1"
action="mrs_production_process"
-
-
/>
@@ -64,7 +68,7 @@ groups="base.group_system"/>-->
id="menu_mrs_production_materials"
name="材料"
parent="menu_mrs_production_materials_1"
- sequence="2"
+ sequence="1"
action="mrs_production_materials"
@@ -73,7 +77,7 @@ groups="base.group_system"/>-->
id="menu_mrs_materials_model"
name="材料型号"
parent="menu_mrs_production_materials_1"
- sequence="2"
+ sequence="1"
action="mrs_materials_model"
@@ -84,13 +88,10 @@ groups="base.group_system"/>-->
id="menu_mrs_processing_technology"
name="加工工艺"
parent="menu_mrs_production_process_1"
- sequence="2"
+ sequence="1"
action="mrs_processing_technology"/>
-
-
-
-->
+ sequence="0"/>
-
-
-
\ No newline at end of file
diff --git a/sf_base/views/mrs_base_view.xml b/sf_base/views/mrs_base_view.xml
index b5d4797d..6894df01 100644
--- a/sf_base/views/mrs_base_view.xml
+++ b/sf_base/views/mrs_base_view.xml
@@ -312,4 +312,97 @@
+
+ #------------------机床注册------------------
+
+
+ search.mrs.machine_tool
+ mrs.machine_tool
+
+
+
+
+
+
+
+
+ tree.mrs.machine_tool
+ mrs.machine_tool
+
+
+
+
+
+
+
+
+
+
+
+ form.mrs.machine_tool
+ mrs.machine_tool
+
+
+
+
+
+
+ 机床注册
+ ir.actions.act_window
+ mrs.machine_tool
+ tree,form
+
+
+ [机床注册]
+
+
+
+
+
\ No newline at end of file
diff --git a/sf_bf_connect/__init__.py b/sf_bf_connect/__init__.py
index f719d7e8..50ed18aa 100644
--- a/sf_bf_connect/__init__.py
+++ b/sf_bf_connect/__init__.py
@@ -1,3 +1 @@
# -*-coding:utf-8-*-
-from . import models
-from . import controllers
diff --git a/sf_mrs_sync/data/sf_cron.xml b/sf_mrs_sync/data/sf_cron.xml
index 6131b340..993e519b 100644
--- a/sf_mrs_sync/data/sf_cron.xml
+++ b/sf_mrs_sync/data/sf_cron.xml
@@ -80,10 +80,10 @@
- 同步资源库机床
+ 同步注册机床
code
- model.sync_machine_tool()
+ model.enroll_machine_tool()
1
days
-1
diff --git a/sf_mrs_sync/models/res_config_setting.py b/sf_mrs_sync/models/res_config_setting.py
index c1991a56..4cf815e3 100644
--- a/sf_mrs_sync/models/res_config_setting.py
+++ b/sf_mrs_sync/models/res_config_setting.py
@@ -22,10 +22,11 @@ class ResConfigSettings(models.TransientModel):
self.env['mrs.machine.brand.tags'].sync_all_machine_brand_tags()
self.env['mrs.machine_tool.type.control_system'].sync_all_machine_tool_type_control_system()
self.env['mrs.machine.brand'].sync_all_machine_brand()
- self.env['mrs.machine_tool'].sync_all_machine_tool()
+ # self.env['mrs.machine_tool'].sync_all_machine_tool()
self.env['mrs.machine_tool.type'].sync_all_machine_tool_type()
self.env['mrs.cutting_tool.category'].sync_all_cutting_tool_category()
self.env['mrs.cutting_tool.type'].sync_all_cutting_tool_type()
+ return _logger.info("同步资源库成功")
@api.model
def get_values(self):
diff --git a/sf_mrs_sync/models/sf_sync_common.py b/sf_mrs_sync/models/sf_sync_common.py
index 2beb3af4..262c3a84 100644
--- a/sf_mrs_sync/models/sf_sync_common.py
+++ b/sf_mrs_sync/models/sf_sync_common.py
@@ -5,6 +5,8 @@ from odoo import models
from odoo.exceptions import ValidationError
import logging
from odoo.addons.sf_base.commons.common import Common
+
+from odoo.http import request
from .res_config_setting import ResConfigSettings
_logger = logging.getLogger(__name__)
@@ -18,7 +20,7 @@ class MrsProductionMaterials(models.Model):
# 定时同步每日材料
def sync_production_materials(self):
- #配置中获取token
+ # 配置中获取token
sf_sync_config = self.env['res.config.settings'].get_values()
token = sf_sync_config['token']
mrs_secret_key = sf_sync_config['mrs_secret_key']
@@ -35,11 +37,11 @@ class MrsProductionMaterials(models.Model):
brand = self.env['mrs.production.materials'].search(
[("materials_no", '=', item['materials_no'])])
if brand:
- brand.id=item['id'],
- brand.name= item['name'],
- brand.materials_no= item['materials_no'],
- brand.remark= item['remark'],
- brand.active= item['active']
+ brand.id = item['id'],
+ brand.name = item['name'],
+ brand.materials_no = item['materials_no'],
+ brand.remark = item['remark'],
+ brand.active = item['active']
else:
self.env['mrs.production.materials'].create({
"id": item['id'],
@@ -491,6 +493,49 @@ class MachineTool(models.Model):
_inherit = 'mrs.machine_tool'
_description = '机床'
url = '/api/machine_tool/list'
+ crea_url = '/api/machine_tool/create'
+
+ # 注册同步机床
+ def enroll_machine_tool(self):
+ sf_sync_config = self.env['res.config.settings'].get_values()
+ token = sf_sync_config['token']
+ mrs_secret_key = sf_sync_config['mrs_secret_key']
+ headers = Common.get_headers(self, token, mrs_secret_key)
+ strurl = sf_sync_config['mrs_url'] + self.crea_url
+ objs_all = request.env['mrs.machine_tool'].sudo().search([])
+ machine_tool_list = []
+ if objs_all:
+ for item in objs_all:
+ val = {
+ 'id': item.id,
+ 'name': item.name,
+ 'code': item.code,
+ 'precision': item.precision,
+ 'knife_type': item.knife_type,
+ 'registration_date': str(item.registration_date),
+ 'number_of_knife_library': item.number_of_knife_library,
+ 'rotate_speed': item.rotate_speed,
+ 'number_of_axles': item.number_of_axles,
+ 'control_system_id': item.control_system_id.id,
+ # 'type_id': item.type_id.id,
+ # 'brand_id': item.brand_id.id,
+ 'factory_id': item.factory_id.id,
+ 'supplier_id': item.supplier_id.id,
+ 'x_axis': item.x_axis,
+ 'y_axis': item.y_axis,
+ 'z_axis': item.z_axis,
+ 'b_axis': item.b_axis,
+ 'c_axis': item.c_axis,
+ 'state': item.state,
+ 'active': item.active
+ }
+ machine_tool_list.append(val)
+ kw = json.dumps(machine_tool_list, ensure_ascii=False)
+ print(type(kw))
+ r = requests.post(strurl, json=kw, data=None, headers=headers)
+ print(r)
+ else:
+ raise _logger.info("没有注册机床")
# 定时同步机床
def sync_machine_tool(self):
@@ -816,7 +861,7 @@ class CuttingToolType(models.Model):
else:
raise ValidationError("认证未通过")
- # 同步所有刀具型号
+ # 同步所有刀具型号
def sync_all_cutting_tool_type(self):
sf_sync_config = self.env['res.config.settings'].get_values()
token = sf_sync_config['token']