diff --git a/jikimo_frontend/static/src/scss/custom_style.scss b/jikimo_frontend/static/src/scss/custom_style.scss index cbd1bb4d..d7e6414c 100644 --- a/jikimo_frontend/static/src/scss/custom_style.scss +++ b/jikimo_frontend/static/src/scss/custom_style.scss @@ -532,9 +532,3 @@ div:has(.o_required_modifier) > label::before { position: unset; } -// 修改表格下拉框会被表格下面数据框覆盖的bug -.tab-pane .o_field_widget { - position: relative; - z-index: 1; -} - diff --git a/sf_base/models/basic_parameters_fixture.py b/sf_base/models/basic_parameters_fixture.py index e9469355..868114e8 100644 --- a/sf_base/models/basic_parameters_fixture.py +++ b/sf_base/models/basic_parameters_fixture.py @@ -13,7 +13,7 @@ class BasicParametersFixture(models.Model): diameter = fields.Float('直径(mm)', digits=(16, 2)) # '零点卡盘' 字段 - weight = fields.Float('重量(mm)', digits=(16, 2)) + weight = fields.Float('重量(kg)', digits=(16, 2)) orientation_dish_diameter = fields.Float('定位盘直径(mm)', digits=(16, 2)) clamping_diameter = fields.Float('装夹直径(mm)', digits=(16, 2)) clamping_num = fields.Selection([('1', '1'), ('2', '2'), ('4', '4'), ('6', '6'), ('8', '8')], string='装夹单元数') diff --git a/sf_bf_connect/models/jd_eclp.py b/sf_bf_connect/models/jd_eclp.py index ec14f7e1..58691ca0 100644 --- a/sf_bf_connect/models/jd_eclp.py +++ b/sf_bf_connect/models/jd_eclp.py @@ -149,7 +149,7 @@ class JdEclp(models.Model): }, } _logger.info('准备调接口1') - url1 = config['bfm_url'] + '/api/create/jd/order' + url1 = config['bfm_url_new'] + '/api/create/jd/order' requests.post(url1, json=json1, data=None) _logger.info('调用成功1') _logger.info('准备调接口2') @@ -158,7 +158,7 @@ class JdEclp(models.Model): 'orderNo': self.origin, }, } - url2 = config['bfm_url'] + '/api/get/jd/no' + url2 = config['bfm_url_new'] + '/api/get/jd/no' response = requests.post(url2, json=json2, data=None) # _logger.info('调用成功2', response.json()['result']['wbNo']) tem_ret = response.json().get('result') @@ -196,7 +196,7 @@ class JdEclp(models.Model): 'no': self.origin, }, } - url1 = config['bfm_url'] + '/api/create/jd/bill' + url1 = config['bfm_url_new'] + '/api/create/jd/bill' response = requests.post(url1, json=json1, data=None) # _logger.info('调用成功2', response.json()) diff --git a/sf_bf_connect/models/process_status.py b/sf_bf_connect/models/process_status.py index 6b773f5d..db7fe0d5 100644 --- a/sf_bf_connect/models/process_status.py +++ b/sf_bf_connect/models/process_status.py @@ -42,7 +42,7 @@ class StatusChange(models.Model): 'process_start_time': process_start_time, }, } - url1 = config['bfm_url'] + '/api/get/state/get_order' + url1 = config['bfm_url_new'] + '/api/get/state/get_order' requests.post(url1, json=json1, data=None) logging.info('接口已经执行=============') @@ -66,7 +66,7 @@ class StatusChange(models.Model): 'state': '待派单', }, } - url1 = config['bfm_url'] + '/api/get/state/cancel_order' + url1 = config['bfm_url_new'] + '/api/get/state/cancel_order' requests.post(url1, json=json1, data=None) return res diff --git a/sf_machine_connect/__init__.py b/sf_machine_connect/__init__.py index 9b429614..6bac603e 100644 --- a/sf_machine_connect/__init__.py +++ b/sf_machine_connect/__init__.py @@ -1,2 +1,3 @@ from . import models from . import wizard +from . import controllers diff --git a/sf_machine_connect/controllers/__init__.py b/sf_machine_connect/controllers/__init__.py new file mode 100644 index 00000000..e046e49f --- /dev/null +++ b/sf_machine_connect/controllers/__init__.py @@ -0,0 +1 @@ +from . import controllers diff --git a/sf_machine_connect/controllers/controllers.py b/sf_machine_connect/controllers/controllers.py new file mode 100644 index 00000000..ba8139d0 --- /dev/null +++ b/sf_machine_connect/controllers/controllers.py @@ -0,0 +1,98 @@ +# -*- coding: utf-8 -*- +import ast +import json +import logging +from odoo import http +from odoo.http import request + + +class Sf_Dashboard_Connect(http.Controller): + + @http.route('/api/get_machine_datas/list', type='http', auth='public', methods=['GET', 'POST'], csrf=False, + cors="*") + def get_machine_datas_list(self, **kw): + """ + 拿到机床数据返回给大屏展示 + :param kw: + :return: + """ + res = {'status': 1, 'message': '成功', 'data': []} + logging.info('前端请求机床数据的参数为:%s' % kw) + # tem_list = [ + # "XT-GNJC-WZZX-X800-Y550-Z550-T24-A5-1", "XT-GNJC-LSZX-X800-Y550-Z550-T24-A3-3", + # "XT-GNJC-LSZX-X800-Y550-Z550-T24-A3-4", "XT-GNJC-LSZX-X800-Y550-Z550-T24-A3-5", + # "XT-GNJC-LSZX-X800-Y550-Z550-T24-A3-6", "XT-GNJC-LSZX-X800-Y550-Z550-T24-A3-7", + # "XT-GNJC-LSZX-X800-Y550-Z550-T24-A3-8", "XT-GNJC-WZZX-X800-Y550-Z550-T24-A5-2", + # "XT-GNJC-GSZG-X600-Y400-Z350-T21-A3-9", "XT-GNJC-GSZG-X600-Y400-Z350-T21-A3-10", + # "XT-GNJC-GSZG-X600-Y400-Z350-T21-A3-11", "XT-GNJC-GSZG-X600-Y400-Z350-T21-A3-12", + # "XT-GNJC-GSZG-X600-Y400-Z350-T21-A3-13", "XT-GNJC-GSZG-X600-Y400-Z350-T21-A3-14" + # ] + try: + equipment_obj = request.env['maintenance.equipment'].sudo() + # 获取请求的机床数据 + machine_list = ast.literal_eval(kw['machine_list']) + for item in machine_list: + machine_data = equipment_obj.search([('code', '=', item)]) + if machine_data: + res['data'].append({ + 'id': machine_data.id, + 'name': machine_data.name, + 'code': machine_data.code, + 'status': machine_data.status, + 'run_status': machine_data.run_status, + 'run_time': machine_data.run_time, + 'system_date': machine_data.system_date, + 'system_time': machine_data.system_time, + 'cut_time': machine_data.cut_time, + 'cut_status': machine_data.cut_status, + 'program': machine_data.program, + 'program_name': machine_data.program_name, + 'program_status': machine_data.program_status, + 'tool_num': machine_data.tool_num, + 'machine_power_on_time': machine_data.machine_power_on_time, + 'product_counts': machine_data.product_counts, + 'mode': machine_data.mode, + 'start_time': machine_data.start_time, + 'end_time': machine_data.end_time, + 'program_start_time': machine_data.program_start_time, + 'program_end_time': machine_data.program_end_time, + 'standby_start_time': machine_data.standby_start_time, + 'standby_end_time': machine_data.standby_end_time, + 'offline_start_time': machine_data.offline_start_time, + 'offline_end_time': machine_data.offline_end_time, + 'emg_status': machine_data.emg_status, + 'current_program': machine_data.current_program, + 'current_program_seq': machine_data.current_program_seq, + 'x_abs_pos': machine_data.x_abs_pos, + 'y_abs_pos': machine_data.y_abs_pos, + 'z_abs_pos': machine_data.z_abs_pos, + 'feed_speed_set': machine_data.feed_speed_set, + 'act_feed_speed': machine_data.act_feed_speed, + 'spindle_speed_set': machine_data.spindle_speed_set, + 'act_spindle_speed': machine_data.act_spindle_speed, + 'spindle_load': machine_data.spindle_load, + 'x_axis_load': machine_data.x_axis_load, + 'y_axis_load': machine_data.y_axis_load, + 'z_axis_load': machine_data.z_axis_load, + 'rapid_feed': machine_data.rapid_feed, + 'feed_rate': machine_data.feed_rate, + 'x_mach_coord': machine_data.x_mach_coord, + 'y_mach_coord': machine_data.y_mach_coord, + 'z_mach_coord': machine_data.z_mach_coord, + 'x_rel_coord': machine_data.x_rel_coord, + 'y_rel_coord': machine_data.y_rel_coord, + 'z_rel_coord': machine_data.z_rel_coord, + 'x_dis_coord': machine_data.x_dis_coord, + 'y_dis_coord': machine_data.y_dis_coord, + 'z_dis_coord': machine_data.z_dis_coord, + 'alarm_time': machine_data.alarm_time, + 'alarm_msg': machine_data.alarm_msg, + 'clear_time': machine_data.clear_time, + }) + + return json.JSONEncoder().encode(res) + except Exception as e: + logging.info('前端请求机床数据失败,原因:%s' % e) + res['status'] = -1 + res['message'] = '前端请求机床数据失败,原因:%s' % e + return json.JSONEncoder().encode(res) diff --git a/sf_machine_connect/models/ftp_client.py b/sf_machine_connect/models/ftp_client.py index 2d9ad9a5..1e09f665 100644 --- a/sf_machine_connect/models/ftp_client.py +++ b/sf_machine_connect/models/ftp_client.py @@ -208,24 +208,22 @@ class Machine_ftp(models.Model): # 机床采集项目 timestamp = fields.Datetime('时间戳', readonly=True) status = fields.Boolean('机床在线状态', readonly=True) - run_status = fields.Selection([('0', '空闲中'), ('1', '加工中'), ('2', '加工中'), ('3', '加工中')], string='机床运行状态', - readonly=True, default='0') + # run_status = fields.Selection([('0', '空闲中'), ('1', '加工中'), ('2', '加工中'), ('3', '加工中')], string='机床运行状态', + # readonly=True, default='0') + run_status = fields.Char('机床运行状态', readonly=True) run_time = fields.Char('机床累计运行时长', readonly=True) # 机床系统日期 system_date = fields.Char('机床系统日期', readonly=True) # 机床系统时间 system_time = fields.Char('机床系统时间', readonly=True) - cut_time = fields.Char('机床累计切削时间', readonly=True) - cut_status = fields.Selection([('0', '未切削'), ('1', '切削中'), ('2', '切削中'), ('3', '切削中')], string='机床当前切削状态', - readonly=True, default='0') + # cut_status = fields.Selection([('0', '未切削'), ('1', '切削中'), ('2', '切削中'), ('3', '切削中')], string='机床当前切削状态', + # readonly=True, default='0') + cut_status = fields.Char('机床当前切削状态', readonly=True) # 当前程序名 - program = fields.Char('机床当前程序', readonly=True) - # 当前刀具号 tool_num = fields.Integer('机床当前刀具号', readonly=True) - # 机床通电开机时间, 机床加工件数, 机床当前操作模式, 开始加工时间, 结束加工时间, 加工程序开始时间, 加工程序结束时间, 待机开始时间, # 待机结束时间, 机床离线开始时间, 机床离线结束时间, 机床急停状态, 机床主程序名称, 程序运行的状态, 机床当前执行指令, 机床当前执行语句号 # 机床X轴当前位置, 机床Y轴当前位置, 机床Z轴当前位置 diff --git a/sf_machine_connect/models/res_config_setting.py b/sf_machine_connect/models/res_config_setting.py index 16cc4d77..c0bdf597 100644 --- a/sf_machine_connect/models/res_config_setting.py +++ b/sf_machine_connect/models/res_config_setting.py @@ -8,11 +8,14 @@ _logger = logging.getLogger(__name__) class ResBFMConfigSettings(models.TransientModel): _inherit = 'res.config.settings' - bfm_url = fields.Selection( - [("https://bfm.cs.jikimo.com", "开发环境(https://bfm.cs.jikimo.com)"), - ("https://bfm.t.jikimo.com", "测试环境(https://bfm.t.jikimo.com)"), - # ("正式环境", "https://bfm.jikimo.com")], string='bfm环境', store=True) - ("https://bfm.jikimo.com", "正式环境(https://bfm.jikimo.com)")], string='bfm环境', store=True) + # bfm_url = fields.Selection( + # [("https://bfm.cs.jikimo.com", "开发环境(https://bfm.cs.jikimo.com)"), + # ("https://bfm.t.jikimo.com", "测试环境(https://bfm.t.jikimo.com)"), + # ("https://bfm.r.jikimo.com", "预发布环境(https://bfm.r.jikimo.com)"), + # # ("正式环境", "https://bfm.jikimo.com")], string='bfm环境', store=True) + # ("https://bfm.jikimo.com", "正式环境(https://bfm.jikimo.com)")], string='bfm环境', store=True) + + bfm_url_new = fields.Char('业务平台环境路径', placeholder='请输入当前对应的业务平台环境路径') @api.model def get_values(self): @@ -22,14 +25,14 @@ class ResBFMConfigSettings(models.TransientModel): """ values = super(ResBFMConfigSettings, self).get_values() config = self.env['ir.config_parameter'].sudo() - bfm_url = config.get_param('bfm_url', default='') + bfm_url_new = config.get_param('bfm_url_new', default='') values.update( - bfm_url=bfm_url, + bfm_url_new=bfm_url_new, ) return values def set_values(self): super(ResBFMConfigSettings, self).set_values() ir_config = self.env['ir.config_parameter'].sudo() - ir_config.set_param("bfm_url", self.bfm_url or "") + ir_config.set_param("bfm_url_new", self.bfm_url_new or "") diff --git a/sf_machine_connect/views/res_config_settings_views.xml b/sf_machine_connect/views/res_config_settings_views.xml index 01067754..4ad5b0e7 100644 --- a/sf_machine_connect/views/res_config_settings_views.xml +++ b/sf_machine_connect/views/res_config_settings_views.xml @@ -14,8 +14,8 @@