# -*- 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/GetToolInfo', type='json', auth='none', methods=['GET', 'POST'], csrf=False, # cors="*") # def get_equipment_tool_Info(self, **kw): # """ # 机床刀库实时信息 # :param kw: # :return: # """ # logging.info('get_equipment_tool_Info:%s' % kw) # try: # datas = request.httprequest.data # ret = json.loads(datas) # ret = json.loads(ret.get('result')) # logging.info('DeviceId:%s' % ret) # equipment = request.env['maintenance.equipment'].sudo().search([('name', '=', ret['DeviceId'])]) # # res = {'Succeed': True, 'Datas': []} # if equipment: # for item in equipment: # data = [] # for equipment_tool_id in item.product_template_ids: # functional_tool_id = self.env['sf.functional.cutting.tool.entity'].sudo().search( # [('code', '=', equipment_tool_id.tool_code)]) # # alarm_time = None # if functional_tool_id.functional_tool_status == '报警': # alarm_time = self.env['sf.functional.tool.warning'].sudo().search( # [('code', '=', equipment_tool_id.tool_code)]).alarm_time # equipment_tool = { # 'RfidCode': None, # 'ToolId': equipment_tool_id.code, # 'ToolName': equipment_tool_id.functional_tool_name_id.name, # 'MaxLife': equipment_tool_id.life_value_max, # 'UseLife': equipment_tool_id.used_value, # 'AddDatetime': equipment_tool_id.tool_install_time, # 'State': functional_tool_id.functional_tool_status, # 'WarnDate': alarm_time if alarm_time else False # } # data.append(equipment_tool) # res['Datas'].append({ # 'DeviceId': item.name, # 'Data': data # }) # except Exception as e: # res = {'Succeed': False, 'ErrorCode': 202, 'Error': e} # logging.info('get_equipment_tool_Info error:%s' % e) # return json.JSONEncoder().encode(res) @http.route('/AutoDeviceApi/ToolGroup', 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.barcode_id.name, '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)