From b4538a3f9d740643ebe50484c4b5897de889bc90 Mon Sep 17 00:00:00 2001 From: mgw <1392924357@qq.com> Date: Wed, 21 Feb 2024 15:25:55 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=BA=8F=E5=88=97?= =?UTF-8?q?=E5=8F=B7=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_warehouse/models/model.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sf_warehouse/models/model.py b/sf_warehouse/models/model.py index 1d1afef2..a1891c71 100644 --- a/sf_warehouse/models/model.py +++ b/sf_warehouse/models/model.py @@ -409,7 +409,7 @@ class Sf_stock_move_line(models.Model): ) # 添加数据 - qr.add_data(self.lot_id.name) + qr.add_data(record.lot_id.name) qr.make(fit=True) # 创建二维码图像 From 51b7bcac8a413b1e3f194f7988b6e317a7023a11 Mon Sep 17 00:00:00 2001 From: yuxianghui <3437689193@qq.com> Date: Wed, 21 Feb 2024 16:24:10 +0800 Subject: [PATCH 2/2] =?UTF-8?q?1=E3=80=81=E6=96=B0=E5=A2=9E=E5=88=80?= =?UTF-8?q?=E5=85=B7=E7=BB=84=E3=80=81=E6=9C=BA=E5=BA=8A=E5=88=80=E5=85=B7?= =?UTF-8?q?=E7=BB=84=E6=8E=A5=E5=8F=A3=EF=BC=8C=E4=BF=AE=E6=94=B9=E4=B8=AD?= =?UTF-8?q?=E6=8E=A7=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_base/__init__.py | 1 + sf_base/controllers/__init__.py | 1 + sf_base/controllers/controllers.py | 40 +++++++++++++++++++ sf_base/models/tool_base_new.py | 2 +- sf_quality/models/quality.py | 2 +- sf_tool_management/controllers/controllers.py | 31 +++++++++++++- sf_tool_management/models/base.py | 2 +- sf_tool_management/models/mrp_workorder.py | 2 +- 8 files changed, 76 insertions(+), 5 deletions(-) create mode 100644 sf_base/controllers/__init__.py create mode 100644 sf_base/controllers/controllers.py diff --git a/sf_base/__init__.py b/sf_base/__init__.py index 60182bcc..d76dba0b 100644 --- a/sf_base/__init__.py +++ b/sf_base/__init__.py @@ -1,2 +1,3 @@ from . import models from . import commons +from . import controllers diff --git a/sf_base/controllers/__init__.py b/sf_base/controllers/__init__.py new file mode 100644 index 00000000..e046e49f --- /dev/null +++ b/sf_base/controllers/__init__.py @@ -0,0 +1 @@ +from . import controllers diff --git a/sf_base/controllers/controllers.py b/sf_base/controllers/controllers.py new file mode 100644 index 00000000..71547a67 --- /dev/null +++ b/sf_base/controllers/controllers.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +import logging +import json +import base64 +from odoo import http +from odoo.http import request + + +class Manufacturing_Connect(http.Controller): + + @http.route('/AutoDeviceApi/MaintenanceToolGroups', type='json', auth='none', methods=['GET', 'POST'], csrf=False, + cors="*") + def get_maintenance_tool_groups_Info(self, **kw): + """ + 机床刀具组接口 + :param kw: + :return: + """ + logging.info('get_maintenance_tool_groups_Info:%s' % kw) + try: + datas = request.httprequest.data + ret = json.loads(datas) + ret = json.loads(ret['result']) + logging.info('DeviceId:%s' % ret) + tool_groups = request.env['sf.tool.groups'].sudo().search([]) + + res = {'Succeed': True, 'Datas': []} + if tool_groups: + for item in tool_groups: + device_id = '' + for equipment_id in item.equipment_ids: + device_id = '%s,%s' % (device_id, equipment_id.name) + res['Datas'].append({ + 'GroupName': item.name, + 'DeviceId': device_id + }) + except Exception as e: + res = {'Succeed': False, 'ErrorCode': 202, 'Error': e} + logging.info('get_maintenance_tool_groups_Info error:%s' % e) + return json.JSONEncoder().encode(res) diff --git a/sf_base/models/tool_base_new.py b/sf_base/models/tool_base_new.py index 6666132c..18656c96 100644 --- a/sf_base/models/tool_base_new.py +++ b/sf_base/models/tool_base_new.py @@ -256,7 +256,7 @@ class ToolGroups(models.Model): # ==========机床刀具组接口========== def _register_tool_groups(self, obj): - create_url = '/AutoDeviceApi/FeedBackOut' + create_url = '/AutoDeviceApi/MaintenanceToolGroups' sf_sync_config = self.env['res.config.settings'].get_values() token = sf_sync_config['token'] sf_secret_key = sf_sync_config['sf_secret_key'] diff --git a/sf_quality/models/quality.py b/sf_quality/models/quality.py index ace40ff9..18b24daa 100644 --- a/sf_quality/models/quality.py +++ b/sf_quality/models/quality.py @@ -11,7 +11,7 @@ class QualityCheck(models.Model): # ==========零件特采接口========== def _register_tool_groups(self): - create_url = '/AutoDeviceApi/FeedBackOut' + create_url = '/AutoDeviceApi/ModSpecial' sf_sync_config = self.env['res.config.settings'].get_values() token = sf_sync_config['token'] sf_secret_key = sf_sync_config['sf_secret_key'] diff --git a/sf_tool_management/controllers/controllers.py b/sf_tool_management/controllers/controllers.py index becf79ec..b40abb69 100644 --- a/sf_tool_management/controllers/controllers.py +++ b/sf_tool_management/controllers/controllers.py @@ -8,7 +8,7 @@ from odoo.http import request class Manufacturing_Connect(http.Controller): - @http.route('/AutoDeviceApi/FeedBackOut', type='json', auth='sf_token', methods=['GET', 'POST'], csrf=False, + @http.route('/AutoDeviceApi/MachineToolLibrary', type='json', auth='sf_token', methods=['GET', 'POST'], csrf=False, cors="*") def get_equipment_tool_Info(self, **kw): """ @@ -55,3 +55,32 @@ class Manufacturing_Connect(http.Controller): res = {'Succeed': False, 'ErrorCode': 202, 'Error': e} logging.info('get_equipment_tool_Info error:%s' % e) return json.JSONEncoder().encode(res) + + @http.route('/AutoDeviceApi/ToolGroups', type='json', auth='none', methods=['GET', 'POST'], csrf=False, + cors="*") + def get_functional_tool_groups_Info(self, **kw): + """ + 刀具组接口 + :param kw: + :return: + """ + logging.info('get_functional_tool_groups_Info:%s' % kw) + try: + datas = request.httprequest.data + ret = json.loads(datas) + ret = json.loads(ret['result']) + logging.info('DeviceId:%s' % ret) + functional_tools = request.env['sf.functional.cutting.tool.entity'].sudo().search([]) + + res = {'Succeed': True, 'Datas': []} + if functional_tools: + for item in functional_tools: + res['Datas'].append({ + 'GroupName': item.tool_groups_id.name, + 'ToolId': item.code, + 'ToolName': item.name + }) + except Exception as e: + res = {'Succeed': False, 'ErrorCode': 202, 'Error': e} + logging.info('get_functional_tool_groups_Info error:%s' % e) + return json.JSONEncoder().encode(res) \ No newline at end of file diff --git a/sf_tool_management/models/base.py b/sf_tool_management/models/base.py index 51ac861d..ab5e0649 100644 --- a/sf_tool_management/models/base.py +++ b/sf_tool_management/models/base.py @@ -180,7 +180,7 @@ class FunctionalCuttingToolEntity(models.Model): # ==========刀具组接口========== def _register_functional_tool_groups(self, obj): - create_url = '/AutoDeviceApi/FeedBackOut' + create_url = '/AutoDeviceApi/ToolGroups' sf_sync_config = self.env['res.config.settings'].get_values() token = sf_sync_config['token'] sf_secret_key = sf_sync_config['sf_secret_key'] diff --git a/sf_tool_management/models/mrp_workorder.py b/sf_tool_management/models/mrp_workorder.py index 7e424c96..90fe9393 100644 --- a/sf_tool_management/models/mrp_workorder.py +++ b/sf_tool_management/models/mrp_workorder.py @@ -11,7 +11,7 @@ class CNCprocessing(models.Model): # ==========MES装刀指令接口========== def register_cnc_processing(self, cnc_processing): - create_url = '/AutoDeviceApi/FeedBackOut' + create_url = '/AutoDeviceApi/MESToolLoadingInstruction' sf_sync_config = self.env['res.config.settings'].get_values() token = sf_sync_config['token'] sf_secret_key = sf_sync_config['sf_secret_key']