From 4f6e4a8ed3e615f4232d2f70bd31b0148d7746d9 Mon Sep 17 00:00:00 2001 From: yuxianghui <3437689193@qq.com> Date: Wed, 22 May 2024 15:04:37 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E4=BC=98=E5=8C=96=E5=88=80=E5=85=B7?= =?UTF-8?q?=E9=A2=84=E8=B0=83=E4=BB=AA=E6=8E=A5=E5=8F=A3=E5=8F=8A=E5=85=B6?= =?UTF-8?q?=E5=86=99=E5=85=A5=E5=88=B0=E5=BC=B9=E7=AA=97=E7=9A=84=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=EF=BC=8C=E6=9B=B4=E6=94=B9=E5=88=80=E5=85=B7=E6=80=BB?= =?UTF-8?q?=E9=95=BF=E5=BA=A6(=E9=AB=98=E5=BA=A6)=E3=80=81=E7=9B=B4?= =?UTF-8?q?=E5=BE=84=E5=92=8CR=E8=A7=92=E5=AD=97=E6=AE=B5=E7=9A=84?= =?UTF-8?q?=E7=B2=BE=E7=A1=AE=E5=BA=A6=E4=B8=BA=E5=B0=8F=E6=95=B0=E7=82=B9?= =?UTF-8?q?=E5=90=8E=E4=B8=89=E4=BD=8D=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_tool_management/controllers/controllers.py | 23 +++++++-------- sf_tool_management/models/base.py | 28 +++++++++---------- sf_tool_management/views/tool_base_views.xml | 2 +- sf_tool_management/wizard/wizard.py | 9 +++--- 4 files changed, 32 insertions(+), 30 deletions(-) diff --git a/sf_tool_management/controllers/controllers.py b/sf_tool_management/controllers/controllers.py index fedaa25f..0c61f486 100644 --- a/sf_tool_management/controllers/controllers.py +++ b/sf_tool_management/controllers/controllers.py @@ -37,7 +37,7 @@ class Manufacturing_Connect(http.Controller): logging.info('get_functional_tool_groups_Info error:%s' % e) return json.JSONEncoder().encode(res) - @http.route('/AutoDeviceApi/PutToolParameter', type='json', auth='none', methods=['GET', 'POST'], csrf=False, + @http.route('/AutoDeviceApi/PutToolParameter', type='http', auth='none', methods=['GET', 'POST'], csrf=False, cors="*") def put_tool_preset_parameter_port(self, **kw): """ @@ -49,20 +49,21 @@ class Manufacturing_Connect(http.Controller): res = {'Succeed': True, 'Datas': []} try: datas = request.httprequest.data - ret = json.loads(datas) - tool_assembly = request.env['sf.functional.tool.assembly'].sudo().search([('start_preset_bool', '=', True)]) - tool_assembly_order = request.env['sf.functional.tool.assembly.order'].sudo().search([]) + ret = str(datas, 'utf-8') + data_lists = ret.split(",") + data_list = [data.replace('+', '') for data in data_lists] + logging.info(data_list) + tool_assembly = request.env['sf.functional.tool.assembly'].sudo().search( + [('assembly_order_code', '=', data_list[0])]) if not tool_assembly: return json.JSONEncoder().encode( - {'Succeed': False, 'ErrorCode': 201, 'Error': '没有找到正在组装的组装单!'}) + {'Succeed': False, 'ErrorCode': 201, 'Error': '没有找到组装单!'}) tool_assembly.write({ - 'after_assembly_tool_loading_length': ret['loading_length'], - 'after_assembly_functional_tool_length': ret['functional_tool_length'], - 'after_assembly_max_lifetime_value': ret['max_lifetime_value'], - 'after_assembly_alarm_value': 100, - 'after_assembly_effective_length': 100 + 'after_assembly_tool_loading_length': float(data_list[1]), # 高度(总长度) + 'after_assembly_functional_tool_diameter': float(data_list[2] or "0"), # 直径 + 'after_assembly_knife_tip_r_angle': float(data_list[3] or "0") # R角 }) except Exception as e: - res = {'Succeed': False, 'ErrorCode': 202, 'Error': '缺少%s字段信息' % e} + res = {'Succeed': False, 'ErrorCode': 202, 'Error': e} logging.info('put_tool_preset_parameter_port error:%s' % e) return json.JSONEncoder().encode(res) diff --git a/sf_tool_management/models/base.py b/sf_tool_management/models/base.py index be10f803..26cf43e7 100644 --- a/sf_tool_management/models/base.py +++ b/sf_tool_management/models/base.py @@ -543,8 +543,8 @@ class FunctionalToolAssembly(models.Model): after_assembly_functional_tool_name = fields.Char(string='组装后功能刀具名称', readonly=True) after_assembly_functional_tool_type_id = fields.Many2one('sf.functional.cutting.tool.model', string='组装后功能刀具类型', readonly=True) - after_assembly_functional_tool_diameter = fields.Float(string='组装后功能刀具直径(mm)', readonly=True) - after_assembly_knife_tip_r_angle = fields.Float(string='组装后刀尖R角(mm)', readonly=True) + after_assembly_functional_tool_diameter = fields.Float(string='组装后功能刀具直径(mm)', readonly=True, digits=(10, 3)) + after_assembly_knife_tip_r_angle = fields.Float(string='组装后刀尖R角(mm)', readonly=True, digits=(10, 3)) after_assembly_new_former = fields.Selection([('0', '新'), ('1', '旧')], string='组装后新/旧', readonly=True) cut_time = fields.Integer(string='已切削时间(min)', readonly=True) cut_length = fields.Float(string='已切削长度(mm)', readonly=True) @@ -556,7 +556,7 @@ class FunctionalToolAssembly(models.Model): after_assembly_max_lifetime_value = fields.Integer(string='组装后最大寿命值(min)', readonly=True) after_assembly_alarm_value = fields.Integer(string='组装后报警值(min)', readonly=True) after_assembly_used_value = fields.Integer(string='组装后已使用值(min)', readonly=True) - after_assembly_tool_loading_length = fields.Float(string='组装后总长度(mm)', readonly=True) + after_assembly_tool_loading_length = fields.Float(string='组装后总长度(mm)', readonly=True, digits=(10, 3)) after_assembly_functional_tool_length = fields.Float(string='组装后伸出长(mm)', readonly=True) after_assembly_effective_length = fields.Float(string='组装后有效长(mm)', readonly=True) L_D_number = fields.Float(string='L/D值(mm)', readonly=True) @@ -610,24 +610,24 @@ class FunctionalToolAssembly(models.Model): 自动生成组装单编码 """ new_time = str(fields.Date.today()) - datetime = new_time[2:4] + new_time[5:7] + new_time[-2:] + datetime = new_time[2:4] + new_time[5:7] + if loading_task_source == '0': + code = 'C' + datetime + elif loading_task_source == '1': + code = 'J' + datetime + elif loading_task_source == '2': + code = 'K' + datetime + else: + code = False functional_tool_assembly = self.env['sf.functional.tool.assembly'].sudo().search( [('loading_task_source', '=', loading_task_source), - ('assembly_order_code', 'ilike', datetime)], limit=1, order="id desc") + ('assembly_order_code', 'ilike', code)], limit=1, order="id desc") if not functional_tool_assembly: num = "%03d" % 1 else: m = int(functional_tool_assembly.assembly_order_code[-3:]) + 1 num = "%03d" % m - if loading_task_source == '0': - code = 'CAMZZD' + datetime + str(num) - elif loading_task_source == '1': - code = 'JTZZD' + datetime + str(num) - elif loading_task_source == '2': - code = 'MTSZZD' + datetime + str(num) - else: - code = False - return code + return code + str(num) def get_functional_tool(self, val): functional_tools = self.env['sf.functional.tool.assembly'].search( diff --git a/sf_tool_management/views/tool_base_views.xml b/sf_tool_management/views/tool_base_views.xml index e0f13596..985c28a5 100644 --- a/sf_tool_management/views/tool_base_views.xml +++ b/sf_tool_management/views/tool_base_views.xml @@ -491,7 +491,7 @@ - + diff --git a/sf_tool_management/wizard/wizard.py b/sf_tool_management/wizard/wizard.py index 026cd9c0..17a84630 100644 --- a/sf_tool_management/wizard/wizard.py +++ b/sf_tool_management/wizard/wizard.py @@ -463,8 +463,8 @@ class FunctionalToolAssemblyOrder(models.TransientModel): after_assembly_functional_tool_name = fields.Char(string='组装后功能刀具名称', compute='_compute_name', store=True) after_assembly_functional_tool_type_id = fields.Many2one('sf.functional.cutting.tool.model', string='组装后功能刀具类型') - after_assembly_functional_tool_diameter = fields.Float(string='组装后功能刀具直径(mm)') - after_assembly_knife_tip_r_angle = fields.Float(string='组装后刀尖R角(mm)') + after_assembly_functional_tool_diameter = fields.Float(string='组装后功能刀具直径(mm)', digits=(10, 3)) + after_assembly_knife_tip_r_angle = fields.Float(string='组装后刀尖R角(mm)', digits=(10, 3)) after_assembly_new_former = fields.Selection([('0', '新'), ('1', '旧')], string='组装后新/旧', default='0') cut_time = fields.Integer(string='已切削时间(min)') cut_length = fields.Float(string='已切削长度(mm)') @@ -476,7 +476,7 @@ class FunctionalToolAssemblyOrder(models.TransientModel): after_assembly_max_lifetime_value = fields.Integer(string='组装后最大寿命值(min)') after_assembly_alarm_value = fields.Integer(string='组装后报警值(min)') after_assembly_used_value = fields.Integer(string='组装后已使用值(min)') - after_assembly_tool_loading_length = fields.Float(string='组装后总长度(mm)') + after_assembly_tool_loading_length = fields.Float(string='组装后总长度(mm)', digits=(10, 3)) after_assembly_functional_tool_length = fields.Float(string='组装后伸出长(mm)', required=True) after_assembly_effective_length = fields.Float(string='组装后有效长(mm)') L_D_number = fields.Float(string='L/D值(mm)', compute='_compute_l_d_number') @@ -491,7 +491,8 @@ class FunctionalToolAssemblyOrder(models.TransientModel): self.write({ 'after_assembly_tool_loading_length': tool.after_assembly_tool_loading_length, # 总长度 - 'after_assembly_functional_tool_length': tool.after_assembly_functional_tool_length # 伸出长 + 'after_assembly_functional_tool_diameter': tool.after_assembly_functional_tool_diameter, # 直径 + 'after_assembly_knife_tip_r_angle': tool.after_assembly_knife_tip_r_angle # R角 }) return {